summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--content/fireflix-panel.xul11
-rw-r--r--content/fireflix.js13
-rw-r--r--locale/en-US/fireflix.dtd2
3 files changed, 25 insertions, 1 deletions
diff --git a/content/fireflix-panel.xul b/content/fireflix-panel.xul
index 62862a9..0e511c5 100644
--- a/content/fireflix-panel.xul
+++ b/content/fireflix-panel.xul
@@ -53,48 +53,57 @@
<command id="cmd_search_prev_page"
label="&panel.search.cmd_search_prev_page.label;"
oncommand="fireflix.foundphotos.on_cmd_prev(event)" disabled="true"/>
<command id="cmd_search_next_page"
label="&panel.search.cmd_search_next_page.label;"
oncommand="fireflix.foundphotos.on_cmd_next(event)" disabled="true"/>
</commandset>
<commandset id="cmdset_sets">
<command id="cmd_refresh_sets" label="&panel.sets.cmd_refresh_sets;"
oncommand="fireflix.on_refresh_sets()" />
<command id="cmd_set_props" label="&panel.sets.cmd_properties;"
oncommand="fireflix.on_set_props()" disabled="true" />
</commandset>
<popupset>
<popup id="sets_menu">
<menuitem command="cmd_set_props"/>
<menuitem command="cmd_refresh_sets"/>
<menuseparator/>
<menu label="&panel.sets.generate_html;" id="sets_html_menu"/>
</popup>
</popupset>
+ <commandset id="cmdset_setphotos">
+ </commandset>
+
+ <popupset>
+ <popup id="setphotos_menu">
+ <menu label="&panel.setphotos.generate_html;" id="setphotos_html_menu"/>
+ </popup>
+ </popupset>
+
<commandset id="cmdset_uploads">
<command id="cmd_uploads_clear" label="&panel.uploads.clear.label;"
oncommand="fireflix.uploads.on_clear()" />
<command id="cmd_uploads_upload" label="&panel.uploads.upload.label;"
oncommand="fireflix.uploads.on_upload()" />
<command id="cmd_uploads_remove" label="&panel.uploads.remove.label;"
oncommand="fireflix.uploads.on_remove()" />
<command id="cmd_uploads_add" label="&panel.uploads.add.label;"
oncommand="fireflix.uploads.on_add()" />
</commandset>
<popupset>
<popup id="uploads_menu">
<menuitem command="cmd_uploads_add"/>
<menuitem command="cmd_uploads_clear"/>
<menuitem command="cmd_uploads_remove"/>
<menuseparator/>
<menuitem command="cmd_uploads_upload"/>
<menuseparator/>
<menu label="&panel.uploads.generate_html;" id="uploads_html_menu"/>
</popup>
</popupset>
<vbox class="wholething" flex="1">
@@ -178,49 +187,49 @@
</vbox>
</tabpanel>
<tabpanel id="tabpanel_sets" flex="1"
onkeypress="if(event.keyCode==event.DOM_VK_RETURN)
document.getElementById('setphotos').focus()">
<vbox flex="1">
<tree id="setslist" rows="2" onselect="fireflix.photosets.on_select()"
flex="1" context="sets_menu"
ondblclick="fireflix.photosets.on_cmd_open_in_flickr(event)"
>
<treecols>
<treecol id="sl_name" label="&panel.sets.name.label;" flex="4" crop="end" align="start" tooltiptext="&panel.sets.name.tip;"/>
<splitter class="tree-splitter" />
<treecol id="sl_photos" label="&panel.sets.photos.label;" flex="1" align="end" tooltiptext="&panel.sets.photos.tip;" />
</treecols>
<treechildren/>
</tree>
<hbox>
<button command="cmd_refresh_sets" />
<button command="cmd_set_props" />
</hbox>
<tree id="setphotos" rows="2" onselect="fireflix.photoset.on_select()"
flex="1" ondblclick="fireflix.photoset.on_cmd_open(event)"
- onkeypress="if(event.keyCode==event.DOM_VK_RETURN) fireflix.photoset.on_cmd_open(event)">
+ onkeypress="if(event.keyCode==event.DOM_VK_RETURN) fireflix.photoset.on_cmd_open(event)" context="setphotos_menu">
<treecols>
<treecol id="sp_title" label="&panel.setphotos.title.label;" flex="1" crop="end" align="start" tooltiptext="&panel.setphotos.title.tip;" />
<splitter class="tree-splitter" />
<treecol id="sp_taken" label="&panel.setphotos.taken.label;" crop="end" align="start" tooltiptext="&panel.setphotos.taken.tip;" hidden="true" />
<treecol id="sp_upload" label="&panel.setphotos.upload.label;" crop="end" align="start" tooltiptext="&panel.setphotos.upload.tip;" hidden="true" />
</treecols>
<treechildren/>
</tree>
<groupbox id="set_photo_props" orient="horizontal" hidden="true">
<vbox width="100" pack="center">
<hbox pack="center">
<image id="set_photo"
ondblclick="fireflix.photoset.on_cmd_open(event)" />
</hbox>
</vbox>
<spacer flex="1"/>
</groupbox>
</vbox>
</tabpanel>
<tabpanel id="tabpanel_tags">
<listbox id="tagslist" rows="8" flex="1">
<listhead>
<listheader label="&panel.tagslist.tag.label;"/>
diff --git a/content/fireflix.js b/content/fireflix.js
index 328e9e2..995ec5c 100644
--- a/content/fireflix.js
+++ b/content/fireflix.js
@@ -644,48 +644,57 @@ var fireflix = {
photo_ids: phids.join(',')
}, function() { }, function(x,s,c,m) { /* flickr.photosets.editPhotos */
_this.flickr_failure(x,s,c,m);
}
);
}
}, function(x,s,c,m) { /* flickr.photosets.getPhotos */
_this.flickr_failure(x,s,c,m);
}
);
}, function(x,s,c,m) { /* flickr.photosets.editMeta */
_this.flickr_failure(x,s,c,m);
}
);
}
},
on_refresh_sets: function() {
this.refresh_sets();
},
on_cmd_sets_html: function(csfx,ev) {
var uti = csfx.charAt(0); var utl = csfx.charAt(1);
var rv = this.build_html(this.photoset.photos,uti,utl);
this.popup_content(rv);
},
+ on_cmd_setphotos_html: function(csfx,ev) {
+ var uti = csfx.charAt(0); var utl = csfx.charAt(1);
+ var rv = '';
+ for(var p in this.photoset.photos) {
+ if(this.photoset.selection.isSelected(p))
+ rv += this.photo_html(this.photoset.photos[p],uti,utl)+'\n';
+ }
+ this.popup_content(rv);
+ },
on_cmd_uploads_html: function(csfx,ev) {
var uti = csfx.charAt(0); var utl = csfx.charAt(1);
var pids = new Array();
for(var f in this.uploads.files) {
if(this.uploads.selection.isSelected(f))
if(this.uploads.files[f].photoid)
pids.push(this.uploads.files[f].photoid);
}
var pp = this.uploads.rowCount*2; if(pp>500) pp = 500;
var _this = this;
this.flickr.api_call(
{
method: 'flickr.photos.search',
auth_token: 'default',
extras: 'original_format',
user_id: 'me',
per_page: pp
},
function(xr) {
var x = xr.responseXML;
var rv = '';
for(var pn in pids) {
var p = pids[pn];
@@ -902,48 +911,52 @@ var fireflix = {
window.openDialog(
"chrome://fireflix/content/generated-content.xul",
null, "dialog,chrome", this, s );
},
copy_to_clipboard: function(s) {
var ch = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
.getService(Components.interfaces.nsIClipboardHelper);
ch.copyString(s);
},
openTab: function(l) {
var wm = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(
Components.interfaces.nsIWindowMediator );
var bw = wm.getMostRecentWindow('navigator:browser');
var b = bw.getBrowser();
var t = b.addTab(l);
b.selectedTab = t;
},
build_menus: function() {
this.append_html_menu(
document.getElementById('sets_html_menu'),
'stm_','m_bop','cmdset_sets','cmd_sets_html'
);
this.append_html_menu(
+ document.getElementById('setphotos_html_menu'),
+ 'stm_','m_bop','cmdset_setphotos','cmd_setphotos_html'
+ );
+ this.append_html_menu(
document.getElementById('uploads_html_menu'),
'stm_','m_bop','cmdset_uploads','cmd_uploads_html'
);
return;
},
append_html_menu: function(m,imgt,lnkt,csid,cpfx) {
var mp = m.appendChild(document.createElement('menupopup'));
var t;
t=mp.appendChild(document.createElement('menuitem'));
t.setAttribute('label',this.loc_strings.getString('menutitle_Images'));
t.setAttribute('class','menuhead');t.setAttribute('disabled','true');
mp.appendChild(document.createElement('menuseparator'));
var cs = document.getElementById(csid);
for(var iti=0;iti<imgt.length;++iti) {
t = mp.appendChild(document.createElement('menu'));
t.setAttribute('label',this.loc_strings.getString('urltype_'+imgt.charAt(iti)));
var smp = t.appendChild(document.createElement('menupopup'));
t=smp.appendChild(document.createElement('menuitem'));
t.setAttribute('label',this.loc_strings.getString('menutitle_Links'));
t.setAttribute('class','menuhead');t.setAttribute('disabled','true');
smp.appendChild(document.createElement('menuseparator'));
for(var lti=0;lti<lnkt.length;++lti) {
var csfx = imgt.charAt(iti)+lnkt.charAt(lti);
t=smp.appendChild(document.createElement('menuitem'));
diff --git a/locale/en-US/fireflix.dtd b/locale/en-US/fireflix.dtd
index 09112dc..668b684 100644
--- a/locale/en-US/fireflix.dtd
+++ b/locale/en-US/fireflix.dtd
@@ -34,48 +34,50 @@
<!ENTITY panel.search.mode.tagsonly.tip "Search tags only">
<!ENTITY panel.search.mode.mine.label "mine">
<!ENTITY panel.search.col.title.label "Title">
<!ENTITY panel.search.cmd_search_open.label "Open">
<!ENTITY panel.search.cmd_search_prev_page.label " « ">
<!ENTITY panel.search.cmd_search_next_page.label " » ">
<!ENTITY panel.sets.name.label "Set">
<!ENTITY panel.sets.name.tip "Photoset name">
<!ENTITY panel.sets.photos.label "Photos">
<!ENTITY panel.sets.photos.tip "Number of photos in set">
<!ENTITY panel.sets.cmd_refresh_sets "Refresh">
<!ENTITY panel.sets.cmd_properties "Properties">
<!ENTITY panel.sets.generate_html "Generate HTML">
<!ENTITY panel.setphotos.title.label "Title">
<!ENTITY panel.setphotos.title.tip "Picture title">
<!ENTITY panel.setphotos.taken.label "Taken">
<!ENTITY panel.setphotos.taken.tip "When the picture was taken">
<!ENTITY panel.setphotos.upload.label "Uploaded">
<!ENTITY panel.setphotos.upload.tip "When the picure was uploaded">
+<!ENTITY panel.setphotos.generate_html "Generate HTML">
+
<!ENTITY panel.tagslist.tag.label "Tag">
<!ENTITY panel.uploadlist.file.label "File name">
<!ENTITY panel.uploadlist.title.label "Title">
<!ENTITY panel.uploadlist.status.label "Status">
<!ENTITY panel.upload_props.filename.label "File:">
<!ENTITY panel.upload_props.title.label "Title:">
<!ENTITY panel.upload_props.tags.label "Tags:">
<!ENTITY panel.uploads.upload.label "Upload">
<!ENTITY panel.uploads.clear.label "Clear">
<!ENTITY panel.uploads.remove.label "Remove">
<!ENTITY panel.uploads.add.label "Add">
<!ENTITY panel.uploads.generate_html "Generate HTML">
<!ENTITY generated.title "Fireflix: Generated content">
<!ENTITY generated.copy "copy">
<!ENTITY generated.nolf "remove linebreaks">
<!ENTITY browser.sidebar.label "Fireflix">
<!ENTITY browser.sidebar.title "Fireflix">
<!ENTITY browser.sidebar.tooltip "Fireflix">