summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--content/fireflix-panel.xul9
-rw-r--r--content/fireflix.js8
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 },