Merge lp:~elementary-apps/pantheon-photos/icons-gresource into lp:~pantheon-photos/pantheon-photos/trunk

Proposed by Danielle Foré
Status: Merged
Approved by: Felipe Escoto
Approved revision: 3106
Merged at revision: 3106
Proposed branch: lp:~elementary-apps/pantheon-photos/icons-gresource
Merge into: lp:~pantheon-photos/pantheon-photos/trunk
Diff against target: 1624 lines (+1312/-194)
12 files modified
data/CMakeLists.txt (+0/-4)
data/icons/edit-flag.svg (+155/-0)
data/icons/icons.gresource.xml (+22/-0)
data/icons/image-adjust.svg (+179/-0)
data/icons/image-auto-adjust.svg (+183/-0)
data/icons/image-crop.svg (+186/-0)
data/icons/image-red-eye.svg (+320/-0)
data/icons/object-straighten.svg (+225/-0)
src/Application.vala (+3/-0)
src/CMakeLists.txt (+4/-1)
src/CustomComponents.vala (+34/-185)
src/Resources.vala (+1/-4)
To merge this branch: bzr merge lp:~elementary-apps/pantheon-photos/icons-gresource
Reviewer Review Type Date Requested Status
Felipe Escoto (community) Approve
Review via email: mp+314281@code.launchpad.net

Commit message

* Add non-standard icons to a gresource
* Add noninterpretable video bg and drag nub to the resource
* Remove unused code from CustomComponents.vala
* Don't install icons to filesystem since they're compiled into the gresource

Description of the change

Added missing icons by request from Ochosi

Removed a bunch of dark magic that seems to be unnecessary.

To post a comment you must log in.
3106. By Danielle Foré

Add non-standard icons to a gresource

Revision history for this message
Felipe Escoto (philip.scott) wrote :

LGTM, and those icons now work on other themes!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'data/CMakeLists.txt'
2--- data/CMakeLists.txt 2016-08-28 20:08:59 +0000
3+++ data/CMakeLists.txt 2017-01-08 16:55:12 +0000
4@@ -9,10 +9,6 @@
5 install (FILES ${CMAKE_CURRENT_BINARY_DIR}/org.pantheon.photos-viewer.desktop DESTINATION ${DATADIR}/applications)
6 install (FILES ${CMAKE_CURRENT_BINARY_DIR}/org.pantheon.photos.appdata.xml DESTINATION ${DATADIR}/appdata)
7
8-# Install custom icons
9-file (GLOB ICON_FILES icons/*)
10-install (FILES ${ICON_FILES} DESTINATION ${PKGDATADIR}/icons)
11-
12 # Install UI files
13 file (GLOB UI_FILES ui/*)
14 install (FILES ${UI_FILES} DESTINATION ${PKGDATADIR}/ui)
15
16=== added file 'data/icons/edit-flag.svg'
17--- data/icons/edit-flag.svg 1970-01-01 00:00:00 +0000
18+++ data/icons/edit-flag.svg 2017-01-08 16:55:12 +0000
19@@ -0,0 +1,155 @@
20+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
21+<svg
22+ xmlns:dc="http://purl.org/dc/elements/1.1/"
23+ xmlns:cc="http://creativecommons.org/ns#"
24+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
25+ xmlns:svg="http://www.w3.org/2000/svg"
26+ xmlns="http://www.w3.org/2000/svg"
27+ xmlns:xlink="http://www.w3.org/1999/xlink"
28+ version="1.1"
29+ width="24"
30+ height="24"
31+ id="svg4114">
32+ <defs
33+ id="defs4116">
34+ <linearGradient
35+ x1="24.001757"
36+ y1="9.2952671"
37+ x2="22.875973"
38+ y2="37.167572"
39+ id="linearGradient3167"
40+ xlink:href="#linearGradient3875"
41+ gradientUnits="userSpaceOnUse"
42+ gradientTransform="matrix(0.46662086,0,0,0.4720986,0.80193311,1.4356834)" />
43+ <linearGradient
44+ id="linearGradient3875">
45+ <stop
46+ id="stop3877"
47+ style="stop-color:#ffffff;stop-opacity:1"
48+ offset="0" />
49+ <stop
50+ id="stop3879"
51+ style="stop-color:#ffffff;stop-opacity:0.23529412"
52+ offset="0.13099068" />
53+ <stop
54+ id="stop3881"
55+ style="stop-color:#ffffff;stop-opacity:0.15686275"
56+ offset="0.90155029" />
57+ <stop
58+ id="stop3883"
59+ style="stop-color:#ffffff;stop-opacity:0.39215687"
60+ offset="1" />
61+ </linearGradient>
62+ <linearGradient
63+ x1="0.36465192"
64+ y1="19.599176"
65+ x2="28.05953"
66+ y2="19.599176"
67+ id="linearGradient3160"
68+ xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-8-3-4"
69+ gradientUnits="userSpaceOnUse"
70+ gradientTransform="matrix(0.50100354,0,0.12917999,0.48210629,-1.3703677,6.3724142)"
71+ spreadMethod="reflect" />
72+ <linearGradient
73+ id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-8-3-4">
74+ <stop
75+ id="stop3750-1-0-7"
76+ style="stop-color:#ffcd7d;stop-opacity:1"
77+ offset="0" />
78+ <stop
79+ id="stop3752-3-7-6"
80+ style="stop-color:#fc8f36;stop-opacity:1"
81+ offset="0.26238" />
82+ <stop
83+ id="stop3754-1-8-5"
84+ style="stop-color:#e23a0e;stop-opacity:1"
85+ offset="1" />
86+ </linearGradient>
87+ <linearGradient
88+ x1="30"
89+ y1="30"
90+ x2="-11"
91+ y2="30"
92+ id="linearGradient3162"
93+ xlink:href="#linearGradient4039"
94+ gradientUnits="userSpaceOnUse"
95+ gradientTransform="matrix(0.37774073,0,0.09673411,0.36101661,1.5655367,7.1569019)"
96+ spreadMethod="reflect" />
97+ <linearGradient
98+ id="linearGradient4039">
99+ <stop
100+ id="stop4041"
101+ style="stop-color:#ba3d12;stop-opacity:1"
102+ offset="0" />
103+ <stop
104+ id="stop4043"
105+ style="stop-color:#db6737;stop-opacity:1"
106+ offset="1" />
107+ </linearGradient>
108+ <linearGradient
109+ id="linearGradient4034">
110+ <stop
111+ id="stop4036"
112+ style="stop-color:#000000;stop-opacity:1"
113+ offset="0" />
114+ <stop
115+ id="stop4038"
116+ style="stop-color:#000000;stop-opacity:0"
117+ offset="1" />
118+ </linearGradient>
119+ <linearGradient
120+ x1="10.824209"
121+ y1="31.999737"
122+ x2="10.824209"
123+ y2="14.232251"
124+ id="linearGradient4112"
125+ xlink:href="#linearGradient4034"
126+ gradientUnits="userSpaceOnUse"
127+ gradientTransform="translate(1.4827512e-8,7.0001866)" />
128+ </defs>
129+ <metadata
130+ id="metadata4119">
131+ <rdf:RDF>
132+ <cc:Work
133+ rdf:about="">
134+ <dc:format>image/svg+xml</dc:format>
135+ <dc:type
136+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
137+ <dc:title />
138+ </cc:Work>
139+ </rdf:RDF>
140+ </metadata>
141+ <g
142+ transform="translate(0,-8)"
143+ id="layer1">
144+ <path
145+ d="m 6.9375,23.352889 c -1.816586,0.0229 -3.33718,0.167264 -3.75,0.311978 l -0.21875,-0.268947 -1.99999999,0 5.62499999,7.229283 2,0 -2.28125,-2.426762 c 0.67712,0.08647 2.47026,-0.261216 4.78125,-0.24743 2.802792,0.01672 3.629056,0.373633 6.59375,0.376525 2.964689,0.0029 5.447313,-0.177755 5.21875,-0.441072 l -3,-4.36145 c -0.138362,-0.199212 -2.664576,0.242419 -5.4375,0.2044 -2.993706,-0.04105 -3.924517,-0.345501 -6.5625,-0.376525 -0.32976,-0.0038 -0.651969,-0.0039 -0.96875,0 z"
146+ id="rect3941-5-6"
147+ style="opacity:0.25;color:#000000;fill:url(#linearGradient4112);fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
148+ <rect
149+ width="1"
150+ height="20.705524"
151+ x="-1.1077294"
152+ y="10.493559"
153+ transform="matrix(1,0,0.25881905,0.96592583,0,0)"
154+ id="rect3941-5"
155+ style="color:#000000;fill:#ffffff;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
156+ <rect
157+ width="2"
158+ height="21.740799"
159+ x="-1.6077296"
160+ y="9.9759216"
161+ transform="matrix(1,0,0.25881905,0.96592583,0,0)"
162+ id="rect3941"
163+ style="opacity:0.36600001;color:#000000;fill:none;stroke:#000000;stroke-width:1.01748526;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
164+ <path
165+ d="m 3.0775309,10.685117 c -0.1688792,-0.567968 2.195043,-1.2671406 4.8331238,-1.1770154 2.6379833,0.090121 3.5687063,0.9592264 6.5624123,1.0784574 2.772924,0.110439 5.28354,-1.1552248 5.421902,-0.576543 l 3.001466,11.201623 c 0.228563,0.764894 -2.237412,1.296793 -5.202101,1.288468 -2.964694,-0.0084 -3.789892,-1.034481 -6.592684,-1.083048 -2.8012002,-0.04854 -4.8384405,1.421502 -5.0539949,0.352713 L 3.0775309,10.685117 z"
166+ id="path4319-6"
167+ style="fill:url(#linearGradient3160);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3162);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
168+ <path
169+ d="M 8.0625,5.5 C 6.5772935,5.4344328 5.0679908,5.6288692 3.96875,5.875 3.4191296,5.9980654 2.9964896,6.1252925 2.71875,6.25 2.6100123,6.2988242 2.5427285,6.346341 2.5,6.375 L 2.5,20 C 2.7183632,19.979 3.1244002,19.868877 3.65625,19.71875 4.774391,19.403128 6.3487566,18.962367 8.09375,19 c 1.717858,0.03705 2.811377,0.418487 3.8125,0.78125 1.001123,0.362763 1.925728,0.712607 3.59375,0.71875 1.704468,0.0063 3.313468,-0.177791 4.46875,-0.40625 0.577641,-0.11423 1.050839,-0.263341 1.34375,-0.375 0.09965,-0.03799 0.136806,-0.06688 0.1875,-0.09375 l 0,-13.46875 c -0.311673,0.062247 -0.744384,0.1575769 -1.3125,0.28125 -1.219441,0.2654598 -2.915656,0.5649334 -4.75,0.5 C 13.635744,6.87372 12.498445,6.5475118 11.46875,6.21875 10.439055,5.8899882 9.5314794,5.564851 8.0625,5.5 z"
170+ transform="matrix(0.78947358,0,0.19887544,0.74221326,0.94239271,6.3561425)"
171+ id="path3112"
172+ style="opacity:0.5;fill:none;stroke:url(#linearGradient3167);stroke-width:1.30637455px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
173+ </g>
174+</svg>
175
176=== added file 'data/icons/icons.gresource.xml'
177--- data/icons/icons.gresource.xml 1970-01-01 00:00:00 +0000
178+++ data/icons/icons.gresource.xml 2017-01-08 16:55:12 +0000
179@@ -0,0 +1,22 @@
180+<?xml version="1.0" encoding="UTF-8"?>
181+<gresources>
182+ <gresource prefix="/org/pantheon/photos/icons">
183+ <file alias="aperture-symbolic.svg" compressed="true" preprocess="xml-stripblanks">aperture-symbolic.svg</file>
184+ <file alias="drag_nub.png" compressed="true">drag_nub.png</file>
185+ <file alias="edit-flag.svg" compressed="true" preprocess="xml-stripblanks">edit-flag.svg</file>
186+ <file alias="exposure-bias-symbolic.svg" compressed="true" preprocess="xml-stripblanks">exposure-bias-symbolic.svg</file>
187+ <file alias="exposure-symbolic.svg" compressed="true" preprocess="xml-stripblanks">exposure-symbolic.svg</file>
188+ <file alias="flash-symbolic.svg" compressed="true" preprocess="xml-stripblanks">flash-symbolic.svg</file>
189+ <file alias="focal-length-symbolic.svg" compressed="true" preprocess="xml-stripblanks">focal-length-symbolic.svg</file>
190+ <file alias="image-adjust.svg" compressed="true" preprocess="xml-stripblanks">image-adjust.svg</file>
191+ <file alias="image-auto-adjust.svg" compressed="true" preprocess="xml-stripblanks">image-auto-adjust.svg</file>
192+ <file alias="image-crop.svg" compressed="true" preprocess="xml-stripblanks">image-crop.svg</file>
193+ <file alias="image-red-eye.svg" compressed="true" preprocess="xml-stripblanks">image-red-eye.svg</file>
194+ <file alias="iso-symbolic.svg" compressed="true" preprocess="xml-stripblanks">iso-symbolic.svg</file>
195+ <file alias="object-straighten.svg" compressed="true" preprocess="xml-stripblanks">object-straighten.svg</file>
196+ <file alias="pin-toolbar.svg" compressed="true" preprocess="xml-stripblanks">pin-toolbar.svg</file>
197+ </gresource>
198+ <gresource prefix="/org/pantheon/photos/backgrounds">
199+ <file alias="noninterpretable-video.svg" compressed="true" preprocess="xml-stripblanks">noninterpretable-video.svg</file>
200+ </gresource>
201+</gresources>
202
203=== added file 'data/icons/image-adjust.svg'
204--- data/icons/image-adjust.svg 1970-01-01 00:00:00 +0000
205+++ data/icons/image-adjust.svg 2017-01-08 16:55:12 +0000
206@@ -0,0 +1,179 @@
207+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
208+<svg
209+ xmlns:dc="http://purl.org/dc/elements/1.1/"
210+ xmlns:cc="http://creativecommons.org/ns#"
211+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
212+ xmlns:svg="http://www.w3.org/2000/svg"
213+ xmlns="http://www.w3.org/2000/svg"
214+ xmlns:xlink="http://www.w3.org/1999/xlink"
215+ version="1.1"
216+ width="24"
217+ height="24"
218+ id="svg2976">
219+ <defs
220+ id="defs2978">
221+ <linearGradient
222+ id="linearGradient3844">
223+ <stop
224+ id="stop3846"
225+ style="stop-color:#ff1d1d;stop-opacity:1"
226+ offset="0" />
227+ <stop
228+ id="stop3848"
229+ style="stop-color:#ff8a18;stop-opacity:1"
230+ offset="0.16829631" />
231+ <stop
232+ id="stop3850"
233+ style="stop-color:#ffe92a;stop-opacity:1"
234+ offset="0.31939223" />
235+ <stop
236+ id="stop3852"
237+ style="stop-color:#91ea3a;stop-opacity:1"
238+ offset="0.50751495" />
239+ <stop
240+ id="stop3854"
241+ style="stop-color:#1d72e0;stop-opacity:1"
242+ offset="0.6893779" />
243+ <stop
244+ id="stop3856"
245+ style="stop-color:#a91ec0;stop-opacity:1"
246+ offset="0.87265676" />
247+ <stop
248+ id="stop3858"
249+ style="stop-color:#ff0b88;stop-opacity:1"
250+ offset="1" />
251+ </linearGradient>
252+ <linearGradient
253+ id="linearGradient3672-0">
254+ <stop
255+ id="stop3674-1"
256+ style="stop-color:#000000;stop-opacity:1"
257+ offset="0" />
258+ <stop
259+ id="stop3676-0"
260+ style="stop-color:#003662;stop-opacity:1"
261+ offset="1" />
262+ </linearGradient>
263+ <linearGradient
264+ id="linearGradient3672-2">
265+ <stop
266+ id="stop3674-6"
267+ style="stop-color:#808080;stop-opacity:1"
268+ offset="0" />
269+ <stop
270+ id="stop3676-9"
271+ style="stop-color:#00a0ef;stop-opacity:1"
272+ offset="1" />
273+ </linearGradient>
274+ <linearGradient
275+ id="linearGradient3650-0">
276+ <stop
277+ id="stop3662-3"
278+ style="stop-color:#2e3436;stop-opacity:1"
279+ offset="0" />
280+ <stop
281+ id="stop3664-7"
282+ style="stop-color:#eeeeec;stop-opacity:1"
283+ offset="1" />
284+ </linearGradient>
285+ <linearGradient
286+ x1="2"
287+ y1="35.999863"
288+ x2="22.000275"
289+ y2="35.999863"
290+ id="linearGradient3850"
291+ xlink:href="#linearGradient3672-0"
292+ gradientUnits="userSpaceOnUse" />
293+ <linearGradient
294+ x1="3.5"
295+ y1="6"
296+ x2="28.5"
297+ y2="6"
298+ id="linearGradient3852"
299+ xlink:href="#linearGradient3672-2"
300+ gradientUnits="userSpaceOnUse"
301+ gradientTransform="matrix(0.76,0,0,1,-0.16,30)" />
302+ <linearGradient
303+ x1="3.5"
304+ y1="6"
305+ x2="28.5"
306+ y2="6"
307+ id="linearGradient3854"
308+ xlink:href="#linearGradient3650-0"
309+ gradientUnits="userSpaceOnUse"
310+ gradientTransform="matrix(0.76,0,0,1,-0.16,36)" />
311+ <linearGradient
312+ x1="3.5"
313+ y1="6"
314+ x2="28.5"
315+ y2="6"
316+ id="linearGradient3856"
317+ xlink:href="#linearGradient3844"
318+ gradientUnits="userSpaceOnUse"
319+ gradientTransform="matrix(0.76,0,0,1,-0.16,24)" />
320+ </defs>
321+ <metadata
322+ id="metadata2981">
323+ <rdf:RDF>
324+ <cc:Work
325+ rdf:about="">
326+ <dc:format>image/svg+xml</dc:format>
327+ <dc:type
328+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
329+ <dc:title />
330+ </cc:Work>
331+ </rdf:RDF>
332+ </metadata>
333+ <g
334+ transform="translate(0,-24)"
335+ id="layer1">
336+ <path
337+ d="m 2.5,40.5 0,4 19,0 0,-4 z"
338+ id="path3684"
339+ style="fill:url(#linearGradient3854);fill-opacity:1;stroke:none" />
340+ <path
341+ d="m 2.5,34.5 0,4 19,0 0,-4 z"
342+ id="path3692"
343+ style="fill:url(#linearGradient3852);fill-opacity:1;stroke:none" />
344+ <path
345+ d="m 2.5,40.5 19.000275,0 0,4 L 2.5,44.5 z"
346+ id="rect3682"
347+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" />
348+ <path
349+ d="m 2.5,28.5 0,4 19,0 0,-4 z"
350+ id="path3686"
351+ style="fill:url(#linearGradient3856);fill-opacity:1;stroke:none" />
352+ <path
353+ d="m 2.5,28.499863 19.000275,0 0,4 -19.000275,0 z"
354+ id="rect3678"
355+ style="opacity:0.4;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" />
356+ <path
357+ d="m 2.5,34.499863 19.000275,0 0,4 -19.000275,0 z"
358+ id="rect3680"
359+ style="opacity:0.5;fill:none;stroke:url(#linearGradient3850);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" />
360+ <path
361+ d="m 3,29 18,0 0,1 -18,0 z"
362+ id="rect3826"
363+ style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none" />
364+ <path
365+ d="m 3,35 18,0 0,1 -18,0 z"
366+ id="rect3828"
367+ style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none" />
368+ <path
369+ d="m 3,41 18,0 0,1 -18,0 z"
370+ id="rect3830"
371+ style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none" />
372+ <path
373+ d="m 3,31 18,0 0,1 -18,0 z"
374+ id="rect3826-5"
375+ style="opacity:0.15;fill:#ffffff;fill-opacity:1;stroke:none" />
376+ <path
377+ d="m 3,37 18,0 0,1 -18,0 z"
378+ id="rect3828-7"
379+ style="opacity:0.15;fill:#ffffff;fill-opacity:1;stroke:none" />
380+ <path
381+ d="m 3,43 18,0 0,1 -18,0 z"
382+ id="rect3830-1"
383+ style="opacity:0.15;fill:#ffffff;fill-opacity:1;stroke:none" />
384+ </g>
385+</svg>
386
387=== added file 'data/icons/image-auto-adjust.svg'
388--- data/icons/image-auto-adjust.svg 1970-01-01 00:00:00 +0000
389+++ data/icons/image-auto-adjust.svg 2017-01-08 16:55:12 +0000
390@@ -0,0 +1,183 @@
391+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
392+<svg
393+ xmlns:dc="http://purl.org/dc/elements/1.1/"
394+ xmlns:cc="http://creativecommons.org/ns#"
395+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
396+ xmlns:svg="http://www.w3.org/2000/svg"
397+ xmlns="http://www.w3.org/2000/svg"
398+ xmlns:xlink="http://www.w3.org/1999/xlink"
399+ width="24"
400+ height="24"
401+ id="svg4708"
402+ version="1.1">
403+ <defs
404+ id="defs4710">
405+ <radialGradient
406+ r="7.228416"
407+ fy="73.615715"
408+ fx="6.702713"
409+ cy="73.615715"
410+ cx="6.702713"
411+ gradientTransform="matrix(1.6600963,0,0,0.36315008,0.963735,1.732331)"
412+ gradientUnits="userSpaceOnUse"
413+ id="radialGradient4643"
414+ xlink:href="#linearGradient10691-3" />
415+ <linearGradient
416+ id="linearGradient10691-3">
417+ <stop
418+ offset="0"
419+ style="stop-color:#000000;stop-opacity:1"
420+ id="stop10693-1" />
421+ <stop
422+ offset="1"
423+ style="stop-color:#000000;stop-opacity:0"
424+ id="stop10695-4" />
425+ </linearGradient>
426+ <linearGradient
427+ id="linearGradient3339">
428+ <stop
429+ id="stop3341"
430+ style="stop-color:#ffffff;stop-opacity:1"
431+ offset="0" />
432+ <stop
433+ id="stop3343"
434+ style="stop-color:#ffffff;stop-opacity:0"
435+ offset="1" />
436+ </linearGradient>
437+ <linearGradient
438+ id="linearGradient3251">
439+ <stop
440+ id="stop3253"
441+ style="stop-color:#ffffff;stop-opacity:1"
442+ offset="0" />
443+ <stop
444+ id="stop3255"
445+ style="stop-color:#ffffff;stop-opacity:0"
446+ offset="1" />
447+ </linearGradient>
448+ <radialGradient
449+ xlink:href="#linearGradient3251"
450+ id="radialGradient3097"
451+ gradientUnits="userSpaceOnUse"
452+ gradientTransform="matrix(0.13600338,0.32887282,-0.25782279,0.11298813,11.149645,0.46214313)"
453+ cx="32.5"
454+ cy="16.5625"
455+ fx="32.5"
456+ fy="16.5625"
457+ r="14.4375" />
458+ <linearGradient
459+ xlink:href="#linearGradient3339"
460+ id="linearGradient3100"
461+ gradientUnits="userSpaceOnUse"
462+ gradientTransform="matrix(0.29271808,0,0,0.4253276,1.0176487,8.2866679)"
463+ x1="31"
464+ y1="12.875"
465+ x2="3.2591991"
466+ y2="24.893845" />
467+ <linearGradient
468+ id="linearGradient3220-2-2">
469+ <stop
470+ id="stop3222-7-1"
471+ style="stop-color:#2e3436;stop-opacity:1"
472+ offset="0" />
473+ <stop
474+ id="stop3228-2-8"
475+ style="stop-color:#888a85;stop-opacity:1"
476+ offset="0.64444447" />
477+ <stop
478+ id="stop3224-9-9"
479+ style="stop-color:#555753;stop-opacity:1"
480+ offset="1" />
481+ </linearGradient>
482+ <linearGradient
483+ id="linearGradient3338-5-6">
484+ <stop
485+ id="stop3340-8-1"
486+ style="stop-color:#eeeeec;stop-opacity:1"
487+ offset="0" />
488+ <stop
489+ id="stop2677-0-5"
490+ style="stop-color:#ffffff;stop-opacity:1"
491+ offset="0.78888887" />
492+ <stop
493+ id="stop3342-6-9"
494+ style="stop-color:#eeeeec;stop-opacity:1"
495+ offset="1" />
496+ </linearGradient>
497+ <linearGradient
498+ xlink:href="#linearGradient3220-2-2"
499+ id="linearGradient4203"
500+ gradientUnits="userSpaceOnUse"
501+ gradientTransform="matrix(0.26725589,0,0,1.157552,9.315594,-10.704165)"
502+ x1="-32.957481"
503+ y1="27.388975"
504+ x2="-25.474016"
505+ y2="27.388975" />
506+ <linearGradient
507+ xlink:href="#linearGradient3338-5-6"
508+ id="linearGradient4205"
509+ gradientUnits="userSpaceOnUse"
510+ gradientTransform="matrix(0.77602087,0.23906428,-0.31605097,0.56747902,-20.167798,4.551095)"
511+ x1="27.52779"
512+ y1="4.1670198"
513+ x2="30.419695"
514+ y2="2.9487348" />
515+ </defs>
516+ <metadata
517+ id="metadata4713">
518+ <rdf:RDF>
519+ <cc:Work
520+ rdf:about="">
521+ <dc:format>image/svg+xml</dc:format>
522+ <dc:type
523+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
524+ <dc:title />
525+ </cc:Work>
526+ </rdf:RDF>
527+ </metadata>
528+ <g
529+ id="layer1"
530+ transform="translate(0,-8)">
531+ <path
532+ style="opacity:0.2;fill:url(#radialGradient4643);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible"
533+ id="path10689"
534+ d="m 24.090748,28.465883 c 0,1.449748 -5.372523,2.625 -11.999865,2.625 -6.627343,0 -11.999865,-1.175252 -11.999865,-2.625 0,-1.449747 5.372522,-2.625 11.999865,-2.625 6.627342,0 11.999865,1.175253 11.999865,2.625 z" />
535+ <path
536+ d="M 1.127418,17.750209 C 7.1929793,18.394101 3.076485,11.886958 9.783851,8.8564678 L 12.24093,16.492258 C 9.4289444,14.587081 8.5051873,22.648075 1.0908278,18.441365 z"
537+ id="path3337"
538+ style="opacity:0.44444442;fill:url(#linearGradient3100);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" />
539+ <path
540+ d="M 13.263114,17.769977 C 11.207335,18.670899 8.6616875,17.275443 7.5772496,14.65314 6.492811,12.030836 7.2802379,9.174696 9.3360168,8.2737732 11.391795,7.3728496 13.937443,8.7683033 15.021881,11.390608 c 1.084439,2.622304 0.297012,5.478445 -1.758767,6.379369 z"
541+ id="path3249"
542+ style="fill:url(#radialGradient3097);fill-opacity:1;stroke:none;display:inline" />
543+ <path
544+ d="M 10.706801,15.162867 8.7209438,14.867485 7.5217149,16.401524 7.1857876,14.399892 5.3728118,13.720303 l 1.7782439,-0.941694 0.078753,-1.954051 1.4349403,1.419634 1.861646,-0.528079 -0.8913997,1.819075 1.0718097,1.627679 z"
545+ id="path3331"
546+ style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline" />
547+ <path
548+ d="M 6.5404943,19.97454 5.7103885,18.9002 4.3794144,19.049895 5.1845991,17.95813 4.6253713,16.786179 l 1.3277365,0.399592 0.9853531,-0.874 0.015402,1.338726 1.1682079,0.63179 -1.318217,0.427786 -0.2633597,1.264467 z"
549+ id="path3333"
550+ style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline" />
551+ <g
552+ id="g4198"
553+ transform="matrix(1.1561335,-0.66749395,0.56482751,0.97830994,1.3472741,-0.45209801)">
554+ <path
555+ id="rect3174"
556+ d="m 0.5,18 0,12.4375 C 0.5,31.0192 0.797334,31.5 1.166667,31.5 l 0.666667,0 C 2.202667,31.5 2.5,31.0192 2.5,30.4375 L 2.5,18 l -2,0 z"
557+ style="color:#000000;fill:url(#linearGradient4203);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
558+ <rect
559+ ry="0.92948729"
560+ rx="0.74907047"
561+ y="10.5"
562+ x="0.5"
563+ height="21"
564+ width="2"
565+ id="rect3174-8"
566+ style="opacity:0.3;color:#000000;fill:none;stroke:#000000;stroke-width:0.81430745;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
567+ <path
568+ id="rect3174-6"
569+ d="M 1.166667,10.5 C 0.797334,10.5 0.5,10.9808 0.5,11.5625 l 0,6.4375 2,0 0,-6.4375 C 2.5,10.9808 2.202667,10.5 1.833334,10.5 l -0.666667,0 z"
570+ style="color:#000000;fill:url(#linearGradient4205);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
571+ </g>
572+ </g>
573+</svg>
574
575=== added file 'data/icons/image-crop.svg'
576--- data/icons/image-crop.svg 1970-01-01 00:00:00 +0000
577+++ data/icons/image-crop.svg 2017-01-08 16:55:12 +0000
578@@ -0,0 +1,186 @@
579+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
580+<svg
581+ xmlns:dc="http://purl.org/dc/elements/1.1/"
582+ xmlns:cc="http://creativecommons.org/ns#"
583+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
584+ xmlns:svg="http://www.w3.org/2000/svg"
585+ xmlns="http://www.w3.org/2000/svg"
586+ xmlns:xlink="http://www.w3.org/1999/xlink"
587+ version="1.1"
588+ id="svg4708"
589+ height="24"
590+ width="24">
591+ <defs
592+ id="defs4710">
593+ <radialGradient
594+ xlink:href="#linearGradient10691-3"
595+ id="radialGradient4643"
596+ gradientUnits="userSpaceOnUse"
597+ gradientTransform="matrix(1.6600963,0,0,0.36315008,0.872852,1.641448)"
598+ cx="6.702713"
599+ cy="73.615715"
600+ fx="6.702713"
601+ fy="73.615715"
602+ r="7.228416" />
603+ <linearGradient
604+ id="linearGradient10691-3">
605+ <stop
606+ id="stop10693-1"
607+ style="stop-color:#000000;stop-opacity:1"
608+ offset="0" />
609+ <stop
610+ id="stop10695-4"
611+ style="stop-color:#000000;stop-opacity:0"
612+ offset="1" />
613+ </linearGradient>
614+ <linearGradient
615+ xlink:href="#linearGradient4094-3-9-3"
616+ id="linearGradient4428-9-7"
617+ gradientUnits="userSpaceOnUse"
618+ gradientTransform="matrix(0.45945947,0,0,0.45945947,0.4603578,9.1180975)"
619+ x1="24.099998"
620+ y1="10.625317"
621+ x2="24.099998"
622+ y2="44.42001" />
623+ <linearGradient
624+ id="linearGradient4094-3-9-3">
625+ <stop
626+ id="stop4096-1-4-9"
627+ style="stop-color:#ffffff;stop-opacity:1"
628+ offset="0" />
629+ <stop
630+ id="stop4098-7-7-6"
631+ style="stop-color:#ffffff;stop-opacity:0.23529412"
632+ offset="0.01966729" />
633+ <stop
634+ id="stop4100-0-5-8"
635+ style="stop-color:#ffffff;stop-opacity:0.15686275"
636+ offset="0.99149066" />
637+ <stop
638+ id="stop4102-4-3-5"
639+ style="stop-color:#ffffff;stop-opacity:0.39215687"
640+ offset="1" />
641+ </linearGradient>
642+ <linearGradient
643+ gradientTransform="matrix(-1,0,0,-1,24,32)"
644+ y2="20"
645+ x2="10"
646+ y1="2"
647+ x1="10"
648+ gradientUnits="userSpaceOnUse"
649+ id="linearGradient4494"
650+ xlink:href="#linearGradient4190-59" />
651+ <linearGradient
652+ id="linearGradient4190-59">
653+ <stop
654+ id="stop4192-42"
655+ offset="0"
656+ style="stop-color:#fad4a1;stop-opacity:1" />
657+ <stop
658+ id="stop4194-6"
659+ offset="1"
660+ style="stop-color:#e6b481;stop-opacity:1" />
661+ </linearGradient>
662+ <linearGradient
663+ xlink:href="#linearGradient4094-3-9"
664+ id="linearGradient4428-9"
665+ gradientUnits="userSpaceOnUse"
666+ gradientTransform="matrix(0.45945947,0,0,0.45945947,0.4603578,9.1180975)"
667+ x1="24.099998"
668+ y1="6.2723761"
669+ x2="24.099998"
670+ y2="38.919434" />
671+ <linearGradient
672+ id="linearGradient4094-3-9">
673+ <stop
674+ id="stop4096-1-4"
675+ style="stop-color:#ffffff;stop-opacity:1"
676+ offset="0" />
677+ <stop
678+ id="stop4098-7-7"
679+ style="stop-color:#ffffff;stop-opacity:0.23529412"
680+ offset="0.01966729" />
681+ <stop
682+ id="stop4100-0-5"
683+ style="stop-color:#ffffff;stop-opacity:0.15686275"
684+ offset="0.99149066" />
685+ <stop
686+ id="stop4102-4-3"
687+ style="stop-color:#ffffff;stop-opacity:0.39215687"
688+ offset="1" />
689+ </linearGradient>
690+ <linearGradient
691+ id="linearGradient4190">
692+ <stop
693+ id="stop4192"
694+ offset="0"
695+ style="stop-color:#fad4a1;stop-opacity:1" />
696+ <stop
697+ id="stop4194"
698+ offset="1"
699+ style="stop-color:#e6b481;stop-opacity:1" />
700+ </linearGradient>
701+ <linearGradient
702+ xlink:href="#linearGradient4190"
703+ id="linearGradient4706"
704+ gradientUnits="userSpaceOnUse"
705+ x1="10"
706+ y1="2"
707+ x2="10"
708+ y2="20"
709+ gradientTransform="translate(0,8)" />
710+ </defs>
711+ <metadata
712+ id="metadata4713">
713+ <rdf:RDF>
714+ <cc:Work
715+ rdf:about="">
716+ <dc:format>image/svg+xml</dc:format>
717+ <dc:type
718+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
719+ <dc:title />
720+ </cc:Work>
721+ </rdf:RDF>
722+ </metadata>
723+ <g
724+ transform="translate(0,-8)"
725+ id="layer1">
726+ <path
727+ id="rect4169"
728+ d="m 4.5,9.5 0,15 0,3 3,0 15,0 0,-3 -15,0 0,-15 z"
729+ style="color:#000000;fill:url(#linearGradient4706);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
730+ <path
731+ id="rect4169-5"
732+ d="m 4.5,9.5 0,15 0,3 3,0 15,0 0,-3 -15,0 0,-15 z"
733+ style="opacity:0.5;color:#000000;fill:none;stroke:#a1550a;stroke-width:0.99999994;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
734+ <path
735+ id="path4537"
736+ d="m 22,25.5 -15,0"
737+ style="opacity:0.5;color:#000000;fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
738+ <path
739+ id="path4357"
740+ d="m 7,10.5 -1.5,0 0,16.5"
741+ style="opacity:0.5;color:#000000;fill:none;stroke:url(#linearGradient4428-9);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
742+ <path
743+ id="rect4169-9"
744+ d="m 4,12.5 -2.5,0 0,3 2.5,0 m 4,0 8.5,0 0,15 3,0 0,-15 0,-3 -11.5,0"
745+ style="color:#000000;fill:url(#linearGradient4494);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
746+ <path
747+ id="rect4169-5-8"
748+ d="m 4,12.5 -2.5,0 0,3 2.5,0 m 4,0 8.5,0 0,15 3,0 0,-15 0,-3 -3,0 -8.5,0"
749+ style="opacity:0.5;color:#000000;fill:none;stroke:#a1550a;stroke-width:0.99999994;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
750+ <path
751+ d="M 23.999865,28.375 C 23.999865,29.824748 18.627342,31 12,31 5.372657,31 1.35e-4,29.824748 1.35e-4,28.375 1.35e-4,26.925253 5.372657,25.75 12,25.75 c 6.627342,0 11.999865,1.175253 11.999865,2.625 z"
752+ id="path10689"
753+ style="opacity:0.2;fill:url(#radialGradient4643);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible" />
754+ <path
755+ transform="translate(0,8)"
756+ id="rect4240"
757+ d="M 6,4 6,5 8,5 8,4 z M 6,6 6,7 8,7 8,8 9,8 9,6 8,6 z M 8,8 6,8 6,9 8,9 z m 2,-2 0,2 1,0 0,-2 z m 2,0 0,2 1,0 0,-2 z m 2,0 0,2 1,0 0,-2 z m 2,3 0,1 2,0 0,-1 z m -10,1 0,1 2,0 0,-1 z m 10,1 0,1 2,0 0,-1 z m -10,1 0,1 2,0 0,-1 z m 10,1 0,1 2,0 0,-1 z m -10,1 0,1 2,0 0,-1 z m 12,2 0,-1 -2,0 0,1 m -1,0 0,2 3,0 0,-1 -2,0 0,-1 z m -6,0 0,2 1,0 0,-2 z m 2,0 0,2 1,0 0,-2 z m 2,0 0,2 1,0 0,-2 z m 3,3 0,1 2,0 0,-1 z"
758+ style="opacity:0.3;color:#000000;fill:#a1550a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
759+ <path
760+ d="m 2,13.5 2,0 m 4,0 11,0 M 17.53506,30 17.5,15"
761+ style="opacity:0.5;color:#000000;fill:none;stroke:url(#linearGradient4428-9-7);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
762+ id="path4357-2" />
763+ </g>
764+</svg>
765
766=== added file 'data/icons/image-red-eye.svg'
767--- data/icons/image-red-eye.svg 1970-01-01 00:00:00 +0000
768+++ data/icons/image-red-eye.svg 2017-01-08 16:55:12 +0000
769@@ -0,0 +1,320 @@
770+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
771+<svg
772+ xmlns:dc="http://purl.org/dc/elements/1.1/"
773+ xmlns:cc="http://creativecommons.org/ns#"
774+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
775+ xmlns:svg="http://www.w3.org/2000/svg"
776+ xmlns="http://www.w3.org/2000/svg"
777+ xmlns:xlink="http://www.w3.org/1999/xlink"
778+ version="1.1"
779+ width="24"
780+ height="24"
781+ id="svg3041">
782+ <defs
783+ id="defs3043">
784+ <linearGradient
785+ x1="71.204002"
786+ y1="6.2375998"
787+ x2="71.204002"
788+ y2="44.341"
789+ id="linearGradient3082"
790+ gradientUnits="userSpaceOnUse"
791+ gradientTransform="matrix(0.29729726,0,0,-0.29729726,-9.3261789,19.538808)">
792+ <stop
793+ id="stop4013-2"
794+ style="stop-color:#ffffff;stop-opacity:1"
795+ offset="0" />
796+ <stop
797+ id="stop4015-4"
798+ style="stop-color:#ffffff;stop-opacity:0.23529412"
799+ offset="0.50775999" />
800+ <stop
801+ id="stop4017-9"
802+ style="stop-color:#ffffff;stop-opacity:0.15686275"
803+ offset="0.83456999" />
804+ <stop
805+ id="stop4019-0"
806+ style="stop-color:#ffffff;stop-opacity:0.39215687"
807+ offset="1" />
808+ </linearGradient>
809+ <radialGradient
810+ cx="23.896"
811+ cy="3.99"
812+ r="20.396999"
813+ id="radialGradient3085"
814+ gradientUnits="userSpaceOnUse"
815+ gradientTransform="matrix(0,0.52770723,-0.69656421,0,19.050159,-3.6335486)">
816+ <stop
817+ id="stop3244-4"
818+ style="stop-color:#f8b17e;stop-opacity:1"
819+ offset="0" />
820+ <stop
821+ id="stop3246-5"
822+ style="stop-color:#e35d4f;stop-opacity:1"
823+ offset="0.26238" />
824+ <stop
825+ id="stop3248-0"
826+ style="stop-color:#c6262e;stop-opacity:1"
827+ offset="0.66093999" />
828+ <stop
829+ id="stop3250-3"
830+ style="stop-color:#690b54;stop-opacity:1"
831+ offset="1" />
832+ </radialGradient>
833+ <linearGradient
834+ x1="7.0776"
835+ y1="3.0816"
836+ x2="7.0776"
837+ y2="45.368999"
838+ id="linearGradient3087"
839+ gradientUnits="userSpaceOnUse"
840+ gradientTransform="matrix(0.22110724,0,0,0.22110728,10.964292,8.5074362)">
841+ <stop
842+ id="stop2492-0"
843+ style="stop-color:#791235;stop-opacity:1"
844+ offset="0" />
845+ <stop
846+ id="stop2494-6"
847+ style="stop-color:#c7321f;stop-opacity:1"
848+ offset="1" />
849+ </linearGradient>
850+ <linearGradient
851+ x1="71.204002"
852+ y1="6.2375998"
853+ x2="71.204002"
854+ y2="44.341"
855+ id="linearGradient3101"
856+ gradientUnits="userSpaceOnUse"
857+ gradientTransform="matrix(0.5135135,0,0,0.5135135,-24.836132,-1.021284)">
858+ <stop
859+ id="stop4013"
860+ style="stop-color:#ffffff;stop-opacity:1"
861+ offset="0" />
862+ <stop
863+ id="stop4015"
864+ style="stop-color:#ffffff;stop-opacity:0.23529412"
865+ offset="0.50775999" />
866+ <stop
867+ id="stop4017"
868+ style="stop-color:#ffffff;stop-opacity:0.15686275"
869+ offset="0.83456999" />
870+ <stop
871+ id="stop4019"
872+ style="stop-color:#ffffff;stop-opacity:0.39215687"
873+ offset="1" />
874+ </linearGradient>
875+ <radialGradient
876+ cx="62.625"
877+ cy="4.625"
878+ r="10.625"
879+ id="radialGradient3109"
880+ gradientUnits="userSpaceOnUse"
881+ gradientTransform="matrix(1.1294118,0,0,0.2823525,-58.729414,19.694118)">
882+ <stop
883+ id="stop8840"
884+ style="stop-color:#000000;stop-opacity:1"
885+ offset="0" />
886+ <stop
887+ id="stop8842"
888+ style="stop-color:#000000;stop-opacity:0"
889+ offset="1" />
890+ </radialGradient>
891+ <linearGradient
892+ x1="71.204002"
893+ y1="6.2375998"
894+ x2="71.204002"
895+ y2="44.341"
896+ id="linearGradient3101-3"
897+ gradientUnits="userSpaceOnUse"
898+ gradientTransform="matrix(0.5135135,0,0,0.5135135,-24.836132,-1.021284)">
899+ <stop
900+ id="stop4013-6"
901+ style="stop-color:#ffffff;stop-opacity:1"
902+ offset="0" />
903+ <stop
904+ id="stop4015-1"
905+ style="stop-color:#ffffff;stop-opacity:0.23529412"
906+ offset="0.50775999" />
907+ <stop
908+ id="stop4017-2"
909+ style="stop-color:#ffffff;stop-opacity:0.15686275"
910+ offset="0.83456999" />
911+ <stop
912+ id="stop4019-9"
913+ style="stop-color:#ffffff;stop-opacity:0.39215687"
914+ offset="1" />
915+ </linearGradient>
916+ <linearGradient
917+ x1="71.204002"
918+ y1="6.2375998"
919+ x2="71.204002"
920+ y2="44.341"
921+ id="linearGradient3032"
922+ xlink:href="#linearGradient3101-3"
923+ gradientUnits="userSpaceOnUse"
924+ gradientTransform="matrix(0.18918406,0,0,0.18918406,-1.5708392,7.2029093)" />
925+ <linearGradient
926+ id="linearGradient3990">
927+ <stop
928+ id="stop3992"
929+ style="stop-color:#ffffff;stop-opacity:1"
930+ offset="0" />
931+ <stop
932+ id="stop3994"
933+ style="stop-color:#ffffff;stop-opacity:0"
934+ offset="1" />
935+ </linearGradient>
936+ <linearGradient
937+ x1="68.313301"
938+ y1="52.925316"
939+ x2="68.313301"
940+ y2="65.922028"
941+ id="linearGradient3259"
942+ xlink:href="#linearGradient3990"
943+ gradientUnits="userSpaceOnUse"
944+ gradientTransform="matrix(0.17506378,0,0,0.17506378,3.2715407,1.511072)" />
945+ <linearGradient
946+ x1="11"
947+ y1="0"
948+ x2="11"
949+ y2="22"
950+ id="linearGradient3191-2"
951+ xlink:href="#outerBackgroundGradient-0-5"
952+ gradientUnits="userSpaceOnUse"
953+ gradientTransform="matrix(1.1052632,0,0,-1.1052632,27.401427,23.881729)" />
954+ <linearGradient
955+ id="outerBackgroundGradient-0-5">
956+ <stop
957+ id="stop3864-8-6-3-9"
958+ style="stop-color:#414141;stop-opacity:1"
959+ offset="0" />
960+ <stop
961+ id="stop3866-9-1-7-7"
962+ style="stop-color:#9d9d9d;stop-opacity:1"
963+ offset="1" />
964+ </linearGradient>
965+ <radialGradient
966+ cx="12"
967+ cy="12"
968+ r="3"
969+ fx="12"
970+ fy="12"
971+ id="radialGradient3193-2"
972+ xlink:href="#linearGradient3779-5"
973+ gradientUnits="userSpaceOnUse" />
974+ <linearGradient
975+ id="linearGradient3779-5">
976+ <stop
977+ id="stop3781-8"
978+ style="stop-color:#f6b8b9;stop-opacity:1"
979+ offset="0" />
980+ <stop
981+ id="stop3791-5"
982+ style="stop-color:#e25e60;stop-opacity:1"
983+ offset="0.62218052" />
984+ <stop
985+ id="stop3878-6"
986+ style="stop-color:#a01c1f;stop-opacity:1"
987+ offset="0.84109592" />
988+ <stop
989+ id="stop3783-2"
990+ style="stop-color:#800002;stop-opacity:1"
991+ offset="1" />
992+ </linearGradient>
993+ <radialGradient
994+ cx="8.5"
995+ cy="8.5"
996+ r="2.5"
997+ fx="8.5"
998+ fy="8.5"
999+ id="radialGradient3195-6"
1000+ xlink:href="#linearGradient3884-3"
1001+ gradientUnits="userSpaceOnUse" />
1002+ <linearGradient
1003+ id="linearGradient3884-3">
1004+ <stop
1005+ id="stop3886-4"
1006+ style="stop-color:#ffffff;stop-opacity:1"
1007+ offset="0" />
1008+ <stop
1009+ id="stop3888-5"
1010+ style="stop-color:#ffffff;stop-opacity:0"
1011+ offset="1" />
1012+ </linearGradient>
1013+ <radialGradient
1014+ cx="8.5"
1015+ cy="8.5"
1016+ r="2.5"
1017+ fx="8.5"
1018+ fy="8.5"
1019+ id="radialGradient3197-9"
1020+ xlink:href="#linearGradient3884-3"
1021+ gradientUnits="userSpaceOnUse" />
1022+ <linearGradient
1023+ x1="11"
1024+ y1="0"
1025+ x2="11"
1026+ y2="22"
1027+ id="linearGradient4073"
1028+ xlink:href="#outerBackgroundGradient-0-5"
1029+ gradientUnits="userSpaceOnUse"
1030+ gradientTransform="matrix(1.1052632,0,0,-1.1052632,-0.157895,24.158044)" />
1031+ </defs>
1032+ <metadata
1033+ id="metadata3046">
1034+ <rdf:RDF>
1035+ <cc:Work
1036+ rdf:about="">
1037+ <dc:format>image/svg+xml</dc:format>
1038+ <dc:type
1039+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1040+ <dc:title />
1041+ </cc:Work>
1042+ </rdf:RDF>
1043+ </metadata>
1044+ <path
1045+ d="m 24,21 c 0,1.6569 -5.3726,3 -12,3 -6.6274,0 -12,-1.343 -12,-3 0,-1.657 5.3726,-3 12,-3 6.6274,0 12,1.3431 12,3 z"
1046+ id="path8836"
1047+ style="opacity:0.3;fill:url(#radialGradient3109);fill-rule:evenodd" />
1048+ <path
1049+ d="m 12,22.500149 c -5.792444,0 -10.5,-4.707555 -10.5,-10.5 C 1.5,6.207706 6.207556,1.5001492 12,1.5001492 c 5.792444,0 10.5,4.7075568 10.5,10.4999998 0,5.792445 -4.707556,10.5 -10.5,10.5 z"
1050+ id="path4791"
1051+ style="fill:url(#linearGradient4073);fill-opacity:1;fill-rule:evenodd;stroke:none" />
1052+ <path
1053+ d="m 15,12 a 3,3 0 1 1 -6,0 3,3 0 1 1 6,0 z"
1054+ transform="matrix(1.6578948,0,0,1.6578948,-7.8947364,-7.8945875)"
1055+ id="path3777"
1056+ style="opacity:0.8;fill:url(#radialGradient3193-2);fill-opacity:1;stroke:none" />
1057+ <path
1058+ d="m 15,12 a 3,3 0 1 1 -6,0 3,3 0 1 1 6,0 z"
1059+ transform="matrix(1.6578948,0,0,1.6578948,-7.8947364,-7.8945875)"
1060+ id="path3795"
1061+ style="opacity:0.4;fill:none;stroke:#860200;stroke-width:0.60317463;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
1062+ <path
1063+ d="M 11.481909,4.3323866 11.343751,7.3027815 12.06908,7.1991631 11.481909,4.3323866 z m 3.143092,0.794408 -1.27796,2.0723685 0.759868,0.2417763 0.518092,-2.3141448 z M 8.2006589,6.1629788 9.0641458,8.2353473 9.9276327,7.7172552 8.2006589,6.1629788 z M 18.735199,6.7501499 15.212172,8.5116631 16.179278,9.7205447 18.735199,6.7501499 z M 5.3338825,9.0642947 6.7154615,9.7550842 6.8881589,9.2024526 5.3338825,9.0642947 z m 11.7434215,1.8651313 0.138158,0.932566 2.866776,-0.828947 -3.004934,-0.103619 z m -10.1891451,1.450658 -2.3486843,0.552632 2.3832238,0 -0.03454,-0.552632 z m 10.1546061,1.485198 -0.172698,0.828947 2.072369,0.379934 -1.899671,-1.208881 z M 7.8552642,14.62515 5.6792773,16.801137 8.7187511,15.523177 7.8552642,14.62515 z m 7.4605268,1.174342 -0.552632,0.449014 1.796053,2.141447 -1.243421,-2.590461 z m -5.802632,0.759869 -0.5180921,2.348684 1.4851971,-1.93421 -0.967105,-0.414474 z m 3.592105,0.06908 -1.519736,0.103618 1.001644,3.764803 0.518092,-3.868421 z"
1064+ id="path3793"
1065+ style="opacity:0.3;fill:#000000;fill-opacity:1;stroke:none" />
1066+ <path
1067+ d="M 9.2633182,2.4475629 10.182993,7.9371685 11.450327,7.4206103 9.2633182,2.4475629 z M 13.450167,3.040687 11.949917,7.279108 13.39466,7.4310628 13.450166,3.040687 z M 6.152339,6.2515106 8.3231974,9.3211911 9.528842,8.1821457 6.152339,6.2515106 z M 18.398067,4.3901338 13.989726,7.9048667 15.700173,9.3068554 18.398067,4.3901338 z M 3.4315965,10.396244 6.6192674,11.272372 6.7395585,10.010915 3.4315965,10.396244 z M 16.348445,9.6987273 16.941874,11.161589 21.41109,8.7638734 16.348445,9.6987274 z M 7.243543,13.046478 2.5889204,15.236427 7.5552722,14.180798 7.2435429,13.046481 z m 9.814534,-0.673699 -0.02906,1.524554 3.867123,-0.08045 -3.838064,-1.444105 z M 8.4054348,15.02411 5.7982874,19.038765 10.010284,16.095432 8.4054348,15.02411 z m 7.6430092,-0.423994 -0.841192,1.026269 4.061985,3.162064 -3.220793,-4.188333 z m -5.814725,2.048114 -0.03315,3.997199 1.730865,-3.651839 -1.697718,-0.34536 z m 4.049095,-0.719465 -2.126314,0.628518 2.580184,4.995409 -0.453874,-5.623926 z"
1068+ id="path3880"
1069+ style="opacity:0.2;fill:#000000;fill-opacity:1;stroke:none" />
1070+ <path
1071+ d="M 17.5,12 C 17.5,8.9625 15.037,6.5 12,6.5 8.9625,6.5 6.5,8.9626 6.5,12 c 0,3.038 2.4625,5.5 5.5,5.5 3.037,0 5.5,-2.462 5.5,-5.5 z"
1072+ id="path8655-6-1"
1073+ style="opacity:0.25;color:#000000;fill:none;stroke:url(#linearGradient3082);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;enable-background:accumulate" />
1074+ <path
1075+ d="m 21.5,12 c 0,5.247 -4.254,9.5 -9.5,9.5 C 6.7534,21.5 2.5,17.246 2.5,12 2.5,6.7534 6.7534,2.5003 12.0001,2.5003 17.2464,2.5003 21.5,6.7533 21.5,12 z"
1076+ id="path8655-6"
1077+ style="opacity:0.5;color:#000000;fill:none;stroke:url(#linearGradient3101);stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;enable-background:accumulate" />
1078+ <path
1079+ d="M 15.499905,12.000095 C 15.499905,13.933148 13.932684,15.5 12,15.5 c -1.932906,0 -3.4999053,-1.567221 -3.4999053,-3.499905 0,-1.932906 1.5669993,-3.4997951 3.4999423,-3.4997951 1.932795,0 3.499868,1.5668521 3.499868,3.4997951 z"
1080+ id="path8655-6-3"
1081+ style="opacity:0.5;color:#000000;fill:none;stroke:url(#linearGradient3032);stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;enable-background:accumulate" />
1082+ <g
1083+ transform="matrix(1.1052632,0,0,1.1052632,26.296164,0.67120283)"
1084+ id="layer2" />
1085+ <path
1086+ d="m 1.4999995,12.00015 c 0,5.792444 4.707556,10.5 10.5000025,10.5 5.792443,0 10.499998,-4.707556 10.499998,-10.5 0,-5.7924451 -4.707555,-10.500001 -10.499998,-10.500001 -5.7924465,0 -10.5000025,4.7075559 -10.5000025,10.500001 z"
1087+ id="path3804"
1088+ style="opacity:0.41000001;fill:none;stroke:#000000;stroke-width:1;stroke-opacity:1" />
1089+</svg>
1090
1091=== added file 'data/icons/object-straighten.svg'
1092--- data/icons/object-straighten.svg 1970-01-01 00:00:00 +0000
1093+++ data/icons/object-straighten.svg 2017-01-08 16:55:12 +0000
1094@@ -0,0 +1,225 @@
1095+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1096+<svg
1097+ xmlns:dc="http://purl.org/dc/elements/1.1/"
1098+ xmlns:cc="http://creativecommons.org/ns#"
1099+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1100+ xmlns:svg="http://www.w3.org/2000/svg"
1101+ xmlns="http://www.w3.org/2000/svg"
1102+ xmlns:xlink="http://www.w3.org/1999/xlink"
1103+ version="1.1"
1104+ width="24"
1105+ height="24"
1106+ id="svg5527">
1107+ <defs
1108+ id="defs5529">
1109+ <linearGradient
1110+ id="linearGradient2980">
1111+ <stop
1112+ id="stop2982"
1113+ style="stop-color:#fcaf3e;stop-opacity:1"
1114+ offset="0" />
1115+ <stop
1116+ id="stop2984"
1117+ style="stop-color:#fcaf3e;stop-opacity:0"
1118+ offset="1" />
1119+ </linearGradient>
1120+ <linearGradient
1121+ id="linearGradient2986">
1122+ <stop
1123+ id="stop2988"
1124+ style="stop-color:#ce5c00;stop-opacity:1"
1125+ offset="0" />
1126+ <stop
1127+ id="stop2990"
1128+ style="stop-color:#ce5c00;stop-opacity:0"
1129+ offset="1" />
1130+ </linearGradient>
1131+ <linearGradient
1132+ id="linearGradient2974">
1133+ <stop
1134+ id="stop2976"
1135+ style="stop-color:#fcaf3e;stop-opacity:1"
1136+ offset="0" />
1137+ <stop
1138+ id="stop2978"
1139+ style="stop-color:#fcaf3e;stop-opacity:0"
1140+ offset="1" />
1141+ </linearGradient>
1142+ <linearGradient
1143+ id="linearGradient2968">
1144+ <stop
1145+ id="stop2970"
1146+ style="stop-color:#ce5c00;stop-opacity:1"
1147+ offset="0" />
1148+ <stop
1149+ id="stop2972"
1150+ style="stop-color:#ce5c00;stop-opacity:0"
1151+ offset="1" />
1152+ </linearGradient>
1153+ <linearGradient
1154+ x1="187.81554"
1155+ y1="489.54688"
1156+ x2="187.1716"
1157+ y2="489.54688"
1158+ id="linearGradient5722"
1159+ xlink:href="#linearGradient2980"
1160+ gradientUnits="userSpaceOnUse" />
1161+ <linearGradient
1162+ x1="187.60938"
1163+ y1="489.35938"
1164+ x2="186.93732"
1165+ y2="489.35938"
1166+ id="linearGradient5724"
1167+ xlink:href="#linearGradient2986"
1168+ gradientUnits="userSpaceOnUse" />
1169+ <linearGradient
1170+ x1="187.81554"
1171+ y1="489.54688"
1172+ x2="187.1716"
1173+ y2="489.54688"
1174+ id="linearGradient5726"
1175+ xlink:href="#linearGradient2974"
1176+ gradientUnits="userSpaceOnUse"
1177+ gradientTransform="translate(-395.9999,-981)" />
1178+ <linearGradient
1179+ x1="187.60938"
1180+ y1="489.35938"
1181+ x2="186.93732"
1182+ y2="489.35938"
1183+ id="linearGradient5728"
1184+ xlink:href="#linearGradient2968"
1185+ gradientUnits="userSpaceOnUse"
1186+ gradientTransform="translate(-395.9999,-981)" />
1187+ <linearGradient
1188+ id="linearGradient3600-4-3">
1189+ <stop
1190+ offset="0"
1191+ style="stop-color:#f4f4f4;stop-opacity:1"
1192+ id="stop3602-7-7" />
1193+ <stop
1194+ offset="1"
1195+ style="stop-color:#dbdbdb;stop-opacity:1"
1196+ id="stop3604-6-7" />
1197+ </linearGradient>
1198+ <linearGradient
1199+ id="linearGradient3924-742">
1200+ <stop
1201+ offset="0"
1202+ style="stop-color:#ffffff;stop-opacity:1"
1203+ id="stop3115" />
1204+ <stop
1205+ offset="0.01102275"
1206+ style="stop-color:#ffffff;stop-opacity:0.23529412"
1207+ id="stop3117" />
1208+ <stop
1209+ offset="0.98111719"
1210+ style="stop-color:#ffffff;stop-opacity:0.15686275"
1211+ id="stop3119" />
1212+ <stop
1213+ offset="1"
1214+ style="stop-color:#ffffff;stop-opacity:0.39215687"
1215+ id="stop3121" />
1216+ </linearGradient>
1217+ <linearGradient
1218+ xlink:href="#linearGradient3600-4-3"
1219+ id="linearGradient3258"
1220+ gradientUnits="userSpaceOnUse"
1221+ gradientTransform="matrix(0.5428581,0,0,0.41284003,-29.601524,1.6269498)"
1222+ x1="25.132275"
1223+ y1="0.98520643"
1224+ x2="25.132275"
1225+ y2="47.013336" />
1226+ <linearGradient
1227+ xlink:href="#linearGradient3924-742"
1228+ id="linearGradient3260"
1229+ gradientUnits="userSpaceOnUse"
1230+ gradientTransform="matrix(0.45945947,0,0,0.43243245,-27.598709,2.2888369)"
1231+ x1="23.99999"
1232+ y1="4.3278437"
1233+ x2="23.99999"
1234+ y2="42.039913" />
1235+ </defs>
1236+ <metadata
1237+ id="metadata5532">
1238+ <rdf:RDF>
1239+ <cc:Work
1240+ rdf:about="">
1241+ <dc:format>image/svg+xml</dc:format>
1242+ <dc:type
1243+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1244+ <dc:title />
1245+ </cc:Work>
1246+ </rdf:RDF>
1247+ </metadata>
1248+ <g
1249+ id="g3253"
1250+ transform="matrix(0.99144486,0.13052619,-0.13052619,0.99144486,30.019447,2.0988484)">
1251+ <rect
1252+ style="color:#000000;fill:url(#linearGradient3258);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99992186;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1253+ id="rect5505-21-9-4"
1254+ y="2.6684558"
1255+ x="-26.072929"
1256+ ry="1"
1257+ rx="1"
1258+ height="19"
1259+ width="19" />
1260+ <rect
1261+ style="opacity:0.3;color:#000000;fill:none;stroke:#000000;stroke-width:0.99992186;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1262+ id="rect5505-21-9-4-6"
1263+ y="2.6684558"
1264+ x="-26.072929"
1265+ ry="1"
1266+ rx="1"
1267+ height="19"
1268+ width="19" />
1269+ <path
1270+ style="opacity:0.8;fill:none;stroke:url(#linearGradient3260);stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
1271+ id="rect6741-9"
1272+ d="m -25.071683,3.6668339 16.999999,0 0,17.0003781 -16.999999,0 z" />
1273+ </g>
1274+ <g
1275+ id="g5710"
1276+ transform="matrix(0,-1,1,0,7.0000946,24)">
1277+ <g
1278+ style="display:inline"
1279+ id="g3861"
1280+ transform="matrix(0,-1,1,0,-478.99991,202.99989)">
1281+ <rect
1282+ style="fill:url(#linearGradient5722);fill-opacity:1;stroke:url(#linearGradient5724);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
1283+ id="rect3863"
1284+ y="489.5"
1285+ x="186.49989"
1286+ height="1.9999999"
1287+ width="3.0000916" />
1288+ <rect
1289+ style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
1290+ id="rect3865"
1291+ y="489.5"
1292+ x="191.49989"
1293+ height="1.9999999"
1294+ width="3.0000916" />
1295+ <rect
1296+ style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
1297+ id="rect3867"
1298+ y="489.5"
1299+ x="196.49989"
1300+ height="1.9999999"
1301+ width="3.0000916" />
1302+ <rect
1303+ style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
1304+ id="rect3869"
1305+ y="489.5"
1306+ x="201.49989"
1307+ height="1.9999999"
1308+ width="3.0000916" />
1309+ <rect
1310+ style="fill:url(#linearGradient5726);fill-opacity:1;stroke:url(#linearGradient5728);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
1311+ id="rect3871"
1312+ transform="scale(-1,-1)"
1313+ y="-491.5"
1314+ x="-209.49998"
1315+ height="1.9999999"
1316+ width="3.0000916" />
1317+ </g>
1318+ </g>
1319+</svg>
1320
1321=== modified file 'src/Application.vala'
1322--- src/Application.vala 2016-08-28 04:52:33 +0000
1323+++ src/Application.vala 2017-01-08 16:55:12 +0000
1324@@ -46,6 +46,9 @@
1325 about_artists = {};
1326 about_translators = _("translator-credits");
1327 about_license_type = Gtk.License.LGPL_2_1;
1328+
1329+ weak Gtk.IconTheme default_theme = Gtk.IconTheme.get_default ();
1330+ default_theme.add_resource_path ("/org/pantheon/photos/icons");
1331 }
1332
1333 private Application (bool is_direct) {
1334
1335=== modified file 'src/CMakeLists.txt'
1336--- src/CMakeLists.txt 2017-01-01 12:35:06 +0000
1337+++ src/CMakeLists.txt 2017-01-08 16:55:12 +0000
1338@@ -217,8 +217,11 @@
1339 ${GLOBAL_VALA_OPTIONS}
1340 )
1341
1342+include (GResource)
1343+glib_compile_resources (GLIB_RESOURCES_ICONS SOURCE ../data/icons/icons.gresource.xml)
1344+
1345 include_directories (${CMAKE_SOURCE_DIR}/vapi)
1346-add_executable (${EXEC_NAME} ${VALA_C} ${PLUGIN_VALA_C} ${CONFIG_FILE})
1347+add_executable (${EXEC_NAME} ${VALA_C} ${PLUGIN_VALA_C} ${CONFIG_FILE} ${GLIB_RESOURCES_ICONS})
1348 target_link_libraries (${EXEC_NAME} ${DEPS_LIBRARIES})
1349
1350 install (TARGETS ${EXEC_NAME} RUNTIME DESTINATION bin)
1351
1352=== modified file 'src/CustomComponents.vala'
1353--- src/CustomComponents.vala 2014-08-08 21:13:09 +0000
1354+++ src/CustomComponents.vala 2017-01-08 16:55:12 +0000
1355@@ -1,186 +1,22 @@
1356-/* Copyright 2009-2013 Yorba Foundation
1357- *
1358- * This software is licensed under the GNU LGPL (version 2.1 or later).
1359- * See the COPYING file in this distribution.
1360- */
1361-
1362-extern void qsort (void *p, size_t num, size_t size, GLib.CompareFunc func);
1363-
1364-public class ThemeLoader {
1365- private struct LightweightColor {
1366- public uchar red;
1367- public uchar green;
1368- public uchar blue;
1369-
1370- public LightweightColor () {
1371- red = green = blue = 0;
1372- }
1373- }
1374-
1375- private const int NUM_SUPPORTED_INTENSITIES = 6;
1376- private const int THEME_OUTLINE_COLOR = 0;
1377- private const int THEME_BEVEL_DARKER_COLOR = 1;
1378- private const int THEME_BEVEL_DARK_COLOR = 2;
1379- private const int THEME_BASE_COLOR = 3;
1380- private const int THEME_BEVEL_LIGHT_COLOR = 4;
1381- private const int THEME_BEVEL_LIGHTER_COLOR = 5;
1382-
1383- private static LightweightColor[] theme_colors = null;
1384-
1385- private static void populate_theme_params () {
1386- if (theme_colors != null)
1387- return;
1388-
1389- theme_colors = new LightweightColor[NUM_SUPPORTED_INTENSITIES];
1390-
1391- Gtk.Settings settings = Gtk.Settings.get_default ();
1392- HashTable < string, Gdk.Color?> color_table = settings.color_hash;
1393- Gdk.Color? base_color = color_table.lookup ("bg_color");
1394- if (base_color == null && !Gdk.Color.parse ("#fff", out base_color))
1395- error ("can't parse color");
1396-
1397- RGBAnalyticPixel base_color_analytic_rgb =
1398- RGBAnalyticPixel.from_quantized_components (base_color.red >> 8,
1399- base_color.green >> 8, base_color.blue >> 8);
1400- HSVAnalyticPixel base_color_analytic_hsv =
1401- HSVAnalyticPixel.from_rgb (base_color_analytic_rgb);
1402-
1403- HSVAnalyticPixel bevel_light_analytic_hsv = base_color_analytic_hsv;
1404- bevel_light_analytic_hsv.light_value *= 1.15f;
1405- bevel_light_analytic_hsv.light_value =
1406- bevel_light_analytic_hsv.light_value.clamp (0.0f, 1.0f);
1407-
1408- HSVAnalyticPixel bevel_lighter_analytic_hsv = bevel_light_analytic_hsv;
1409- bevel_lighter_analytic_hsv.light_value *= 1.15f;
1410- bevel_lighter_analytic_hsv.light_value =
1411- bevel_lighter_analytic_hsv.light_value.clamp (0.0f, 1.0f);
1412-
1413- HSVAnalyticPixel bevel_dark_analytic_hsv = base_color_analytic_hsv;
1414- bevel_dark_analytic_hsv.light_value *= 0.85f;
1415- bevel_dark_analytic_hsv.light_value =
1416- bevel_dark_analytic_hsv.light_value.clamp (0.0f, 1.0f);
1417-
1418- HSVAnalyticPixel bevel_darker_analytic_hsv = bevel_dark_analytic_hsv;
1419- bevel_darker_analytic_hsv.light_value *= 0.85f;
1420- bevel_darker_analytic_hsv.light_value =
1421- bevel_darker_analytic_hsv.light_value.clamp (0.0f, 1.0f);
1422-
1423- HSVAnalyticPixel outline_analytic_hsv = bevel_darker_analytic_hsv;
1424- outline_analytic_hsv.light_value *= 0.66f;
1425- outline_analytic_hsv.light_value =
1426- outline_analytic_hsv.light_value.clamp (0.0f, 1.0f);
1427-
1428- RGBAnalyticPixel outline_analytic_rgb = outline_analytic_hsv.to_rgb ();
1429- theme_colors[THEME_OUTLINE_COLOR] =
1430- populate_one_theme_param (outline_analytic_rgb);
1431-
1432- RGBAnalyticPixel bevel_darker_analytic_rgb = bevel_darker_analytic_hsv.to_rgb ();
1433- theme_colors[THEME_BEVEL_DARKER_COLOR] =
1434- populate_one_theme_param (bevel_darker_analytic_rgb);
1435-
1436- RGBAnalyticPixel bevel_dark_analytic_rgb = bevel_dark_analytic_hsv.to_rgb ();
1437- theme_colors[THEME_BEVEL_DARK_COLOR] =
1438- populate_one_theme_param (bevel_dark_analytic_rgb);
1439-
1440- theme_colors[THEME_BASE_COLOR] =
1441- populate_one_theme_param (base_color_analytic_rgb);
1442-
1443- RGBAnalyticPixel bevel_light_analytic_rgb = bevel_light_analytic_hsv.to_rgb ();
1444- theme_colors[THEME_BEVEL_LIGHT_COLOR] =
1445- populate_one_theme_param (bevel_light_analytic_rgb);
1446-
1447- RGBAnalyticPixel bevel_lighter_analytic_rgb = bevel_light_analytic_hsv.to_rgb ();
1448- theme_colors[THEME_BEVEL_LIGHTER_COLOR] =
1449- populate_one_theme_param (bevel_lighter_analytic_rgb);
1450- }
1451-
1452- private static LightweightColor populate_one_theme_param (RGBAnalyticPixel from) {
1453- LightweightColor into = LightweightColor ();
1454-
1455- into.red = (uchar) (from.red * 255.0f);
1456- into.green = (uchar) (from.green * 255.0f);
1457- into.blue = (uchar) (from.blue * 255.0f);
1458-
1459- return into;
1460- }
1461-
1462- public static Gdk.Pixbuf load_icon (string source_basename) {
1463- populate_theme_params ();
1464-
1465- Gdk.Pixbuf loaded_pixbuf = Resources.get_icon (source_basename, 0).copy ();
1466-
1467- /* Sweep through the icon image data loaded from disk and determine how many
1468- unique colors are in it. We do this with the aid of a HashSet. */
1469- Gee.HashSet < RGBAnalyticPixel?> colors =
1470- new Gee.HashSet < RGBAnalyticPixel?> (rgb_pixel_hash_func,
1471- rgb_pixel_equal_func);
1472- unowned uchar[] pixel_data = loaded_pixbuf.get_pixels ();
1473- for (int j = 0; j < loaded_pixbuf.height; j++) {
1474- for (int i = 0; i < loaded_pixbuf.width; i++) {
1475- int pixel_index = (j * loaded_pixbuf.rowstride) + (i * loaded_pixbuf.n_channels);
1476-
1477- RGBAnalyticPixel pixel_color = RGBAnalyticPixel.from_quantized_components (
1478- pixel_data[pixel_index], pixel_data[pixel_index + 1],
1479- pixel_data[pixel_index + 2]);
1480- colors.add (pixel_color);
1481- }
1482- }
1483-
1484- /* If the image data loaded from disk didn't contain NUM_SUPPORTED_INTENSITIES
1485- colors, then we can't unambiguously map the colors in the loaded image data
1486- to theme colors on the user's system, so propagate an error */
1487- if (colors.size != NUM_SUPPORTED_INTENSITIES)
1488- error ("ThemeLoader: load_icon: pixbuf does not contain the correct number " +
1489- "of unique colors");
1490-
1491- /* sort the colors in the loaded image data in order of increasing intensity; this
1492- means that we have to convert the loaded colors from RGB to HSV format */
1493- HSVAnalyticPixel[] hsv_pixels = new HSVAnalyticPixel[6];
1494- int pixel_ticker = 0;
1495- foreach (RGBAnalyticPixel rgb_pixel in colors)
1496- hsv_pixels[pixel_ticker++] = HSVAnalyticPixel.from_rgb (rgb_pixel);
1497- qsort (hsv_pixels, hsv_pixels.length, sizeof (HSVAnalyticPixel), hsv_pixel_compare_func);
1498-
1499- /* step through each pixel in the image data loaded from disk and map its color
1500- to one of the user's theme colors */
1501- for (int j = 0; j < loaded_pixbuf.height; j++) {
1502- for (int i = 0; i < loaded_pixbuf.width; i++) {
1503- int pixel_index = (j * loaded_pixbuf.rowstride) + (i * loaded_pixbuf.n_channels);
1504- RGBAnalyticPixel pixel_color = RGBAnalyticPixel.from_quantized_components (
1505- pixel_data[pixel_index], pixel_data[pixel_index + 1],
1506- pixel_data[pixel_index + 2]);
1507- HSVAnalyticPixel pixel_color_hsv = HSVAnalyticPixel.from_rgb (pixel_color);
1508- int this_intensity = 0;
1509- for (int k = 0; k < NUM_SUPPORTED_INTENSITIES; k++) {
1510- if (hsv_pixels[k].light_value == pixel_color_hsv.light_value) {
1511- this_intensity = k;
1512- break;
1513- }
1514- }
1515- pixel_data[pixel_index] = theme_colors[this_intensity].red;
1516- pixel_data[pixel_index + 1] = theme_colors[this_intensity].green;
1517- pixel_data[pixel_index + 2] = theme_colors[this_intensity].blue;
1518- }
1519- }
1520-
1521- return loaded_pixbuf;
1522- }
1523-
1524- private static int hsv_pixel_compare_func (void *pixval1, void *pixval2) {
1525- HSVAnalyticPixel pixel_val_1 = * ((HSVAnalyticPixel *) pixval1);
1526- HSVAnalyticPixel pixel_val_2 = * ((HSVAnalyticPixel *) pixval2);
1527-
1528- return (int) (255.0f * (pixel_val_1.light_value - pixel_val_2.light_value));
1529- }
1530-
1531- private static bool rgb_pixel_equal_func (RGBAnalyticPixel? p1, RGBAnalyticPixel? p2) {
1532- return (p1.equals (p2));
1533- }
1534-
1535- private static uint rgb_pixel_hash_func (RGBAnalyticPixel? pixel_val) {
1536- return pixel_val.hash_code ();
1537- }
1538-}
1539+/*
1540+* Copyright (c) 2009-2013 Yorba Foundation
1541+* 2017 elementary LLC.
1542+*
1543+* This program is free software; you can redistribute it and/or
1544+* modify it under the terms of the GNU Lesser General Public
1545+* License as published by the Free Software Foundation; either
1546+* version 2.1 of the License, or (at your option) any later version.
1547+*
1548+* This program is distributed in the hope that it will be useful,
1549+* but WITHOUT ANY WARRANTY; without even the implied warranty of
1550+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1551+* General Public License for more details.
1552+*
1553+* You should have received a copy of the GNU General Public
1554+* License along with this program; if not, write to the
1555+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
1556+* Boston, MA 02111-1307, USA.
1557+*/
1558
1559 public class RGBHistogramManipulator : Gtk.DrawingArea {
1560 private enum LocationCode { LEFT_NUB, RIGHT_NUB, LEFT_TROUGH, RIGHT_TROUGH,
1561@@ -208,12 +44,25 @@
1562 private RGBHistogram histogram = null;
1563 private int left_nub_position = 0;
1564 private int right_nub_position = 255;
1565- private Gdk.Pixbuf nub_pixbuf = ThemeLoader.load_icon ("drag_nub.png");
1566 private bool is_left_nub_tracking = false;
1567 private bool is_right_nub_tracking = false;
1568 private int track_start_x = 0;
1569 private int track_nub_start_position = 0;
1570
1571+ private Gdk.Pixbuf? drag_nub_pixbuf = null;
1572+
1573+ private Gdk.Pixbuf? get_drag_nub_pixbuf () {
1574+ if (drag_nub_pixbuf == null) {
1575+ try {
1576+ drag_nub_pixbuf = new Gdk.Pixbuf.from_resource ("/org/pantheon/photos/icons/drag_nub.png");
1577+ } catch (Error err) {
1578+ error ("Can't load drag nub image: %s", err.message);
1579+ }
1580+ }
1581+
1582+ return drag_nub_pixbuf;
1583+ }
1584+
1585 public RGBHistogramManipulator( ) {
1586 set_size_request (CONTROL_WIDTH, CONTROL_HEIGHT);
1587
1588@@ -470,7 +319,7 @@
1589 }
1590
1591 private void draw_nub (Cairo.Context ctx, Gdk.Rectangle area, int position) {
1592- Gdk.cairo_set_source_pixbuf (ctx, nub_pixbuf, area.x + position, area.y + NUB_V_POSITION);
1593+ Gdk.cairo_set_source_pixbuf (ctx, get_drag_nub_pixbuf (), area.x + position, area.y + NUB_V_POSITION);
1594 ctx.paint ();
1595 }
1596
1597
1598=== modified file 'src/Resources.vala'
1599--- src/Resources.vala 2016-12-08 22:24:20 +0000
1600+++ src/Resources.vala 2017-01-08 16:55:12 +0000
1601@@ -72,7 +72,6 @@
1602 public const string ICON_GENERIC_PLUGIN = "extension";
1603 public const string ICON_SLIDESHOW_EXTENSION_POINT = "media-playback-start";
1604 public const int ICON_FILTER_REJECTED_OR_BETTER_FIXED_SIZE = 32;
1605-public const string ICON_FILTER_UNRATED_OR_BETTER = "shotwell-16.svg";
1606 public const int ICON_FILTER_UNRATED_OR_BETTER_FIXED_SIZE = 16;
1607
1608 public const string ICON_ZOOM_ORIGINAL = "zoom-original-symbolic";
1609@@ -532,14 +531,12 @@
1610 return AppDirs.get_resources_dir ().get_child ("ui").get_child (filename);
1611 }
1612
1613-private const string NONINTERPRETABLE_BADGE_FILE = "noninterpretable-video.svg";
1614 private Gdk.Pixbuf? noninterpretable_badge_pixbuf = null;
1615
1616 public Gdk.Pixbuf? get_noninterpretable_badge_pixbuf () {
1617 if (noninterpretable_badge_pixbuf == null) {
1618 try {
1619- noninterpretable_badge_pixbuf = new Gdk.Pixbuf.from_file (AppDirs.get_resources_dir ().get_child (
1620- "icons").get_child (NONINTERPRETABLE_BADGE_FILE).get_path ());
1621+ noninterpretable_badge_pixbuf = new Gdk.Pixbuf.from_resource ("/org/pantheon/photos/backgrounds/noninterpretable-video.svg");
1622 } catch (Error err) {
1623 error ("VideoReader can't load noninterpretable badge image: %s", err.message);
1624 }

Subscribers

People subscribed via source and target branches