3.1 --- a/css/event-aggregator.css Fri Nov 25 00:04:53 2011 +0100
3.2 +++ b/css/event-aggregator.css Tue Nov 29 00:33:14 2011 +0100
3.3 @@ -32,11 +32,6 @@
3.4 position: relative;
3.5 }
3.6
3.7 -.event-view a,
3.8 -.event-download a {
3.9 - font-size: smaller;
3.10 -}
3.11 -
3.12 .event-download-popup {
3.13 display: none;
3.14 }
3.15 @@ -45,22 +40,67 @@
3.16 .event-day-box:hover .event-day-number-popup {
3.17 display: block;
3.18 position: absolute;
3.19 - top: 1.5em;
3.20 + top: 1.25em;
3.21 left: 0;
3.22 z-index: 3;
3.23 background-color: #fff;
3.24 color: #000;
3.25 - padding: 0.5em;
3.26 + padding: 0.5em 0.5em 0 0.5em;
3.27 border: 1px solid #000;
3.28 }
3.29
3.30 +.event-download-item {
3.31 + padding-top: 0.5em;
3.32 + margin-bottom: 0.5em;
3.33 + border-top: 1px solid #ddd;
3.34 + border-bottom: 1px solid #ddd;
3.35 + white-space: nowrap;
3.36 +}
3.37 +
3.38 +.event-download-webcal a {
3.39 + background-color: #99d;
3.40 +}
3.41 +
3.42 +.event-download-http a {
3.43 + background-color: #d99;
3.44 +}
3.45 +
3.46 +.event-download-webcal a:link:hover,
3.47 +.event-download-webcal a:link:active {
3.48 + background-color: #00d;
3.49 +}
3.50 +
3.51 +.event-download-http a:link:hover,
3.52 +.event-download-http a:link:active {
3.53 + background-color: #d00;
3.54 +}
3.55 +
3.56 +.event-download-webcal a,
3.57 +.event-download-webcal a:link,
3.58 +.event-download-webcal a:link:hover,
3.59 +.event-download-webcal a:link:active,
3.60 +.event-download-http a,
3.61 +.event-download-http a:link,
3.62 +.event-download-http a:link:hover,
3.63 +.event-download-http a:link:active {
3.64 + font-size: inherit;
3.65 + font-weight: bold;
3.66 + color: #fff;
3.67 + text-decoration: none;
3.68 + padding: 0.25em;
3.69 + margin-right: 0.25em;
3.70 +}
3.71 +
3.72 .event-download-period {
3.73 display: block;
3.74 + margin-top: 0.5em;
3.75 + text-align: right;
3.76 }
3.77
3.78 .event-download-period-raw {
3.79 display: block;
3.80 font-size: smaller;
3.81 + text-align: right;
3.82 }
3.83
3.84 /* Calendar view. */
4.1 --- a/macros/EventAggregator.py Fri Nov 25 00:04:53 2011 +0100
4.2 +++ b/macros/EventAggregator.py Tue Nov 29 00:33:14 2011 +0100
4.3 @@ -142,7 +142,7 @@
4.4 if date is not None:
4.5 if prefix:
4.6 argname = self.getQualifiedParameterName(argname)
4.7 - return "%s=%s" % (argname, date)
4.8 + return "%s=%s" % (argname, wikiutil.url_quote_plus(date))
4.9 else:
4.10 return ""
4.11
4.12 @@ -250,6 +250,10 @@
4.13
4.14 output = []
4.15
4.16 + # The full URL is needed for webcal links.
4.17 +
4.18 + full_url = "%s%s" % (request.getBaseURL(), getPathInfo(request))
4.19 +
4.20 # Generate the links.
4.21
4.22 download_dialogue_link = "action=EventAggregatorSummary&parent=%s&resolution=%s&%s&%s" % (
4.23 @@ -302,61 +306,101 @@
4.24 # Download controls.
4.25
4.26 output.append(fmt.div(on=1, css_class="event-download-controls"))
4.27 +
4.28 output.append(fmt.span(on=1, css_class="event-download"))
4.29 - output.append(linkToPage(request, page, _("Download this view"), download_link))
4.30 - output.append(fmt.span(on=1, css_class="event-download-popup"))
4.31 + output.append(fmt.text(_("Download...")))
4.32 + output.append(fmt.div(on=1, css_class="event-download-popup"))
4.33 +
4.34 + output.append(fmt.div(on=1, css_class="event-download-item"))
4.35 + output.append(fmt.span(on=1, css_class="event-download-types"))
4.36 + output.append(fmt.span(on=1, css_class="event-download-webcal"))
4.37 + output.append(linkToResource(full_url.replace("http", "webcal", 1), request, _("webcal"), download_link))
4.38 + output.append(fmt.span(on=0))
4.39 + output.append(fmt.span(on=1, css_class="event-download-http"))
4.40 + output.append(linkToPage(request, page, _("http"), download_link))
4.41 + output.append(fmt.span(on=0))
4.42 + output.append(fmt.span(on=0)) # end types
4.43 + output.append(fmt.span(on=1, css_class="event-download-label"))
4.44 + output.append(fmt.text(_("Download this view")))
4.45 + output.append(fmt.span(on=0)) # end label
4.46 + output.append(fmt.span(on=1, css_class="event-download-period"))
4.47 output.append(fmt.text(calendar_period))
4.48 output.append(fmt.span(on=0))
4.49 + output.append(fmt.div(on=0))
4.50 +
4.51 + output.append(fmt.div(on=1, css_class="event-download-item"))
4.52 + output.append(fmt.span(on=1, css_class="event-download-types"))
4.53 + output.append(fmt.span(on=1, css_class="event-download-webcal"))
4.54 + output.append(linkToResource(full_url.replace("http", "webcal", 1), request, _("webcal"), download_all_link))
4.55 output.append(fmt.span(on=0))
4.56 -
4.57 - output.append(fmt.span(on=1, css_class="event-download"))
4.58 - output.append(linkToPage(request, page, _("Download this calendar"), download_all_link))
4.59 - output.append(fmt.span(on=1, css_class="event-download-popup"))
4.60 + output.append(fmt.span(on=1, css_class="event-download-http"))
4.61 + output.append(linkToPage(request, page, _("http"), download_all_link))
4.62 + output.append(fmt.span(on=0))
4.63 + output.append(fmt.span(on=0)) # end types
4.64 + output.append(fmt.span(on=1, css_class="event-download-label"))
4.65 + output.append(fmt.text(_("Download this calendar")))
4.66 + output.append(fmt.span(on=0)) # end label
4.67 output.append(fmt.span(on=1, css_class="event-download-period"))
4.68 output.append(fmt.text(original_calendar_period))
4.69 output.append(fmt.span(on=0))
4.70 output.append(fmt.span(on=1, css_class="event-download-period-raw"))
4.71 output.append(fmt.text(raw_calendar_period))
4.72 output.append(fmt.span(on=0))
4.73 - output.append(fmt.span(on=0))
4.74 - output.append(fmt.span(on=0))
4.75 -
4.76 - output.append(fmt.span(on=1, css_class="event-download"))
4.77 + output.append(fmt.div(on=0))
4.78 +
4.79 + output.append(fmt.div(on=1, css_class="event-download-item"))
4.80 + output.append(fmt.span(on=1, css_class="event-download-label"))
4.81 output.append(linkToPage(request, page, _("Download..."), download_dialogue_link))
4.82 - output.append(fmt.span(on=1, css_class="event-download-popup"))
4.83 + output.append(fmt.span(on=0)) # end label
4.84 + output.append(fmt.span(on=1, css_class="event-download-period"))
4.85 output.append(fmt.text(_("Edit download options")))
4.86 output.append(fmt.span(on=0))
4.87 - output.append(fmt.span(on=0))
4.88 + output.append(fmt.div(on=0))
4.89 +
4.90 + output.append(fmt.div(on=0)) # end of pop-up
4.91 + output.append(fmt.span(on=0)) # end of download
4.92
4.93 # Subscription controls.
4.94
4.95 output.append(fmt.span(on=1, css_class="event-download"))
4.96 + output.append(fmt.text(_("Subscribe...")))
4.97 + output.append(fmt.div(on=1, css_class="event-download-popup"))
4.98 +
4.99 + output.append(fmt.div(on=1, css_class="event-download-item"))
4.100 + output.append(fmt.span(on=1, css_class="event-download-label"))
4.101 output.append(linkToPage(request, page, _("Subscribe to this view"), subscribe_link))
4.102 - output.append(fmt.span(on=1, css_class="event-download-popup"))
4.103 + output.append(fmt.span(on=0)) # end label
4.104 + output.append(fmt.span(on=1, css_class="event-download-period"))
4.105 output.append(fmt.text(calendar_period))
4.106 output.append(fmt.span(on=0))
4.107 - output.append(fmt.span(on=0))
4.108 -
4.109 - output.append(fmt.span(on=1, css_class="event-download"))
4.110 + output.append(fmt.div(on=0))
4.111 +
4.112 + output.append(fmt.div(on=1, css_class="event-download-item"))
4.113 + output.append(fmt.span(on=1, css_class="event-download-label"))
4.114 output.append(linkToPage(request, page, _("Subscribe to this calendar"), subscribe_all_link))
4.115 - output.append(fmt.span(on=1, css_class="event-download-popup"))
4.116 + output.append(fmt.span(on=0)) # end label
4.117 output.append(fmt.span(on=1, css_class="event-download-period"))
4.118 output.append(fmt.text(original_calendar_period))
4.119 output.append(fmt.span(on=0))
4.120 output.append(fmt.span(on=1, css_class="event-download-period-raw"))
4.121 output.append(fmt.text(raw_calendar_period))
4.122 output.append(fmt.span(on=0))
4.123 - output.append(fmt.span(on=0))
4.124 - output.append(fmt.span(on=0))
4.125 -
4.126 - output.append(fmt.span(on=1, css_class="event-download"))
4.127 + output.append(fmt.div(on=0))
4.128 +
4.129 + output.append(fmt.div(on=1, css_class="event-download-item"))
4.130 + output.append(fmt.span(on=1, css_class="event-download-label"))
4.131 output.append(linkToPage(request, page, _("Subscribe..."), subscribe_dialogue_link))
4.132 - output.append(fmt.span(on=1, css_class="event-download-popup"))
4.133 + output.append(fmt.span(on=0)) # end label
4.134 + output.append(fmt.span(on=1, css_class="event-download-period"))
4.135 output.append(fmt.text(_("Edit subscription options")))
4.136 output.append(fmt.span(on=0))
4.137 - output.append(fmt.span(on=0))
4.138 output.append(fmt.div(on=0))
4.139
4.140 + output.append(fmt.div(on=0)) # end of pop-up
4.141 + output.append(fmt.span(on=0)) # end of download
4.142 +
4.143 + output.append(fmt.div(on=0)) # end of controls
4.144 +
4.145 return "".join(output)
4.146
4.147 def writeViewControls(self):