author | Michael Krelin <hacker@klever.net> | 2006-10-01 20:17:40 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2006-10-01 20:17:40 (UTC) |
commit | fa83ec27570f4d397aefeaa11e1f74b49b8d9402 (patch) (unidiff) | |
tree | 1d40b49c027742d294fe6e39ba2535afd61011e3 | |
parent | 1667f51c2ab80c8a33216d0d4fbb9e5af50bb76f (diff) | |
download | fireflix-fa83ec27570f4d397aefeaa11e1f74b49b8d9402.zip fireflix-fa83ec27570f4d397aefeaa11e1f74b49b8d9402.tar.gz fireflix-fa83ec27570f4d397aefeaa11e1f74b49b8d9402.tar.bz2 |
for a number of reasons div is better than iframe for the purpose of showing html descriptions
git-svn-id: http://svn.klever.net/kin/fireflix/trunk@173 fe716a7a-6dde-0310-88d9-d003556173a8
-rw-r--r-- | content/fireflix-panel.xul | 2 | ||||
-rw-r--r-- | content/fireflix.css | 7 | ||||
-rw-r--r-- | content/fireflix.js | 20 |
3 files changed, 14 insertions, 15 deletions
diff --git a/content/fireflix-panel.xul b/content/fireflix-panel.xul index b84b596..e5e1742 100644 --- a/content/fireflix-panel.xul +++ b/content/fireflix-panel.xul | |||
@@ -119,65 +119,65 @@ | |||
119 | <hbox> | 119 | <hbox> |
120 | <label control="search_for" value="&panel.search.search_for.label;" | 120 | <label control="search_for" value="&panel.search.search_for.label;" |
121 | accesskey="s"/> | 121 | accesskey="s"/> |
122 | <textbox id="search_for" flex="1"/> | 122 | <textbox id="search_for" flex="1"/> |
123 | </hbox> | 123 | </hbox> |
124 | <hbox> | 124 | <hbox> |
125 | <checkbox id="search_tags" label="&panel.search.mode.tagsonly.label;" | 125 | <checkbox id="search_tags" label="&panel.search.mode.tagsonly.label;" |
126 | tooltiptext="&panel.search.mode.tagsonly.tip;" checked="false" | 126 | tooltiptext="&panel.search.mode.tagsonly.tip;" checked="false" |
127 | accesskey="t" /> | 127 | accesskey="t" /> |
128 | <checkbox id="search_mine" label="&panel.search.mode.mine.label;" checked="true" accesskey="m"/> | 128 | <checkbox id="search_mine" label="&panel.search.mode.mine.label;" checked="true" accesskey="m"/> |
129 | <spacer flex="1"/> | 129 | <spacer flex="1"/> |
130 | <button command="cmd_search"/> | 130 | <button command="cmd_search"/> |
131 | </hbox> | 131 | </hbox> |
132 | </groupbox> | 132 | </groupbox> |
133 | <tree id="searchresults" rows="2" flex="1" | 133 | <tree id="searchresults" rows="2" flex="1" |
134 | onselect="fireflix.foundphotos.on_select()" | 134 | onselect="fireflix.foundphotos.on_select()" |
135 | ondblclick="fireflix.foundphotos.on_cmd_open(event)" | 135 | ondblclick="fireflix.foundphotos.on_cmd_open(event)" |
136 | onkeypress="if(event.keyCode==event.DOM_VK_RETURN) | 136 | onkeypress="if(event.keyCode==event.DOM_VK_RETURN) |
137 | fireflix.foundphotos.on_cmd_open(event)"> | 137 | fireflix.foundphotos.on_cmd_open(event)"> |
138 | <treecols> | 138 | <treecols> |
139 | <treecol id="sr_title" label="&panel.search.col.title.label;" flex="2" crop="end" align="start" /> | 139 | <treecol id="sr_title" label="&panel.search.col.title.label;" flex="2" crop="end" align="start" /> |
140 | </treecols> | 140 | </treecols> |
141 | <treechildren/> | 141 | <treechildren/> |
142 | </tree> | 142 | </tree> |
143 | <groupbox id="searchresult_props" orient="horizontal" hidden="true"> | 143 | <groupbox id="searchresult_props" orient="horizontal" hidden="true"> |
144 | <vbox width="100" pack="center"> | 144 | <vbox width="100" pack="center"> |
145 | <hbox pack="center"> | 145 | <hbox pack="center"> |
146 | <image id="search_photo"/> | 146 | <image id="search_photo"/> |
147 | </hbox> | 147 | </hbox> |
148 | </vbox> | 148 | </vbox> |
149 | <vbox flex="1"> | 149 | <vbox flex="1"> |
150 | <label id="searchresult_title"/> | 150 | <label id="searchresult_title"/> |
151 | <iframe flex="1" id="searchresult_description"/> | 151 | <div flex="1" id="searchresult_description" xmlns="http://www.w3.org/1999/xhtml"/> |
152 | <hbox pack="end"> | 152 | <hbox pack="end"> |
153 | <button command="cmd_search_open"/> | 153 | <button command="cmd_search_open"/> |
154 | </hbox> | 154 | </hbox> |
155 | </vbox> | 155 | </vbox> |
156 | </groupbox> | 156 | </groupbox> |
157 | </vbox> | 157 | </vbox> |
158 | </tabpanel> | 158 | </tabpanel> |
159 | 159 | ||
160 | <tabpanel id="tabpanel_sets" flex="1" | 160 | <tabpanel id="tabpanel_sets" flex="1" |
161 | onkeypress="if(event.keyCode==event.DOM_VK_RETURN) | 161 | onkeypress="if(event.keyCode==event.DOM_VK_RETURN) |
162 | document.getElementById('setphotos').focus()"> | 162 | document.getElementById('setphotos').focus()"> |
163 | <vbox flex="1"> | 163 | <vbox flex="1"> |
164 | <tree id="setslist" rows="2" onselect="fireflix.photosets.on_select()" | 164 | <tree id="setslist" rows="2" onselect="fireflix.photosets.on_select()" |
165 | flex="1" context="sets_menu" | 165 | flex="1" context="sets_menu" |
166 | > | 166 | > |
167 | <treecols> | 167 | <treecols> |
168 | <treecol id="sl_name" label="&panel.sets.name.label;" flex="4" crop="end" align="start" tooltiptext="&panel.sets.name.tip;"/> | 168 | <treecol id="sl_name" label="&panel.sets.name.label;" flex="4" crop="end" align="start" tooltiptext="&panel.sets.name.tip;"/> |
169 | <splitter class="tree-splitter" /> | 169 | <splitter class="tree-splitter" /> |
170 | <treecol id="sl_photos" label="&panel.sets.photos.label;" flex="1" align="end" tooltiptext="&panel.sets.photos.tip;" /> | 170 | <treecol id="sl_photos" label="&panel.sets.photos.label;" flex="1" align="end" tooltiptext="&panel.sets.photos.tip;" /> |
171 | </treecols> | 171 | </treecols> |
172 | <treechildren/> | 172 | <treechildren/> |
173 | </tree> | 173 | </tree> |
174 | <hbox> | 174 | <hbox> |
175 | <button command="cmd_refresh_sets" /> | 175 | <button command="cmd_refresh_sets" /> |
176 | <button command="cmd_set_props" /> | 176 | <button command="cmd_set_props" /> |
177 | </hbox> | 177 | </hbox> |
178 | <tree id="setphotos" rows="2" onselect="fireflix.photoset.on_select()" | 178 | <tree id="setphotos" rows="2" onselect="fireflix.photoset.on_select()" |
179 | flex="1"> | 179 | flex="1"> |
180 | <treecols> | 180 | <treecols> |
181 | <treecol id="sp_title" label="&panel.setphotos.title.label;" flex="1" crop="end" align="start" tooltiptext="&panel.setphotos.title.tip;" /> | 181 | <treecol id="sp_title" label="&panel.setphotos.title.label;" flex="1" crop="end" align="start" tooltiptext="&panel.setphotos.title.tip;" /> |
182 | <splitter class="tree-splitter" /> | 182 | <splitter class="tree-splitter" /> |
183 | <treecol id="sp_taken" label="&panel.setphotos.taken.label;" crop="end" align="start" tooltiptext="&panel.setphotos.taken.tip;" hidden="true" /> | 183 | <treecol id="sp_taken" label="&panel.setphotos.taken.label;" crop="end" align="start" tooltiptext="&panel.setphotos.taken.tip;" hidden="true" /> |
diff --git a/content/fireflix.css b/content/fireflix.css index 4a3228f..c16dca6 100644 --- a/content/fireflix.css +++ b/content/fireflix.css | |||
@@ -43,40 +43,47 @@ groupbox#set_photo_props { | |||
43 | groupbox#upload_file_props label { | 43 | groupbox#upload_file_props label { |
44 | text-align: right; | 44 | text-align: right; |
45 | } | 45 | } |
46 | 46 | ||
47 | image#set_photo, image#set_primary { | 47 | 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 | ||
69 | menuitem.menuhead { | 69 | menuitem.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 | ||
75 | div#searchresult_description { | ||
76 | min-height: 5em; max-height: 8em; | ||
77 | overflow: auto; | ||
78 | font-size: 90%; | ||
79 | margin: 0.1ex 0.5ex; | ||
80 | } | ||
81 | |||
75 | #copying div { | 82 | #copying div { |
76 | margin: 1ex 1em; | 83 | margin: 1ex 1em; |
77 | font-family: courier, monospace; | 84 | font-family: courier, monospace; |
78 | font-size: 9pt; | 85 | font-size: 9pt; |
79 | padding: 2px; | 86 | padding: 2px; |
80 | border: dotted 1px gray; | 87 | border: dotted 1px gray; |
81 | background: white; | 88 | background: white; |
82 | } | 89 | } |
diff --git a/content/fireflix.js b/content/fireflix.js index 6773134..6681303 100644 --- a/content/fireflix.js +++ b/content/fireflix.js | |||
@@ -727,79 +727,71 @@ var fireflix = { | |||
727 | this.rowCount = this.photos.length; | 727 | this.rowCount = this.photos.length; |
728 | this.tree.endUpdateBatch(); | 728 | this.tree.endUpdateBatch(); |
729 | }, | 729 | }, |
730 | search_photos: function() { | 730 | search_photos: function() { |
731 | var pars = { | 731 | var pars = { |
732 | method: 'flickr.photos.search', | 732 | method: 'flickr.photos.search', |
733 | auth_token: 'default', | 733 | auth_token: 'default', |
734 | extras: 'license,date_upload,date_taken,owner_name,icon_server,original_format,last_update,geo' | 734 | extras: 'license,date_upload,date_taken,owner_name,icon_server,original_format,last_update,geo' |
735 | }; | 735 | }; |
736 | if(this.search_mine.checked) | 736 | if(this.search_mine.checked) |
737 | pars.user_id='me'; | 737 | pars.user_id='me'; |
738 | if(this.search_tags.checked) { | 738 | if(this.search_tags.checked) { |
739 | pars.tags=this.search_for.value.split(/ +/).join(','); | 739 | pars.tags=this.search_for.value.split(/ +/).join(','); |
740 | }else{ | 740 | }else{ |
741 | pars.text=this.search_for.value; | 741 | pars.text=this.search_for.value; |
742 | } | 742 | } |
743 | var _this = this; | 743 | var _this = this; |
744 | this.fireflix.flickr.api_call( pars, | 744 | this.fireflix.flickr.api_call( pars, |
745 | function(xr) { | 745 | function(xr) { |
746 | var x = xr.responseXML; | 746 | var x = xr.responseXML; |
747 | var xp = x.evaluate( | 747 | var xp = x.evaluate( |
748 | '/rsp/photos/photo', x, null, | 748 | '/rsp/photos/photo', x, null, |
749 | XPathResult.ORDERED_NODE_ITERATOR_TYPE, null ); | 749 | XPathResult.ORDERED_NODE_ITERATOR_TYPE, null ); |
750 | _this.importXPR(xp); | 750 | _this.importXPR(xp); |
751 | _this.on_select(); | 751 | _this.on_select(); |
752 | }, function(x,s,c,m) { | 752 | }, function(x,s,c,m) { |
753 | _this.fireflix.flickr_failure(x,s,c,m); | 753 | _this.fireflix.flickr_failure(x,s,c,m); |
754 | } | 754 | } |
755 | ); | 755 | ); |
756 | }, | 756 | }, |
757 | render_description_frame: function(content) { | 757 | render_description_frame: function(content) { |
758 | if(!content) { | 758 | if(!content) { |
759 | try { | 759 | this.searchresult_description.innerHTML = ''; |
760 | this.searchresult_description.contentDocument.lastChild.innerHTML | ||
761 | = ''; | ||
762 | }catch(e) { } /* it will throw exceptions when the iframe isn't well | ||
763 | prepared to meet me, but it's unimportant then, anyway */ | ||
764 | }else{ | 760 | }else{ |
765 | this.searchresult_description.contentDocument.lastChild.setAttribute( | 761 | this.searchresult_description.innerHTML = content?content:''; |
766 | 'style', | 762 | /* of all linking elements flickr only allows a */ |
767 | 'font-size: 80%; margin: 1px 3px; font-family: arial, sans-serif' | 763 | var as = this.searchresult_description.getElementsByTagName('a'); |
768 | ); | 764 | for(var a=0;a<as.length;++a) |
769 | this.searchresult_description.contentDocument.lastChild.innerHTML | 765 | as.item(a).setAttribute('target','_blank'); |
770 | = content; | ||
771 | var ls = this.searchresult_description.contentDocument.links; | ||
772 | for(var l=0;l<ls.length;++l) | ||
773 | ls.item(l).setAttribute('target','_blank'); | ||
774 | } | 766 | } |
775 | }, | 767 | }, |
776 | on_select: function() { | 768 | on_select: function() { |
777 | if(this.selection.currentIndex<0) { | 769 | if(this.selection.currentIndex<0) { |
778 | this.searchresult_props.hidden = true; | 770 | this.searchresult_props.hidden = true; |
779 | }else{ | 771 | }else{ |
780 | var p = this.photos[this.selection.currentIndex]; | 772 | var p = this.photos[this.selection.currentIndex]; |
781 | if(!p) { | 773 | if(!p) { |
782 | this.searchresult_props.hidden = true; | 774 | this.searchresult_props.hidden = true; |
783 | }else{ | 775 | }else{ |
784 | this.search_photo.src = this.fireflix.flickr.make_photo_url(p,'t'); | 776 | this.search_photo.src = this.fireflix.flickr.make_photo_url(p,'t'); |
785 | this.searchresult_title.value = p.title; | 777 | this.searchresult_title.value = p.title; |
786 | this.render_description_frame(null); | 778 | this.render_description_frame(null); |
787 | if(p.description==null && p.description==undefined) { | 779 | if(p.description==null && p.description==undefined) { |
788 | var pid = p.id; | 780 | var pid = p.id; |
789 | var ci = this.selection.currentIndex; | 781 | var ci = this.selection.currentIndex; |
790 | var _this = this; | 782 | var _this = this; |
791 | this.fireflix.flickr.api_call( | 783 | this.fireflix.flickr.api_call( |
792 | { | 784 | { |
793 | method: 'flickr.photos.getInfo', | 785 | method: 'flickr.photos.getInfo', |
794 | auth_token: 'default', | 786 | auth_token: 'default', |
795 | photo_id: p.id, | 787 | photo_id: p.id, |
796 | secret: p.secret | 788 | secret: p.secret |
797 | }, function(xr) { | 789 | }, function(xr) { |
798 | var pp = _this.photos[ci]; | 790 | var pp = _this.photos[ci]; |
799 | if(ci==_this.selection.currentIndex && pp.id==pid) { | 791 | if(ci==_this.selection.currentIndex && pp.id==pid) { |
800 | var n = xp_node('/rsp/photo',xr.responseXML); | 792 | var n = xp_node('/rsp/photo',xr.responseXML); |
801 | pp.fromNode_(n); | 793 | pp.fromNode_(n); |
802 | _this.render_description_frame(pp.description); | 794 | _this.render_description_frame(pp.description); |
803 | } | 795 | } |
804 | }, function(x,s,c,m) { | 796 | }, function(x,s,c,m) { |
805 | _this.fireflix.flickr_failure(x,s,c,m); | 797 | _this.fireflix.flickr_failure(x,s,c,m); |