-rw-r--r-- | content/fireflix-panel.xul | 9 | ||||
-rw-r--r-- | content/fireflix.js | 8 |
2 files changed, 13 insertions, 4 deletions
diff --git a/content/fireflix-panel.xul b/content/fireflix-panel.xul index 2356c82..b2ca7dc 100644 --- a/content/fireflix-panel.xul +++ b/content/fireflix-panel.xul | |||
@@ -131,107 +131,108 @@ | |||
131 | <vbox pack="center"> | 131 | <vbox pack="center"> |
132 | <label control="search_for" value="&panel.search.search_for.label;" accesskey="s"/> | 132 | <label control="search_for" value="&panel.search.search_for.label;" accesskey="s"/> |
133 | </vbox> | 133 | </vbox> |
134 | <textbox id="search_for" flex="1"/> | 134 | <textbox id="search_for" flex="1"/> |
135 | </hbox> | 135 | </hbox> |
136 | <hbox> | 136 | <hbox> |
137 | <checkbox id="search_tags" label="&panel.search.mode.tagsonly.label;" | 137 | <checkbox id="search_tags" label="&panel.search.mode.tagsonly.label;" |
138 | tooltiptext="&panel.search.mode.tagsonly.tip;" checked="false" | 138 | tooltiptext="&panel.search.mode.tagsonly.tip;" checked="false" |
139 | accesskey="t" /> | 139 | accesskey="t" /> |
140 | <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"/> |
141 | <spacer flex="1"/> | 141 | <spacer flex="1"/> |
142 | <button class="lean" command="cmd_search"/> | 142 | <button class="lean" command="cmd_search"/> |
143 | </hbox> | 143 | </hbox> |
144 | </groupbox> | 144 | </groupbox> |
145 | <hbox> | 145 | <hbox> |
146 | <button class="lean" command="cmd_search_prev_page"/> | 146 | <button class="lean" command="cmd_search_prev_page"/> |
147 | <spacer flex="1"/> | 147 | <spacer flex="1"/> |
148 | <label id="search_page" hidden="true"/> | 148 | <label id="search_page" hidden="true"/> |
149 | <spacer flex="1"/> | 149 | <spacer flex="1"/> |
150 | <button class="lean" command="cmd_search_next_page"/> | 150 | <button class="lean" command="cmd_search_next_page"/> |
151 | </hbox> | 151 | </hbox> |
152 | <tree id="searchresults" rows="2" flex="1" | 152 | <tree id="searchresults" rows="2" flex="1" |
153 | onselect="fireflix.foundphotos.on_select()" | 153 | onselect="fireflix.foundphotos.on_select()" |
154 | ondblclick="fireflix.foundphotos.on_cmd_open(event)" | 154 | ondblclick="fireflix.foundphotos.on_cmd_open(event)" |
155 | onkeypress="if(event.keyCode==event.DOM_VK_RETURN) | 155 | onkeypress="if(event.keyCode==event.DOM_VK_RETURN) fireflix.foundphotos.on_cmd_open(event)"> |
156 | fireflix.foundphotos.on_cmd_open(event)"> | ||
157 | <treecols> | 156 | <treecols> |
158 | <treecol id="sr_title" label="&panel.search.col.title.label;" flex="2" crop="end" align="start" /> | 157 | <treecol id="sr_title" label="&panel.search.col.title.label;" flex="2" crop="end" align="start" /> |
159 | </treecols> | 158 | </treecols> |
160 | <treechildren/> | 159 | <treechildren/> |
161 | </tree> | 160 | </tree> |
162 | <groupbox id="searchresult_props" orient="horizontal" hidden="true"> | 161 | <groupbox id="searchresult_props" orient="horizontal" hidden="true"> |
163 | <vbox width="100" pack="center"> | 162 | <vbox width="100" pack="center"> |
164 | <hbox pack="center"> | 163 | <hbox pack="center"> |
165 | <image id="search_photo" | 164 | <image id="search_photo" |
166 | ondblclick="fireflix.foundphotos.on_cmd_open(event)"/> | 165 | ondblclick="fireflix.foundphotos.on_cmd_open(event)"/> |
167 | </hbox> | 166 | </hbox> |
168 | </vbox> | 167 | </vbox> |
169 | <vbox flex="1"> | 168 | <vbox flex="1"> |
170 | <label id="searchresult_title" crop="end"/> | 169 | <label id="searchresult_title" crop="end"/> |
171 | <hbox flex="1" pack="center"> | 170 | <hbox flex="1" pack="center"> |
172 | <div flex="1" id="searchresult_description" xmlns="http://www.w3.org/1999/xhtml"/> | 171 | <div flex="1" id="searchresult_description" xmlns="http://www.w3.org/1999/xhtml"/> |
173 | </hbox> | 172 | </hbox> |
174 | <hbox pack="end"> | 173 | <hbox pack="end"> |
175 | <button command="cmd_search_open"/> | 174 | <button command="cmd_search_open"/> |
176 | </hbox> | 175 | </hbox> |
177 | </vbox> | 176 | </vbox> |
178 | </groupbox> | 177 | </groupbox> |
179 | </vbox> | 178 | </vbox> |
180 | </tabpanel> | 179 | </tabpanel> |
181 | 180 | ||
182 | <tabpanel id="tabpanel_sets" flex="1" | 181 | <tabpanel id="tabpanel_sets" flex="1" |
183 | onkeypress="if(event.keyCode==event.DOM_VK_RETURN) | 182 | onkeypress="if(event.keyCode==event.DOM_VK_RETURN) |
184 | document.getElementById('setphotos').focus()"> | 183 | document.getElementById('setphotos').focus()"> |
185 | <vbox flex="1"> | 184 | <vbox flex="1"> |
186 | <tree id="setslist" rows="2" onselect="fireflix.photosets.on_select()" | 185 | <tree id="setslist" rows="2" onselect="fireflix.photosets.on_select()" |
187 | flex="1" context="sets_menu" | 186 | flex="1" context="sets_menu" |
188 | > | 187 | > |
189 | <treecols> | 188 | <treecols> |
190 | <treecol id="sl_name" label="&panel.sets.name.label;" flex="4" crop="end" align="start" tooltiptext="&panel.sets.name.tip;"/> | 189 | <treecol id="sl_name" label="&panel.sets.name.label;" flex="4" crop="end" align="start" tooltiptext="&panel.sets.name.tip;"/> |
191 | <splitter class="tree-splitter" /> | 190 | <splitter class="tree-splitter" /> |
192 | <treecol id="sl_photos" label="&panel.sets.photos.label;" flex="1" align="end" tooltiptext="&panel.sets.photos.tip;" /> | 191 | <treecol id="sl_photos" label="&panel.sets.photos.label;" flex="1" align="end" tooltiptext="&panel.sets.photos.tip;" /> |
193 | </treecols> | 192 | </treecols> |
194 | <treechildren/> | 193 | <treechildren/> |
195 | </tree> | 194 | </tree> |
196 | <hbox> | 195 | <hbox> |
197 | <button command="cmd_refresh_sets" /> | 196 | <button command="cmd_refresh_sets" /> |
198 | <button command="cmd_set_props" /> | 197 | <button command="cmd_set_props" /> |
199 | </hbox> | 198 | </hbox> |
200 | <tree id="setphotos" rows="2" onselect="fireflix.photoset.on_select()" | 199 | <tree id="setphotos" rows="2" onselect="fireflix.photoset.on_select()" |
201 | flex="1"> | 200 | flex="1" ondblclick="fireflix.photoset.on_cmd_open(event)" |
201 | onkeypress="if(event.keyCode==event.DOM_VK_RETURN) fireflix.photoset.on_cmd_open(event)"> | ||
202 | <treecols> | 202 | <treecols> |
203 | <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;" /> |
204 | <splitter class="tree-splitter" /> | 204 | <splitter class="tree-splitter" /> |
205 | <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" /> |
206 | <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" /> |
207 | </treecols> | 207 | </treecols> |
208 | <treechildren/> | 208 | <treechildren/> |
209 | </tree> | 209 | </tree> |
210 | <groupbox id="set_photo_props" orient="horizontal"> | 210 | <groupbox id="set_photo_props" orient="horizontal"> |
211 | <vbox width="100" pack="center"> | 211 | <vbox width="100" pack="center"> |
212 | <hbox pack="center"> | 212 | <hbox pack="center"> |
213 | <image id="set_photo" hidden="true"/> | 213 | <image id="set_photo" hidden="true" |
214 | ondblclick="fireflix.photoset.on_cmd_open(event)" /> | ||
214 | </hbox> | 215 | </hbox> |
215 | </vbox> | 216 | </vbox> |
216 | <spacer flex="1"/> | 217 | <spacer flex="1"/> |
217 | </groupbox> | 218 | </groupbox> |
218 | </vbox> | 219 | </vbox> |
219 | </tabpanel> | 220 | </tabpanel> |
220 | 221 | ||
221 | <tabpanel id="tabpanel_tags"> | 222 | <tabpanel id="tabpanel_tags"> |
222 | <listbox id="tagslist" rows="8" flex="1"> | 223 | <listbox id="tagslist" rows="8" flex="1"> |
223 | <listhead> | 224 | <listhead> |
224 | <listheader label="&panel.tagslist.tag.label;"/> | 225 | <listheader label="&panel.tagslist.tag.label;"/> |
225 | </listhead> | 226 | </listhead> |
226 | <listcols> | 227 | <listcols> |
227 | <listcol flex="1"/> | 228 | <listcol flex="1"/> |
228 | </listcols> | 229 | </listcols> |
229 | </listbox> | 230 | </listbox> |
230 | </tabpanel> | 231 | </tabpanel> |
231 | 232 | ||
232 | <tabpanel id="tabpanel_upload"> | 233 | <tabpanel id="tabpanel_upload"> |
233 | <vbox flex="1"> | 234 | <vbox flex="1"> |
234 | <tree id="uploadlist" rows="2" flex="1" | 235 | <tree id="uploadlist" rows="2" flex="1" |
235 | onselect="fireflix.uploads.selectionChanged()" | 236 | onselect="fireflix.uploads.selectionChanged()" |
236 | context="uploads_menu"> | 237 | context="uploads_menu"> |
237 | <treecols> | 238 | <treecols> |
diff --git a/content/fireflix.js b/content/fireflix.js index 0f51397..2ee408f 100644 --- a/content/fireflix.js +++ b/content/fireflix.js | |||
@@ -140,48 +140,56 @@ var fireflix = { | |||
140 | method: 'flickr.photosets.getPhotos', | 140 | method: 'flickr.photosets.getPhotos', |
141 | auth_token: 'default', | 141 | auth_token: 'default', |
142 | photoset_id: psid, | 142 | photoset_id: psid, |
143 | extras: 'license,date_upload,date_taken,owner_name,icon_server,original_format,last_update' | 143 | extras: 'license,date_upload,date_taken,owner_name,icon_server,original_format,last_update' |
144 | }, function(xr) { | 144 | }, function(xr) { |
145 | var x = xr.responseXML; | 145 | var x = xr.responseXML; |
146 | var xp = x.evaluate( | 146 | var xp = x.evaluate( |
147 | '/rsp/photoset/photo', x, null, | 147 | '/rsp/photoset/photo', x, null, |
148 | XPathResult.ORDERED_NODE_ITERATOR_TYPE, null ); | 148 | XPathResult.ORDERED_NODE_ITERATOR_TYPE, null ); |
149 | _this.importXPR(xp); | 149 | _this.importXPR(xp); |
150 | }, function(x,s,c,m) { | 150 | }, function(x,s,c,m) { |
151 | _this.fireflix.flickr_failure(x,s,c,m); | 151 | _this.fireflix.flickr_failure(x,s,c,m); |
152 | } | 152 | } |
153 | ); | 153 | ); |
154 | }, | 154 | }, |
155 | on_select: function() { | 155 | on_select: function() { |
156 | if(this.selection.count==1) { | 156 | if(this.selection.count==1) { |
157 | var p = this.photos[this.selection.currentIndex]; | 157 | var p = this.photos[this.selection.currentIndex]; |
158 | this.set_photo.src = | 158 | this.set_photo.src = |
159 | this.fireflix.flickr.get_photo_url(p.server,p.id,p.secret,'t'); | 159 | this.fireflix.flickr.get_photo_url(p.server,p.id,p.secret,'t'); |
160 | this.set_photo.hidden = false; | 160 | this.set_photo.hidden = false; |
161 | }else{ | 161 | }else{ |
162 | this.set_photo.hidden = true; | 162 | this.set_photo.hidden = true; |
163 | } | 163 | } |
164 | }, | ||
165 | on_cmd_open: function(ev) { | ||
166 | if(this.selection.currentIndex<0) | ||
167 | return; | ||
168 | var p = this.photos[this.selection.currentIndex]; | ||
169 | if(!p.id) | ||
170 | return; | ||
171 | this.fireflix.openTab(this.fireflix.flickr.make_photo_url(p,'p')); | ||
164 | } | 172 | } |
165 | }, | 173 | }, |
166 | 174 | ||
167 | /* photosets treeview */ | 175 | /* photosets treeview */ |
168 | photosets: { | 176 | photosets: { |
169 | sets: new Array(), | 177 | sets: new Array(), |
170 | fireflix: null, | 178 | fireflix: null, |
171 | init: function(f) { | 179 | init: function(f) { |
172 | this.fireflix = f; | 180 | this.fireflix = f; |
173 | document.getElementById('setslist').view = this; | 181 | document.getElementById('setslist').view = this; |
174 | }, | 182 | }, |
175 | rowCount: 0, | 183 | rowCount: 0, |
176 | getCellText: function(r,c) { | 184 | getCellText: function(r,c) { |
177 | var s = this.sets[r]; | 185 | var s = this.sets[r]; |
178 | if(c.id=='sl_name') return s.title; | 186 | if(c.id=='sl_name') return s.title; |
179 | if(c.id=='sl_photos') return s.photos; | 187 | if(c.id=='sl_photos') return s.photos; |
180 | return c.id; | 188 | return c.id; |
181 | }, | 189 | }, |
182 | setTree: function(t) { this.tree = t }, | 190 | setTree: function(t) { this.tree = t }, |
183 | isContainer: function(r) { return false; }, | 191 | isContainer: function(r) { return false; }, |
184 | isSeparator: function(r) { return false; }, | 192 | isSeparator: function(r) { return false; }, |
185 | isSorted: function() { return false; }, | 193 | isSorted: function() { return false; }, |
186 | getLevel: function(r) { return 0; }, | 194 | getLevel: function(r) { return 0; }, |
187 | getImageSrc: function(r,c) { return null }, | 195 | getImageSrc: function(r,c) { return null }, |