From 27c38b202b0be08a89d7b23fd88a7d257be760a2 Mon Sep 17 00:00:00 2001 From: Mohammed Sameer Date: Fri, 9 Aug 2013 06:11:28 +0300 Subject: [PATCH] Added own camera icons instead of relying on the system icons --- icons/README.txt | 16 + icons/arrow-black.svg | 389 ++++++++++++ icons/arrow-blue.svg | 124 ++++ icons/cameraplus-icon-l-camera-standby.png | Bin 0 -> 21512 bytes ...us-icon-m-camera-face-detection-screen.png | Bin 0 -> 537 bytes ...aplus-icon-m-camera-filter-black-white.png | Bin 0 -> 914 bytes ...meraplus-icon-m-camera-filter-negative.png | Bin 0 -> 756 bytes .../cameraplus-icon-m-camera-filter-sepia.png | Bin 0 -> 1421 bytes ...meraplus-icon-m-camera-filter-solarize.png | Bin 0 -> 926 bytes .../cameraplus-icon-m-camera-filter-vivid.png | Bin 0 -> 1451 bytes .../cameraplus-icon-m-camera-flash-always.png | Bin 0 -> 870 bytes icons/cameraplus-icon-m-camera-flash-auto.png | Bin 0 -> 1092 bytes icons/cameraplus-icon-m-camera-flash-off.png | Bin 0 -> 1415 bytes ...cameraplus-icon-m-camera-flash-red-eye.png | Bin 0 -> 1148 bytes icons/cameraplus-icon-m-camera-iso-100.png | Bin 0 -> 1340 bytes icons/cameraplus-icon-m-camera-iso-200.png | Bin 0 -> 1508 bytes icons/cameraplus-icon-m-camera-iso-400.png | Bin 0 -> 1486 bytes icons/cameraplus-icon-m-camera-iso-800.png | Bin 0 -> 1573 bytes icons/cameraplus-icon-m-camera-iso-auto.png | Bin 0 -> 1455 bytes icons/cameraplus-icon-m-camera-location.png | Bin 0 -> 636 bytes ...meraplus-icon-m-camera-manual-exposure.png | Bin 0 -> 1192 bytes icons/cameraplus-icon-m-camera-night.png | Bin 0 -> 761 bytes icons/cameraplus-icon-m-camera-no-filter.png | Bin 0 -> 925 bytes ...raplus-icon-m-camera-ongoing-recording.png | Bin 0 -> 523 bytes icons/cameraplus-icon-m-camera-roll.png | Bin 0 -> 566 bytes icons/cameraplus-icon-m-camera-scene-auto.png | Bin 0 -> 1184 bytes ...meraplus-icon-m-camera-scene-landscape.png | Bin 0 -> 849 bytes .../cameraplus-icon-m-camera-scene-macro.png | Bin 0 -> 1118 bytes ...ameraplus-icon-m-camera-scene-portrait.png | Bin 0 -> 997 bytes .../cameraplus-icon-m-camera-scene-sports.png | Bin 0 -> 1089 bytes icons/cameraplus-icon-m-camera-shutter.png | Bin 0 -> 1484 bytes icons/cameraplus-icon-m-camera-torch-off.png | Bin 0 -> 1473 bytes icons/cameraplus-icon-m-camera-torch-on.png | Bin 0 -> 681 bytes ...us-icon-m-camera-video-fine-resolution.png | Bin 0 -> 615 bytes ...us-icon-m-camera-video-high-resolution.png | Bin 0 -> 623 bytes ...lus-icon-m-camera-video-low-resolution.png | Bin 0 -> 598 bytes .../cameraplus-icon-m-camera-video-night.png | Bin 0 -> 750 bytes .../cameraplus-icon-m-camera-video-record.png | Bin 0 -> 640 bytes icons/cameraplus-icon-m-camera-video.png | Bin 0 -> 530 bytes ...raplus-icon-m-camera-whitebalance-auto.png | Bin 0 -> 1315 bytes ...plus-icon-m-camera-whitebalance-cloudy.png | Bin 0 -> 1402 bytes ...icon-m-camera-whitebalance-fluorescent.png | Bin 0 -> 419 bytes ...aplus-icon-m-camera-whitebalance-sunny.png | Bin 0 -> 1042 bytes ...us-icon-m-camera-whitebalance-tungsten.png | Bin 0 -> 1060 bytes icons/cameraplus-icon-m-settings-reset.png | Bin 0 -> 905 bytes .../cameraplus-icon-m-toolbar-back-white.png | Bin 0 -> 1711 bytes ...cameraplus-icon-m-toolbar-delete-white.png | Bin 0 -> 452 bytes ...lus-icon-m-toolbar-favorite-mark-white.png | Bin 0 -> 695 bytes ...s-icon-m-toolbar-favorite-unmark-white.png | Bin 0 -> 953 bytes ...con-m-toolbar-mediacontrol-pause-white.png | Bin 0 -> 366 bytes ...icon-m-toolbar-mediacontrol-play-white.png | Bin 0 -> 629 bytes ...icon-m-toolbar-mediacontrol-stop-white.png | Bin 0 -> 287 bytes .../cameraplus-icon-m-toolbar-share-white.png | Bin 0 -> 818 bytes ...on-m-toolbar-volume-off-white-selected.png | Bin 0 -> 705 bytes ...s-icon-m-toolbar-volume-white-selected.png | Bin 0 -> 765 bytes icons/cameraplus-icon-m-viewfinder-camera.png | Bin 0 -> 674 bytes icons/exposure.svg | 72 +++ icons/filter-black-white.svg | 61 ++ icons/filter-negative.svg | 61 ++ icons/filter-none.svg | 61 ++ icons/filter-sepia.svg | 73 +++ icons/filter-solarize.svg | 74 +++ icons/filter-vivid.svg | 82 +++ icons/gen.sh | 1 + icons/icon-m-camera-face-detection-screen.svg | 14 + icons/icon-m-camera-flash-always-screen.svg | 60 ++ icons/icon-m-camera-flash-auto-screen.svg | 65 ++ icons/icon-m-camera-flash-off-screen.svg | 65 ++ icons/icon-m-camera-flash-red-eye-screen.svg | 71 +++ icons/icon-m-camera-iso-100.svg | 82 +++ icons/icon-m-camera-iso-200.svg | 82 +++ icons/icon-m-camera-iso-400.svg | 80 +++ icons/icon-m-camera-iso-800.svg | 82 +++ icons/icon-m-camera-iso-auto.svg | 87 +++ icons/icon-m-camera-location.svg | 15 + icons/icon-m-camera-night-screen.svg | 62 ++ icons/icon-m-camera-ongoing-recording.svg | 12 + icons/icon-m-camera-roll.svg | 14 + icons/icon-m-camera-scene-auto-screen.svg | 64 ++ .../icon-m-camera-scene-landscape-screen.svg | 67 +++ icons/icon-m-camera-scene-macro-screen.svg | 62 ++ icons/icon-m-camera-scene-portrait-screen.svg | 71 +++ icons/icon-m-camera-scene-sports-screen.svg | 74 +++ icons/icon-m-camera-video-fine-resolution.svg | 25 + icons/icon-m-camera-video-high-resolution.svg | 25 + icons/icon-m-camera-video-low-resolution.svg | 25 + icons/icon-m-camera-video-night-screen.svg | 16 + icons/icon-m-camera-video.svg | 13 + ...icon-m-camera-whitebalance-auto-screen.svg | 39 ++ ...on-m-camera-whitebalance-cloudy-screen.svg | 34 ++ ...camera-whitebalance-fluorescent-screen.svg | 14 + ...con-m-camera-whitebalance-sunny-screen.svg | 30 + ...-m-camera-whitebalance-tungsten-screen.svg | 20 + icons/icon-m-settings-reset.svg | 89 +++ icons/icon-m-toolbar-delete.svg | 14 + icons/icon-m-toolbar-favorite-mark.svg | 15 + icons/icon-m-toolbar-favorite-unmark.svg | 20 + icons/icon-m-toolbar-mediacontrol-pause.svg | 18 + icons/icon-m-toolbar-mediacontrol-play.svg | 14 + icons/icon-m-toolbar-mediacontrol-stop.svg | 14 + icons/icon-m-toolbar-share.svg | 15 + icons/icon-m-toolbar-volume-off.svg | 16 + icons/icon-m-toolbar-volume.svg | 23 + icons/icon-m-viewfinder-camera.svg | 62 ++ icons/icons.txt | 53 ++ icons/leftover_bacon_Camera_Lens.svg | 565 ++++++++++++++++++ icons/shutter.svg | 61 ++ icons/torch-off.svg | 123 ++++ icons/torch-on.svg | 99 +++ qml/CameraTheme.qml | 197 ++++++ qml/CameraToolBar.qml | 2 +- qml/CaptureButton.qml | 3 +- qml/FlashButton.qml | 4 +- qml/ImageColorFilterButton.qml | 4 +- qml/ImageEvCompButton.qml | 3 +- qml/ImageIsoButton.qml | 2 +- qml/ImageOverlay.qml | 12 +- qml/ImageSceneButton.qml | 4 +- qml/ImageWhiteBalanceButton.qml | 4 +- qml/ModeButton.qml | 2 +- qml/PostCaptureItem.qml | 2 +- qml/PostCaptureView.qml | 8 +- qml/VideoColorFilterButton.qml | 4 +- qml/VideoEvCompButton.qml | 3 +- qml/VideoMuteButton.qml | 2 +- qml/VideoOverlay.qml | 10 +- qml/VideoPlayerPage.qml | 4 +- qml/VideoSceneButton.qml | 4 +- qml/VideoTorchButton.qml | 2 +- qml/VideoWhiteBalanceButton.qml | 4 +- qml/harmattan/CameraTheme.qml | 232 ------- qml/harmattan/harmattan.qrc | 1 - qml/qml.qrc | 1 + 133 files changed, 3823 insertions(+), 276 deletions(-) create mode 100644 icons/README.txt create mode 100644 icons/arrow-black.svg create mode 100644 icons/arrow-blue.svg create mode 100644 icons/cameraplus-icon-l-camera-standby.png create mode 100644 icons/cameraplus-icon-m-camera-face-detection-screen.png create mode 100644 icons/cameraplus-icon-m-camera-filter-black-white.png create mode 100644 icons/cameraplus-icon-m-camera-filter-negative.png create mode 100644 icons/cameraplus-icon-m-camera-filter-sepia.png create mode 100644 icons/cameraplus-icon-m-camera-filter-solarize.png create mode 100644 icons/cameraplus-icon-m-camera-filter-vivid.png create mode 100644 icons/cameraplus-icon-m-camera-flash-always.png create mode 100644 icons/cameraplus-icon-m-camera-flash-auto.png create mode 100644 icons/cameraplus-icon-m-camera-flash-off.png create mode 100644 icons/cameraplus-icon-m-camera-flash-red-eye.png create mode 100644 icons/cameraplus-icon-m-camera-iso-100.png create mode 100644 icons/cameraplus-icon-m-camera-iso-200.png create mode 100644 icons/cameraplus-icon-m-camera-iso-400.png create mode 100644 icons/cameraplus-icon-m-camera-iso-800.png create mode 100644 icons/cameraplus-icon-m-camera-iso-auto.png create mode 100644 icons/cameraplus-icon-m-camera-location.png create mode 100644 icons/cameraplus-icon-m-camera-manual-exposure.png create mode 100644 icons/cameraplus-icon-m-camera-night.png create mode 100644 icons/cameraplus-icon-m-camera-no-filter.png create mode 100644 icons/cameraplus-icon-m-camera-ongoing-recording.png create mode 100644 icons/cameraplus-icon-m-camera-roll.png create mode 100644 icons/cameraplus-icon-m-camera-scene-auto.png create mode 100644 icons/cameraplus-icon-m-camera-scene-landscape.png create mode 100644 icons/cameraplus-icon-m-camera-scene-macro.png create mode 100644 icons/cameraplus-icon-m-camera-scene-portrait.png create mode 100644 icons/cameraplus-icon-m-camera-scene-sports.png create mode 100644 icons/cameraplus-icon-m-camera-shutter.png create mode 100644 icons/cameraplus-icon-m-camera-torch-off.png create mode 100644 icons/cameraplus-icon-m-camera-torch-on.png create mode 100644 icons/cameraplus-icon-m-camera-video-fine-resolution.png create mode 100644 icons/cameraplus-icon-m-camera-video-high-resolution.png create mode 100644 icons/cameraplus-icon-m-camera-video-low-resolution.png create mode 100644 icons/cameraplus-icon-m-camera-video-night.png create mode 100644 icons/cameraplus-icon-m-camera-video-record.png create mode 100644 icons/cameraplus-icon-m-camera-video.png create mode 100644 icons/cameraplus-icon-m-camera-whitebalance-auto.png create mode 100644 icons/cameraplus-icon-m-camera-whitebalance-cloudy.png create mode 100644 icons/cameraplus-icon-m-camera-whitebalance-fluorescent.png create mode 100644 icons/cameraplus-icon-m-camera-whitebalance-sunny.png create mode 100644 icons/cameraplus-icon-m-camera-whitebalance-tungsten.png create mode 100644 icons/cameraplus-icon-m-settings-reset.png create mode 100644 icons/cameraplus-icon-m-toolbar-back-white.png create mode 100644 icons/cameraplus-icon-m-toolbar-delete-white.png create mode 100644 icons/cameraplus-icon-m-toolbar-favorite-mark-white.png create mode 100644 icons/cameraplus-icon-m-toolbar-favorite-unmark-white.png create mode 100644 icons/cameraplus-icon-m-toolbar-mediacontrol-pause-white.png create mode 100644 icons/cameraplus-icon-m-toolbar-mediacontrol-play-white.png create mode 100644 icons/cameraplus-icon-m-toolbar-mediacontrol-stop-white.png create mode 100644 icons/cameraplus-icon-m-toolbar-share-white.png create mode 100644 icons/cameraplus-icon-m-toolbar-volume-off-white-selected.png create mode 100644 icons/cameraplus-icon-m-toolbar-volume-white-selected.png create mode 100644 icons/cameraplus-icon-m-viewfinder-camera.png create mode 100644 icons/exposure.svg create mode 100644 icons/filter-black-white.svg create mode 100644 icons/filter-negative.svg create mode 100644 icons/filter-none.svg create mode 100644 icons/filter-sepia.svg create mode 100644 icons/filter-solarize.svg create mode 100644 icons/filter-vivid.svg create mode 100755 icons/gen.sh create mode 100644 icons/icon-m-camera-face-detection-screen.svg create mode 100644 icons/icon-m-camera-flash-always-screen.svg create mode 100644 icons/icon-m-camera-flash-auto-screen.svg create mode 100644 icons/icon-m-camera-flash-off-screen.svg create mode 100644 icons/icon-m-camera-flash-red-eye-screen.svg create mode 100644 icons/icon-m-camera-iso-100.svg create mode 100644 icons/icon-m-camera-iso-200.svg create mode 100644 icons/icon-m-camera-iso-400.svg create mode 100644 icons/icon-m-camera-iso-800.svg create mode 100644 icons/icon-m-camera-iso-auto.svg create mode 100644 icons/icon-m-camera-location.svg create mode 100644 icons/icon-m-camera-night-screen.svg create mode 100644 icons/icon-m-camera-ongoing-recording.svg create mode 100644 icons/icon-m-camera-roll.svg create mode 100644 icons/icon-m-camera-scene-auto-screen.svg create mode 100644 icons/icon-m-camera-scene-landscape-screen.svg create mode 100644 icons/icon-m-camera-scene-macro-screen.svg create mode 100644 icons/icon-m-camera-scene-portrait-screen.svg create mode 100644 icons/icon-m-camera-scene-sports-screen.svg create mode 100644 icons/icon-m-camera-video-fine-resolution.svg create mode 100644 icons/icon-m-camera-video-high-resolution.svg create mode 100644 icons/icon-m-camera-video-low-resolution.svg create mode 100644 icons/icon-m-camera-video-night-screen.svg create mode 100644 icons/icon-m-camera-video.svg create mode 100644 icons/icon-m-camera-whitebalance-auto-screen.svg create mode 100644 icons/icon-m-camera-whitebalance-cloudy-screen.svg create mode 100644 icons/icon-m-camera-whitebalance-fluorescent-screen.svg create mode 100644 icons/icon-m-camera-whitebalance-sunny-screen.svg create mode 100644 icons/icon-m-camera-whitebalance-tungsten-screen.svg create mode 100644 icons/icon-m-settings-reset.svg create mode 100644 icons/icon-m-toolbar-delete.svg create mode 100644 icons/icon-m-toolbar-favorite-mark.svg create mode 100644 icons/icon-m-toolbar-favorite-unmark.svg create mode 100644 icons/icon-m-toolbar-mediacontrol-pause.svg create mode 100644 icons/icon-m-toolbar-mediacontrol-play.svg create mode 100644 icons/icon-m-toolbar-mediacontrol-stop.svg create mode 100644 icons/icon-m-toolbar-share.svg create mode 100644 icons/icon-m-toolbar-volume-off.svg create mode 100644 icons/icon-m-toolbar-volume.svg create mode 100644 icons/icon-m-viewfinder-camera.svg create mode 100644 icons/icons.txt create mode 100644 icons/leftover_bacon_Camera_Lens.svg create mode 100644 icons/shutter.svg create mode 100644 icons/torch-off.svg create mode 100644 icons/torch-on.svg create mode 100644 qml/CameraTheme.qml delete mode 100644 qml/harmattan/CameraTheme.qml diff --git a/icons/README.txt b/icons/README.txt new file mode 100644 index 0000000..25b37b4 --- /dev/null +++ b/icons/README.txt @@ -0,0 +1,16 @@ +arrow-black.svg is based on arrow-blue.svg from http://openclipart.org/detail/77329/arrow-blue-by-shokunin +logo is leftover_bacon_Camera_Lens.svg from http://openclipart.org/detail/8099/camera-lens-by-leftover_bacon + +The following icons were created by me: +torch-on.svg +torch-off.svg +shutter.svg +filter-black-white.svg +exposure.svg +filter-negative.svg +filter-solarize.svg +filter-vivid.svg +filter-sepia.svg +filter-none.svg + +The rest is based on icons from https://github.com/nemomobile/nemo-theme-default lgpl part diff --git a/icons/arrow-black.svg b/icons/arrow-black.svg new file mode 100644 index 0000000..0aef7ae --- /dev/null +++ b/icons/arrow-black.svg @@ -0,0 +1,389 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Open Clip Art Library + + + arrow-blue + 2010-08-04T13:04:34 + Single web 2.0 icons from my set. check the whole set in my clip art if you want get all of it together. + http://openclipart.org/detail/77329/arrow-blue-by-shokunin + + + shokunin + + + + + arrow + chat + clip art + clipart + communicator + computer + desktop + earth + email.mail + globe + icon + icons + information + interface + lock + messenger + mobile + network + pc + phone + secure + set + shopping cart + unlock + web 2.0 + website + + + + + + + + + + + diff --git a/icons/arrow-blue.svg b/icons/arrow-blue.svg new file mode 100644 index 0000000..ebd5006 --- /dev/null +++ b/icons/arrow-blue.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Open Clip Art Library + + + arrow-blue + 2010-08-04T13:04:34 + Single web 2.0 icons from my set. check the whole set in my clip art if you want get all of it together. + http://openclipart.org/detail/77329/arrow-blue-by-shokunin + + + shokunin + + + + + arrow + chat + clip art + clipart + communicator + computer + desktop + earth + email.mail + globe + icon + icons + information + interface + lock + messenger + mobile + network + pc + phone + secure + set + shopping cart + unlock + web 2.0 + website + + + + + + + + + + + diff --git a/icons/cameraplus-icon-l-camera-standby.png b/icons/cameraplus-icon-l-camera-standby.png new file mode 100644 index 0000000000000000000000000000000000000000..bd50ac7fbcd3a7f7d6ab8bf025c02cdf0979f703 GIT binary patch literal 21512 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 b&+qwfAbPNiJmuTw00000NkvXXu0mjf1kmN{ literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-filter-black-white.png b/icons/cameraplus-icon-m-camera-filter-black-white.png new file mode 100644 index 0000000000000000000000000000000000000000..2b601bf3d5c26b88267c816956842e434c7f675c GIT binary patch literal 914 zcmV;D18w|?P)&|e@CL`#Q)$dC>zaFGgZ5DvtKs&Gvm<6VQNni%>y6AiXv;#dr zxBa{+;<|aD1QhM@HE+j-98aMF&;4cj(Tdr5mkLDBA_W10b1^@B(nlHrSKWd|m)4 z!J4RL;Ec@Tx}U+k4}b;LcskX350ro{z!9LF;VIn${K#-M^(nfLYIJ(KtI{c z`_eh!VpL_^2#f*0fwMU}_b~z$FP*N6s1Y~-90wkG=-h`ofc>tDD1dHY4tO2PQ3hRh z6~+O)#Y~|_QDT55;56_isGamWg^7Td$OW(ivriZg?I@+zV>U=j%8TDt&dFxi8B!R@5e zJjUA+MXiAna3Qp#lq%uKDMh`Bi$E8!HKe1ID!K~e0Gcr&b)(1$5Eo8=0M=oWR$2E0 zbqlA#WXz5N*E|@=tAVJBT3gCtOdNg?_?w~Qx^5`}ZUTFNCpk@IRoQxoR)Wkzzs(Tb zs6$pFcUq-#4A~UN)fEKrme@ij%{MBkENM_C$r}>Ddup))F=RVNT+- z>8GUIH9Bjk^!nnXQzlz2NfVOpNjjnBQ!6RJh;1{qmpp$lfyory1rFQq)4+R7-2M&t z1w4+q|1)rhh%h0E@&Z(J2)Kd)>LmL8QpSWRMc@VSC2z;R02Zqmli6qmcG|LO%!qsk o{`u@I1i*@F)&En!22gMP2l^w1*aT$cr2qf`07*qoM6N<$g1c{y#{d8T literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-filter-negative.png b/icons/cameraplus-icon-m-camera-filter-negative.png new file mode 100644 index 0000000000000000000000000000000000000000..fa7c1beadf2d70d4b1b87c977d2c143cfce0a7b9 GIT binary patch literal 756 zcmVBaKY&UXT~!8VfhWLn`un1z-4U<@Y@}ts z^vIGzOCss1r1uJESJF}m4Z#NHB)uykJj-UJtwz54`kg=wsj+@TioWFdhTlyheFb zXaU%wxgGli^EL*q26@8PJle!$0(gP6+L#ly72^%A0dS;td65OhD#RZG+B!=)o>yF&5XX`j(AII?9$ z(q0MSduboR8hjUV9(RC;nAArH_u4uEb}%IbCFoDva mDhG>UpjKLcQ-5ZlY5oETEuVQ~l7qzn0000nIVe&Y zgfcR_tDvap4@zZ37Y41?MORUGLKjh#O^M2OGliC|C~1>);o4*jqs>^B;?}o|^S*k1 z$M?MN`TZHVFC6&2?|II7zRx+&Iq!3x^UFzMK4U={`?(ir2O5BSs{o8!WfV97^Z_%a zD$bQK169B#paa+lEGn@56tExI3+w~V7sWzSp(Q7&Q_`@?hvBHtT%mjloq;ysP2f&X z{Uq=s`7Q(bF4YVy_O$;2*a`FoGYYh{LQGy>Gdm`N>8L&*!5vSv6NzY5FE`hjPY9#HDbjHzjB;rt% z0ksL_Me zT3DnJH3>#^CCMgjqiw)9*7FFk7WgA$Lt6uE16qL9KrN8Nd~K(IKcg}T3;^E)zu^BG z*F`c*t#=!6w^+xboTLHE>S;+$8Kbpa($^{u|4MowrSE3tFYEz1A3L`}r=#GR4Du@_ zohp)ijI9|ub~y5#J_D+hA07-x?|dCEkTg^x`49tYl>eQ`<5gjK(;?l5Ty><;Mkq{o1p0@}u;Hb`0>DBo@An2b1IFkrnyq9vfia|z^UBrOUg zRA^~+bgh@Q2HGtjn*a_6_~xmEca^}ig}Hbz4q?Le8129X0~)M~0m2sBQP2C=FlT}n zfEx>mu z5O@Rl2^a(31C|Hsu~Ak7rh&(Re+neA6nFv?2R&_Z2!YptV(}%$Ee;jY_A20A;Pp}n z#0FeqSpgUZT7mn456F&MUF-y!0%b4plyVpV@E`CM@HlV-unu?;_>}yuF9}tIZ@qJ7 zfQ?z;Tc8_w2)GWo2lzatO9m)_}L?~GN7MIOin4rC|oq) zfK^e4Ie}%Nm<`~4&-?0tws(`C5IbO#=))ZQVr&lRum^YrxF$e0#?_wpAq(H;G=T6d4<&7sbY+VCeUko42mmGNlMG$naN1628Be8gs;H-{#8s8oQ~*UZt-GcgI*JlMq`c zGs>$ZT^raQnKb4>heKj&F^z@DyC9QZ6PEO#6mDy2$~>PCJ#{)9tFiB#lzF&c{KT2%$;sFd%2yx zy}f(hFx=kk%ai8+*U}Z@m8*grUsVq4GuJ^Jc1i| z3Kw!JH5~&dwJV-9*gwJ6oJw_DU^|ZBD4xOYTy+^7$Gde4*D>%pp2xxjqHC;u_73tchY z0b7?f+*NgBR0}NOBl97iG|}~|Zd4iQOOw>=(^S-eN2@Z+UFZ-#lfOLZf?x48elKR0 z4Sb7(9g523ie%!qVMe(NEq5v>pFQ|mVSiCJaH&f*4cRTt)VSTi*r|I?I6u7DY+Y!` zm&1#)f&Co|X~L?)o}p-9QQ8L1J6}ngAKYr-C3jeJ%n`S2c!u*pPkIAAGz&$U+`ta} z$^R{IA9l@1P%b^ZI{Y#;u!8qyBBvRz4KIpIi6#7qeX~&1fJbn-IEXi-pwrFS=*i+k zT&8+Ma|SPTttf+Ycn<$iy&st87PyKR4a8GzU|VN$@;QcU#f;5nV5OX~*$k|eGpY=n zR#S=WR9NK#9+v{G>r)g}m+LrDc_$*qr4M3utVhJj zi0D`75)rkc)BEsK%l~K{zQ7wwVU#j;&j-Gjf~;M!fd`EdPyG{`QxnO_=VLX*Q@;i7 zmO>eOrB&cG=Zfoi0DsgfJ!)`_N&Sd;HX?p$dC+b|dTG?wGU++-4k=Q$r$ODT(%NQ4 znxNLCe?N;!4Z!`9iDD>zRf-;LmCo0Cr8?)NRpm94(y$Aa)6R%E8xhAN;y^_73is}f zh&Ll*dC*NxM8uYsp4&#Q*>R07*qoM6N<$f_>Mc AzW@LL literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-filter-vivid.png b/icons/cameraplus-icon-m-camera-filter-vivid.png new file mode 100644 index 0000000000000000000000000000000000000000..dba8a8df1623d320fa84a9862db52a6d702d9e2b GIT binary patch literal 1451 zcmV;c1yuTpP){GK~!jg?V0aum1P*mKj&Hw5C=Y&RV8o&Oxs-NKtpby|}N3-RC~{ zbIx&Z#tMn-&XCW$fMvi^<6SVC0IpB> zVAFv%V7*Z%>2J0G90k4s4gjNdk1VMk>XtOB+A%C?Lp?F%YTQQG0Na5_BC?CX7%*-G zZYnJU?g#FS*c=Al1`bsnNtGGrByEfQC&wgxD5*1p{VGWxOFA9+C`jrzoy;*+6MU1T z{lTCYByEw@P{ZqQl+-8bV&HSY#+udynj{?w2HI84KxL>|((b_bk*vP6PMZPG`4vf< zQ*`r^9+$LJ(x9XtjRuX^WjZn2*CbsH-bBUelqG@wAo#8ny=NqyS7n@&^kj;UCxRsU z>rLQMxy6-WQ$%N;q)$w*AnBN-PbKwAYBTCJ-Z4*ahuOy7M1q3FP;&x@JZC#1@&_cH zF!@DEPgVMlnNG5BkDHHB$6phNYE58+=j6Pk1%bRt(w`smi_EC?{#J`Pd$j_j%(FSDV0c&v;a&J4d^uYjSVqwlYE9 zE~%xAyhYMq=BquBHLCcqTORX~R&=fRp7-I3umlajUR)vgI`D5`yAarkE7X1legRJ6 zN{{A1_Y&}y`Pyr~6I=%dyx-4NQ%W56GG7_URvUkR#I8fqDM{~3YW4W7l0Gn5N5t-1 z^SL_UukzwJoOKE{N}4pIa}jwmH(v_)&5}+=g7B%!l4uV2ubR)kfS;2zVX{e!t>P3~ z!c;v!7Lm8x-xC3UEATmRB>Jiyz6ZWAT_1_B_JA+ocYDrTY(O>eXvgf>;86#^IbR0K>Tdl)vTugG;uB%4h|ym`#Ftz=P(y5a=)U zp2q`OGy#9kl`IT&JQHcOHxy{Q%qnJZw5X*4Y?C=G%uq_5or@ zc>`@;<|8VtHj`rRj7m>cpDGn|3*}DxSTWZi*X>Bq7W0wj7!^0HdLr_qoZel=M0 zK4Rtc7H|B~G#}-hcY6-bN}3Yq(xN(zQ}B(_=ToPu4R*;yOspP#r#o3?q4a# zC9Ta6{8~-zENNHDUEa9S#hW#OH7dr&h)#H^ACj9^J(BJ<>M`DsDqre12V<_OCjnI4 zO8if*Mvv)DM_Z*!u62`OTc!B2G4f}~H#GHNPo2~?W%<5;>nMhz(al?P9znQ>X=zlkqBUEcrz002ovPDHLk FV1oWVw&DN) literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-flash-always.png b/icons/cameraplus-icon-m-camera-flash-always.png new file mode 100644 index 0000000000000000000000000000000000000000..8f8ca2ce9020897682e2c0c0fb161a4e0c36dd51 GIT binary patch literal 870 zcmV-s1DX7ZP)$})g_jGJZ^z)s*uj2mYWz;WOqFcjnFF$2f}mw;Qq zJ>W-_P9n`h%Q4`G00GUw`xqU?7+C9pL7-*o^AjS$LwF1A23{}?4{$kfA2SrvLY=@> zU~$Q{k3bW~Mo|&(wO`-Dyc(KzCs_V%6u8fVV-)O z=d)=93Yc|J2eC3@5oM#K0naRy>XW3-&>3-QyhqZ@0D*j#)DMbx~3POMqvXrE)v)DoZFAB^`D2VosL#1K+a4aaXwj4giaQy}<8maojaKfK`|` wF5OjN@zU%uPzy{}iN#B?-VZEknXTcqBLDyZ07*qoM6N<$g3c9fzyJUM literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-flash-auto.png b/icons/cameraplus-icon-m-camera-flash-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..3495bbbd34bbe2119890fbdbd6db495108e839ca GIT binary patch literal 1092 zcmV-K1iSl*P)chf!TzWK_5kawy4}Ft zg2(v}r2;py$AK?_m#w-Rz)av;QG*0g)C|l4+JU-2{Q(>*55>$t3-BpW9jF&D8~8Qv z0OgQ33vB}qF;;niE*vWl*+Zxb*axgC)5l%vw2&o)YJtN*W0^j`Ve-H8qi)&|Y6O0v zyz*dD=eV5H)6Bq1pbZl~5fO=lJtlR1GYve zJ}Bw!4D!D9_-{+9k<@3&e7$G`7ApK)^p~U;GRT|i87@h^UY)(5+sg5$-HB^}&oLKR zHh#kF&PP+q16YDd#Q>e&Z^Rj+EZ|EX4DBB~@ndyk9=HWHoqom6HCk>Kmi@ z(+spGp!kra4LKA?CK+7tS0+DiE+Ay=QtQc1im$@tl$(JkF}KV8z?;AiMY!BT zGb8Eo1mP*T4p`>VOEKX*`deFscS@4JlXP6ta|L_eFYT6hS48xACNK+2gMFeF@w>nk z;6>m}K1YY53V6k%Z!>zq+BgTCvYwlQ9l{Klk9nC`iFtQ*fyKZSkM6}>M@Hcri*61! zhOL2Xzz3OCONN<@q|N;?eZK(aSV3hPW>SNTW<&h?64zLxN zC`0Tla1{6nI0PI6Cd>Fw_?UC1TEJt#Pym4u;A7x9;QEl*Dqsol4A2dX1>g+%Ii^Iw zt3cjK_&3lF%u4#p0W*OYfPM!v@8`-)z;s}zljI!G0o0@*?v^^BlhU!Y)6ZS8fG!94 z7;skx#NE;W{ORQCs#HKbrIrVtuaInA$n*KYcTT?cv;tZw?ekfPXpD%h1%7aHwI&rX z3pi;&{sP7`5U~b00nCl?Tj1v`*hxZO6k!0HOzvxl~QD}liP^8I*=xwHb- z8?3%C0W}mi)olrrJVEK;wssI`PAOoy!O3IBoON34By`_Cz~C3w8EXV!pW^NV!A(O41#YUY2w^!gr;l z1Cm-};N~U$W9~0-wE`y1bxjP=FgqvdT}d}d+M)0hh|}`Of0`o4MXsiq8cY*S5k2EYo?@HbAN%W70@rQ zuNCaN1POwyQ_|h$9!VSJb(^U1;o35DotMW|Qn7&Zl6uU2bHXInnkB6__alEi|Ybx>^OL~J#F z$6d^zfGs9q6u34f`4xCaiX*_<2;aCnyQ_S>f^BiJg1~13r%cd?G04{eJ;3k4tuY11 z5%H0!JLPkW6d+)O37qtkl_Rqo_?+ZNjO9c;=se#Lgb@Z@OYz=di15w$)4-dA_xH3S z?AEr==M-CjfO{R_!;~I>FYG{mDs6l~n*5*Ql=yv_kT0^DNit0UsG5V5XYTpZxd z4&X4}30qdg3*~W2x1*b*;^F}3@cOv5Jl=824H*!hOX=}Fe$Jp1kHi8B34x~KUXZA93)y>-6Lt2r22rmBl6ZeUrXwf_epiwubUxhp1e)YD!<&R zi|eI=^-5}!^nGkbDSo*c;6=P+$0$2P@k|MqbnDzP?VIMp) z??PdAyQD`Xt&y};;UBvPFQ literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-flash-red-eye.png b/icons/cameraplus-icon-m-camera-flash-red-eye.png new file mode 100644 index 0000000000000000000000000000000000000000..ef59e3dd5e04feaf2c378141e121749096ed78a6 GIT binary patch literal 1148 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 Xs_iq6PnSZy00000NkvXXu0mjfY?8+9 literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-iso-auto.png b/icons/cameraplus-icon-m-camera-iso-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..ab124afa45d44521ebb6ec3076f86593717190bd GIT binary patch literal 1455 zcmV;g1yK5lP)RnCKXaSTChlTh)|}d9D1=UynJJi+VG)6d zSp?-EGsAx@3YJh%K?qSc2$3j)E)e!d7cDX+%2rv7jO;eWQc+xMoAXs$o4Rj*ob&pg zo%eTnxA&cEurG}FJh$^Z&+j>x=RCjVNn$voAVz*4F#1vqBnH0%-v6O^hlv2d7@*9ydoerC5=P%kEF4lY_p_<^Y%I< zwL0`_Pk)W1lahKQHF&aFl6s>ekgWra9{(Eqz%V2{hbKrn<>}nu_1PHZK(o3iJvl&UN{me(Wb457q%YK`fMvkp z0R2{v4sxI(#-dlQpl zOz`-B1?c|m(Zxih^tn#vN`cpa*FAnO&_w#2ZwctbU$hgW9ynOp=mVG}&P6+Li^t0( z0=GszXs{e80511<*J5%Ycd_pW&U$)H9=$T^LD@QRA%wpN_{n=t4Q7W~>hRk!x2+_a zfR7z|A~6w&%Z2vYJgCCs*GQ_9w8`c(3nbkyX@jI%NqL_Bb55?)BB|PwFOsxMQlY~e zCuy&>8E`TecOTdkV_zU?ozfG$Ba*5j?206P?&ya)5O*Uh0hWizN^N*I0!J{p`!UO( zftmAbfvN!8X~56G+rTH7w4)oCj=7aR6k?Z#k*dT{W5j`>M%*Iaj47WCH5$VNaf|qW zk6}NBMjRMw#4TcgJAl;={XBgWwSk}-vpHnjPi!uPq-|av^K=F_QGZJ$ot5-ymi=T@ z*vcoB{`T76r6IbRU@@=*Q@M^qVMaa1czC0I>j_D_Y`aHNv7<9jrUcn3X^X?JclawL z&6RZ8iR3veYjJF5O8Ut1E=X#Y^pZ?=I-m$Fv%lYBE-A@3v)Iuoz$APn-kU9Q_@gle zu$_*)74z+3yQLQb`!Kh*q0CGaTlby!5=9Jt;7eueo6k;FizQ6uoUL+=ObFsU=7 zPW?7aX?+b)Z)LT>BSD=;IZ%!%9fEP-J5pE3=xbj8Q3cGm?O#Y0vi3MSD}oH89JtNO zdoY7PLu%WbLrl4&pP1>ik2&qbPTMae1JMp7=YKQihBXT~V0n4uHVW=}bE~nGg3CcS1DL5Z6>~}#0OxHxi7x|38nVAW;q2E_9e$pqc1L!#%$LRvOLs|nR?-VHm5AiN zf3LOAmvqAN+AP0L(s-GYOcGlq-6`ouOP`Wd9yHc42X1GY-IGmsrpgISNd;h%oi^uzy_oL< zlYpy$gP1B@5|e>Nm_7dw%)yl$ND-!rSBd#2kAs9)0EhpL>_40~Lo5|y@Ld1^002ov JPDHLkV1mzinzR4_ literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-location.png b/icons/cameraplus-icon-m-camera-location.png new file mode 100644 index 0000000000000000000000000000000000000000..fccae676b485710b1d30283d690380c0377e8944 GIT binary patch literal 636 zcmV-?0)zdDP)QGL`54BB_N85#312V+_`v7c4v3?20s{>-E;Q)KF*n$ zonAyJ#ARHN_=$PEs!Nz?Ah?qe-^Bym#^;)xnZ!|#OnD|FV!NiaA0uLRBzGzz z?$zXOC$37JTm>#-x+ZoP??;|@a0^xaoK9So$QhW=#O_zTdxw{$TsZ?@GO;Ta?@r@v zDOb+Gn@sE)W=EcYmSG_(O52D5Lvu7U`a~e$s zCL&^e4Dt2E(fK4~(CZBxZA#pOZ#d`Q?Ya+5C!s`ey--~GCM%Aj-|g;~`E#HOhw%YNYU1B<3P0KsmQ+9@Ue3gqOT;O! z0E0_PU5WcLmyarxRzMP{y7{h_igz_YbsKW6sYRC-zzKZv_wN@tiLFwit`*oaIG%^t z=psIj0eDg~|8E8!*UXF1bqz4MY<^AiWBApD4g3M2 W3tWGVG<2o_0000HN=fnq(w^6TBw3(K{VJ!>%vsjRL#%D zxespg?&rJr84CTwa35#R$IP5_X6DT6Qn`@Pz1RX&#YF`c8$BJGcNuU!a2@b3a2EI# z_!&4~=R$QUa5b<6*bIyS11bIf1ik=12R;J6s=9DjMK81k*bb~GSau3H3j9Q{_B7B7 zEC&XGn}IukbwD3*7Zb-wsaw^765}sbcc?!^bDU7e+L5K~fF5JtK({;QwlWH3H5LF8TFEi!pCWaxSKtnxXI5rzQB>a`?wDU1#II@)$*rooX-krd^M%|!}R1m&bJz_F; zR#jj$vix%?{3oJ?KB%C;YbnATt-U5|d{!#41b7|z5!lt1kIu(-U|R;i7kGn=fSaYj z{e-}?4fv}a>2k0hc%eYQn}AJe%q#^S1C9~Ge%-hhm;f3D`#+w>NZXoW;5OjVSlbn} z9;LD9dm|wwh~piC0TyB@A$3@hCR748L^6Hb!b!Otd)437{#e_}jLVjUhf?N#yW~7g z>`9t0Z3k{8WR2%yZ8Nl<*)iaD;1uxj0$!`N;7Qpxo&hN&<~tw(^5$o0^TFI=5{dvtX|ldq`*-0Jyl_`I4%P|1TL>(uB#R{ zBq`8U!$R@7-Xy%z>OhOUNtbvo`WD&l3E*qsObY*LGJ;SWD5XG=ATu3N67B)U3yD=6 zE$`o?BXm0Y4p&%c7u=&K`A6T~#1J#p&6cU^JdFHZN6446JE&p<&<~ zU@!1ghE?LY57?K}XOh;Gqlx9f?u@Y`lt|`K52fk|t-~(O6@6SRXM|(H8Pw>ag&$ zhQdOsj72=l&SlyoxXE22P;p~$461k$D6Vz5ppanJ&F(xU#o&rt4D z-KYN2Vc{n&SRXC(|3EJxif*jIt7PF5;9g+1Q15~}(4>apTz2C4%o^@nZap+kWff@B zsKLF}h2!Rw5bIU|gKyqyh?4E%kh_w- ze_*AB2!f!6U|}s*Rw)EQMA4uiDYP(Psg>Hqk0=2Z5scyo$Kn|nf+6?3nOSG?2bXQ` z-g^#jX5P+y+mb{#v*ce3C`;EHSk}Q_>w#^+xU!=-^MjCYUEA=Kg{|zbsBhR*3QB)FhF|# zM|o^&$-*%(Xx5%F^RuYazTvvwA)f$K)@ZaVPfat+)i{mP865;$nqw{Z>3l3wJa95?IR z5hiyov>JE;w1fFasA)1$X0SC1+ya&cavL|;f;8_r z7R((a-Tb{J`u&{>=9A})`Do*YyK`|;>A)gF55{j(YPa~ zVhl^VEa_XoNU1}nVTGA%iCQa|A rfR}~OR|F5bJ87U6y8gcsU2otw81@I7aFYWM00000NkvXXu0mjfWm8TR literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-no-filter.png b/icons/cameraplus-icon-m-camera-no-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..bc46c24b79ce8d5834a5a5eb96a36edb7f709419 GIT binary patch literal 925 zcmV;O17iG%P)`vZfNMezZO`E{HxE7E$a+Y%508jw1;e6L~VhCUqcdDaw)>_=SUus z9B4V~POVr4S7E&mws_5-!FLhsXj>MY0bGkat6_iPNY8c14m4k}C-cSf%&r z7jS+yl`25(^ z$xndn{5dX05g=<Vx)3DXFyi|;!&*#!Ur ze0SPeC~h8@1QbMjXn|B%^hCR$Ut9zMebEjiK;p`qMkWDL@x+`<0UM&-*Dsm`$T@e_ z1oZTaCIJKde{tQh!6+m)oxfu!ZXTEfi~xLd+P490TcH&UB`A*xP@E<_CBH@75bY;1 zlL`Y_yJ76%vym!_P1HF=i1@Mj}>gQHs#b-7eK5Hp+VRV%}1+? z>+@Jpn=!NjfCv+Vv&r$x)9X*YSl&&zv>cl_AA)cTps6TZfMLvp7@W+4sWyPnc6$Ks z0n~HR0ug|IW9mN?0(iHa*4p4BFm!STe-^%2=DLhjE ztIL}+sLy#3H52b_fOx%eN(fharvP@>YZ;PxSN<5K0EjRtD@^8{0x-;4P!@p9TY3?N zwmXOZldxz^{ZLGX%%o3ZF-l^pg+wy#Qu(yyvyEH6uk_Za;-fDaZrtRpgeov#1@ N002ovPDHLkV1j#A+4=wg literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-roll.png b/icons/cameraplus-icon-m-camera-roll.png new file mode 100644 index 0000000000000000000000000000000000000000..abda15acc350e151de7718d8f300b0c1f9cc196d GIT binary patch literal 566 zcmV-60?GY}P)dEmm+zT&Z` zfc*fuPk{~KJFq&M^Xt*qe(ter0drSripvMgaiy~l+TbK$Tp=uh07t+RFaZ>RTc8A_ zfh{1Tu4!Na$bsII#1G$j#eN?059n8*I=CNM04)xeP=G9V&%|8O=_6OknwXEW0@ zUcYTK3@n=_aYQ5qEYkR(w#f%@2E3aj(K%s_l-O@GKm3qZlqT&R0RR9107*qoM6N<$ Eg6eMY1poj5 literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-scene-auto.png b/icons/cameraplus-icon-m-camera-scene-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..18909d47d9f1fe80c9897e2e74e45e578f05b9a6 GIT binary patch literal 1184 zcmV;R1Yi4!P)#FNUH*N}DDc!VjV-^Zhu-RlOxF{A}q@gMrtU__&$D$y#i%=ydanl-HX!8Cp=G@Gg z$s}*)&P&YG1BZLx%)S5fKj)sgbMKwkC5cX!o-M>31cvSRJg^9?Y=xnA$U&e1i~@Ur z0iZkArU@(obHFrk3HYhDWl6C*Bxyp@O~uPi!x)O?5!0zx(zvAM8pQLmY?!@O`E;q; zLp%n&3-oVr|2ptJ@S9VBN1Q$jJh?&t-+{M)snU!}db&%}WI^OsC0&;Erlh?UBDdH2 zTsDlnOq$KMq)@-4*_?rGXcR2}jHJz!YPoQ+wtUCV)fNjGx9-$)v11M$3$7`B%i zt(<6;Hu=bZppruysk_XEm)Xs1ZU*La{!d9Kwvc#UPngXhlT{rUbDdWuHMWs_(1x-P z_*hv7dL=Enj;A6Cd@O0kbXwBA5g4Z&k0lknCyF|ayG|D($v>_2awHP#g2NbZ<-m~A zH|&C>zDT2Q7dY@?Bvzksk#Wl`JMs&z)4=^!KLgw;{YK2nF)LTywIh*OcZ>@p+)iii z=DZCHvmYdNM@DQw>BIMtva`ukk(k}aNyf2o1P%iGtUg7u{Ed-O(xvpLz}N0x>?kxz z*GKzExB}TVd&5crpF|o0IO>dkZW<)k0Z2H7m1kq^svC}LHbhq=hZ!Yr%-e?Zon3pz zrO=9`2W#M8HJocjDYVDRFKR^T1)$IBSFHSzWG4o27jU=+e&80kt~t;{vJC{dRl~qh zR}T(|_N7taHh^u1g9C%E{%Z{bVftJKzIE5V1BY3^UoI>kHK1YF=$AD;v-Qc$6WnN?%plnXZO2K8f7FnFz>EC8i`eu|6cqk#5&-) z%|q(IBI%23cLeZ5z#*&8k&Si`{~U}E7pTCkNy2%}ffdrJ?y(5q*GQ&F$VS@Bmt;@o zMkDM5Zc72nKLc}Cz7zrM^Z#{{sWY#)$({tpq*34&xMm!fw(=0w(x?Y`HG<5`z&#b( z?(*OTby63pfs(FA4lS@PO5?1Mh6o_HlRrKHx=Qrlg(Y#w~D7qz%jI_uN|N zT#L4MOZvmLKVQ;DspT}lMJq>ulO-eLr_bpPTP5-ram$L6#tBl6iR3)3x}|)=MRT#_ zsJ)@A>~GP&(w1@oc;D)Sz(kA4_~_42ZWELrrB+8z0c>3{Q)&+Cr*%vvXR ycf^P8swuRQ{A+(TXqN+d*|tA>Y?TAsCjS6vM;wH_xv=m600007G-4D*#L7Yt1wl!a zfFL$n1T2EuiD+S~g{`7N&@P2yC0JO9#3F^L#2`jl1Cay;UqLkf7I!C(von*qGqW=z z><0^bUuVyM&pCHz@0KL-Khu!614*e1$eX%=lvoa22PS|wz-6E%%ED3sPN5dyCD7sN z9|m>-p$--y0;i~U9$+VMWWL3DM_>ss4lD~8e+6s;W`hjmA)p6139JNWFgqQ_BaFat z;41L&pHWF!z6O+x-;(;=HnWUCD=-B#C$uvGtach%7V&11I}fl5Xm=V}3V5HAogcuo z)5ual8MvQ7+|3z!5xR#}R%i_Mjt@G>dsw4{~<5!xbYz0Dfi z2rLC206RkFj8t~?tBv8f*c5RCaEEZ`0k#1{z=F6=*Kuw4upc5Dc8e@LO5O6qTd=YR6=*Il88N%iO zh!Cd17^&lBUx4jyNu!>*Wl4LYrckYN-^-Y!CXem4l0F5@{~~E?8UoVTeTQQ%yUmhD z=9yoX)Sg5@TD$M?TvDlG`$EJuPgNbc$O5jU=ldK7Wgh50Tde6)Y1xXkN zo&WLs0+xOx`4c? b3&@*4kYM8li#XK&00000NkvXXu0mjfDXDJK literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-scene-macro.png b/icons/cameraplus-icon-m-camera-scene-macro.png new file mode 100644 index 0000000000000000000000000000000000000000..f63d4b1c76e4af39d586e4724d528e17cad2a0ef GIT binary patch literal 1118 zcmV-k1flzhP)5DH2lIDuGZ_yY0`1 z+1uW|d+*Ke++9PUf4JkH)f1FH$6ytSZDKQIAY9nGRb^t%jr zvp_!SSs%96Nhb^062$u~XDDXh)J8PpY#0GF%=KHDC`wC!Vj?QYrx=8RiFqHbfF^Wm#6#6AIJ?iSE z4cU&I>62hGW#eE*R*T^hLw?YZ8nf804yiLG0ccnsw-?ApJLNMFF=!`&W56Yu_9ua9 zVC4e(+Zr~qmLub`U`x;zuCCXEg7o zF*rzAyr*K6tKJ7513syszaJPQk~~oPK7iV%zP7;Tm4{E&;i~?-5kT_XrGBK&m5{Eh z6Y99(!c*CAHv>qXVf9hZ9=8+hR9AM}UwRSu0o|-}%@a1Q1a|=6b;3gmEhWcll9L5vftfAlAG@yD~-KRdN4nzd7Ox$fVJvdhLMcHM9N1?0Cz_kO;A^N8}7E*05+%}SG2GC zv;`YkvWR}AN~tfP23$mQk~jujT+!|fa098kbM`d)FYs{Vw+cpcY*!^;Cva=J_~#v` z_X96fbk+;J1bp4nYHRjLo)0U`(|6SqnYIrMnJWhG8F?Drtp44Bqq?CoSCoaesK-07 zcf^pUD;=kY)hE<13?;?c97i*T6ns@muPBX5m5mQ=(aB@8qshh@W;7An%Oa5=x*b!(4&u8o(?uC=8 kb)iMalAl870$6PP2cJ{@*S92?(f|Me07*qoM6N<$g4;iQo_hb#8pa|hMR1rhVq%BtP~kG zvtT1BE3vSUnv@8!u$X+r0t+c*V@k?Q@|6@Z3r)lLHa`1XoO5%U?)#p5&hrjU`PZp? z&-1*`|M~ZRJ@0!8k{HS;{_6y+81e#!4?@fmP>!EQpa6jKBgq{Vj0lnv3~-70lR?pK)=IpuOSDMfQ2dc3yI(7h{SeR z@oU7eoLlyRvd4CnXx&eu6PN{T0GffRM7^>Km;>C)m4#smd*N6j?@AgI`xGTzlC;(l zV|v_XOWr&zL+CB=l4!E_0v*6kU=i>x_Sp}t0WJb(h~`bQ*M9&{3^@ediIY!J(soA= z^-5|8#WfhUP&054nD4NU2gZgXv+l%`fOWuVq9SfK{-w2oGepDhE5>EiDqt42G28_# zuq0qDC7u#Z=Dg@M@|y(+xMOJFW#kWXBJ0T6PQXnoc?bbVfW929^WQOCnOz`G|%JL zl8ARrQYlMLS(0BO>Dz$H^0lOTLp50+$4KIRir`!V8sos#&~6aW?uhw9HQpQ5LNY

tA z+k%4AFo-=65~Fc^iW(~4iJd+0U%+32Q-E(0f8ft5@~`pHWe9z!|LYhkL&%BWy(~E2 T>Oxod00000NkvXXu0mjf{H?ur literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-scene-sports.png b/icons/cameraplus-icon-m-camera-scene-sports.png new file mode 100644 index 0000000000000000000000000000000000000000..5a65913ed344c0ef2052c423e6993912ee87e926 GIT binary patch literal 1089 zcmV-H1it%;P)Z+!Dez=P|_ndS8Q+4jCQ@3g=3mNr(6DW%XAHYz*2}BqJCV+8Z5ikYp0=`YP zPzPbu)JN6h&c{FM6KXxlw%^2CV^ae07+aHUYxchijRSkhPUl(RX5f={;UH|{_2k=& zbzno1u-{l+KzBSA3_<|s7tmcA3wlvTR|5|L7XzmV`Mn321ZEQSzW^@J>HD*Jk_szH zUEQwErc{yd)OCiE*>3khjtbPm#(3ST$PcS;nsu5Ghjr0&USH`I#&&Qd?jNxp^C z>b-3~E>l16p#QbHJZb&1E3zBaSVtt#hVf86>zxuCwvKiE~>X~UA$_DUQ0t^%Rk^)X zkoRA8k>^L%6>UCtM)QZ%C3)5_`vk55t}JMCgpeZNw8;r6$gTRCHv`VJWYX#EgclFW~KMlh>APY0)B=ABG zAG3t7yg8I<=7yNx%yq)yjQP!kR9OdHm@q#Lyhx~Cb13s7yB&DHfc_+~hCs41belrw z09y*$Tn}vOa=mnPv2o8BkCk0jwnL*K3Xo_axslZN`V zI&CU2bRD@Mu>@00000NkvXX Hu0mjf!6@^< literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-shutter.png b/icons/cameraplus-icon-m-camera-shutter.png new file mode 100644 index 0000000000000000000000000000000000000000..706fa44b3d541cdf60890a54c91ae30505f0f5ab GIT binary patch literal 1484 zcmV;-1vC1IP)>+|A z^-7wZC+EC=1WUjRz~{gWN1GO4wP!sonBRxB+;zz*s^BSOwf2Xlr9;^4SUWMfjOcsE7gmrY)k+rtypA zwLfs;st<2NvDvDlBs1Epg^fwsH!|`L$Z*a5HMkIX8`zDRsr6tcEaQ`O zLF&`x`+2|-V6s)u9l+KqJk|hD0rP;a3T5sA-gAn|RVhiG8EWsAv`W&=GJV*$OEpSr z%DBIy!jpd{$sZ>(L8^pKR}QX3$4EL>r9w&iRi;U{OS&*X3_H!v@c*clzrF^SV+rTn z1ejH$!Zd~?ZI|?fq-llBsRsdTqSG(hCOY*1a1VrvF@z^u5+|^;_NyUZmwOVBDMhU2HM)eUj;nt zVe7=X-U9p%JRE3iqXcZiyf$5NRtT^Hv(g)jajT2|rfzSYE;NpXB;8q}Z+4)jn zFEGK=ZV)rzstVT@;QJK+0v;efcz})g2M>;%>m|TS;^y~dEFyf}p)dh<0qd;mR?O;= zFPeat0_@7jRe-~ezB5biGj08c&k*EuSxY+SWpcJYw<{AiZe$ zzNA+INbb_<0^kGEvJtXtq{?XH}OJ@8L#XpaOMkg?H zcHaX}Wn6}tLHe|U^~65;GGY}>r8b3apZ_H35r=YT?J>DBx-o0{i-8|J?3#gVs^lNS zOm40RwuO?*LQzL$v+x@*4j7wUpOK@o^%THH`ml7fmEeDRSo%MK5&wUIQ2~l3P&7sb mD4Iag7!{ys0!3rQ3-B*fqV(_XkA41}38-}(P?&dhgmBH8VB3;$smf%)YwA|I{Fbirn`(bd(JcLxT8A#abR zWK4Imq@)D5+f7YP4e@xK@$qrZhLx3-eEISvC>m#wr$&zCO?16MxznC-3~xiRTUK#6#&%K)TBNGtXh?E@Uv1zmm4>3 zFgiMl$zyZyXV2pCcqlI~=jzp~tX;b{ZM$#ZzOi}p=G1k&-A++a5oWU)lgWg^U|{3Mjlkll zw6wJ7HkAw(i{)gdi>j*P@p#y=V+Rcl4YakjF+M)dj~_n(sI9Ff9*-l0U}k29fq?-Y zJ$l5OH*bhWqxk)P=H})oE-vQn+qXm_5nL`8*RNkk2!X+1ptiO)FPJ3(01}A=9*>8; zd-qabUr%FWBNG!7sH#dN5@FAtJy@+)0)YTNpO0uX%KZF1LWo~H!r?GBn+;i(2?m2~ z*|LSLTetG$$&;Lm*8~6%i^X{S_%ZwU@29b`5v$e8!-o$6n4X@-;c&2T-##WLCQ_r5 zPLW82P$-1UK zsH>|(2!YvbUb4N<=i~P6+uXf-m-p}A=hHQy0|3B=4I6N~-B>IZg25o0Hf>7V?&Zsu zbar;89(X;Z%aTx*W%~O1P!uJ#5>2OQG^%Uypc4SV)2B~4e*CyzcABLd0KnwrBwnvq zPs=|_R{((L&!6jUxukRlD75|u$VQSR>F!xjfaLFHJylSE>gs9^9Xh0|XThHVr_;%S z0|#{TD=2{9??;j(PMtbMYip}6o&^O6g+h#sj9@aExOnm6l6y^BRq!cv?%cW5UeoaK zFxA!7dHEF_KnTIHW5;;$;srLFjVo8KP*PHov){4=nW88-olg9IKTSFw?1^XJd(+_{s1fq|TSmUSs1%Q8-<6Gc(z?(XLB;lo*bEc;sM*|TT3 zTrN~q%_$?69RT3oy?YD}4gzGI5i0@!;O5Pnsf-vJ8q%B*D+T}-GvdL62b7hSY0iih z1t5f=zrR1Lj95_skbOqz4)F2gNBn+&#zTw3;V?ZtJ*kX1apFYAwz>n%&d#!a{ra>= z@;?EsKFN&e>gvjv5xN6-yv;R?=l}G@VLIOKER!r@Xuzuh&a37|hGBsi}!quU`Fj{;vTPN-OR) bnyvl;ttB7B9j#1%00000NkvXXu0mjfpEA0H literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-torch-on.png b/icons/cameraplus-icon-m-camera-torch-on.png new file mode 100644 index 0000000000000000000000000000000000000000..dcc50a2598b2b3e118548a14884d104049ffee7c GIT binary patch literal 681 zcmV;a0#^NrP)|7!AINiBCv0U^F1wiJf3&r=41e zSP0ts4`?O$2Z$hIVIf$E|A3XHf{KlW_=qnQ1(9F`jmKg)WFtvP?#^Zj>=y>k?mW)< z&6%Cqy|)z+mNP5r4xlVcA)sC5;8h6NSg?E1U%1|o+F2?A#aZscaBgoh9rRW+1tjsE zN=S%!A!b$vL5?@2sIM42)e z5#71nj)?0K(GwBdBciL&ZgoVA=54PP>e>-8R3?U2f^*;)zTqK8F^2Iu+74m>k8lt} zxQmX1NFe}@V-Kz@u>Dm$$L+F?I~CA_5!u>)iodem=l25pZ^Osj-Ya`vUf|ba11Xz< z5uCsloL@x00a+Hta8EV~9Z^QW1)Q52$Mibx%gby`;9cInCCeOK!u?KyC?jCM5;Ire zkL-~9+DYd!=fE@EEYW|8%Q_4mrOyEoaWNt$WARKx#Hq6WQ*EQeIEyo~9cDgW$uf5f zpGtd9kbz=pN5qYJX8mzQv{L#^{W?8~5A)QID{<=1M)O5hH;sV0X#~_wBcN^?0d>;| zsGCMW-82H~rV&s#jexpo1k}yS3da15*K^d(b-!b(5bzQ^=cv1r+F7cf7K^m;1pEHG zKOy@w<84Z3RXhWeIBDi``H9mK2TwH_m|`uCU_Bn-eHBis6tE;L`)%|eQLQ6oc;n<0 P00000NkvXXu0mjf3Irxw literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-video-fine-resolution.png b/icons/cameraplus-icon-m-camera-video-fine-resolution.png new file mode 100644 index 0000000000000000000000000000000000000000..70323473eb351d11e91e23c4b8f5a76670e640e1 GIT binary patch literal 615 zcmV-t0+{`YP)H}_ko_dL)0J3{!nCyp%b2Z}}h=_IF1e8s|0-ocyVv63NiPstD8Ghg!HfEex8Rtd%-w|a3 zw&4=iCi__G?0Ckxg%61fNAVViGR}3}OoLgGfM1x$`DAZR!5(M6CA8ZQ@Er%S89zI9 zj?y*IUg~L1XDV<-#ErziR)s(Gb6_N(Y!UW~uXyj@7OY_^)$eNEssmYs?d3>zI5nyq zL=(82*_+aLKV~ar;DTZ+S3;S9KUjm)$)3k;OyXSf-B+aeY>M#+Pt(7p7fut~yDI3A zx`np=Je{R-Jo%c*zEaY@8Ou>=3bx>I$^z`g2{ba!8GKQkb~$!qU#hR~I(m%7@;6}} zGZor?!pT%$R9s%uihJUJn8cIZQI>%@t)m?%`gIO8)3;LE2O*&QY9D}r8g};3zGneb zxY(x8RfVPOt-F1y_6Veku&y_x;q z%=higo86&^Fi5N$X!idCu)e^z1@%6~e~vd@84=OGrlNnCE{NZ zVpl}W#<4BHk8FOhfl>~gp63!)iECqXz^EJ_K-^FJf#&&$| zmK=pW(7x)art>AZBH~KoUn;{N_#9Z10^Z{)Zj~VyHDRx~mis-7Nz`P`d=D@Fv;Y{# zERJGZ&i|;4fEq63>}G%ixLLqo*1GFy%wuyIr9}dMVgpVmdkHtN4`-6^j%>;uOMV!| zf^662(dCRb+RpRY+?*dtzKL`ljfl6gI;P6ZfgPAhPXYGg6b|J$GqO52>$#BrR~bX` z`!``-R>N*+$leVfWi?+cnQuQHws=a8*G_9ZB34Q~`bs6Jf>|ZIy%Ty7Fsy3F_gTQC z)*f_D}g5G9CUFrJ^qPUPj~-QFgfH5U0`*qzyr zdEcA2GrKuSEE0zny82Q8a5xY<0aWLde;eqv{)BMl~33p=WyQG^H_ug zoCDT?Bj#VX#cnv9E#R|p0j>d`fGZAX1K709OeNqK&;{<8f7X({aAG6){&S*TUj|MA zKjRh$g71KDRXfvW0xpss8hLKXr>CN(ceBx*_Kz-i#BRRLfXxCzu8&Mn{@(X<=k3~+qf0^~ILPgn(-`|v*i zUmbr4Jh1zI0s$9@I^i!u73eU&+e|U*94MQ)$cKno38*tUWM;y`2hmbMs11{#Xf`c6 kMD3bdz}&F#BUlRf1Dy8uRY8>9e*gdg07*qoM6N<$f|4!y6#xJL literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-video-night.png b/icons/cameraplus-icon-m-camera-video-night.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ad27ed1958c75a5445952d6bf491531cc96cca GIT binary patch literal 750 zcmVmph(d8s+5iRLU1dwva+-Y z*l3}pe}ILZg;;45#43d#R-!4Qm5m@G#AqSDaD|AA5Zy({XK{C7_IhV#ccMFIWIs3z z_i)ba_i-QR%-xbCii~pJ1iHjg;2=-|4ggJH2DpJF%eGC@Lv`Ybq-r}RZ-Pm7R#M#~ zKO<>%G%jzFadtw|vPb@oq*Z=wN%l7JFz^D{8S#Aub^zb~;GsT|>IGNmBoAkU5;7*~Rp0C3wI4+EFtf-TO#I^a2-OXnM|64(7;i!;yw&H>92 z-zMNDq4wWE;}&OUBrSRk-91TbiqMU=ZA{XAPsCG6r!04)Ayj}vxUaHF+=+A-xLy)C0Y?M z0!#(`d(#rF2-plvXGu&uMw?k)+D{DO8l!eYRKs0cUjX(2=X2uKHOjc7@+9z)&hsDO zNZ%Rti1r?s&6ULpQ2172AmA_IJ+7Gf_AV{aiU8qy8{ZzJC0Y>>hikxMQh=389EUf! z8|(eR1hA|1oWT9<^vJpZaJO=EE&Bu3mryDO0`kUxFW_ZgShx;26S}!tJcj#_-k9}A g641brpU?V&-@oYv^^$$vdjJ3c07*qoM6N<$f??Q0o&W#< literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-video-record.png b/icons/cameraplus-icon-m-camera-video-record.png new file mode 100644 index 0000000000000000000000000000000000000000..27381ba13496c100f1d16330502c399da0d9d6f4 GIT binary patch literal 640 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ z2$g^^?m{mAtUpHYmM#4RF10F`~#=N6Oya*9j`RB zW;|q8(nzX|xY^mEk-bs+glqZa#vT7}pRGycNKxOs|7TuW*`~>hbi7ZWX?($OF@^CW z#LaEBgVWWQ=P!$B433U zUXPe>^-Xed=cZQch?hEd@7EkKo2ORyPQt8Ut6usC8S`UI_a0p8aq|-CRR1Uc=8;a_ zwktE=eGrxT=f3xAGpG7J{<-a!BM#qgdwhLEvvTp4&@ZJzIlCpUpS@nm^I31hv>?k= zjyLM_9+n^8D6Gl*HT1woS5uQCiW6LBH@vUt*?r^4Z$F{ZGZh>*2U)K^N(h-g{oB3l z`cla?+FhM{4~m`@=KicZ?borVClxPT`+0DZ`az&Szm&>;@cr$S@s9iU_51^Ber8k3 zK_)v$@7A2!u92X=^pgOq%@NzH%yVV}9W&=>?w#YVbHdja9bf;vKt%sT<_e|<-mz}M z@5L>a#69CL~}U&3=E9@o-U3d z8I5mmZuF9IlsNG5e%oOVH8Hbka#=IeJIXv0XP;8L_VP1dWvfV2Z->9a%ATpQ0<%jp z7diS|a_MYu*?8k}%*O52YbuP@KesogmhHRye*f>c28YEIStg&Ee1r4ObRB`&$SAr| zZ<+G5i?ftk4BCZ7ERNLemtEA%d&VY#&wfMmy^hDbBM!#D5mRi@+ZW37=Arepck`2# zqbsbR#E7qE&P{x9XSUy2*ZETZpQiY4>Ef@57yhm@wSR}irTy1LBEGX7J8APx>zDX! zreMJt$5xv)9`@3Bz`>qtEF~`c=ZK}>-}z4bAEGUd_w-D@l~Gc#aLvKaJ9qC-yWpaB zUO9q$sS$VV!(!L}U2UdOT1@E`u@~!m#7i4jPQQ?Lx#0?{T~hSVwpA~d200zxair@1 z56fxnxAfmE(K9$9U-NRib&&o-w@nT?vsnK1s&cQp&1S|~6O{Kue$x7i>t;J79*SR{ zQgmxpZuMlTbyI%#UF$v>$TI2K#rh*BC$lEOk?}_+^F%AB-IphwNC(CrgQu&X%Q~lo FCIFG^-;V$Q literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-whitebalance-auto.png b/icons/cameraplus-icon-m-camera-whitebalance-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..4fb35731bd96e8ac0a8848851bba55e44eb0ce35 GIT binary patch literal 1315 zcmV+;1>E|HP)bPIiqYVL;Kr32R>tl$B*Fq+_?LzPhLC6_Sd4!wt%QhTDE^@&sMONw=i? z3vg#S2g^cISh-ro7?HFnf{Ubg0^XFQWih<1p55&++(aer;XZG&QAr&U+*y)VOIjRb z??unvq@?B56mYquPrXSGR5;Q7A{K)!4LCif zZ%@J{-e$(U6!f)7`X^$pKhuU#eg%Gr(KzCLf(wTvu)O^E3E)%&KhBR(=<$H*hF_lC?R|0jvY&82$y|J>X0#1u2)z?m|Z-HN|lI47X~# zP}%`Yf;i3Nlc3LX+9mDqV*BB0IA4hXByIGZo0K#pcWgK)>Ad%RN41=!uB(F5o)*a3%<_ z@xM3Z`F^imv-!_c32bpI?mq}{&aVRY0CnF+Pns=qTMVyT#ps&}+vqZ&)3p0zxI@6N zru|BpD~K}dmo~Bhw21wgP9{>FXjJV_E)F}>bs4upl~=lPV{|g9<9JVrhNwZ Z{$KS+DHCJT!u*FP)h$gbC(W=UDTGQ(H?`Y`+C-0eAM z@3Zf@SNg+nX75>R?X_mstXVU28dUzz=vF5=Q-Jq@g+Pxw$;^d@I*mXZFf6Ix4J@sP z&^)Nu2n>wsm()pSF4W6_bA~JfuFOGG1kFI7dI+kf+}pq|U@O^fVTF1*JO=y(`~r;4 zQZN&0xpJ}X(WW+6phaDl(4A7pRH1t!C3j&J+FYet>cBz9Z(4MDGQ3qF%_hd@m z33YO38qlPEp8Dvjf*+b%M){c?RbHjBigz6WZUN86 z^PM8B70Zh`eF{0O?5n<^Zc=ZJ-j7N~=pWC{_-J;H@N6+VRp-QDeov$7% zqj(x0s6FbbaJm#pB_0G8MbF28O@wgU4BQA@5VbEOxXkI|eo_TBT6~3iH0t3`)Jsz| zO@{CoV{T`SK&=cbBBj=;-Kx+&6VbLAT<@H^Py=uP=$|}aMOdjTp(i049S61m4*@?H z^OGt_ESaEgR}V$ypkWgBirlA!?{fA~r%qt?zg%b@a5c~`D*b`!NdXuh+5Jt<{y9;H zKCX(A0c}-iT9e;+_$NWtMX<|Ingcz6nZTf^O<*0cF?sF{9OjJTw*YH0MOXb!e*n4)t_Ib5vcbK5WQ9pH7sHvD$(WtLV@@W$58WsrQ!~!fy#1)L|85 zw5a4naJKpSckqO99KTe9gi0r!Ot?}?lnZXLM}8=-I(!#64LvFyk$;K`Adva^Smy!3}}g-cLOVu zq3urC)XyR$Z$oNypAtp_I}(@qn2>G^B)Dn|AuTCk4zMJz3*DLOftS?t%g{BdV+-~^ zNw1Et&^Fw#rj&5V0$!bgO#4KM=enPtG3sJ^*VRH_Xp3F`!e;4vc0fc;UuZ>OkKJ7PWdXBn_H zs*mdgWokuV!lerYcixj_Kr3O`0B#~|4YSa_fMR)h9w2N>A*>U*!sxrHncq7j)U8(U zuQ9s3qduEKbDerT(q&$rFp4_F_6NCb>cld1v(z6Gn!nWRb1FYSlD%3TS%zk=?T<8f znCvz3_E3CGs3CvfrM_vnUi#j%am4JjdO;b!Q|e~*HT6SvUm2RIB^h}Q=%FqyBPa`h ztFt{j^=MXKEGX~3SXQkoVT&OTsf2avD`nmvGh9zCQn!_9KcK!~NSQ04RUMtysmO+= z37AMYotpssN!Wm_;>;n~J-}k}tsQHD*}xt`G@4G>%nT>oJ$wPICmax;Of%Q(zY^up z5132%BghEapZXmJz9OXL&(VR)kIpn8jV8h$LVhP)bk_y{0>*Z{!wgkqmH+?%07*qo IM6N<$g0@AI`Tzg` literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-whitebalance-fluorescent.png b/icons/cameraplus-icon-m-camera-whitebalance-fluorescent.png new file mode 100644 index 0000000000000000000000000000000000000000..359b5fdab2eeee40d2bdaddb7776d6c15ed7519e GIT binary patch literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8wRq zL=J;6qiBJz6HrjH#5JNMI6tkVJh3R1p}f3YFEcN@I61K(RWH9NefB#WDFy~c1y2{p zkc`H+GYq|$14UfV_Z&QTEUq(YVQkq0rZurmw>K0p-@3^W*)aQp+SJyiP703I-i`(_ z-T&E{l4Lp_&*gt_GM%6Q*}QlgyI{{nDOu%>rJRiBiVxIS?zA+_7AO#A%5ys4`;n=6 zPWu770`@)3)(2QOJYV^>SF(U_57X@fnjcv1C})OWY8SdbX@W`Ee+li<-6x;>dmf%u z@_F{nFB<9bd37_FU3NUjn_%%Hv0|q21I87fe%cqa#H`i2?v}u1vu(!frdQh=A8ild z*a5UTciV*(pT)9kcK055DlhV~M`{Lhcg?(Kb0Tl8S@!bFoMOf^+DrFeKE8zguI>l7 z{qn`p2RJ`4`A9V;Y1VPKA{-1hOYy<7ibnkfYIooH&Mzth1}KB4tDnm{r-UW|2dkxU literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-camera-whitebalance-sunny.png b/icons/cameraplus-icon-m-camera-whitebalance-sunny.png new file mode 100644 index 0000000000000000000000000000000000000000..56fc8f81251afb09ae113780b344904cb24478c3 GIT binary patch literal 1042 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 literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-toolbar-back-white.png b/icons/cameraplus-icon-m-toolbar-back-white.png new file mode 100644 index 0000000000000000000000000000000000000000..2bdbb69b003b3d2aaa0f13f56ca40b825c2ee0c1 GIT binary patch literal 1711 zcmYLJ4OEh87KRc<%@Kcc@@L!+8_k~(72MQx6ww47og~{+az-Qi5DNJ4<3q$;hZHAW zE3M4G(#gV%O47wuQ%lVp-ElDOXUiFc>Q)BZ`Gus&V5@(X%hpc?vZq(nw|!9$ne^eFdm*E@AAJqTy}Ejpboa zSE4~jBzhOJ1L7fa4h&-Ca=EWSd_cgO937Xi2#uTkb;OWz~zJ70|3HDS$qiPqCr3)Ho{z?Kmu@J)a3yRNCwC`VgyJ- zVUAD;Ks-Qz00@Nod=U1v4@%OY1rUt|&|#2cR0om-A`lbc=kG`I3nKYZll&Hi0)ol^?*wVDg7m+q z|Gxg%8Z;SmRT+{fU_lxm!EBf96$-dO6eQxHkNIzQ?rLEfAQuve&_1jxpe#@<1*K%k z>WzJ?7s$JNzx;*{t&SN*OX44TQgu6y9cSMkZf9r7!uizwQSDrNCqlCGz`vuLhmYd& zSZ{8IN90{rLTOE>JELXp8*EH$HW%c_#{QVR`Pa}?2Zu-brFWteZeU5S5v2NgWIOO zg)3mP|2a^9KZ({&+VgHrK3`Hw|m!h7)<( z6BWY5dfwy}=#@93)3v9LLzB%TS1ztqj!l>8bUIij+qsne-SyC-myXNt&7Hi;2&eTP zshycbZd1jP{uho@laqG_gW(GR>m)DnRpp~c$=8~jOE-QiqEIMV3Ol|>>U8@Q)ctcI zA#!+ZY_Pxh51PxD2R|o>L=7of&YB8JBQH2(?d=Z%ujw*bV9%bCmX;REQ@h9w>2u%X zpO>+;k%r$gAL1`Nq+BgOb?TI~PsyQ`tnZj87&dR-0OCB!KTuQC|KH=p~t7RTHl)iA6r zzB;_|^|eoOY$H37V2?LJg)Suw<(v0rIDN{c+#4THvG?~lFQJ8ng+&+Le7kPFs=E3c z-I*FC)6S>FX|lyakuDPHsr8$3{m67S&N6FxDNrhv@`8tY>hNpcOilI9%J|pgN1K8!j$0{q~*LGATTiS^^Jp>nFG^ftw-A|kDE24%!gG<(JzMTe2I_}(45PjxLG+_jmfTG7{)=K6ShzkK*` zR|@So<5n|kHs4_iJ32B#?8;fL+IX?6E0z3ov~Q^>BtdiO(g`}94(H_DSm^h9VCbGo zc4ejv(z)>$w2||aoGVusFKGMwEcI{XVcK6`R%WlPl$XE9cbs@IsC|Nq=*@)(wB76V Z;k5>Zor~MD9Q_3`%;EJpcj;SgRg^m3wd|M$|L(EUdtQ zTB+^Y38CsS;DyG1cJi?0O8z7-b(;UvbCMUQ6A@}=V*LLKkjPkB0y;wl?|`?&WAB0Y zF(H-;US>M>4;RYZl^Y>$2IMS&nKHk2qmPLA#-oTFr5s0>*>edk@dNf7Xb2OR>7DS= z<#P$*%`91^QB*G&dJf(K*M(g^fsfN4Ef4ADUc$=kG1G6;2T?UcCSxqpJQG)FnOv%z-7CPVy!-gl3Z(z#r7PW^~K>_wT zj851Skb`)uE3wRK#@P#&xRce4v#((Ff^CUo8BH(&H6yk!&fV_RHV5$v=5BXtn}f7n u-R6H>#+^Gw@EJJRU3whcxmBwFHuD4AO?&eDTF7ny0000 literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-toolbar-favorite-mark-white.png b/icons/cameraplus-icon-m-toolbar-favorite-mark-white.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0be97b0ce0869da31d38625a6c754ab89826f6 GIT binary patch literal 695 zcmV;o0!aOdP)rdI2J2%G{v z`+Nr61%{=>Q4X&2R~*(~k06c`*c53<%n=dysN-FnI6tJ0`K*LI!odxu#bM_*O35Px zwnbSSb7{m&)Qj^%;`%xDqWyE$0;LXak`{+u+bpUeY1Z~o(r0z!Ski-8>r|2kz}w94 zRRJq@^k58p0dnWlYa~^Y-bflb+?W?esx?(t?R+BX0_($pNhEouMyv}xZo z{Lz$}oUbHZ%u(2d)tu7O_5`g;I+}yHBdgV@qw6uhC28*;ircdqNe$lhXj{@SP}tBo zUF)ECO?nJ`q<%vw!71g z8*npM(F8`oJ>Z9DaE^lm%Ee(E1MlD*fnmRObGW<_N5%Ua?wGv}cEu}T7kFfCm-cr* zf6UIEuPf+FPcvv{*)a=G{J-Q6mFFx?bBDVOYq&^$JlC(PpX)J+TC4ETEZIkq| zDsilP<)mGInEAO%h$V2yu486?t`cIjc$=j6Ha=|ECwA@8^41qZj2#TEoRu_gHkms=)1%cG`H<&4=+$iz$t&0>gtaqk3xt#%<2WltNX3zP&X!UsJ3$ zS2%`x-O+Y1!++5Ed#fCEYb9M${g_G$tgTnl21(PBHl}t^lG-JGk+fdYl%#h>_D%Jp z^O}Gwl*a;apvev#u$Z#Ak^lpeCTzu$^jXrQ7FPLH_518oPTUqrCnR;M-l1Sh{Z3SW z(Qh(eP163b(xbqPQ+^9r*<@#8+X~>Ot3P9!mOLcufe9D%7TEC*#PtBLUEK-OqO?E( z?Z8!_X2Cy!bAM6XSzz93)vR{Ak7<;62>9k!bq81-QP?Wrw&VY1HJ8OUBk2I1I+71S zUj%WxfcK8~snyDi&m(ICF0=Tm_yruPAnu59V4Rn&M#G#|i3fpcBmNGoDIso+hIc(COOJUqWEN%kOM8ugJ$jmmB{qke8Ly)i5fBA_Bu#$+V<51@Z#kSgz;FMG=AF zyY8Oqhj~$8xt=Q*tqR;DsoTb*%>r`}a=VQ)7p)5P?R}BqPb3YSfKeM~eY(9+(Kfg6 zBqhM4J$)k?{>{L1mgBkk((xnapET~uubBZ?bZ<)d1s2azfX8M5^A_WU>~;Qu7y`qJ zr(B^;z_=^)132Sy&e&YQxaEX}P1$@_M+yl{SUf>S?Du(K&J}-1_F39tzJNK)P28fV z$!T+*zR9@#K(7dRF{SlW&Q_kf{haWVf# b{a5e@!R&0b+@k!E00000NkvXXu0mjfei6H* literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-toolbar-mediacontrol-pause-white.png b/icons/cameraplus-icon-m-toolbar-mediacontrol-pause-white.png new file mode 100644 index 0000000000000000000000000000000000000000..c39de21dab7abd1831b71e9c69af861a6d67d64b GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEEX7WqAsj$Z!;#Vf4nJ z2>OCB;{nTrWT2pAiEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0woJzX3_ zB3j?h*vNaxK)^L#AceuJ>R3Xrj>FtcjR_MX7-qdWz?Zoqqk&Cqfd!XRVZ@1v#jY`T zCdbUF`BxY8=oy!wV!B!~_ZLInSCRpY*$Hx%>IXP)Fg%}UJh^CpzXzPAb3XsOAfEWolb{5BZ`P4&lJa{)be1t>}IxeX3t(TvwtKp-+NhV|9TSpH-g4b8rEp zSY5VA9bsV!?%+BWc00JvG_w)Ua2&IW4yrqDO~rn^#I7R$-&7u)jq`YnH4}AgI3#Gh!(C(rdBQfY-1O zZ&DRZ1vo1D?0%wpf7Po8$FN;|sZS0^`5F9%(>Q_gbU1mH0lXrH&bNtKI;tDM5z%K4 zD`M%WA|8B?tyrOEIPx?2s;&JMr*QIjyAicAAJO~n6L1!=@6>c)om9U7$_UIZNVW3( P00000NkvXXu0mjf76}tT literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-toolbar-mediacontrol-stop-white.png b/icons/cameraplus-icon-m-toolbar-mediacontrol-stop-white.png new file mode 100644 index 0000000000000000000000000000000000000000..b22d50f8db4fe8ba10d0f9705108abf5b1e90598 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEEX7WqAsj$Z!;#Vf4nJ z2>OCB;{nTrWT2pAiEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0v>JY5_^ zB3j?x*vQLd$kY1JzC&|Hr}PuGU9K};UNc~g*}$US6@KIB@1-7^_D8)Q3ksIJ3*!B8 z-SjSd0ejeku)~S$W)B$mxJe5hk6h&My(hNvNcO?*xu&|35vJGTeZ7DCCoP!On8mhA zazz?;hUAXvn)_x?wqaEFTko2cYH$VUP6kg`KbLh* G2~7aX`(@n# literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-toolbar-share-white.png b/icons/cameraplus-icon-m-toolbar-share-white.png new file mode 100644 index 0000000000000000000000000000000000000000..3f284362c632b2569533123471278e591786e680 GIT binary patch literal 818 zcmV-21I_%2P)(dPhlL#Uz=e|ODoAPw6xNwNlS{{a3LEPQZC4D z#H=KV3*rxOqr`>c-i78zN-mVRVc0BWxgn;Z5VMt;@pAEezx6fee0RQQ+u1I>>*-va z&-;Ad&v~Bb^W!N~naL=hZUN(=Vj6un0IPvjz;~bvcmVYMWu<047OIzw#xM1>IxlaZ zwYVnrQ;fJmyi{vd$}&78l|VPJJfZy!U`v*V(7?tYQ0c!{; zr~malNrj?7WGyUUZ=WU zot5M4QHP7ze^cA@KJt#1s$Ytb@_47NRIAiBwKv9YRP9jL8lUpcsNFf+pXyWfg1WfS zmfXzlClFUS!;dlV1`Wx6NsO?lF;ATv_a1d$3F6|=ryfz~mmne)Xtf@==ag z8{%b`AxIYu)cMhDh-YyaR5y-sRFe}Dw*o`CiPRTxcB?;%_=!w)`BAMNSFh*9_Nx~S z!MrZ!Z(vx`R>KlU;g@<@Jy%57ShPAtUEO-%FwjCMR?}htXq?KPq=8U=wGxWgG&q?> z)3g9M2%Jd4y`5E8S4X literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-toolbar-volume-off-white-selected.png b/icons/cameraplus-icon-m-toolbar-volume-off-white-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..4410455633f3f065de95df3dbe5cd1202e8eb191 GIT binary patch literal 705 zcmV;y0zUnTP)1+h>p zRPe5`uoNo`!OlidM6mR#>rA2eCxswrWi8m)h@#@@-D8pDZnD|UZgw`FMSk#-$-Zx9 zpPkLj{B~<9|Fh~F4Une^V5}y9vC0BG3e1$~?*Q-?m@7?`P#WMVUtcc zjz{Y#4e&THMQ1dMLS6?Jfo)ZRtw~KrUA^zR-l;Pwb*P)wM-J*zM*YZGZ533)8TuW{KYrrhX3+nga*j=@u?im;0mYmqCK6FsO)hj_~yMtVKJSrN% z&k}QM1vm{nsdmZ^s_ag(3AjQ35;PXy)(F}y;Au|%DsT`u%lbNb1o%7-IOqp_0o*F^ zn>w%zoTnc$RIL&^%H85s;3Dv#`@IKQ+4dHy?0+x~avMH)0x-)@jszLw)n?V#!O26*KOfXZLB;@L=bxjk1jg1u;}Z`5-`YU=8l nqJ7qM@`g1^6Tnza0AuwRHXPF9`2xTe00000NkvXXu0mjfh9)|_ literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-toolbar-volume-white-selected.png b/icons/cameraplus-icon-m-toolbar-volume-white-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..6f591b35841333a1429403a0e649bb42763c7273 GIT binary patch literal 765 zcmV}=cS}ZC+DQ;!vSDR6+Woq6;-m5w=v`$p}bv=-fqvxOPb3J9u~*S z0V3&<<=v0apPJsC);GyHi(SBcN55rpb6S9R0Rc_GCP#l}artZkW-90tzny%a>jV#2dfSzvO8O*6opgkS(mfvvW_;^>QkPM`oh zXaHKO@Y4z5nt%&H7I+0*cXIkI-UBA$j9WdD3KfQheNJ7Yq#@G_lGZvoOG3T7G>ZeP z2Y5WB?~dqu)%2lYFYZh799R#GR9QC#oB}R7+90r#;yZEV&u+{U47^!?e@BFEf0=x5 z|De@PN$L%2NdW^tY|SeHdfqDOr;1Z_-*i12?}kh4Ebtn*hChIovpmJm#Sg&E617Gr v82B0$$MxP?^~^~1e^?V)9WbfY0h8Kq1;kmIxSvrd00000NkvXXu0mjfe;7?6 literal 0 HcmV?d00001 diff --git a/icons/cameraplus-icon-m-viewfinder-camera.png b/icons/cameraplus-icon-m-viewfinder-camera.png new file mode 100644 index 0000000000000000000000000000000000000000..48d74e751e0224e51391320b791f209bb0e0de92 GIT binary patch literal 674 zcmV;T0$u%yP)7%iZn!j53jLXhYWFj{KMU!b(N zAclg*|KLA>*lp;5MB_(eVx%Im-$Fuk_;6o~xx>e1Wp>WF=4Qw~$z(Iheb0U0nb~va z?q-r`GFMU?@G=aLnqh#{G(Nyc&-plTErpR9908q^Gf7B#AZbg@VM~Q)G8GHi8t^>P z6}7SsyeI?w0&b-B1HdkDSTSZA$bjF#SQ#J(uK!ya8TO ze8H;t2+RSmftQ?rjAwvWg+4oX7U2#o4RF=|bu2mN&2?rWv$oL<;3;6;)@48&cw*2V z04+~|J>Wj@!!Y?-rhu=&t(rRbICi^2WqpLYz-?gPI&lv-fuGd7 zpsq(~hj``*wRS8*Yk*y&E_zLCfLWt1dQEG9JHUid+mDG*vo@YCH1E(xtK|vs%%P1| z%d-+61CM|&*2x2Nzz6ET+Phcc5#TK_>ZmaqYM9@Oy*sjdz=}h^5^C5{oDI!8Ns}7< zHF`2=Jmiw1?#Mcl7FBJ2F^u&RWk1l54j1o<$0N<--Vdbaa{VsUP3po%7fu7T6B@D7 zhSLDcz;-$>wb`cdeA0zV8utfBZ-B;eX}VBj83strFhFYl0?HcY1l+p_@&Et;07*qo IM6N<$f_aD}WdHyG literal 0 HcmV?d00001 diff --git a/icons/exposure.svg b/icons/exposure.svg new file mode 100644 index 0000000..b96cdf3 --- /dev/null +++ b/icons/exposure.svg @@ -0,0 +1,72 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/icons/filter-black-white.svg b/icons/filter-black-white.svg new file mode 100644 index 0000000..c071dab --- /dev/null +++ b/icons/filter-black-white.svg @@ -0,0 +1,61 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/icons/filter-negative.svg b/icons/filter-negative.svg new file mode 100644 index 0000000..05245fc --- /dev/null +++ b/icons/filter-negative.svg @@ -0,0 +1,61 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/icons/filter-none.svg b/icons/filter-none.svg new file mode 100644 index 0000000..fdc8d34 --- /dev/null +++ b/icons/filter-none.svg @@ -0,0 +1,61 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/icons/filter-sepia.svg b/icons/filter-sepia.svg new file mode 100644 index 0000000..e1c1739 --- /dev/null +++ b/icons/filter-sepia.svg @@ -0,0 +1,73 @@ + + + + + + + + + + image/svg+xml + + + + + + + + S + + diff --git a/icons/filter-solarize.svg b/icons/filter-solarize.svg new file mode 100644 index 0000000..13becaa --- /dev/null +++ b/icons/filter-solarize.svg @@ -0,0 +1,74 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/icons/filter-vivid.svg b/icons/filter-vivid.svg new file mode 100644 index 0000000..000c857 --- /dev/null +++ b/icons/filter-vivid.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/icons/gen.sh b/icons/gen.sh new file mode 100755 index 0000000..db58339 --- /dev/null +++ b/icons/gen.sh @@ -0,0 +1 @@ + cat icons.txt| while read l; do echo $l | sed -e 's/^\([^ ]*\) \([0-9]*\) \([0-9]*\) \(.*\)/inkscape -C -e cameraplus-\1.png -w \2 -h \3 \4/'; done | bash diff --git a/icons/icon-m-camera-face-detection-screen.svg b/icons/icon-m-camera-face-detection-screen.svg new file mode 100644 index 0000000..0205ae5 --- /dev/null +++ b/icons/icon-m-camera-face-detection-screen.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/icons/icon-m-camera-flash-always-screen.svg b/icons/icon-m-camera-flash-always-screen.svg new file mode 100644 index 0000000..8f38141 --- /dev/null +++ b/icons/icon-m-camera-flash-always-screen.svg @@ -0,0 +1,60 @@ + + + +image/svg+xml + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-flash-auto-screen.svg b/icons/icon-m-camera-flash-auto-screen.svg new file mode 100644 index 0000000..69b7b16 --- /dev/null +++ b/icons/icon-m-camera-flash-auto-screen.svg @@ -0,0 +1,65 @@ + + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-flash-off-screen.svg b/icons/icon-m-camera-flash-off-screen.svg new file mode 100644 index 0000000..c95b204 --- /dev/null +++ b/icons/icon-m-camera-flash-off-screen.svg @@ -0,0 +1,65 @@ + + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-flash-red-eye-screen.svg b/icons/icon-m-camera-flash-red-eye-screen.svg new file mode 100644 index 0000000..dcf4c5e --- /dev/null +++ b/icons/icon-m-camera-flash-red-eye-screen.svg @@ -0,0 +1,71 @@ + + + +image/svg+xml + + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-iso-100.svg b/icons/icon-m-camera-iso-100.svg new file mode 100644 index 0000000..2270323 --- /dev/null +++ b/icons/icon-m-camera-iso-100.svg @@ -0,0 +1,82 @@ + + + +image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-iso-200.svg b/icons/icon-m-camera-iso-200.svg new file mode 100644 index 0000000..02455d4 --- /dev/null +++ b/icons/icon-m-camera-iso-200.svg @@ -0,0 +1,82 @@ + + + +image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-iso-400.svg b/icons/icon-m-camera-iso-400.svg new file mode 100644 index 0000000..ca2a7b6 --- /dev/null +++ b/icons/icon-m-camera-iso-400.svg @@ -0,0 +1,80 @@ + + + +image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-iso-800.svg b/icons/icon-m-camera-iso-800.svg new file mode 100644 index 0000000..f57b8b3 --- /dev/null +++ b/icons/icon-m-camera-iso-800.svg @@ -0,0 +1,82 @@ + + + +image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-iso-auto.svg b/icons/icon-m-camera-iso-auto.svg new file mode 100644 index 0000000..289f5a3 --- /dev/null +++ b/icons/icon-m-camera-iso-auto.svg @@ -0,0 +1,87 @@ + + + +image/svg+xml + + + + + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-location.svg b/icons/icon-m-camera-location.svg new file mode 100644 index 0000000..b95dd02 --- /dev/null +++ b/icons/icon-m-camera-location.svg @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/icons/icon-m-camera-night-screen.svg b/icons/icon-m-camera-night-screen.svg new file mode 100644 index 0000000..717318b --- /dev/null +++ b/icons/icon-m-camera-night-screen.svg @@ -0,0 +1,62 @@ + + + +image/svg+xml + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-ongoing-recording.svg b/icons/icon-m-camera-ongoing-recording.svg new file mode 100644 index 0000000..3c49694 --- /dev/null +++ b/icons/icon-m-camera-ongoing-recording.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/icons/icon-m-camera-roll.svg b/icons/icon-m-camera-roll.svg new file mode 100644 index 0000000..e6c7d24 --- /dev/null +++ b/icons/icon-m-camera-roll.svg @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/icons/icon-m-camera-scene-auto-screen.svg b/icons/icon-m-camera-scene-auto-screen.svg new file mode 100644 index 0000000..de0714c --- /dev/null +++ b/icons/icon-m-camera-scene-auto-screen.svg @@ -0,0 +1,64 @@ + + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-scene-landscape-screen.svg b/icons/icon-m-camera-scene-landscape-screen.svg new file mode 100644 index 0000000..61b94a5 --- /dev/null +++ b/icons/icon-m-camera-scene-landscape-screen.svg @@ -0,0 +1,67 @@ + + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-scene-macro-screen.svg b/icons/icon-m-camera-scene-macro-screen.svg new file mode 100644 index 0000000..9c77d18 --- /dev/null +++ b/icons/icon-m-camera-scene-macro-screen.svg @@ -0,0 +1,62 @@ + + + +image/svg+xml + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-scene-portrait-screen.svg b/icons/icon-m-camera-scene-portrait-screen.svg new file mode 100644 index 0000000..07347ba --- /dev/null +++ b/icons/icon-m-camera-scene-portrait-screen.svg @@ -0,0 +1,71 @@ + + + +image/svg+xml + + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-scene-sports-screen.svg b/icons/icon-m-camera-scene-sports-screen.svg new file mode 100644 index 0000000..fce1c74 --- /dev/null +++ b/icons/icon-m-camera-scene-sports-screen.svg @@ -0,0 +1,74 @@ + + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/icon-m-camera-video-fine-resolution.svg b/icons/icon-m-camera-video-fine-resolution.svg new file mode 100644 index 0000000..a4da9a9 --- /dev/null +++ b/icons/icon-m-camera-video-fine-resolution.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + diff --git a/icons/icon-m-camera-video-high-resolution.svg b/icons/icon-m-camera-video-high-resolution.svg new file mode 100644 index 0000000..181a53c --- /dev/null +++ b/icons/icon-m-camera-video-high-resolution.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + diff --git a/icons/icon-m-camera-video-low-resolution.svg b/icons/icon-m-camera-video-low-resolution.svg new file mode 100644 index 0000000..514a264 --- /dev/null +++ b/icons/icon-m-camera-video-low-resolution.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + diff --git a/icons/icon-m-camera-video-night-screen.svg b/icons/icon-m-camera-video-night-screen.svg new file mode 100644 index 0000000..aceabd0 --- /dev/null +++ b/icons/icon-m-camera-video-night-screen.svg @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/icons/icon-m-camera-video.svg b/icons/icon-m-camera-video.svg new file mode 100644 index 0000000..c21382a --- /dev/null +++ b/icons/icon-m-camera-video.svg @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/icons/icon-m-camera-whitebalance-auto-screen.svg b/icons/icon-m-camera-whitebalance-auto-screen.svg new file mode 100644 index 0000000..1205f05 --- /dev/null +++ b/icons/icon-m-camera-whitebalance-auto-screen.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + diff --git a/icons/icon-m-camera-whitebalance-cloudy-screen.svg b/icons/icon-m-camera-whitebalance-cloudy-screen.svg new file mode 100644 index 0000000..acde7d7 --- /dev/null +++ b/icons/icon-m-camera-whitebalance-cloudy-screen.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/icons/icon-m-camera-whitebalance-fluorescent-screen.svg b/icons/icon-m-camera-whitebalance-fluorescent-screen.svg new file mode 100644 index 0000000..699da40 --- /dev/null +++ b/icons/icon-m-camera-whitebalance-fluorescent-screen.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/icons/icon-m-camera-whitebalance-sunny-screen.svg b/icons/icon-m-camera-whitebalance-sunny-screen.svg new file mode 100644 index 0000000..5f178a2 --- /dev/null +++ b/icons/icon-m-camera-whitebalance-sunny-screen.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + diff --git a/icons/icon-m-camera-whitebalance-tungsten-screen.svg b/icons/icon-m-camera-whitebalance-tungsten-screen.svg new file mode 100644 index 0000000..021e698 --- /dev/null +++ b/icons/icon-m-camera-whitebalance-tungsten-screen.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + diff --git a/icons/icon-m-settings-reset.svg b/icons/icon-m-settings-reset.svg new file mode 100644 index 0000000..98e4973 --- /dev/null +++ b/icons/icon-m-settings-reset.svg @@ -0,0 +1,89 @@ + + + +image/svg+xml + + + + + + + + \ No newline at end of file diff --git a/icons/icon-m-toolbar-delete.svg b/icons/icon-m-toolbar-delete.svg new file mode 100644 index 0000000..ae6b42d --- /dev/null +++ b/icons/icon-m-toolbar-delete.svg @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/icons/icon-m-toolbar-favorite-mark.svg b/icons/icon-m-toolbar-favorite-mark.svg new file mode 100644 index 0000000..0ec1dc3 --- /dev/null +++ b/icons/icon-m-toolbar-favorite-mark.svg @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/icons/icon-m-toolbar-favorite-unmark.svg b/icons/icon-m-toolbar-favorite-unmark.svg new file mode 100644 index 0000000..2bf46ab --- /dev/null +++ b/icons/icon-m-toolbar-favorite-unmark.svg @@ -0,0 +1,20 @@ + + + + + + + + + diff --git a/icons/icon-m-toolbar-mediacontrol-pause.svg b/icons/icon-m-toolbar-mediacontrol-pause.svg new file mode 100644 index 0000000..c8836a1 --- /dev/null +++ b/icons/icon-m-toolbar-mediacontrol-pause.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/icons/icon-m-toolbar-mediacontrol-play.svg b/icons/icon-m-toolbar-mediacontrol-play.svg new file mode 100644 index 0000000..38d1075 --- /dev/null +++ b/icons/icon-m-toolbar-mediacontrol-play.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/icons/icon-m-toolbar-mediacontrol-stop.svg b/icons/icon-m-toolbar-mediacontrol-stop.svg new file mode 100644 index 0000000..775ffde --- /dev/null +++ b/icons/icon-m-toolbar-mediacontrol-stop.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/icons/icon-m-toolbar-share.svg b/icons/icon-m-toolbar-share.svg new file mode 100644 index 0000000..fca965e --- /dev/null +++ b/icons/icon-m-toolbar-share.svg @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/icons/icon-m-toolbar-volume-off.svg b/icons/icon-m-toolbar-volume-off.svg new file mode 100644 index 0000000..bd662c1 --- /dev/null +++ b/icons/icon-m-toolbar-volume-off.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + diff --git a/icons/icon-m-toolbar-volume.svg b/icons/icon-m-toolbar-volume.svg new file mode 100644 index 0000000..03f92ad --- /dev/null +++ b/icons/icon-m-toolbar-volume.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + diff --git a/icons/icon-m-viewfinder-camera.svg b/icons/icon-m-viewfinder-camera.svg new file mode 100644 index 0000000..aceef1a --- /dev/null +++ b/icons/icon-m-viewfinder-camera.svg @@ -0,0 +1,62 @@ + + + +image/svg+xml + + + + + \ No newline at end of file diff --git a/icons/icons.txt b/icons/icons.txt new file mode 100644 index 0000000..42de8c9 --- /dev/null +++ b/icons/icons.txt @@ -0,0 +1,53 @@ +icon-l-camera-standby 132 132 leftover_bacon_Camera_Lens.svg +icon-m-camera-face-detection-screen 32 32 icon-m-camera-face-detection-screen.svg +icon-m-camera-flash-always 48 48 icon-m-camera-flash-always-screen.svg +icon-m-camera-flash-auto 48 48 icon-m-camera-flash-auto-screen.svg +icon-m-camera-flash-off 48 48 icon-m-camera-flash-off-screen.svg +icon-m-camera-flash-red-eye 48 48 icon-m-camera-flash-red-eye-screen.svg +icon-m-camera-iso-100 48 48 icon-m-camera-iso-100.svg +icon-m-camera-iso-200 48 48 icon-m-camera-iso-200.svg +icon-m-camera-iso-400 48 48 icon-m-camera-iso-400.svg +icon-m-camera-iso-800 48 48 icon-m-camera-iso-800.svg +icon-m-camera-iso-auto 48 48 icon-m-camera-iso-auto.svg +icon-m-camera-location 32 32 icon-m-camera-location.svg +icon-m-camera-night 48 48 icon-m-camera-night-screen.svg +icon-m-camera-ongoing-recording 32 32 icon-m-camera-ongoing-recording.svg +icon-m-camera-scene-landscape 48 48 icon-m-camera-scene-landscape-screen.svg +icon-m-camera-scene-macro 48 48 icon-m-camera-scene-macro-screen.svg +icon-m-camera-scene-portrait 48 48 icon-m-camera-scene-portrait-screen.svg +icon-m-camera-scene-sports 48 48 icon-m-camera-scene-sports-screen.svg +icon-m-camera-video-night 48 48 icon-m-camera-video-night-screen.svg +icon-m-camera-video 48 48 icon-m-camera-video.svg +icon-m-camera-whitebalance-auto 48 48 icon-m-camera-whitebalance-auto-screen.svg +icon-m-camera-whitebalance-cloudy 48 48 icon-m-camera-whitebalance-cloudy-screen.svg +icon-m-camera-whitebalance-fluorescent 48 48 icon-m-camera-whitebalance-fluorescent-screen.svg +icon-m-camera-whitebalance-sunny 48 48 icon-m-camera-whitebalance-sunny-screen.svg +icon-m-camera-whitebalance-tungsten 48 48 icon-m-camera-whitebalance-tungsten-screen.svg +icon-m-toolbar-delete-white 40 40 icon-m-toolbar-delete.svg +icon-m-toolbar-favorite-mark-white 40 40 icon-m-toolbar-favorite-mark.svg +icon-m-toolbar-favorite-unmark-white 40 40 icon-m-toolbar-favorite-unmark.svg +icon-m-toolbar-mediacontrol-pause-white 40 40 icon-m-toolbar-mediacontrol-pause.svg +icon-m-toolbar-mediacontrol-play-white 40 40 icon-m-toolbar-mediacontrol-play.svg +icon-m-toolbar-mediacontrol-stop-white 40 40 icon-m-toolbar-mediacontrol-stop.svg +icon-m-toolbar-share-white 40 40 icon-m-toolbar-share.svg +icon-m-toolbar-volume-off-white-selected 40 40 icon-m-toolbar-volume-off.svg +icon-m-toolbar-volume-white-selected 40 40 icon-m-toolbar-volume.svg +icon-m-viewfinder-camera 48 48 icon-m-viewfinder-camera.svg +icon-m-camera-roll 40 40 icon-m-camera-roll.svg +icon-m-camera-scene-auto 48 48 icon-m-camera-scene-auto-screen.svg +icon-m-camera-video-record 64 64 icon-m-camera-video.svg +icon-m-camera-video-fine-resolution 32 32 icon-m-camera-video-fine-resolution.svg +icon-m-camera-video-high-resolution 32 32 icon-m-camera-video-high-resolution.svg +icon-m-camera-video-low-resolution 32 32 icon-m-camera-video-low-resolution.svg +icon-m-camera-manual-exposure 48 48 exposure.svg +icon-m-camera-filter-black-white 48 48 filter-black-white.svg +icon-m-camera-filter-negative 48 48 filter-negative.svg +icon-m-camera-filter-sepia 48 48 filter-sepia.svg +icon-m-camera-filter-solarize 48 48 filter-solarize.svg +icon-m-camera-filter-vivid 48 48 filter-vivid.svg +icon-m-camera-no-filter 48 48 filter-none.svg +icon-m-toolbar-back-white 52 52 arrow-black.svg +icon-m-camera-shutter 64 64 shutter.svg +icon-m-camera-torch-off 48 48 torch-off.svg +icon-m-camera-torch-on 48 48 torch-on.svg +icon-m-settings-reset 48 48 icon-m-settings-reset.svg diff --git a/icons/leftover_bacon_Camera_Lens.svg b/icons/leftover_bacon_Camera_Lens.svg new file mode 100644 index 0000000..03d83b7 --- /dev/null +++ b/icons/leftover_bacon_Camera_Lens.svg @@ -0,0 +1,565 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Camera Lens + 2007-11-09 + + + Leftover Bacon + + + + + + camera + lens + + + A camera lens. + + + pd + + + + + openclipart.org + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/shutter.svg b/icons/shutter.svg new file mode 100644 index 0000000..b2e8f9a --- /dev/null +++ b/icons/shutter.svg @@ -0,0 +1,61 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/icons/torch-off.svg b/icons/torch-off.svg new file mode 100644 index 0000000..2190a6c --- /dev/null +++ b/icons/torch-off.svg @@ -0,0 +1,123 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/icons/torch-on.svg b/icons/torch-on.svg new file mode 100644 index 0000000..9003202 --- /dev/null +++ b/icons/torch-on.svg @@ -0,0 +1,99 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/qml/CameraTheme.qml b/qml/CameraTheme.qml new file mode 100644 index 0000000..00b30fb --- /dev/null +++ b/qml/CameraTheme.qml @@ -0,0 +1,197 @@ +// -*- qml -*- + +/*! + * This file is part of CameraPlus. + * + * Copyright (C) 2012-2013 Mohammed Sameer + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +import QtQuick 1.1 +import QtCamera 1.0 + +QtObject { + property string standbyIcon: "image://theme/cameraplus-icon-l-camera-standby" + + property string gpsIndicatorIcon: "image://theme/cameraplus-icon-m-camera-location" + property string faceDetectionIndicatorIcon: "image://theme/cameraplus-icon-m-camera-face-detection-screen" + + property string recordingDurationIcon: "image://theme/cameraplus-icon-m-camera-ongoing-recording" + property string cameraTorchOnIconId: "image://theme/cameraplus-icon-m-camera-torch-on" + property string cameraTorchOffIconId: "image://theme/cameraplus-icon-m-camera-torch-off" + property string soundMuteOnIconId: "image://theme/cameraplus-icon-m-toolbar-volume-off-white-selected" + property string soundMuteOffIconId: "image://theme/cameraplus-icon-m-toolbar-volume-white-selected" + property string videoStopIconId: "image://theme/cameraplus-icon-m-toolbar-mediacontrol-stop-white" + property string videoPauseIconId: "image://theme/cameraplus-icon-m-toolbar-mediacontrol-pause-white" + property string videoPlayIconId: "image://theme/cameraplus-icon-m-toolbar-mediacontrol-play-white" + property string cameraManualExposureIconId: "image://theme/cameraplus-icon-m-camera-manual-exposure" + property string cameraVideoIconId: "image://theme/cameraplus-icon-m-camera-video" + property string cameraImageIconId: "image://theme/cameraplus-icon-m-viewfinder-camera" + property string captureButtonImageIconId: "image://theme/cameraplus-icon-m-camera-shutter" + property string captureButtonVideoIconId: "image://theme/cameraplus-icon-m-camera-video-record" + property string captureButtonRecordingIconId: "image://theme/cameraplus-icon-m-camera-video-record" + property string cameraToolBarMenuIcon: "image://theme/cameraplus-icon-m-toolbar-back-white" + property string deleteIconId: "image://theme/cameraplus-icon-m-toolbar-delete-white" + property string shareIconId: "image://theme/cameraplus-icon-m-toolbar-share-white" + property string favoriteMarkIconId: "image://theme/cameraplus-icon-m-toolbar-favorite-mark-white" + property string favoriteUnmarkIconId: "image://theme/cameraplus-icon-m-toolbar-favorite-unmark-white" + property string galleryIconId: "image://theme/cameraplus-icon-m-camera-roll" + + property string flashAutoIconId: "image://theme/cameraplus-icon-m-camera-flash-auto" + property string flashOnIconId: "image://theme/cameraplus-icon-m-camera-flash-always" + property string flashOffIconId: "image://theme/cameraplus-icon-m-camera-flash-off" + property string flashRedEyeIconId: "image://theme/cameraplus-icon-m-camera-flash-red-eye" + + property string whiteBalanceAutoIconId: "image://theme/cameraplus-icon-m-camera-whitebalance-auto" + property string whiteBalanceSunsetIconId: "image://theme/cameraplus-icon-m-camera-whitebalance-sunny" + property string whiteBalanceCloudyIconId: "image://theme/cameraplus-icon-m-camera-whitebalance-cloudy" + property string whiteBalanceFlourescentIconId: "image://theme/cameraplus-icon-m-camera-whitebalance-fluorescent" + property string whiteBalanceTungstenIconId: "image://theme/cameraplus-icon-m-camera-whitebalance-tungsten" + + property string colorFilterNormalIconId: "image://theme/cameraplus-icon-m-camera-no-filter" + property string colorFilterGrayScaleIconId: "image://theme/cameraplus-icon-m-camera-filter-black-white" + property string colorFilterSepiaIconId: "image://theme/cameraplus-icon-m-camera-filter-sepia" + property string colorFilterVividIconId: "image://theme/cameraplus-icon-m-camera-filter-vivid" + property string colorFilterNegativeIconId: "image://theme/cameraplus-icon-m-camera-filter-negative" + property string colorFilterSolarizeIconId: "image://theme/cameraplus-icon-m-camera-filter-solarize" + + property string imageSceneModeAutoIconId: "image://theme/cameraplus-icon-m-camera-scene-auto" + property string imageSceneModeCloseupIconId: "image://theme/cameraplus-icon-m-camera-scene-macro" + property string imageSceneModeLandscapeIconId: "image://theme/cameraplus-icon-m-camera-scene-landscape" + property string imageSceneModePortraitIconId: "image://theme/cameraplus-icon-m-camera-scene-portrait" + property string imageSceneModeNightIconId: "image://theme/cameraplus-icon-m-camera-night" + property string imageSceneModeSportIconId: "image://theme/cameraplus-icon-m-camera-scene-sports" + + property string videoSceneModeAutoIconId: "image://theme/cameraplus-icon-m-camera-scene-auto" + property string videoSceneModeNightIconId: "image://theme/cameraplus-icon-m-camera-video-night" + + property string isoAudoIconId: "image://theme/cameraplus-icon-m-camera-iso-auto" + property string iso100IconId: "image://theme/cameraplus-icon-m-camera-iso-100" + property string iso200IconId: "image://theme/cameraplus-icon-m-camera-iso-200" + property string iso400IconId: "image://theme/cameraplus-icon-m-camera-iso-400" + property string iso800IconId: "image://theme/cameraplus-icon-m-camera-iso-800" + property string resetIconId: "image://theme/cameraplus-icon-m-settings-reset" + + function videoIcon(ratio, res, device) { + if (res == "high") { + return "image://theme/cameraplus-icon-m-camera-video-high-resolution" + } else if (res == "medium") { + return "image://theme/cameraplus-icon-m-camera-video-fine-resolution" + } else if (res == "low") { + return "image://theme/cameraplus-icon-m-camera-video-low-resolution" + } else { + return "" + } + } + + function whiteBalanceIcon(val) { + switch (val) { + case WhiteBalance.Auto: + return whiteBalanceAutoIconId + case WhiteBalance.Sunset: + return whiteBalanceSunsetIconId + case WhiteBalance.Cloudy: + return whiteBalanceCloudyIconId + case WhiteBalance.Flourescent: + return whiteBalanceFlourescentIconId + case WhiteBalance.Tungsten: + return whiteBalanceTungstenIconId + default: + return "" + } + } + + function colorFilterIcon(val) { + switch (val) { + case ColorTone.Normal: + return colorFilterNormalIconId + case ColorTone.GrayScale: + return colorFilterGrayScaleIconId + case ColorTone.Sepia: + return colorFilterSepiaIconId + case ColorTone.Vivid: + return colorFilterVividIconId + case ColorTone.Negative: + return colorFilterNegativeIconId + case ColorTone.Solarize: + return colorFilterSolarizeIconId + default: + return "" + } + } + + function imageSceneModeIcon(val) { + switch (val) { + case Scene.Auto: + return imageSceneModeAutoIconId + case Scene.Closeup: + return imageSceneModeCloseupIconId + case Scene.Landscape: + return imageSceneModeLandscapeIconId + case Scene.Portrait: + return imageSceneModePortraitIconId + case Scene.Night: + return imageSceneModeNightIconId + case Scene.Sport: + return imageSceneModeSportIconId + default: + return "" + } + } + + function videoSceneModeIcon(val) { + switch (val) { + case Scene.Auto: + return videoSceneModeAutoIconId + case Scene.Night: + return videoSceneModeNightIconId + default: + return "" + } + } + + function flashIcon(val) { + switch (val) { + case Flash.Auto: + return flashAutoIconId + case Flash.On: + return flashOnIconId + case Flash.Off: + return flashOffIconId + case Flash.RedEye: + return flashRedEyeIconId + default: + return "" + } + } + + function isoIcon(val) { + switch (val) { + case 0: + return isoAudoIconId + case 100: + return iso100IconId + case 200: + return iso200IconId + case 400: + return iso400IconId + case 800: + return iso800IconId + default: + return "" + } + } +} diff --git a/qml/CameraToolBar.qml b/qml/CameraToolBar.qml index 8c4d922..0526128 100644 --- a/qml/CameraToolBar.qml +++ b/qml/CameraToolBar.qml @@ -122,7 +122,7 @@ Rectangle { visible: !parent.hideBack id: menu anchors.verticalCenter: parent.verticalCenter - iconId: cameraTheme.cameraToolBarMenuIcon + iconSource: cameraTheme.cameraToolBarMenuIcon anchors.left: parent.left anchors.top: parent.top anchors.bottom: parent.bottom diff --git a/qml/CaptureButton.qml b/qml/CaptureButton.qml index d314cc9..2c6d4fc 100644 --- a/qml/CaptureButton.qml +++ b/qml/CaptureButton.qml @@ -25,7 +25,7 @@ import QtQuick 2.0 Item { id: button - property string iconId + property alias iconSource: icon.source property CameraButtonStyle platformStyle: CameraButtonStyle {} property alias pressed: mouse.pressed @@ -57,7 +57,6 @@ Item { anchors.centerIn: parent anchors.verticalCenter: parent.verticalCenter anchors.verticalCenterOffset: -1 - source: "image://theme/" + button.iconId visible: source != "" } } diff --git a/qml/FlashButton.qml b/qml/FlashButton.qml index 933b21d..68f5f95 100644 --- a/qml/FlashButton.qml +++ b/qml/FlashButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: cameraTheme.flashIcon(settings.imageFlashMode) + iconSource: cameraTheme.flashIcon(settings.imageFlashMode) property list toolsModel: [ ToolsModelItem {icon: cameraTheme.flashAutoIconId; value: Flash.Auto }, @@ -46,7 +46,7 @@ CameraToolIcon { model: parent != null && parent.visible ? toolsModel : undefined delegate: CheckButton { - iconId: icon + iconSource: icon onClicked: settings.imageFlashMode = value checked: settings.imageFlashMode == value } diff --git a/qml/ImageColorFilterButton.qml b/qml/ImageColorFilterButton.qml index f05ef33..1af5b3e 100644 --- a/qml/ImageColorFilterButton.qml +++ b/qml/ImageColorFilterButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: cameraTheme.colorFilterIcon(settings.imageColorFilter) + iconSource: cameraTheme.colorFilterIcon(settings.imageColorFilter) property list toolsModel: [ ToolsModelItem {icon: cameraTheme.colorFilterNormalIconId; value: ColorTone.Normal }, @@ -48,7 +48,7 @@ CameraToolIcon { model: parent != null && parent.visible ? toolsModel : undefined delegate: CheckButton { - iconId: icon + iconSource: icon onClicked: settings.imageColorFilter = value checked: settings.imageColorFilter == value } diff --git a/qml/ImageEvCompButton.qml b/qml/ImageEvCompButton.qml index 5fb254e..c8e00bf 100644 --- a/qml/ImageEvCompButton.qml +++ b/qml/ImageEvCompButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: settings.imageEvComp == 0 ? cameraTheme.cameraManualExposureIconId : "" + iconSource: settings.imageEvComp == 0 ? cameraTheme.cameraManualExposureIconId : "" CameraLabel { anchors.fill: parent @@ -44,7 +44,6 @@ CameraToolIcon { CameraSlider { id: slider - width: 500 orientation: Qt.Horizontal minimumValue: cam ? cam.evComp.minimum : 0 maximumValue: cam ? cam.evComp.maximum : 0 diff --git a/qml/ImageIsoButton.qml b/qml/ImageIsoButton.qml index 50931d2..bc568ed 100644 --- a/qml/ImageIsoButton.qml +++ b/qml/ImageIsoButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: cameraTheme.isoIcon(settings.imageIso) + iconSource: cameraTheme.isoIcon(settings.imageIso) property CameraToolBarTools tools: CameraToolBarTools { CameraLabel { diff --git a/qml/ImageOverlay.qml b/qml/ImageOverlay.qml index 20c9d9e..a781b6b 100644 --- a/qml/ImageOverlay.qml +++ b/qml/ImageOverlay.qml @@ -72,7 +72,7 @@ Item { anchors.right: parent.right anchors.rightMargin: 20 anchors.verticalCenter: parent.verticalCenter - iconId: cameraTheme.captureButtonImageIconId + iconSource: cameraTheme.captureButtonImageIconId width: 75 height: 75 opacity: 0.5 @@ -174,7 +174,7 @@ Item { Indicator { id: flashIndicator visible: !toolBar.expanded - source: "image://theme/" + cameraTheme.flashIndicatorIcon(settings.imageFlashMode) + source: cameraTheme.flashIcon(settings.imageFlashMode) } CameraLabel { @@ -193,26 +193,26 @@ Item { Indicator { id: wbIndicator - source: visible ? "image://theme/" + cameraTheme.whiteBalanceIndicatorIcon(settings.imageWhiteBalance) : "" + source: visible ? cameraTheme.whiteBalanceIcon(settings.imageWhiteBalance) : "" visible: settings.imageWhiteBalance != WhiteBalance.Auto && !toolBar.expanded } Indicator { id: cfIndicator - source: visible ? "image://theme/" + cameraTheme.colorFilterIndicatorIcon(settings.imageColorFilter) : "" + source: visible ? cameraTheme.colorFilterIcon(settings.imageColorFilter) : "" visible: settings.imageColorFilter != ColorTone.Normal && !toolBar.expanded } Indicator { id: isoIndicator visible: settings.imageIso != 0 && !toolBar.expanded - source: visible ? "image://theme/" + cameraTheme.isoIcon(settings.imageIso) : "" + source: visible ? cameraTheme.isoIcon(settings.imageIso) : "" } Indicator { id: sceneIndicator visible: settings.imageSceneMode != Scene.Auto && !toolBar.expanded - source: visible ? "image://theme/" + cameraTheme.imageSceneModeIndicatorIcon(settings.imageSceneMode) : "" + source: visible ? cameraTheme.imageSceneModeIcon(settings.imageSceneMode) : "" } Indicator { diff --git a/qml/ImageSceneButton.qml b/qml/ImageSceneButton.qml index dcd4bfe..ebb748d 100644 --- a/qml/ImageSceneButton.qml +++ b/qml/ImageSceneButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: cameraTheme.imageSceneModeIcon(settings.imageSceneMode) + iconSource: cameraTheme.imageSceneModeIcon(settings.imageSceneMode) property list toolsModel: [ ToolsModelItem {icon: cameraTheme.imageSceneModeAutoIconId; value: Scene.Auto}, ToolsModelItem {icon: cameraTheme.imageSceneModeCloseupIconId; value: Scene.Closeup}, @@ -47,7 +47,7 @@ CameraToolIcon { model: parent != null && parent.visible ? toolsModel : undefined delegate: CheckButton { - iconId: icon + iconSource: icon onClicked: settings.imageSceneMode = value checked: settings.imageSceneMode == value } diff --git a/qml/ImageWhiteBalanceButton.qml b/qml/ImageWhiteBalanceButton.qml index b257ca2..1aa147d 100644 --- a/qml/ImageWhiteBalanceButton.qml +++ b/qml/ImageWhiteBalanceButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: cameraTheme.whiteBalanceIcon(settings.imageWhiteBalance) + iconSource: cameraTheme.whiteBalanceIcon(settings.imageWhiteBalance) property list toolsModel: [ ToolsModelItem {icon: cameraTheme.whiteBalanceAutoIconId; value: WhiteBalance.Auto }, @@ -47,7 +47,7 @@ CameraToolIcon { model: parent != null && parent.visible ? toolsModel : undefined delegate: CheckButton { - iconId: icon + iconSource: icon onClicked: settings.imageWhiteBalance = value checked: settings.imageWhiteBalance == value } diff --git a/qml/ModeButton.qml b/qml/ModeButton.qml index 74dcde3..830e143 100644 --- a/qml/ModeButton.qml +++ b/qml/ModeButton.qml @@ -29,7 +29,7 @@ CaptureButton { height: 55 opacity: 0.5 - iconId: settings.mode == Camera.VideoMode ? cameraTheme.cameraImageIconId : cameraTheme.cameraVideoIconId + iconSource: settings.mode == Camera.VideoMode ? cameraTheme.cameraImageIconId : cameraTheme.cameraVideoIconId onClicked: { if (settings.mode == Camera.VideoMode) { settings.mode = Camera.ImageMode diff --git a/qml/PostCaptureItem.qml b/qml/PostCaptureItem.qml index abe6fa9..760ae26 100644 --- a/qml/PostCaptureItem.qml +++ b/qml/PostCaptureItem.qml @@ -118,7 +118,7 @@ Item { CameraToolIcon { id: playIcon anchors.horizontalCenter: parent.horizontalCenter - iconId: cameraTheme.videoPlayIconId + iconSource: cameraTheme.videoPlayIconId visible: isVideo onClicked: startPlayback() } diff --git a/qml/PostCaptureView.qml b/qml/PostCaptureView.qml index a34e431..884d61d 100644 --- a/qml/PostCaptureView.qml +++ b/qml/PostCaptureView.qml @@ -135,7 +135,7 @@ Item { tools: CameraToolBarTools { CameraToolIcon { - iconId: available && view.currentItem.itemData.favorite ? cameraTheme.favoriteMarkIconId : cameraTheme.favoriteUnmarkIconId + iconSource: available && view.currentItem.itemData.favorite ? cameraTheme.favoriteMarkIconId : cameraTheme.favoriteUnmarkIconId opacity: available ? 1.0 : 0.4 onClicked: { addOrRemoveFavorite() @@ -144,7 +144,7 @@ Item { } CameraToolIcon { - iconId: cameraTheme.shareIconId + iconSource: cameraTheme.shareIconId opacity: available ? 1.0 : 0.4 onClicked: { shareCurrentItem() @@ -153,7 +153,7 @@ Item { } CameraToolIcon { - iconId: cameraTheme.deleteIconId + iconSource: cameraTheme.deleteIconId opacity: available ? 1.0 : 0.4 onClicked: { deleteCurrentItem() @@ -162,7 +162,7 @@ Item { } CameraToolIcon { - iconId: cameraTheme.galleryIconId + iconSource: cameraTheme.galleryIconId onClicked: { launchGallery() restartTimer() diff --git a/qml/VideoColorFilterButton.qml b/qml/VideoColorFilterButton.qml index 6b0c568..6cfc767 100644 --- a/qml/VideoColorFilterButton.qml +++ b/qml/VideoColorFilterButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: cameraTheme.colorFilterIcon(settings.videoColorFilter) + iconSource: cameraTheme.colorFilterIcon(settings.videoColorFilter) property list toolsModel: [ ToolsModelItem {icon: cameraTheme.colorFilterNormalIconId; value: ColorTone.Normal }, @@ -48,7 +48,7 @@ CameraToolIcon { model: parent != null && parent.visible ? toolsModel : undefined delegate: CheckButton { - iconId: icon + iconSource: icon onClicked: settings.videoColorFilter = value checked: settings.videoColorFilter == value } diff --git a/qml/VideoEvCompButton.qml b/qml/VideoEvCompButton.qml index d2ab04e..1884d8b 100644 --- a/qml/VideoEvCompButton.qml +++ b/qml/VideoEvCompButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: settings.videoEvComp == 0 ? cameraTheme.cameraManualExposureIconId : "" + iconSource: settings.videoEvComp == 0 ? cameraTheme.cameraManualExposureIconId : "" CameraLabel { anchors.fill: parent @@ -44,7 +44,6 @@ CameraToolIcon { CameraSlider { id: slider - width: 500 orientation: Qt.Horizontal minimumValue: cam ? cam.evComp.minimum : 0 maximumValue: cam ? cam.evComp.maximum : 0 diff --git a/qml/VideoMuteButton.qml b/qml/VideoMuteButton.qml index c480dc6..ac8ed9a 100644 --- a/qml/VideoMuteButton.qml +++ b/qml/VideoMuteButton.qml @@ -23,6 +23,6 @@ import QtQuick 2.0 CameraToolIcon { - iconId: settings.videoMuted ? cameraTheme.soundMuteOnIconId : cameraTheme.soundMuteOffIconId + iconSource: settings.videoMuted ? cameraTheme.soundMuteOnIconId : cameraTheme.soundMuteOffIconId onClicked: settings.videoMuted = !settings.videoMuted } diff --git a/qml/VideoOverlay.qml b/qml/VideoOverlay.qml index d1df5bd..b80b715 100644 --- a/qml/VideoOverlay.qml +++ b/qml/VideoOverlay.qml @@ -79,7 +79,7 @@ Item { anchors.right: parent.right anchors.rightMargin: 20 anchors.verticalCenter: parent.verticalCenter - iconId: overlay.recording ? cameraTheme.captureButtonRecordingIconId : cameraTheme.captureButtonVideoIconId + iconSource: overlay.recording ? cameraTheme.captureButtonRecordingIconId : cameraTheme.captureButtonVideoIconId width: 75 height: 75 opacity: 0.5 @@ -150,25 +150,25 @@ Item { id: resolutionIndicator property string videoResolution: settings.device == 1 ? settings.secondaryVideoResolution : settings.primaryVideoResolution property string videoRatio: settings.device == 1 ? settings.secondaryVideoAspectRatio : settings.primaryVideoAspectRatio - source: "image://theme/" + cameraTheme.videoIcon(videoRatio, videoResolution, settings.device) + source: cameraTheme.videoIcon(videoRatio, videoResolution, settings.device) } Indicator { id: wbIndicator - source: visible ? "image://theme/" + cameraTheme.whiteBalanceIndicatorIcon(settings.videoWhiteBalance) : "" + source: visible ? cameraTheme.whiteBalanceIcon(settings.videoWhiteBalance) : "" visible: settings.videoWhiteBalance != WhiteBalance.Auto && !toolBar.expanded } Indicator { id: cfIndicator - source: visible ? "image://theme/" + cameraTheme.colorFilterIndicatorIcon(settings.videoColorFilter) : "" + source: visible ? cameraTheme.colorFilterIcon(settings.videoColorFilter) : "" visible: settings.videoColorFilter != ColorTone.Normal && !toolBar.expanded } Indicator { id: sceneIndicator visible: settings.videoSceneMode != Scene.Auto && (!toolBar.expanded || overlay.recording) - source: visible ? "image://theme/" + cameraTheme.videoSceneModeIndicatorIcon(settings.videoSceneMode) : "" + source: visible ? cameraTheme.videoSceneModeIcon(settings.videoSceneMode) : "" } Indicator { diff --git a/qml/VideoPlayerPage.qml b/qml/VideoPlayerPage.qml index 8235b82..7f4d981 100644 --- a/qml/VideoPlayerPage.qml +++ b/qml/VideoPlayerPage.qml @@ -105,7 +105,7 @@ Item { tools: CameraToolBarTools { CameraToolIcon { - iconId: cameraTheme.videoStopIconId + iconSource: cameraTheme.videoStopIconId onClicked: video.stop() } @@ -133,7 +133,7 @@ Item { CameraToolIcon { id: control - iconId: video.state != VideoPlayer.StatePaused ? cameraTheme.videoPauseIconId : cameraTheme.videoPlayIconId + iconSource: video.state != VideoPlayer.StatePaused ? cameraTheme.videoPauseIconId : cameraTheme.videoPlayIconId onClicked: { video.toggle() hideTimer.restart() diff --git a/qml/VideoSceneButton.qml b/qml/VideoSceneButton.qml index 444a056..b08fb8f 100644 --- a/qml/VideoSceneButton.qml +++ b/qml/VideoSceneButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: cameraTheme.videoSceneModeIcon(settings.videoSceneMode) + iconSource: cameraTheme.videoSceneModeIcon(settings.videoSceneMode) property list toolsModel: [ ToolsModelItem {icon: cameraTheme.videoSceneModeAutoIconId; value: Scene.Auto}, @@ -44,7 +44,7 @@ CameraToolIcon { model: parent != null && parent.visible ? toolsModel : undefined delegate: CheckButton { - iconId: icon + iconSource: icon onClicked: settings.videoSceneMode = value checked: settings.videoSceneMode == value } diff --git a/qml/VideoTorchButton.qml b/qml/VideoTorchButton.qml index 1392bad..0f05773 100644 --- a/qml/VideoTorchButton.qml +++ b/qml/VideoTorchButton.qml @@ -27,7 +27,7 @@ CameraToolIcon { id: button property Camera camera: null - iconId: settings.videoTorchOn ? cameraTheme.cameraTorchOnIconId : cameraTheme.cameraTorchOffIconId + iconSource: settings.videoTorchOn ? cameraTheme.cameraTorchOnIconId : cameraTheme.cameraTorchOffIconId onClicked: settings.videoTorchOn = !settings.videoTorchOn Binding { diff --git a/qml/VideoWhiteBalanceButton.qml b/qml/VideoWhiteBalanceButton.qml index e519396..8867db2 100644 --- a/qml/VideoWhiteBalanceButton.qml +++ b/qml/VideoWhiteBalanceButton.qml @@ -26,7 +26,7 @@ import QtCamera 1.0 CameraToolIcon { id: button - iconId: cameraTheme.whiteBalanceIcon(settings.videoWhiteBalance) + iconSource: cameraTheme.whiteBalanceIcon(settings.videoWhiteBalance) property list toolsModel: [ ToolsModelItem {icon: cameraTheme.whiteBalanceAutoIconId; value: WhiteBalance.Auto }, @@ -47,7 +47,7 @@ CameraToolIcon { model: parent != null && parent.visible ? toolsModel : undefined delegate: CheckButton { - iconId: icon + iconSource: icon onClicked: settings.videoWhiteBalance = value checked: settings.videoWhiteBalance == value } diff --git a/qml/harmattan/CameraTheme.qml b/qml/harmattan/CameraTheme.qml deleted file mode 100644 index f6e27b8..0000000 --- a/qml/harmattan/CameraTheme.qml +++ /dev/null @@ -1,232 +0,0 @@ -// -*- qml -*- - -/*! - * This file is part of CameraPlus. - * - * Copyright (C) 2012-2013 Mohammed Sameer - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import QtQuick 1.1 -import QtCamera 1.0 - -QtObject { - property string standbyIcon: "image://theme/icon-l-camera-standby" - - property string gpsIndicatorIcon: "image://theme/icon-m-camera-location" - property string faceDetectionIndicatorIcon: "image://theme/icon-m-camera-face-detection-screen" - - property string recordingDurationIcon: "image://theme/icon-m-camera-ongoing-recording" - property string cameraTorchOnIconId: "icon-m-camera-torch-on" - property string cameraTorchOffIconId: "icon-m-camera-torch-off" - property string soundMuteOnIconId: "icon-m-toolbar-volume-off-white-selected" - property string soundMuteOffIconId: "icon-m-toolbar-volume-white-selected" - property string videoStopIconId: "icon-m-toolbar-mediacontrol-stop-white" - property string videoPauseIconId: "icon-m-toolbar-mediacontrol-pause-white" - property string videoPlayIconId: "icon-m-toolbar-mediacontrol-play-white" - property string cameraManualExposureIconId: "icon-m-camera-manual-exposure" - property string cameraVideoIconId: "icon-m-camera-video" - property string cameraImageIconId: "icon-m-viewfinder-camera" - property string captureButtonImageIconId: "icon-m-camera-shutter" - property string captureButtonVideoIconId: "icon-m-camera-video-record" - property string captureButtonRecordingIconId: "icon-m-camera-video-record" - property string cameraToolBarMenuIcon: "icon-m-toolbar-back-white" - property string deleteIconId: "icon-m-toolbar-delete-white" - property string shareIconId: "icon-m-toolbar-share-white" - property string favoriteMarkIconId: "icon-m-toolbar-favorite-mark-white" - property string favoriteUnmarkIconId: "icon-m-toolbar-favorite-unmark-white" - property string galleryIconId: "icon-m-camera-roll" - - property string flashAutoIconId: "icon-m-camera-flash-auto" - property string flashOnIconId: "icon-m-camera-flash-always" - property string flashOffIconId: "icon-m-camera-flash-off" - property string flashRedEyeIconId: "icon-m-camera-flash-red-eye" - - property string whiteBalanceAutoIconId: "icon-m-camera-whitebalance-auto" - property string whiteBalanceSunsetIconId: "icon-m-camera-whitebalance-sunny" - property string whiteBalanceCloudyIconId: "icon-m-camera-whitebalance-cloudy" - property string whiteBalanceFlourescentIconId: "icon-m-camera-whitebalance-fluorescent" - property string whiteBalanceTungstenIconId: "icon-m-camera-whitebalance-tungsten" - - property string colorFilterNormalIconId: "icon-m-camera-no-filter" - property string colorFilterGrayScaleIconId: "icon-m-camera-filter-black-white" - property string colorFilterSepiaIconId: "icon-m-camera-filter-sepia" - property string colorFilterVividIconId: "icon-m-camera-filter-vivid" - property string colorFilterNegativeIconId: "icon-m-camera-filter-negative" - property string colorFilterSolarizeIconId: "icon-m-camera-filter-solarize" - - property string imageSceneModeAutoIconId: "icon-m-camera-scene-auto" - property string imageSceneModeCloseupIconId: "icon-m-camera-scene-macro" - property string imageSceneModeLandscapeIconId: "icon-m-camera-scene-landscape" - property string imageSceneModePortraitIconId: "icon-m-camera-scene-portrait" - property string imageSceneModeNightIconId: "icon-m-camera-night" - property string imageSceneModeSportIconId: "icon-m-camera-scene-sports" - - property string videoSceneModeAutoIconId: "icon-m-camera-scene-auto" - property string videoSceneModeNightIconId: "icon-m-camera-video-night" - - property string isoAudoIconId: "icon-m-camera-iso-auto" - property string iso100IconId: "icon-m-camera-iso-100" - property string iso200IconId: "icon-m-camera-iso-200" - property string iso400IconId: "icon-m-camera-iso-400" - property string iso800IconId: "icon-m-camera-iso-800" - - function videoIcon(ratio, res, device) { - if (res == "high") { - return "icon-m-camera-video-high-resolution" - } else if (res == "medium") { - return "icon-m-camera-video-fine-resolution" - } else if (res == "low") { - return "icon-m-camera-video-low-resolution" - } else { - return "" - } - } - - function whiteBalanceIcon(val) { - switch (val) { - case WhiteBalance.Auto: - return whiteBalanceAutoIconId - case WhiteBalance.Sunset: - return whiteBalanceSunsetIconId - case WhiteBalance.Cloudy: - return whiteBalanceCloudyIconId - case WhiteBalance.Flourescent: - return whiteBalanceFlourescentIconId - case WhiteBalance.Tungsten: - return whiteBalanceTungstenIconId - default: - return "" - } - } - - function colorFilterIcon(val) { - switch (val) { - case ColorTone.Normal: - return colorFilterNormalIconId - case ColorTone.GrayScale: - return colorFilterGrayScaleIconId - case ColorTone.Sepia: - return colorFilterSepiaIconId - case ColorTone.Vivid: - return colorFilterVividIconId - case ColorTone.Negative: - return colorFilterNegativeIconId - case ColorTone.Solarize: - return colorFilterSolarizeIconId - default: - return "" - } - } - - function imageSceneModeIcon(val) { - switch (val) { - case Scene.Auto: - return imageSceneModeAutoIconId - case Scene.Closeup: - return imageSceneModeCloseupIconId - case Scene.Landscape: - return imageSceneModeLandscapeIconId - case Scene.Portrait: - return imageSceneModePortraitIconId - case Scene.Night: - return imageSceneModeNightIconId - case Scene.Sport: - return imageSceneModeSportIconId - default: - return "" - } - } - - function videoSceneModeIcon(val) { - switch (val) { - case Scene.Auto: - return videoSceneModeAutoIconId - case Scene.Night: - return videoSceneModeNightIconId - default: - return "" - } - } - - function flashIcon(val) { - switch (val) { - case Flash.Auto: - return flashAutoIconId - case Flash.On: - return flashOnIconId - case Flash.Off: - return flashOffIconId - case Flash.RedEye: - return flashRedEyeIconId - default: - return "" - } - } - - function isoIcon(val) { - switch (val) { - case 0: - return isoAudoIconId - case 100: - return iso100IconId - case 200: - return iso200IconId - case 400: - return iso400IconId - case 800: - return iso800IconId - default: - return "" - } - } - - function flashIndicatorIcon(val) { - return flashIcon(val) + "-screen" - } - - function whiteBalanceIndicatorIcon(val) { - if (val == WhiteBalance.Auto) { - return "" - } else { - return whiteBalanceIcon(val) + "-screen" - } - } - - function colorFilterIndicatorIcon(val) { - if (val == ColorTone.Normal) { - return "" - } else { - return colorFilterIcon(val) + "-screen" - } - } - - function imageSceneModeIndicatorIcon(val) { - if (val == Scene.Auto) { - return "" - } else { - return imageSceneModeIcon(val) + "-screen" - } - } - - function videoSceneModeIndicatorIcon(val) { - if (val == Scene.Auto) { - return "" - } else { - return videoSceneModeIcon(val) + "-screen" - } - } -} diff --git a/qml/harmattan/harmattan.qrc b/qml/harmattan/harmattan.qrc index 7b4af28..bbe0dfe 100644 --- a/qml/harmattan/harmattan.qrc +++ b/qml/harmattan/harmattan.qrc @@ -15,6 +15,5 @@ FullScreenThumbnail.qml CameraPositionSource.qml CameraPage.qml - CameraTheme.qml diff --git a/qml/qml.qrc b/qml/qml.qrc index 898130f..b207a57 100644 --- a/qml/qml.qrc +++ b/qml/qml.qrc @@ -2,6 +2,7 @@ CameraSettings.qml + CameraTheme.qml CameraToolBar.js CameraToolBar.qml CameraToolBarTools.qml -- 2.17.1