summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--content/fireflix-panel.xul29
-rw-r--r--content/fireflix.css4
-rw-r--r--locale/en-US/fireflix.dtd4
3 files changed, 22 insertions, 15 deletions
diff --git a/content/fireflix-panel.xul b/content/fireflix-panel.xul
index b961edb..2356c82 100644
--- a/content/fireflix-panel.xul
+++ b/content/fireflix-panel.xul
@@ -1,291 +1,294 @@
1<?xml version="1.0"?> 1<?xml version="1.0"?>
2<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> 2<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
3<?xml-stylesheet href="fireflix.css" type="text/css"?> 3<?xml-stylesheet href="fireflix.css" type="text/css"?>
4<!DOCTYPE page SYSTEM "chrome://fireflix/locale/fireflix.dtd"> 4<!DOCTYPE page SYSTEM "chrome://fireflix/locale/fireflix.dtd">
5<page 5<page
6 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 6 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
7 id="fireflixwindow" title="Fireflix" 7 id="fireflixwindow" title="Fireflix"
8 onload="fireflix.init()" 8 onload="fireflix.init()"
9 orient="vertical" 9 orient="vertical"
10 ondragover="nsDragAndDrop.dragOver(event,fireflix.uploadObserver)" 10 ondragover="nsDragAndDrop.dragOver(event,fireflix.uploadObserver)"
11 ondragdrop="nsDragAndDrop.drop(event,fireflix.uploadObserver)" 11 ondragdrop="nsDragAndDrop.drop(event,fireflix.uploadObserver)"
12 > 12 >
13 13
14 <script src="chrome://global/content/nsDragAndDrop.js"/> 14 <script src="chrome://global/content/nsDragAndDrop.js"/>
15 <script src="chrome://global/content/nsTransferable.js"/> 15 <script src="chrome://global/content/nsTransferable.js"/>
16 <script type="application/x-javascript" src="md5.js" /> 16 <script type="application/x-javascript" src="md5.js" />
17 <script type="application/x-javascript" src="util.js" /> 17 <script type="application/x-javascript" src="util.js" />
18 <script type="application/x-javascript" src="flickr.js" /> 18 <script type="application/x-javascript" src="flickr.js" />
19 <script type="application/x-javascript" src="fireflix.js" /> 19 <script type="application/x-javascript" src="fireflix.js" />
20 20
21 <stringbundleset> 21 <stringbundleset>
22 <stringbundle id="loc_strings" src="chrome://fireflix/locale/fireflix.properties" /> 22 <stringbundle id="loc_strings" src="chrome://fireflix/locale/fireflix.properties" />
23 </stringbundleset> 23 </stringbundleset>
24 24
25 <commandset> 25 <commandset>
26 <command id="cmd_auth_auth" label="&panel.auth.auth.label;" 26 <command id="cmd_auth_auth" label="&panel.auth.auth.label;"
27 oncommand="fireflix.on_cmd_auth()"/> 27 oncommand="fireflix.on_cmd_auth()"/>
28 <command id="cmd_auth_done" label="&panel.auth.done.label;" 28 <command id="cmd_auth_done" label="&panel.auth.done.label;"
29 oncommand="fireflix.on_cmd_auth_done()" disabled="true"/> 29 oncommand="fireflix.on_cmd_auth_done()" disabled="true"/>
30 <command id="cmd_auth_open_flickr" label="&panel.auth.flickr.label;" 30 <command id="cmd_auth_open_flickr" label="&panel.auth.flickr.label;"
31 oncommand="fireflix.openTab('http://www.flickr.com/')" /> 31 oncommand="fireflix.openTab('http://www.flickr.com/')" />
32 <command id="cmd_auth_unauth" label="&panel.auth.unauth.label;" 32 <command id="cmd_auth_unauth" label="&panel.auth.unauth.label;"
33 oncommand="fireflix.on_cmd_auth_unauth()" /> 33 oncommand="fireflix.on_cmd_auth_unauth()" />
34 <command id="cmd_help" label="?" 34 <command id="cmd_help" label="?"
35 oncommand="fireflix.openTab('chrome://fireflix/content/help.xml')" /> 35 oncommand="fireflix.openTab('chrome://fireflix/content/help.xml')" />
36 </commandset> 36 </commandset>
37 37
38 <popupset> 38 <popupset>
39 <popup id="auth_menu"> 39 <popup id="auth_menu">
40 <menuitem command="cmd_auth_auth"/> 40 <menuitem command="cmd_auth_auth"/>
41 <menuitem command="cmd_auth_done" hidden="true" id="menu_auth_done"/> 41 <menuitem command="cmd_auth_done" hidden="true" id="menu_auth_done"/>
42 <menuitem command="cmd_auth_unauth" /> 42 <menuitem command="cmd_auth_unauth" />
43 <menuseparator/> 43 <menuseparator/>
44 <menuitem command="cmd_auth_open_flickr"/> 44 <menuitem command="cmd_auth_open_flickr"/>
45 </popup> 45 </popup>
46 </popupset> 46 </popupset>
47 47
48 <commandset id="cmdset_search"> 48 <commandset id="cmdset_search">
49 <command id="cmd_search" label="&panel.search.cmd_search.label;" 49 <command id="cmd_search" label="&panel.search.cmd_search.label;"
50 oncommand="fireflix.foundphotos.search_photos()"/> 50 oncommand="fireflix.foundphotos.search_photos()"/>
51 <command id="cmd_search_open" label="&panel.search.cmd_search_open.label;" 51 <command id="cmd_search_open" label="&panel.search.cmd_search_open.label;"
52 oncommand="fireflix.foundphotos.on_cmd_open(event)" /> 52 oncommand="fireflix.foundphotos.on_cmd_open(event)" />
53 <command id="cmd_search_prev_page" 53 <command id="cmd_search_prev_page"
54 label="&panel.search.cmd_search_prev_page.label;" 54 label="&panel.search.cmd_search_prev_page.label;"
55 oncommand="fireflix.foundphotos.on_cmd_prev(event)" disabled="true"/> 55 oncommand="fireflix.foundphotos.on_cmd_prev(event)" disabled="true"/>
56 <command id="cmd_search_next_page" 56 <command id="cmd_search_next_page"
57 label="&panel.search.cmd_search_next_page.label;" 57 label="&panel.search.cmd_search_next_page.label;"
58 oncommand="fireflix.foundphotos.on_cmd_next(event)" disabled="true"/> 58 oncommand="fireflix.foundphotos.on_cmd_next(event)" disabled="true"/>
59 </commandset> 59 </commandset>
60 60
61 <commandset id="cmdset_sets"> 61 <commandset id="cmdset_sets">
62 <command id="cmd_refresh_sets" label="&panel.sets.cmd_refresh_sets;" 62 <command id="cmd_refresh_sets" label="&panel.sets.cmd_refresh_sets;"
63 oncommand="fireflix.on_refresh_sets()" /> 63 oncommand="fireflix.on_refresh_sets()" />
64 <command id="cmd_set_props" label="&panel.sets.cmd_properties;" 64 <command id="cmd_set_props" label="&panel.sets.cmd_properties;"
65 oncommand="fireflix.on_set_props()" disabled="true" /> 65 oncommand="fireflix.on_set_props()" disabled="true" />
66 </commandset> 66 </commandset>
67 67
68 <popupset> 68 <popupset>
69 <popup id="sets_menu"> 69 <popup id="sets_menu">
70 <menuitem command="cmd_set_props"/> 70 <menuitem command="cmd_set_props"/>
71 <menuitem command="cmd_refresh_sets"/> 71 <menuitem command="cmd_refresh_sets"/>
72 <menuseparator/> 72 <menuseparator/>
73 <menu label="&panel.sets.generate_html;" id="sets_html_menu"/> 73 <menu label="&panel.sets.generate_html;" id="sets_html_menu"/>
74 </popup> 74 </popup>
75 </popupset> 75 </popupset>
76 76
77 <commandset id="cmdset_uploads"> 77 <commandset id="cmdset_uploads">
78 <command id="cmd_uploads_clear" label="&panel.uploads.clear.label;" 78 <command id="cmd_uploads_clear" label="&panel.uploads.clear.label;"
79 oncommand="fireflix.uploads.on_clear()" /> 79 oncommand="fireflix.uploads.on_clear()" />
80 <command id="cmd_uploads_upload" label="&panel.uploads.upload.label;" 80 <command id="cmd_uploads_upload" label="&panel.uploads.upload.label;"
81 oncommand="fireflix.uploads.on_upload()" /> 81 oncommand="fireflix.uploads.on_upload()" />
82 <command id="cmd_uploads_remove" label="&panel.uploads.remove.label;" 82 <command id="cmd_uploads_remove" label="&panel.uploads.remove.label;"
83 oncommand="fireflix.uploads.on_remove()" /> 83 oncommand="fireflix.uploads.on_remove()" />
84 <command id="cmd_uploads_add" label="&panel.uploads.add.label;" 84 <command id="cmd_uploads_add" label="&panel.uploads.add.label;"
85 oncommand="fireflix.uploads.on_add()" /> 85 oncommand="fireflix.uploads.on_add()" />
86 </commandset> 86 </commandset>
87 87
88 <popupset> 88 <popupset>
89 <popup id="uploads_menu"> 89 <popup id="uploads_menu">
90 <menuitem command="cmd_uploads_add"/> 90 <menuitem command="cmd_uploads_add"/>
91 <menuitem command="cmd_uploads_clear"/> 91 <menuitem command="cmd_uploads_clear"/>
92 <menuitem command="cmd_uploads_remove"/> 92 <menuitem command="cmd_uploads_remove"/>
93 <menuseparator/> 93 <menuseparator/>
94 <menuitem command="cmd_uploads_upload"/> 94 <menuitem command="cmd_uploads_upload"/>
95 <menuseparator/> 95 <menuseparator/>
96 <menu label="&panel.uploads.generate_html;" id="uploads_html_menu"/> 96 <menu label="&panel.uploads.generate_html;" id="uploads_html_menu"/>
97 </popup> 97 </popup>
98 </popupset> 98 </popupset>
99 99
100 <vbox class="wholething" flex="1"> 100 <vbox class="wholething" flex="1">
101 101
102 <groupbox context="auth_menu"> 102 <groupbox context="auth_menu">
103 <caption label="&panel.auth_info;"/> 103 <caption label="&panel.auth_info;"/>
104 <hbox> 104 <hbox>
105 <label id="auth_info" value="&panel.no_auth_info;" flex="1" disabled="true" crop="end"/> 105 <vbox pack="center" flex="1">
106 <button id="b_auth" command="cmd_auth_auth"/> 106 <label id="auth_info" value="&panel.no_auth_info;" disabled="true" crop="end"/>
107 <button id="b_auth_done" command="cmd_auth_done" hidden="true"/> 107 </vbox>
108 <button command="cmd_auth_open_flickr" 108 <button class="lean" id="b_auth" command="cmd_auth_auth"/>
109 <button class="lean" id="b_auth_done" command="cmd_auth_done" hidden="true"/>
110 <button class="lean" command="cmd_auth_open_flickr"
109 tooltiptext="&panel.auth.flickr.tip;"/> 111 tooltiptext="&panel.auth.flickr.tip;"/>
110 <button command="cmd_help"/> 112 <button class="lean" command="cmd_help"/>
111 </hbox> 113 </hbox>
112 </groupbox> 114 </groupbox>
113 115
114 <tabbox flex="1" id="fireflix_tabs"> 116 <tabbox flex="1" id="fireflix_tabs">
115 117
116 <tabs> 118 <tabs>
117 <tab label="&panel.tabs.search;"/> 119 <tab label="&panel.tabs.search;"/>
118 <tab label="&panel.tabs.sets;"/> 120 <tab label="&panel.tabs.sets;"/>
119 <tab label="&panel.tabs.tags;" hidden="true"/> <!-- TODO: --> 121 <tab label="&panel.tabs.tags;" hidden="true"/> <!-- TODO: -->
120 <tab id="tab_upload" label="&panel.tabs.upload;"/> 122 <tab id="tab_upload" label="&panel.tabs.upload;"/>
121 </tabs> 123 </tabs>
122 124
123 <tabpanels flex="1"> 125 <tabpanels flex="1">
124 126
125 <tabpanel id="tabpanel_search" flex="1"> 127 <tabpanel id="tabpanel_search" flex="1">
126 <vbox flex="1"> 128 <vbox flex="1">
127 <groupbox class="search_params" orient="vertical" onkeypress="if(event.keyCode==event.DOM_VK_RETURN) fireflix.foundphotos.search_photos()"> 129 <groupbox class="search_params" orient="vertical" onkeypress="if(event.keyCode==event.DOM_VK_RETURN) fireflix.foundphotos.search_photos()">
128 <hbox> 130 <hbox>
129 <label control="search_for" value="&panel.search.search_for.label;" 131 <vbox pack="center">
130 accesskey="s"/> 132 <label control="search_for" value="&panel.search.search_for.label;" accesskey="s"/>
133 </vbox>
131 <textbox id="search_for" flex="1"/> 134 <textbox id="search_for" flex="1"/>
132 </hbox> 135 </hbox>
133 <hbox> 136 <hbox>
134 <checkbox id="search_tags" label="&panel.search.mode.tagsonly.label;" 137 <checkbox id="search_tags" label="&panel.search.mode.tagsonly.label;"
135 tooltiptext="&panel.search.mode.tagsonly.tip;" checked="false" 138 tooltiptext="&panel.search.mode.tagsonly.tip;" checked="false"
136 accesskey="t" /> 139 accesskey="t" />
137 <checkbox id="search_mine" label="&panel.search.mode.mine.label;" checked="true" accesskey="m"/> 140 <checkbox id="search_mine" label="&panel.search.mode.mine.label;" checked="true" accesskey="m"/>
138 <spacer flex="1"/> 141 <spacer flex="1"/>
139 <button command="cmd_search"/> 142 <button class="lean" command="cmd_search"/>
140 </hbox> 143 </hbox>
141 </groupbox> 144 </groupbox>
142 <hbox> 145 <hbox>
143 <button command="cmd_search_prev_page"/> 146 <button class="lean" command="cmd_search_prev_page"/>
144 <spacer flex="1"/> 147 <spacer flex="1"/>
145 <label id="search_page" hidden="true"/> 148 <label id="search_page" hidden="true"/>
146 <spacer flex="1"/> 149 <spacer flex="1"/>
147 <button command="cmd_search_next_page"/> 150 <button class="lean" command="cmd_search_next_page"/>
148 </hbox> 151 </hbox>
149 <tree id="searchresults" rows="2" flex="1" 152 <tree id="searchresults" rows="2" flex="1"
150 onselect="fireflix.foundphotos.on_select()" 153 onselect="fireflix.foundphotos.on_select()"
151 ondblclick="fireflix.foundphotos.on_cmd_open(event)" 154 ondblclick="fireflix.foundphotos.on_cmd_open(event)"
152 onkeypress="if(event.keyCode==event.DOM_VK_RETURN) 155 onkeypress="if(event.keyCode==event.DOM_VK_RETURN)
153 fireflix.foundphotos.on_cmd_open(event)"> 156 fireflix.foundphotos.on_cmd_open(event)">
154 <treecols> 157 <treecols>
155 <treecol id="sr_title" label="&panel.search.col.title.label;" flex="2" crop="end" align="start" /> 158 <treecol id="sr_title" label="&panel.search.col.title.label;" flex="2" crop="end" align="start" />
156 </treecols> 159 </treecols>
157 <treechildren/> 160 <treechildren/>
158 </tree> 161 </tree>
159 <groupbox id="searchresult_props" orient="horizontal" hidden="true"> 162 <groupbox id="searchresult_props" orient="horizontal" hidden="true">
160 <vbox width="100" pack="center"> 163 <vbox width="100" pack="center">
161 <hbox pack="center"> 164 <hbox pack="center">
162 <image id="search_photo" 165 <image id="search_photo"
163 ondblclick="fireflix.foundphotos.on_cmd_open(event)"/> 166 ondblclick="fireflix.foundphotos.on_cmd_open(event)"/>
164 </hbox> 167 </hbox>
165 </vbox> 168 </vbox>
166 <vbox flex="1"> 169 <vbox flex="1">
167 <label id="searchresult_title" crop="end"/> 170 <label id="searchresult_title" crop="end"/>
168 <hbox flex="1" pack="center"> 171 <hbox flex="1" pack="center">
169 <div flex="1" id="searchresult_description" xmlns="http://www.w3.org/1999/xhtml"/> 172 <div flex="1" id="searchresult_description" xmlns="http://www.w3.org/1999/xhtml"/>
170 </hbox> 173 </hbox>
171 <hbox pack="end"> 174 <hbox pack="end">
172 <button command="cmd_search_open"/> 175 <button command="cmd_search_open"/>
173 </hbox> 176 </hbox>
174 </vbox> 177 </vbox>
175 </groupbox> 178 </groupbox>
176 </vbox> 179 </vbox>
177 </tabpanel> 180 </tabpanel>
178 181
179 <tabpanel id="tabpanel_sets" flex="1" 182 <tabpanel id="tabpanel_sets" flex="1"
180 onkeypress="if(event.keyCode==event.DOM_VK_RETURN) 183 onkeypress="if(event.keyCode==event.DOM_VK_RETURN)
181 document.getElementById('setphotos').focus()"> 184 document.getElementById('setphotos').focus()">
182 <vbox flex="1"> 185 <vbox flex="1">
183 <tree id="setslist" rows="2" onselect="fireflix.photosets.on_select()" 186 <tree id="setslist" rows="2" onselect="fireflix.photosets.on_select()"
184 flex="1" context="sets_menu" 187 flex="1" context="sets_menu"
185 > 188 >
186 <treecols> 189 <treecols>
187 <treecol id="sl_name" label="&panel.sets.name.label;" flex="4" crop="end" align="start" tooltiptext="&panel.sets.name.tip;"/> 190 <treecol id="sl_name" label="&panel.sets.name.label;" flex="4" crop="end" align="start" tooltiptext="&panel.sets.name.tip;"/>
188 <splitter class="tree-splitter" /> 191 <splitter class="tree-splitter" />
189 <treecol id="sl_photos" label="&panel.sets.photos.label;" flex="1" align="end" tooltiptext="&panel.sets.photos.tip;" /> 192 <treecol id="sl_photos" label="&panel.sets.photos.label;" flex="1" align="end" tooltiptext="&panel.sets.photos.tip;" />
190 </treecols> 193 </treecols>
191 <treechildren/> 194 <treechildren/>
192 </tree> 195 </tree>
193 <hbox> 196 <hbox>
194 <button command="cmd_refresh_sets" /> 197 <button command="cmd_refresh_sets" />
195 <button command="cmd_set_props" /> 198 <button command="cmd_set_props" />
196 </hbox> 199 </hbox>
197 <tree id="setphotos" rows="2" onselect="fireflix.photoset.on_select()" 200 <tree id="setphotos" rows="2" onselect="fireflix.photoset.on_select()"
198 flex="1"> 201 flex="1">
199 <treecols> 202 <treecols>
200 <treecol id="sp_title" label="&panel.setphotos.title.label;" flex="1" crop="end" align="start" tooltiptext="&panel.setphotos.title.tip;" /> 203 <treecol id="sp_title" label="&panel.setphotos.title.label;" flex="1" crop="end" align="start" tooltiptext="&panel.setphotos.title.tip;" />
201 <splitter class="tree-splitter" /> 204 <splitter class="tree-splitter" />
202 <treecol id="sp_taken" label="&panel.setphotos.taken.label;" crop="end" align="start" tooltiptext="&panel.setphotos.taken.tip;" hidden="true" /> 205 <treecol id="sp_taken" label="&panel.setphotos.taken.label;" crop="end" align="start" tooltiptext="&panel.setphotos.taken.tip;" hidden="true" />
203 <treecol id="sp_upload" label="&panel.setphotos.upload.label;" crop="end" align="start" tooltiptext="&panel.setphotos.upload.tip;" hidden="true" /> 206 <treecol id="sp_upload" label="&panel.setphotos.upload.label;" crop="end" align="start" tooltiptext="&panel.setphotos.upload.tip;" hidden="true" />
204 </treecols> 207 </treecols>
205 <treechildren/> 208 <treechildren/>
206 </tree> 209 </tree>
207 <groupbox id="set_photo_props" orient="horizontal"> 210 <groupbox id="set_photo_props" orient="horizontal">
208 <vbox width="100" pack="center"> 211 <vbox width="100" pack="center">
209 <hbox pack="center"> 212 <hbox pack="center">
210 <image id="set_photo" hidden="true"/> 213 <image id="set_photo" hidden="true"/>
211 </hbox> 214 </hbox>
212 </vbox> 215 </vbox>
213 <spacer flex="1"/> 216 <spacer flex="1"/>
214 </groupbox> 217 </groupbox>
215 </vbox> 218 </vbox>
216 </tabpanel> 219 </tabpanel>
217 220
218 <tabpanel id="tabpanel_tags"> 221 <tabpanel id="tabpanel_tags">
219 <listbox id="tagslist" rows="8" flex="1"> 222 <listbox id="tagslist" rows="8" flex="1">
220 <listhead> 223 <listhead>
221 <listheader label="&panel.tagslist.tag.label;"/> 224 <listheader label="&panel.tagslist.tag.label;"/>
222 </listhead> 225 </listhead>
223 <listcols> 226 <listcols>
224 <listcol flex="1"/> 227 <listcol flex="1"/>
225 </listcols> 228 </listcols>
226 </listbox> 229 </listbox>
227 </tabpanel> 230 </tabpanel>
228 231
229 <tabpanel id="tabpanel_upload"> 232 <tabpanel id="tabpanel_upload">
230 <vbox flex="1"> 233 <vbox flex="1">
231 <tree id="uploadlist" rows="2" flex="1" 234 <tree id="uploadlist" rows="2" flex="1"
232 onselect="fireflix.uploads.selectionChanged()" 235 onselect="fireflix.uploads.selectionChanged()"
233 context="uploads_menu"> 236 context="uploads_menu">
234 <treecols> 237 <treecols>
235 <treecol id="up_file" label="&panel.uploadlist.file.label;" flex="4" crop="start" align="start"/> 238 <treecol id="up_file" label="&panel.uploadlist.file.label;" flex="4" crop="start" align="start"/>
236 <splitter class="tree-splitter" /> 239 <splitter class="tree-splitter" />
237 <treecol id="up_title" label="&panel.uploadlist.title.label;" flex="5" crop="end" align="start" /> 240 <treecol id="up_title" label="&panel.uploadlist.title.label;" flex="5" crop="end" align="start" />
238 <splitter class="tree-splitter" /> 241 <splitter class="tree-splitter" />
239 <treecol id="up_status" label="&panel.uploadlist.status.label;" flex="1" crop="end" align="start" /> 242 <treecol id="up_status" label="&panel.uploadlist.status.label;" flex="1" crop="end" align="start" />
240 </treecols> 243 </treecols>
241 <treechildren/> 244 <treechildren/>
242 </tree> 245 </tree>
243 <progressmeter id="upload_progress" mode="undetermined" hidden="true" /> 246 <progressmeter id="upload_progress" mode="undetermined" hidden="true" />
244 <groupbox id="upload_file_props" orient="horizontal" hidden="true"> 247 <groupbox id="upload_file_props" orient="horizontal" hidden="true">
245 <image id="upload_file_preview" width="100" height="100" /> 248 <image id="upload_file_preview" width="100" height="100" />
246 <grid flex="1"> 249 <grid flex="1">
247 <columns> 250 <columns>
248 <column/> 251 <column/>
249 <column flex="1"/> 252 <column flex="1"/>
250 </columns> 253 </columns>
251 <rows> 254 <rows>
252 <row> 255 <row>
253 <label control="upload_filename" 256 <label control="upload_filename"
254 value="&panel.upload_props.filename.label;" /> 257 value="&panel.upload_props.filename.label;" />
255 <textbox id="upload_filename" 258 <textbox id="upload_filename"
256 oninput="fireflix.uploads.propsToSel('filename')"/> 259 oninput="fireflix.uploads.propsToSel('filename')"/>
257 </row> 260 </row>
258 <row> 261 <row>
259 <label control="upload_title" value="&panel.upload_props.title.label;" /> 262 <label control="upload_title" value="&panel.upload_props.title.label;" />
260 <textbox id="upload_title" 263 <textbox id="upload_title"
261 oninput="fireflix.uploads.propsToSel('title')"/> 264 oninput="fireflix.uploads.propsToSel('title')"/>
262 </row> 265 </row>
263 <row> 266 <row>
264 <label control="uplod_tags" value="&panel.upload_props.tags.label;" /> 267 <label control="uplod_tags" value="&panel.upload_props.tags.label;" />
265 <textbox id="upload_tags" 268 <textbox id="upload_tags"
266 oninput="fireflix.uploads.propsToSel('tags')"/> 269 oninput="fireflix.uploads.propsToSel('tags')"/>
267 </row> 270 </row>
268 <!-- TODO: description, public, friend, family --> 271 <!-- TODO: description, public, friend, family -->
269 </rows> 272 </rows>
270 </grid> 273 </grid>
271 </groupbox> 274 </groupbox>
272 <hbox> 275 <hbox>
273 <button command="cmd_uploads_add" /> 276 <button class="lean" command="cmd_uploads_add" />
274 <spacer flex="1"/> 277 <spacer flex="1"/>
275 <button command="cmd_uploads_remove" /> 278 <button class="lean" command="cmd_uploads_remove" />
276 <spacer flex="1"/> 279 <spacer flex="1"/>
277 <button command="cmd_uploads_clear" /> 280 <button class="lean" command="cmd_uploads_clear" />
278 </hbox> 281 </hbox>
279 <hbox pack="center"> 282 <hbox pack="center">
280 <button command="cmd_uploads_upload" flex="1"/> 283 <button command="cmd_uploads_upload" flex="1"/>
281 </hbox> 284 </hbox>
282 </vbox> 285 </vbox>
283 </tabpanel> 286 </tabpanel>
284 287
285 </tabpanels> 288 </tabpanels>
286 289
287 </tabbox> 290 </tabbox>
288 291
289 </vbox> 292 </vbox>
290 293
291</page> 294</page>
diff --git a/content/fireflix.css b/content/fireflix.css
index 47455f6..4fba5d3 100644
--- a/content/fireflix.css
+++ b/content/fireflix.css
@@ -1,122 +1,126 @@
1.generated.wholething, 1.generated.wholething,
2.about.wholething, 2.about.wholething,
3tabbox, tabpanels, tabpanel { 3tabbox, tabpanels, tabpanel {
4 background: url("background.jpeg"); 4 background: url("background.jpeg");
5} 5}
6tabpanels { 6tabpanels {
7 padding: 0px; 7 padding: 0px;
8} 8}
9 9
10tree { 10tree {
11 margin-top: 2px; 11 margin-top: 2px;
12 background: rgb(12,167,0); 12 background: rgb(12,167,0);
13 color: rgb(255,255,0); 13 color: rgb(255,255,0);
14 font-size: 90%; 14 font-size: 90%;
15} 15}
16tree treechildren { /* for windows */ 16tree treechildren { /* for windows */
17 background: rgb(12,167,0); 17 background: rgb(12,167,0);
18} 18}
19 19
20tree#uploadlist treechildren::-moz-tree-cell-text(pending) { 20tree#uploadlist treechildren::-moz-tree-cell-text(pending) {
21} 21}
22tree#uploadlist treechildren::-moz-tree-cell-text(completed) { 22tree#uploadlist treechildren::-moz-tree-cell-text(completed) {
23 color: white; 23 color: white;
24} 24}
25tree#uploadlist treechildren::-moz-tree-row(failed) { 25tree#uploadlist treechildren::-moz-tree-row(failed) {
26 background: yellow; 26 background: yellow;
27} 27}
28tree#uploadlist treechildren::-moz-tree-cell-text(failed) { 28tree#uploadlist treechildren::-moz-tree-cell-text(failed) {
29 color: red; 29 color: red;
30} 30}
31tree#uploadlist treechildren::-moz-tree-cell-text(uploading) { 31tree#uploadlist treechildren::-moz-tree-cell-text(uploading) {
32 font-weight: bold; 32 font-weight: bold;
33} 33}
34 34
35groupbox#searchresult_props, 35groupbox#searchresult_props,
36groupbox.search_params, 36groupbox.search_params,
37groupbox#upload_file_props, 37groupbox#upload_file_props,
38groupbox#set_props, 38groupbox#set_props,
39groupbox#set_photo_props { 39groupbox#set_photo_props {
40 background: white; 40 background: white;
41} 41}
42 42
43groupbox#upload_file_props label { 43groupbox#upload_file_props label {
44 text-align: right; 44 text-align: right;
45} 45}
46 46
47image#search_photo, image#set_photo, image#set_primary { 47image#search_photo, image#set_photo, image#set_primary {
48 border: black 1px solid; 48 border: black 1px solid;
49} 49}
50 50
51.about .insides { 51.about .insides {
52 margin: 1ex; 52 margin: 1ex;
53} 53}
54.about .text { 54.about .text {
55 border: yellow solid 1px; 55 border: yellow solid 1px;
56 background: green; 56 background: green;
57} 57}
58.about .title { 58.about .title {
59 font-size: 300%; 59 font-size: 300%;
60 font-weight: bold; 60 font-weight: bold;
61 color: yellow; 61 color: yellow;
62} 62}
63.about .link { 63.about .link {
64 text-decoration: underline; 64 text-decoration: underline;
65 color: white; 65 color: white;
66 cursor: pointer; 66 cursor: pointer;
67} 67}
68 68
69menuitem.menuhead { 69menuitem.menuhead {
70 background: gray; 70 background: gray;
71 color: black; 71 color: black;
72 font-weight: bold; 72 font-weight: bold;
73} 73}
74 74
75div#searchresult_description { 75div#searchresult_description {
76 min-height: 5em; max-height: 8em; 76 min-height: 5em; max-height: 8em;
77 overflow: auto; 77 overflow: auto;
78 font-size: 90%; 78 font-size: 90%;
79 margin: 0.1ex 0.5ex; 79 margin: 0.1ex 0.5ex;
80} 80}
81 81
82#copying div { 82#copying div {
83 margin: 1ex 1em; 83 margin: 1ex 1em;
84 font-family: courier, monospace; 84 font-family: courier, monospace;
85 font-size: 9pt; 85 font-size: 9pt;
86 padding: 2px; 86 padding: 2px;
87 border: dotted 1px gray; 87 border: dotted 1px gray;
88 background: white; 88 background: white;
89} 89}
90 90
91label#search_page { 91label#search_page {
92 font-weight: bold; 92 font-weight: bold;
93 background: white; color: #404040; 93 background: white; color: #404040;
94 border-color: #c0c0c0 #404040 #404040 #c0c0c0; 94 border-color: #c0c0c0 #404040 #404040 #c0c0c0;
95 border-style: solid; 95 border-style: solid;
96 border-width: 1px; 96 border-width: 1px;
97 -moz-border-radius: 1em; 97 -moz-border-radius: 1em;
98 padding: 0.5ex 1ex; 98 padding: 0.5ex 1ex;
99} 99}
100 100
101html body { 101html body {
102 font-family: arial, sans-serif; 102 font-family: arial, sans-serif;
103 font-size: 11pt; 103 font-size: 11pt;
104 margin: 1em 4em; 104 margin: 1em 4em;
105 padding: 1em 4em; 105 padding: 1em 4em;
106 border: double 3px gray; 106 border: double 3px gray;
107 background: #ffffc0; 107 background: #ffffc0;
108} 108}
109html h1 { 109html h1 {
110 font-size: 130%; color: maroon; 110 font-size: 130%; color: maroon;
111} 111}
112html p { 112html p {
113 text-align: justify; 113 text-align: justify;
114} 114}
115 115
116html div.copyright { 116html div.copyright {
117 font-size: 60%; 117 font-size: 60%;
118 text-align: right; 118 text-align: right;
119} 119}
120html div.copyright a { 120html div.copyright a {
121 text-decoration: none; 121 text-decoration: none;
122} 122}
123
124button.lean {
125 min-width: 1ex;
126}
diff --git a/locale/en-US/fireflix.dtd b/locale/en-US/fireflix.dtd
index 88ec6fb..0e158c3 100644
--- a/locale/en-US/fireflix.dtd
+++ b/locale/en-US/fireflix.dtd
@@ -1,83 +1,83 @@
1<!ENTITY % autoconf SYSTEM "chrome://fireflix/content/autoconf.dtd"> 1<!ENTITY % autoconf SYSTEM "chrome://fireflix/content/autoconf.dtd">
2%autoconf; 2%autoconf;
3 3
4<!-- About Box --> 4<!-- About Box -->
5 5
6<!ENTITY aboutFireflix "About Fireflix" > 6<!ENTITY aboutFireflix "About Fireflix" >
7<!ENTITY about.ok.label "OK"> 7<!ENTITY about.ok.label "OK">
8<!ENTITY about.license.label "License"> 8<!ENTITY about.license.label "License">
9<!ENTITY about.license.tip "Show copying policy"> 9<!ENTITY about.license.tip "Show copying policy">
10 10
11<!-- COPYING --> 11<!-- COPYING -->
12 12
13<!ENTITY copying.title "Filreflix: copying policy"> 13<!ENTITY copying.title "Filreflix: copying policy">
14 14
15<!-- Sidebar --> 15<!-- Sidebar -->
16 16
17<!ENTITY panel.auth_info "Authorization info"> 17<!ENTITY panel.auth_info "Authorization info">
18<!ENTITY panel.no_auth_info "No auth info available"> 18<!ENTITY panel.no_auth_info "No auth info available">
19 19
20<!ENTITY panel.auth.auth.label "Authorize"> 20<!ENTITY panel.auth.auth.label "Authorize">
21<!ENTITY panel.auth.done.label "Authorization complete"> 21<!ENTITY panel.auth.done.label "Authorization complete">
22<!ENTITY panel.auth.flickr.label "Flickr"> 22<!ENTITY panel.auth.flickr.label "Flickr">
23<!ENTITY panel.auth.flickr.tip "Open Flickr in new tab"> 23<!ENTITY panel.auth.flickr.tip "Open Flickr in new tab">
24<!ENTITY panel.auth.unauth.label "Sign off"> 24<!ENTITY panel.auth.unauth.label "Sign off">
25 25
26<!ENTITY panel.tabs.search "Search" > 26<!ENTITY panel.tabs.search "Search" >
27<!ENTITY panel.tabs.sets "Sets" > 27<!ENTITY panel.tabs.sets "Sets" >
28<!ENTITY panel.tabs.tags "Tags" > 28<!ENTITY panel.tabs.tags "Tags" >
29<!ENTITY panel.tabs.upload "Upload" > 29<!ENTITY panel.tabs.upload "Upload" >
30 30
31<!ENTITY panel.search.cmd_search.label "Search" > 31<!ENTITY panel.search.cmd_search.label "Search" >
32<!ENTITY panel.search.search_for.label "Search for:" > 32<!ENTITY panel.search.search_for.label "Search for:" >
33<!ENTITY panel.search.mode.tagsonly.label "tags"> 33<!ENTITY panel.search.mode.tagsonly.label "tags">
34<!ENTITY panel.search.mode.tagsonly.tip "Search tags only"> 34<!ENTITY panel.search.mode.tagsonly.tip "Search tags only">
35<!ENTITY panel.search.mode.mine.label "mine"> 35<!ENTITY panel.search.mode.mine.label "mine">
36<!ENTITY panel.search.col.title.label "Title"> 36<!ENTITY panel.search.col.title.label "Title">
37<!ENTITY panel.search.cmd_search_open.label "Open"> 37<!ENTITY panel.search.cmd_search_open.label "Open">
38<!ENTITY panel.search.cmd_search_prev_page.label "«"> 38<!ENTITY panel.search.cmd_search_prev_page.label " « ">
39<!ENTITY panel.search.cmd_search_next_page.label "»"> 39<!ENTITY panel.search.cmd_search_next_page.label " » ">
40 40
41<!ENTITY panel.sets.name.label "Set"> 41<!ENTITY panel.sets.name.label "Set">
42<!ENTITY panel.sets.name.tip "Photoset name"> 42<!ENTITY panel.sets.name.tip "Photoset name">
43<!ENTITY panel.sets.photos.label "Photos"> 43<!ENTITY panel.sets.photos.label "Photos">
44<!ENTITY panel.sets.photos.tip "Number of photos in set"> 44<!ENTITY panel.sets.photos.tip "Number of photos in set">
45 45
46<!ENTITY panel.sets.cmd_refresh_sets "Refresh"> 46<!ENTITY panel.sets.cmd_refresh_sets "Refresh">
47<!ENTITY panel.sets.cmd_properties "Properties"> 47<!ENTITY panel.sets.cmd_properties "Properties">
48 48
49<!ENTITY panel.sets.generate_html "Generate HTML"> 49<!ENTITY panel.sets.generate_html "Generate HTML">
50 50
51<!ENTITY panel.setphotos.title.label "Title"> 51<!ENTITY panel.setphotos.title.label "Title">
52<!ENTITY panel.setphotos.title.tip "Picture title"> 52<!ENTITY panel.setphotos.title.tip "Picture title">
53<!ENTITY panel.setphotos.taken.label "Taken"> 53<!ENTITY panel.setphotos.taken.label "Taken">
54<!ENTITY panel.setphotos.taken.tip "When the picture was taken"> 54<!ENTITY panel.setphotos.taken.tip "When the picture was taken">
55<!ENTITY panel.setphotos.upload.label "Uploaded"> 55<!ENTITY panel.setphotos.upload.label "Uploaded">
56<!ENTITY panel.setphotos.upload.tip "When the picure was uploaded"> 56<!ENTITY panel.setphotos.upload.tip "When the picure was uploaded">
57 57
58<!ENTITY panel.tagslist.tag.label "Tag"> 58<!ENTITY panel.tagslist.tag.label "Tag">
59 59
60<!ENTITY panel.uploadlist.file.label "File name"> 60<!ENTITY panel.uploadlist.file.label "File name">
61<!ENTITY panel.uploadlist.title.label "Title"> 61<!ENTITY panel.uploadlist.title.label "Title">
62<!ENTITY panel.uploadlist.status.label "Status"> 62<!ENTITY panel.uploadlist.status.label "Status">
63 63
64<!ENTITY panel.upload_props.filename.label "File:"> 64<!ENTITY panel.upload_props.filename.label "File:">
65<!ENTITY panel.upload_props.title.label "Title:"> 65<!ENTITY panel.upload_props.title.label "Title:">
66<!ENTITY panel.upload_props.tags.label "Tags:"> 66<!ENTITY panel.upload_props.tags.label "Tags:">
67 67
68<!ENTITY panel.uploads.upload.label "Upload"> 68<!ENTITY panel.uploads.upload.label "Upload">
69<!ENTITY panel.uploads.clear.label "Clear"> 69<!ENTITY panel.uploads.clear.label "Clear">
70<!ENTITY panel.uploads.remove.label "Remove"> 70<!ENTITY panel.uploads.remove.label "Remove">
71<!ENTITY panel.uploads.add.label "Add"> 71<!ENTITY panel.uploads.add.label "Add">
72<!ENTITY panel.uploads.generate_html "Generate HTML"> 72<!ENTITY panel.uploads.generate_html "Generate HTML">
73 73
74<!ENTITY generated.title "Fireflix: Generated content"> 74<!ENTITY generated.title "Fireflix: Generated content">
75<!ENTITY generated.copy "copy"> 75<!ENTITY generated.copy "copy">
76 76
77<!ENTITY browser.sidebar.label "Fireflix"> 77<!ENTITY browser.sidebar.label "Fireflix">
78<!ENTITY browser.sidebar.title "Fireflix"> 78<!ENTITY browser.sidebar.title "Fireflix">
79 79
80<!ENTITY photosetprops.title "Photoset properties"> 80<!ENTITY photosetprops.title "Photoset properties">
81<!ENTITY photosetprops.set_title.label "Photoset title:"> 81<!ENTITY photosetprops.set_title.label "Photoset title:">
82<!ENTITY photosetprops.set_desc.label "Photoset description:"> 82<!ENTITY photosetprops.set_desc.label "Photoset description:">
83 83