From 6723013110138bb4812200bcd222a5ec519b2a29 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 20 Aug 2017 19:14:32 +0200 Subject: [PATCH 01/30] Added L* middle gray preview background color, #4027 --- .../Dark/actions/previewmodeBC1-off.png | Bin 2789 -> 6086 bytes .../images/Dark/actions/previewmodeBC1-on.png | Bin 2789 -> 6087 bytes .../Dark/actions/previewmodeBC2-off.png | Bin 2756 -> 6085 bytes .../images/Dark/actions/previewmodeBC2-on.png | Bin 2757 -> 6084 bytes .../Dark/actions/previewmodeBC3-off.png | Bin 0 -> 6080 bytes .../images/Dark/actions/previewmodeBC3-on.png | Bin 0 -> 6079 bytes rtgui/cropwindow.cc | 2 ++ rtgui/guiutils.cc | 3 +- rtgui/previewmodepanel.cc | 33 ++++++++++++++++++ rtgui/previewmodepanel.h | 5 ++- 10 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 rtdata/images/Dark/actions/previewmodeBC3-off.png create mode 100644 rtdata/images/Dark/actions/previewmodeBC3-on.png diff --git a/rtdata/images/Dark/actions/previewmodeBC1-off.png b/rtdata/images/Dark/actions/previewmodeBC1-off.png index d5071108af7e0028a895490f27981c99fae8ef01..d10a7e506b5eadc28e1f0555362240115765eba4 100644 GIT binary patch literal 6086 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 diff --git a/rtdata/images/Dark/actions/previewmodeBC1-on.png b/rtdata/images/Dark/actions/previewmodeBC1-on.png index f71b2796572bc9c23f7193d4e1a9d187a60efd7d..014627cbeb0b6b8f062039ffda9dcfbf68ac54c7 100644 GIT binary patch literal 6087 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 diff --git a/rtdata/images/Dark/actions/previewmodeBC2-off.png b/rtdata/images/Dark/actions/previewmodeBC2-off.png index 5c9b2d0e872788744de4d32dad5a282f99f2e4b3..bd3862a0e26e0063adee93aab56c206adbc03dca 100644 GIT binary patch literal 6085 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 delta 2701 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 Hu0mjftn5t; diff --git a/rtdata/images/Dark/actions/previewmodeBC2-on.png b/rtdata/images/Dark/actions/previewmodeBC2-on.png index 8f5b9207e76ce6e1fb01e135145a7dff91c241f3..31630af594eb421a0e5dc59384706c1023efa37e 100644 GIT binary patch literal 6084 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 IM6N<$f*s{f8~^|S diff --git a/rtdata/images/Dark/actions/previewmodeBC3-off.png b/rtdata/images/Dark/actions/previewmodeBC3-off.png new file mode 100644 index 0000000000000000000000000000000000000000..87923e02f04cf5c11d587703b8cdc6c519912e52 GIT binary patch literal 6080 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 literal 0 HcmV?d00001 diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc index 8af0541fe..5ae65691e 100644 --- a/rtgui/cropwindow.cc +++ b/rtgui/cropwindow.cc @@ -1324,6 +1324,8 @@ void CropWindow::expose (Cairo::RefPtr cr) cr->set_source_rgb (0, 0, 0); } else if (backColor == 2) { cr->set_source_rgb (1, 1, 1); + } else if (backColor == 3) { + cr->set_source_rgb (0.467, 0.467, 0.467); } cr->set_line_width (0.); diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index 989ff2758..a72889404 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -247,9 +247,10 @@ void drawCrop (Cairo::RefPtr cr, int imx, int imy, int imw, int cr->set_source_rgb (0, 0, 0); } else if (options.bgcolor == 2) { cr->set_source_rgb (1, 1, 1); + } else if (options.bgcolor == 3) { + cr->set_source_rgb (0.467, 0.467, 0.467); } - cr->rectangle (imx, imy, imw + 0.5, round(c1y) + 0.5); cr->rectangle (imx, round(imy + c2y) + 0.5, imw + 0.5, round(imh - c2y) + 0.5); cr->rectangle (imx, round(imy + c1y) + 0.5, round(c1x) + 0.5, round(c2y - c1y + 1) + 0.5); diff --git a/rtgui/previewmodepanel.cc b/rtgui/previewmodepanel.cc index 50beb8b66..fe7957ce8 100644 --- a/rtgui/previewmodepanel.cc +++ b/rtgui/previewmodepanel.cc @@ -32,6 +32,7 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) iBC0 = new RTImage ("previewmodeBC0-on.png"); iBC1 = new RTImage ("previewmodeBC1-on.png"); iBC2 = new RTImage ("previewmodeBC2-on.png"); + iBC3 = new RTImage ("previewmodeBC3-on.png"); igR = new RTImage ("previewmodeR-off.png"); igG = new RTImage ("previewmodeG-off.png"); @@ -41,6 +42,7 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) igBC0 = new RTImage ("previewmodeBC0-off.png"); igBC1 = new RTImage ("previewmodeBC1-off.png"); igBC2 = new RTImage ("previewmodeBC2-off.png"); + igBC3 = new RTImage ("previewmodeBC3-off.png"); backColor0 = Gtk::manage (new Gtk::ToggleButton ()); backColor0->set_relief(Gtk::RELIEF_NONE); @@ -52,6 +54,11 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) backColor1->set_tooltip_markup (M("MAIN_TOOLTIP_BACKCOLOR1")); backColor1->set_image(options.bgcolor == 1 ? *iBC1 : *igBC1); + backColor3 = Gtk::manage (new Gtk::ToggleButton ()); + backColor3->set_relief(Gtk::RELIEF_NONE); + backColor3->set_tooltip_markup (M("MAIN_TOOLTIP_BACKCOLOR3")); + backColor3->set_image(options.bgcolor == 2 ? *iBC3 : *igBC3); + backColor2 = Gtk::manage (new Gtk::ToggleButton ()); backColor2->set_relief(Gtk::RELIEF_NONE); backColor2->set_tooltip_markup (M("MAIN_TOOLTIP_BACKCOLOR2")); @@ -91,11 +98,13 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) backColor0->set_active (options.bgcolor == 0); backColor1->set_active (options.bgcolor == 1); backColor2->set_active (options.bgcolor == 2); + backColor3->set_active (options.bgcolor == 3); vbbackColor = Gtk::manage (new Gtk::VBox ()); vbbackColor->pack_start (*backColor0, Gtk::PACK_SHRINK, 0); vbbackColor->pack_start (*backColor1, Gtk::PACK_SHRINK, 0); vbbackColor->pack_start (*backColor2, Gtk::PACK_SHRINK, 0); + vbbackColor->pack_start (*backColor3, Gtk::PACK_SHRINK, 0); pack_start (*vbbackColor, Gtk::PACK_SHRINK, 0); pack_start (*previewR, Gtk::PACK_SHRINK, 0); @@ -113,6 +122,7 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) connbackColor0 = backColor0->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled_backColor), backColor0) ); connbackColor1 = backColor1->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled_backColor), backColor1) ); connbackColor2 = backColor2->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled_backColor), backColor2) ); + connbackColor3 = backColor3->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled_backColor), backColor3) ); //show_all (); } @@ -127,6 +137,7 @@ PreviewModePanel::~PreviewModePanel () delete iBC0; delete iBC1; delete iBC2; + delete iBC3; delete igR; delete igG; delete igB; @@ -135,6 +146,7 @@ PreviewModePanel::~PreviewModePanel () delete igBC0; delete igBC1; delete igBC2; + delete igBC3; } //toggle Functions below are for shortcuts void PreviewModePanel::toggleR () @@ -170,6 +182,10 @@ void PreviewModePanel::togglebackColor2 () { backColor2->set_active(!backColor2->get_active()); } +void PreviewModePanel::togglebackColor3 () +{ + backColor3->set_active(!backColor3->get_active()); +} void PreviewModePanel::buttonToggled (Gtk::ToggleButton* tbpreview) { @@ -240,6 +256,10 @@ int PreviewModePanel::GetbackColor() backColor = 2; } + if (backColor3->get_active ()) { + backColor = 3; + } + return backColor; } @@ -250,6 +270,8 @@ void PreviewModePanel::togglebackColor() if(backColor == 0) { togglebackColor1(); } else if(backColor == 1) { + togglebackColor3(); + } else if(backColor == 3) { togglebackColor2(); } else { togglebackColor0(); @@ -262,6 +284,7 @@ void PreviewModePanel::buttonToggled_backColor (Gtk::ToggleButton* tbbackColor) connbackColor0.block(true); connbackColor1.block(true); connbackColor2.block(true); + connbackColor3.block(true); // control the state of the buttons // Exactly 1 button at a time must remain pressed @@ -277,6 +300,10 @@ void PreviewModePanel::buttonToggled_backColor (Gtk::ToggleButton* tbbackColor) backColor2->set_active(true); } + if (tbbackColor == backColor3 && !backColor3->get_active()) { + backColor3->set_active(true); + } + if (tbbackColor != backColor0) { backColor0->set_active(false); } @@ -289,14 +316,20 @@ void PreviewModePanel::buttonToggled_backColor (Gtk::ToggleButton* tbbackColor) backColor2->set_active(false); } + if (tbbackColor != backColor3) { + backColor3->set_active(false); + } + // set image based on button's state backColor0->set_image(backColor0->get_active() ? *iBC0 : *igBC0); backColor1->set_image(backColor1->get_active() ? *iBC1 : *igBC1); backColor2->set_image(backColor2->get_active() ? *iBC2 : *igBC2); + backColor3->set_image(backColor3->get_active() ? *iBC3 : *igBC3); connbackColor0.block(false); connbackColor1.block(false); connbackColor2.block(false); + connbackColor3.block(false); //TODO not sure if queue_draw is necessary, but will need to reach to backColor of the Before view imageArea->queue_draw (); diff --git a/rtgui/previewmodepanel.h b/rtgui/previewmodepanel.h index d3bf3c8e4..83ec69d96 100644 --- a/rtgui/previewmodepanel.h +++ b/rtgui/previewmodepanel.h @@ -34,6 +34,7 @@ protected: Gtk::ToggleButton* backColor0; Gtk::ToggleButton* backColor1; Gtk::ToggleButton* backColor2; + Gtk::ToggleButton* backColor3; Gtk::VBox* vbbackColor; ImageArea* imageArea; @@ -45,6 +46,7 @@ protected: Gtk::Image* iBC0, *igBC0; Gtk::Image* iBC1, *igBC1; Gtk::Image* iBC2, *igBC2; + Gtk::Image* iBC3, *igBC3; public: explicit PreviewModePanel (ImageArea* ia); @@ -58,9 +60,10 @@ public: void togglebackColor0(); void togglebackColor1(); void togglebackColor2(); + void togglebackColor3(); void togglebackColor(); - sigc::connection connR, connB, connG, connL, connFocusMask, connbackColor0, connbackColor1, connbackColor2; + sigc::connection connR, connB, connG, connL, connFocusMask, connbackColor0, connbackColor1, connbackColor2, connbackColor3; void buttonToggled(Gtk::ToggleButton* tbpreview); void buttonToggled_backColor(Gtk::ToggleButton* tbbackColor); From bfd410dc68793d0019ddb9f07aa418280a666ba7 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 20 Aug 2017 19:25:22 +0200 Subject: [PATCH 02/30] Background color button order: theme, black, middle gray, white. #4027 --- rtgui/previewmodepanel.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rtgui/previewmodepanel.cc b/rtgui/previewmodepanel.cc index fe7957ce8..ec1324970 100644 --- a/rtgui/previewmodepanel.cc +++ b/rtgui/previewmodepanel.cc @@ -103,8 +103,8 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) vbbackColor = Gtk::manage (new Gtk::VBox ()); vbbackColor->pack_start (*backColor0, Gtk::PACK_SHRINK, 0); vbbackColor->pack_start (*backColor1, Gtk::PACK_SHRINK, 0); - vbbackColor->pack_start (*backColor2, Gtk::PACK_SHRINK, 0); vbbackColor->pack_start (*backColor3, Gtk::PACK_SHRINK, 0); + vbbackColor->pack_start (*backColor2, Gtk::PACK_SHRINK, 0); pack_start (*vbbackColor, Gtk::PACK_SHRINK, 0); pack_start (*previewR, Gtk::PACK_SHRINK, 0); From 00779e8242ec0d203d5209b842e7ad965aa1a808 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 20 Aug 2017 20:40:56 +0200 Subject: [PATCH 03/30] Added L* middle gray preview background color, changed button icons, #4027 --- .../Dark/actions/previewmodeBC0-off.png | Bin 2746 -> 2829 bytes .../images/Dark/actions/previewmodeBC0-on.png | Bin 2776 -> 2832 bytes .../Dark/actions/previewmodeBC1-off.png | Bin 6086 -> 2819 bytes .../images/Dark/actions/previewmodeBC1-on.png | Bin 6087 -> 2820 bytes .../Dark/actions/previewmodeBC2-off.png | Bin 6085 -> 2820 bytes .../images/Dark/actions/previewmodeBC2-on.png | Bin 6084 -> 2821 bytes .../Dark/actions/previewmodeBC3-off.png | Bin 6080 -> 2824 bytes .../images/Dark/actions/previewmodeBC3-on.png | Bin 6079 -> 2826 bytes rtgui/previewmodepanel.cc | 14 +++++++------- rtgui/previewmodepanel.h | 1 - 10 files changed, 7 insertions(+), 8 deletions(-) diff --git a/rtdata/images/Dark/actions/previewmodeBC0-off.png b/rtdata/images/Dark/actions/previewmodeBC0-off.png index 05a75ee25d1103cfcf938057694d858980dc60c0..c106c8170d215f02f91dff199639002c62b90b3c 100644 GIT binary patch literal 2829 zcmV+o3-a`dP)uJ@VVD_UC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$Or zQF$}6R&?d%y_c8YA7_1QpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv z1)yUy0P^?0*fb9UASvow`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q z{wNRKos+;6rV8ldy0Owz(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E`vOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G4 z1dM~{UdP6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4E zs0sQWIt5*Tu0n&*J!lk~f_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+ zAA{TB3-ERLHar49hi4Ih5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=nat zP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+edD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVbnL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0 zWMyP6Wy582WNT#4$d1qunl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8d zZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iu ztvy=3T65Yu+7a4Yv^%sXb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i z^lS773}6Fm1Fpe-gF!>Ip{*g$u-szvGhed;vo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*Z zvFf(^Xl-N7w{EeXveC4Ov)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx z)P8cQ&Qi|OhNWW;>JChYI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_W zICNY@+|jrX%s^&6b2i>5eqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!q zl}XcFH*PieWwLj2ZSq`7V9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I- z?$tAVKYn8-l({mqQ$Q8{O!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;c zwT88(J6|n-WB%w`m$h~4pmp)YIh_ z3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dl zbFb#!9eY1iCsp6Bajj|Hr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syT zu9enWavU5N9)I?I-1m1*_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$m zU2Q)a|9JSc+Uc4zvS-T963!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;; zJuhGEb?H5K#o@~7t9DmUU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX z=)z6+o0o6-+`4{y+3mqQ%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@ z>;2q1Vm)$Z)P1z?N$8UYW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHs zy69KwU-!MxeeuI@&cF4|M9z%AfP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9J+u00v@9M??Vs0RI60puMM)0000$NklYLU|?YQ|NlP&Ho(Zp$iT!v0E{Yt1{Op8{{eS{gM$NJN3bw3Ffe3gWyNBXoHlLR f;-L}LguDp=Ko1NjM)XoO00000NkvXXu0mjf>xOCB literal 2746 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 A&;S4c diff --git a/rtdata/images/Dark/actions/previewmodeBC0-on.png b/rtdata/images/Dark/actions/previewmodeBC0-on.png index a1f462cb2021fbd58171c3af4627f202575c9397..f885bb4f82874981057d50b7a3d71b8f43c2e15f 100644 GIT binary patch literal 2832 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 delta 3420 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 diff --git a/rtdata/images/Dark/actions/previewmodeBC2-off.png b/rtdata/images/Dark/actions/previewmodeBC2-off.png index bd3862a0e26e0063adee93aab56c206adbc03dca..548fce401ced0abd4a7386684cc3751a2c1be964 100644 GIT binary patch delta 120 zcmX@A-y){i8Q|y6%O%Cdz`(%k>ERLtq&a|CjDrnG{=IxRVe>7X>0CbMo-U3d8t0Q! z5)u-A{QqyyYz)GzB&!dHcS6cRPGK358 VE_~gz_6X2022WQ%mvv4FO#s(MDYyUt delta 3421 zcmZn>JE~vb8Q|y6%O%Cdz`(%k>ERLtq{V=knS%{TPGA3Dn1O-mR8>esNl;?BLP1e} zT4qkFLP=#oszPc-W*P%S#jU4P12^4P;BoyQ={mhZrR7MG!Hk*j7My<1I(f-S@B2RS zzr%&41)L7pIvo1>_&3M>4*@!IlV&}iRD5KzmsU)D;D-v^a6iMf??X@S?w$8m@l;;I zjI_$@pLhP%e)H=^LgwxM^y&@U9{=FmBAv&W+IL1nrh1a~gb%69WBF6RuYNiG>6`6+ z*@}m5KVLeJC#l5M=HY?mB70sI37m28(JDGFUOG=Ke%hXWPxqERjH?ms|GBqpV;+Cy zG^Hcbt$!9>+%~y>-}OArFRy!EggtrAHnDm-|E=DOwLPDsVtpmOo^B8qE$;|zQkGDS zylXV+Vd#|HrA<#Fl9)HjNms~iWYs#NQW&tvZz|hd?ffeSM~|pW7d<<+DM#;E>+PmV zX^Rf3xmGao#933SYK(F`_8Q*P?xvlBH=_pE7PSXs2(;DDP7bKhqf>Dr!Y`r7enF}e&3 zEtJ?yT(uIGF1cYpO{RLqs`?DBRkN;M*_v^7Qt-7oo1a#?hYEWyn|Aih+KAGRPhQ|c2y&QCT+HBMOrB~0z zTJ_bRzw7ipuFCf1kua;vE7R@Xe%U-{hcO$!Waf(#huiv%Ud_F=?3Yh(+=*Jh-g>jG zo;ter)d9^n--tCmD_t~MvZGK*V7n)S^epwwFQy3j7fp`T>2Y4jleI+HZ@DKA%Vp0s z&F|jGJ+XT#X7X3i{GaSjgNuK;ixL;zeqvWt?Y#E<|GnEfVwV?WNu@qWY7S04&j0=6 z_0J!+GyePTVC2C0f6YVnnVWx1E?Z`)0ZifbiCEKiWv9I zW7+Eobw9oy{CB8}Wn0eA3Dx$h?#eL}9vUWRPO#63T$ya3Cc|}jLHWDoKVo7gzxMR~ z_%$@NlF=wzx^| z#0uTKVr7sK5Hnm-i<66hftQ(|rvNfDF)6>a#8ycOD6arDJS7=!c0p-TeGb^@lw|$X zoYdUZypm#lLp?)%u!fXmE4Tcj+(e)OnYoGSsrm(Z=}P(_=jub<3-rG}JODtBAQ{w? ztb-g|a9e`Qe(KtS!+xM8xa`NFgB)SJUZI-(cx}P$Y!dA!(-so#r@AfJ?1xxFqW`fO zgjbA^SEyq@AzN@ekreyMw}lk@X<-Y7{cuZ2@jr$sgaqKW;8sWl`-!lH3ieZE3(@w| z$QD%lku9M@_@f#Q=ONny7sOytYCk?(xDZXM)I4B2svOv0V))BQo6~bBI5n0T@pc@CmjA?33pdJu=iKnkC`$G;90XELF>7jRkLgJn-jv*44lmGnx l|G%D1ib0J{igA`C4}+2$3)A*jO?*Hl44$rjF6*2UngEv}Hbejb diff --git a/rtdata/images/Dark/actions/previewmodeBC2-on.png b/rtdata/images/Dark/actions/previewmodeBC2-on.png index 31630af594eb421a0e5dc59384706c1023efa37e..820f04c2018fc1a563ff0da64c5f25002bdd496d 100644 GIT binary patch delta 121 zcmX@2-zuiq8Q|y6%O%Cdz`(%k>ERLtq&a|CjDrnG{=IxRVe?I%>0G`Ro-U3d8t0S$ z{Qv*Ip3SC#)ocDy#r!iz92j`mSbJLboIDZmzy5&i$pZ%tG@PE>)6>J_th9o?nTa8A X7Vp9f`&OI+n#SPi>gTe~DWM4fRwyhn delta 3421 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 diff --git a/rtdata/images/Dark/actions/previewmodeBC3-on.png b/rtdata/images/Dark/actions/previewmodeBC3-on.png index ef36664d63b759062269cffa05784e654ebc5dec..69209dc4f391134bb680414c846306df8ae6a773 100644 GIT binary patch delta 126 zcmdn5-zBEl8Q|y6%O%Cdz`(%k>ERLtq&a|CjDrnG{=IxRVe?g<>0Cj!o-U3d8t0RB z^!5LrZ(!fx@N%=oliryU91RB-Fg)WERLtq{V=knS%{TPGA3Dn1O-mXjMo=Nl;?BLP1e} zT4qkFLP=#oszPc-W*P%S#jUqfqbJ=~5ODn;={n6}e?|l!Q{YtDl%G2la*oTTubOl+ zy+vigRg(h#1qJ_p*c~#D5%K2AniuS;`RLN3R_%H&%ed=PgRgwur-7yg>Gv}pZ>hQY!{~7a zBgbK}!UdW^jNVr_)WsNI3#d0W;^MBs1_IcGWzb+B>etG5cxsqQq&lf#9BVm*BV#CC?ew$M(%Cly_GB&MJ{9bQq zdh3dsVQk&M1#Fvt>$04Ed_>JyAX!!5yC(zpEcMMZJg2JfJgFmgY?%R@=_bzQmsQxB zs)TMYu-?tS(|;%HW&20R_A864?W%Xw^C_8q$2~89#n+$rv%7C>EBl?DGjJhu4Gx*oRfx93f_62}Xb8>YOC51aNXqL;D#&<3ma=O^pV#Vx)r%X0Mf z>Q$eZj8a5iq&zws&%nT$l?k*h!q>+tIX_n~F(p4KRj(qqfT14f5C$9jih{)C?9>v4 zq}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyvDB0U_*;H5oO~_3x zNmQuF&B-gas<2f88*Bw+gM{^!6u?SKvTc(&FEc++0c2)kQhsTPt&$Q@UIA)&N;2H+g3_WKkjeG>Darb& zIjOm+c_qdAhI)qjU=1nBR&M!4xrsmnGIJBtQ}qk-(v|dqcG>7d-3#=;K0E+Gjvx=z zlcJ4mTX0)~#eN#tf@wd@5-j#(DkfV5W(#fus9`^0Tc}|_CAJW6KW%J5vmeP4YJ@+U z=`b#mEifTWnqvEjvIWy#mOqmYei3vRhs+_3jn5V?M3X8t57>?>2R4`({x>*m zRGiKg%vs`sfLkset_relief(Gtk::RELIEF_NONE); backColor3->set_tooltip_markup (M("MAIN_TOOLTIP_BACKCOLOR3")); - backColor3->set_image(options.bgcolor == 2 ? *iBC3 : *igBC3); + backColor3->set_image(options.bgcolor == 3 ? *iBC3 : *igBC3); backColor2 = Gtk::manage (new Gtk::ToggleButton ()); backColor2->set_relief(Gtk::RELIEF_NONE); @@ -100,12 +100,12 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) backColor2->set_active (options.bgcolor == 2); backColor3->set_active (options.bgcolor == 3); - vbbackColor = Gtk::manage (new Gtk::VBox ()); - vbbackColor->pack_start (*backColor0, Gtk::PACK_SHRINK, 0); - vbbackColor->pack_start (*backColor1, Gtk::PACK_SHRINK, 0); - vbbackColor->pack_start (*backColor3, Gtk::PACK_SHRINK, 0); - vbbackColor->pack_start (*backColor2, Gtk::PACK_SHRINK, 0); - pack_start (*vbbackColor, Gtk::PACK_SHRINK, 0); + pack_start (*backColor0, Gtk::PACK_SHRINK, 0); + pack_start (*backColor1, Gtk::PACK_SHRINK, 0); + pack_start (*backColor3, Gtk::PACK_SHRINK, 0); + pack_start (*backColor2, Gtk::PACK_SHRINK, 0); + + pack_start (*Gtk::manage (new Gtk::VSeparator ()), Gtk::PACK_SHRINK, 2); pack_start (*previewR, Gtk::PACK_SHRINK, 0); pack_start (*previewG, Gtk::PACK_SHRINK, 0); diff --git a/rtgui/previewmodepanel.h b/rtgui/previewmodepanel.h index 83ec69d96..19136d770 100644 --- a/rtgui/previewmodepanel.h +++ b/rtgui/previewmodepanel.h @@ -35,7 +35,6 @@ protected: Gtk::ToggleButton* backColor1; Gtk::ToggleButton* backColor2; Gtk::ToggleButton* backColor3; - Gtk::VBox* vbbackColor; ImageArea* imageArea; Gtk::Image* iR, *igR; From 02b33ec1114a7538ef666fb9c35776378ede7137 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 20 Aug 2017 20:47:35 +0200 Subject: [PATCH 04/30] Added middle grey tooltip to languages/default --- rtdata/languages/default | 1 + 1 file changed, 1 insertion(+) diff --git a/rtdata/languages/default b/rtdata/languages/default index bf400c39f..352c4f92e 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -819,6 +819,7 @@ MAIN_TAB_WAVELET_TOOLTIP;Shortcut: Alt-w MAIN_TOOLTIP_BACKCOLOR0;Background color of the preview: Theme-based\nShortcut: 9 MAIN_TOOLTIP_BACKCOLOR1;Background color of the preview: Black\nShortcut: 9 MAIN_TOOLTIP_BACKCOLOR2;Background color of the preview: White\nShortcut: 9 +MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: Middle grey\nShortcut: 9 MAIN_TOOLTIP_BEFOREAFTERLOCK;Lock / Unlock the Before view\n\nLock: keep the Before view unchanged.\nUseful to evaluate the cumulative effect of multiple tools.\nAdditionally, comparisons can be made to any state in the History.\n\nUnlock: the Before view will follow the After view one step behind, showing the image before the effect of the currently used tool. MAIN_TOOLTIP_HIDEHP;Show/Hide the left panel (including the history).\nShortcut: l MAIN_TOOLTIP_INDCLIPPEDH;Clipped highlight indication.\nShortcut: < From 9b11c30bdbfe2fa79e42111db663f23f97c3e141 Mon Sep 17 00:00:00 2001 From: TooWaBoo Date: Mon, 21 Aug 2017 13:28:24 +0200 Subject: [PATCH 05/30] Update TooWaBlue theme to v 2.54 Reason: "New middle gray preview background color and vertical togglebuttons" #4029 --- rtdata/themes/TooWaBlue-GTK3-20_.css | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/rtdata/themes/TooWaBlue-GTK3-20_.css b/rtdata/themes/TooWaBlue-GTK3-20_.css index e009c6d9a..deb46c87a 100644 --- a/rtdata/themes/TooWaBlue-GTK3-20_.css +++ b/rtdata/themes/TooWaBlue-GTK3-20_.css @@ -2,7 +2,7 @@ This file is part of RawTherapee. Copyright (c) 2016-2017 TooWaBoo - Version 2.53 - requires RT 5.0 (Gtk+ >= 3.20) + Version 2.54 - requires RT 5.0 (Gtk+ >= 3.20) RawTherapee is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1035,37 +1035,15 @@ window.csd:not(.fullscreen) #MainNotebook > header.top { margin-right: 0; } -#EditorTopPanel > box:nth-child(9) > button.image-button:not(:nth-child(6)) { +#EditorTopPanel > box:nth-child(9) > button.image-button:not(:last-child) { min-width: 0; padding-left: 0.33334em; padding-right: 0.33334em; } -#EditorTopPanel > box:nth-child(9) > button.image-button:nth-child(6) { +#EditorTopPanel > box:nth-child(9) > button.image-button:last-child { -gtk-icon-shadow: none; } -#EditorTopPanel > box > box > button { - min-height: 0.625em; - min-width: 0; - margin: 0 0.16667em; - padding: 0 0.16667em; - border: 0.08334em solid transparent; - background-color: transparent; - background-image: none; - box-shadow: none; -} -#EditorTopPanel > box > box > button:hover { - background-color: transparent; - background-image: none; - border: 0.08334em solid transparent; - box-shadow: none; -} -#EditorTopPanel > box > box > button:checked { - background-color: transparent; - background-image: none; - border: 0.08334em solid @bg-button-border; - box-shadow: none; -} /*Button editor bottom*/ #EditorZoomPanel label { From a8c4039fe725fa5f14b45f848363e4daeefa9ec3 Mon Sep 17 00:00:00 2001 From: TooWaBoo Date: Mon, 21 Aug 2017 15:42:33 +0200 Subject: [PATCH 06/30] Update TooWaBoo theme to v2.55, background & color buttons --- rtdata/themes/TooWaBlue-GTK3-20_.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rtdata/themes/TooWaBlue-GTK3-20_.css b/rtdata/themes/TooWaBlue-GTK3-20_.css index deb46c87a..5006d1715 100644 --- a/rtdata/themes/TooWaBlue-GTK3-20_.css +++ b/rtdata/themes/TooWaBlue-GTK3-20_.css @@ -2,7 +2,7 @@ This file is part of RawTherapee. Copyright (c) 2016-2017 TooWaBoo - Version 2.54 - requires RT 5.0 (Gtk+ >= 3.20) + Version 2.55 - requires RT 5.0 (Gtk+ >= 3.20) RawTherapee is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1037,8 +1037,8 @@ window.csd:not(.fullscreen) #MainNotebook > header.top { #EditorTopPanel > box:nth-child(9) > button.image-button:not(:last-child) { min-width: 0; - padding-left: 0.33334em; - padding-right: 0.33334em; + padding-left: 0.25em; + padding-right: 0.25em; } #EditorTopPanel > box:nth-child(9) > button.image-button:last-child { From 9579203a99a98068dee82c3e1d511dfaf720c040 Mon Sep 17 00:00:00 2001 From: johenning Date: Sat, 26 Aug 2017 15:55:00 +0200 Subject: [PATCH 07/30] Fixed double backslash case If the first two symbols in the path are backslashes, we should not treat them like a single backslash, as one refers to root and the other to a network path. --- rtgui/batchqueue.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rtgui/batchqueue.cc b/rtgui/batchqueue.cc index da042347d..03cc9535c 100644 --- a/rtgui/batchqueue.cc +++ b/rtgui/batchqueue.cc @@ -743,8 +743,15 @@ Glib::ustring BatchQueue::calcAutoFileNameBase (const Glib::ustring& origFileNam da.push_back (tok); } - if (origFileName[0] == '/' || origFileName[0] == '\\') { + if (origFileName[0] == '/') { pa.push_back ("/" + da[0]); + } else if (origFileName[0] == '\\') { + if (origFileName[1] == '\\') { + pa.push_back ("\\\\" + da[0]); + } + else { + pa.push_back ("/" + da[0]); + } } else { pa.push_back (da[0]); } From 9e6888070ddb127c2b9534fbc847f87ca832daf2 Mon Sep 17 00:00:00 2001 From: johenning Date: Sat, 26 Aug 2017 16:02:36 +0200 Subject: [PATCH 08/30] Added check to avoid out of bounds access --- rtgui/batchqueue.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rtgui/batchqueue.cc b/rtgui/batchqueue.cc index 03cc9535c..3a5576987 100644 --- a/rtgui/batchqueue.cc +++ b/rtgui/batchqueue.cc @@ -746,7 +746,7 @@ Glib::ustring BatchQueue::calcAutoFileNameBase (const Glib::ustring& origFileNam if (origFileName[0] == '/') { pa.push_back ("/" + da[0]); } else if (origFileName[0] == '\\') { - if (origFileName[1] == '\\') { + if (origFileName.size() > 1 && origFileName[1] == '\\') { pa.push_back ("\\\\" + da[0]); } else { From 54b71df3d662b3de47f44c23d05adffd381ba4a4 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sat, 26 Aug 2017 17:47:51 +0200 Subject: [PATCH 09/30] More visible previewmodeF-*.png button icons, closes #4032 --- .../images/Dark/actions/previewmodeF-off.png | Bin 3659 -> 805 bytes rtdata/images/Dark/actions/previewmodeF-on.png | Bin 3059 -> 719 bytes .../images/Light/actions/previewmodeF-off.png | Bin 3080 -> 710 bytes .../images/Light/actions/previewmodeF-on.png | Bin 3059 -> 719 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/rtdata/images/Dark/actions/previewmodeF-off.png b/rtdata/images/Dark/actions/previewmodeF-off.png index 1236da5a10d439811ea70e97f5e1b93d32b3de78..75a285de2017aa00450c9e313c43eeddbf71034d 100644 GIT binary patch delta 781 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 bzSZ$B*h->)CIpnO00000NkvXXu0mjf(P9({ diff --git a/rtdata/images/Dark/actions/previewmodeF-on.png b/rtdata/images/Dark/actions/previewmodeF-on.png index 3910e6a20ebb95070041ed801f3932b29b5deb20..3d46dedc7f9e22b0c997bb20e40379777486d535 100644 GIT binary patch delta 696 zcmV;p0!RJx7taNdBYyw{b3#c}2nYxWd=GXMYp z8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10!&FnK~y-6wUysa6HySx zznQa@wvcEkifCK@WDAjoSc#gDc;kckU_6Hpz=bBp7?F^)0)MTbZ551d(ZrM@Ju_a2 z+x=5$HDRuHzw^y+XC`OQ0j?-$n8B^MV?8I8Lfpgw0A1T1pX;VtEK zRgveST7UD)*2IqfK6_x6@egF!`i%nFR>(S_djvfr=oz4Us+PMcW=8q}XX>H>;6~0icoHsu&ymRYwVB`r?NI7aW_p+M{J_?EENDYhwFHw_m@% z{MhtG?$b)jn%ELR0}pyqG@S{%`!TikeNg_;t1+oiDqQ$60 delta 3054 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 diff --git a/rtdata/images/Light/actions/previewmodeF-off.png b/rtdata/images/Light/actions/previewmodeF-off.png index 519de02bcc7405bfe5ac9cd0124bdd63a44c36e7..0aa81a7051602e00101014fe2c1a1935e0e2797d 100644 GIT binary patch delta 687 zcmV;g0#N;k7{&#VBYyw{b3#c}2nYxWd=GXMYp z8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10z*keK~y-6wUy6q(?Af$ zzi(|4Cs9f^MJ-gNfSaZgK7c@QMsNY~Lc9oPUV;bU#FYa|p?~cLN`y+0N*5KB|K8!y z#w3o@2BgkuHJ24xa6!iN0&2BdemETJAP52g=yto^QmJ&*Xf*o&1&*Sq+Uxb| zBo{N{L_~h{`~B@!t7Yc}bA5e1QcB%CyO!jJ&&HT705b0PGNAXAQrG8!0su*^wJuw0 zzs&@PVOaM(Z+|YODR{Y3sfe}qXbQZ#x?0HR^Y@Wz56Kk(4@o{C83DNJoa>VOJ)zL^ zs)a(~>+$jN5CHtqhad<-5m6~Iw?*VG0Ei?lT=so`DURbWB;SslBBFvIxCLMf01}Yr zdCMv26{XajtkRuxDvbH(u>5r3&W=ccBHfLk12`NE2HSgkdq1=C&;2z;Q7Dvax7%7o3IIT|Q!EzkdB3I$vp@A( V-w_pb=^+3B002ovPDHLkV1o9KH*x>~ delta 3075 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 delta 3054 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 From 0487fb8ec1aa8ceea65622d0b41e181513af721d Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sat, 26 Aug 2017 18:31:15 +0200 Subject: [PATCH 10/30] Added previewmodeF-*.file and previewmodeF-*.svg --- .../scalable/previewmodeF-off.file | 1 + .../scalable/previewmodeF-off.svg | 630 ++++++++++++++++++ .../scalable/previewmodeF-on.file | 1 + .../source_icons/scalable/previewmodeF-on.svg | 604 +++++++++++++++++ 4 files changed, 1236 insertions(+) create mode 100644 tools/source_icons/scalable/previewmodeF-off.file create mode 100644 tools/source_icons/scalable/previewmodeF-off.svg create mode 100644 tools/source_icons/scalable/previewmodeF-on.file create mode 100644 tools/source_icons/scalable/previewmodeF-on.svg diff --git a/tools/source_icons/scalable/previewmodeF-off.file b/tools/source_icons/scalable/previewmodeF-off.file new file mode 100644 index 000000000..647bebfdb --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-off.file @@ -0,0 +1 @@ +previewmodeF-off.png,w22,actions diff --git a/tools/source_icons/scalable/previewmodeF-off.svg b/tools/source_icons/scalable/previewmodeF-off.svg new file mode 100644 index 000000000..814bc9e93 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-off.svg @@ -0,0 +1,630 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeF-on.file b/tools/source_icons/scalable/previewmodeF-on.file new file mode 100644 index 000000000..cadcea0b5 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-on.file @@ -0,0 +1 @@ +previewmodeF-on.png,w22,actions diff --git a/tools/source_icons/scalable/previewmodeF-on.svg b/tools/source_icons/scalable/previewmodeF-on.svg new file mode 100644 index 000000000..63b0e4ec8 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-on.svg @@ -0,0 +1,604 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + From 20a3ad9134cd59bea41ad0d6409ae20ed5cba7db Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sat, 26 Aug 2017 19:34:25 +0200 Subject: [PATCH 11/30] Added and updated previewmode* icons, #4027 --- .../images/Dark/actions/previewmodeB-off.png | Bin 2760 -> 175 bytes .../images/Dark/actions/previewmodeB-on.png | Bin 2760 -> 178 bytes .../Dark/actions/previewmodeBC0-off.png | Bin 2829 -> 216 bytes .../images/Dark/actions/previewmodeBC0-on.png | Bin 2832 -> 217 bytes .../Dark/actions/previewmodeBC1-off.png | Bin 2819 -> 175 bytes .../images/Dark/actions/previewmodeBC1-on.png | Bin 2820 -> 178 bytes .../Dark/actions/previewmodeBC2-off.png | Bin 2820 -> 175 bytes .../images/Dark/actions/previewmodeBC2-on.png | Bin 2821 -> 178 bytes .../Dark/actions/previewmodeBC3-off.png | Bin 2824 -> 175 bytes .../images/Dark/actions/previewmodeBC3-on.png | Bin 2826 -> 178 bytes .../images/Dark/actions/previewmodeF-off.png | Bin 3080 -> 234 bytes .../images/Dark/actions/previewmodeF-on.png | Bin 3059 -> 235 bytes .../images/Dark/actions/previewmodeG-off.png | Bin 2753 -> 176 bytes .../images/Dark/actions/previewmodeG-on.png | Bin 2750 -> 178 bytes .../images/Dark/actions/previewmodeL-off.png | Bin 2758 -> 225 bytes .../images/Dark/actions/previewmodeL-on.png | Bin 2757 -> 225 bytes .../images/Dark/actions/previewmodeR-off.png | Bin 2756 -> 175 bytes .../images/Dark/actions/previewmodeR-on.png | Bin 2757 -> 178 bytes .../images/Light/actions/previewmodeB-off.png | Bin 2760 -> 175 bytes .../images/Light/actions/previewmodeB-on.png | Bin 2760 -> 178 bytes .../Light/actions/previewmodeBC0-off.png | Bin 2746 -> 216 bytes .../Light/actions/previewmodeBC0-on.png | Bin 2776 -> 217 bytes .../Light/actions/previewmodeBC1-off.png | Bin 2789 -> 175 bytes .../Light/actions/previewmodeBC1-on.png | Bin 2789 -> 178 bytes .../Light/actions/previewmodeBC2-off.png | Bin 2756 -> 175 bytes .../Light/actions/previewmodeBC2-on.png | Bin 2757 -> 178 bytes .../Light/actions/previewmodeBC3-off.png | Bin 0 -> 175 bytes .../Light/actions/previewmodeBC3-on.png | Bin 0 -> 178 bytes .../images/Light/actions/previewmodeF-off.png | Bin 3080 -> 234 bytes .../images/Light/actions/previewmodeF-on.png | Bin 3059 -> 235 bytes .../images/Light/actions/previewmodeG-off.png | Bin 2753 -> 176 bytes .../images/Light/actions/previewmodeG-on.png | Bin 2750 -> 178 bytes .../images/Light/actions/previewmodeL-off.png | Bin 2758 -> 225 bytes .../images/Light/actions/previewmodeL-on.png | Bin 2757 -> 225 bytes .../images/Light/actions/previewmodeR-off.png | Bin 2756 -> 175 bytes .../images/Light/actions/previewmodeR-on.png | Bin 2757 -> 178 bytes .../scalable/previewmodeB-off.file | 1 + .../scalable/previewmodeB-off.svg | 81 +++++++++++++++ .../scalable/previewmodeB-on.file | 1 + .../source_icons/scalable/previewmodeB-on.svg | 81 +++++++++++++++ .../scalable/previewmodeBC0-off.file | 1 + .../scalable/previewmodeBC0-off.svg | 92 ++++++++++++++++++ .../scalable/previewmodeBC0-on.file | 1 + .../scalable/previewmodeBC0-on.svg | 92 ++++++++++++++++++ .../scalable/previewmodeBC1-off.file | 1 + .../scalable/previewmodeBC1-off.svg | 81 +++++++++++++++ .../scalable/previewmodeBC1-on.file | 1 + .../scalable/previewmodeBC1-on.svg | 81 +++++++++++++++ .../scalable/previewmodeBC2-off.file | 1 + .../scalable/previewmodeBC2-off.svg | 81 +++++++++++++++ .../scalable/previewmodeBC2-on.file | 1 + .../scalable/previewmodeBC2-on.svg | 81 +++++++++++++++ .../scalable/previewmodeBC3-off.file | 1 + .../scalable/previewmodeBC3-off.svg | 81 +++++++++++++++ .../scalable/previewmodeBC3-on.file | 1 + .../scalable/previewmodeBC3-on.svg | 81 +++++++++++++++ .../scalable/previewmodeF-off.file | 1 + .../scalable/previewmodeF-off.svg | 92 ++++++++++++++++++ .../scalable/previewmodeF-on.file | 1 + .../source_icons/scalable/previewmodeF-on.svg | 92 ++++++++++++++++++ .../scalable/previewmodeG-off.file | 1 + .../scalable/previewmodeG-off.svg | 81 +++++++++++++++ .../scalable/previewmodeG-on.file | 1 + .../source_icons/scalable/previewmodeG-on.svg | 81 +++++++++++++++ .../scalable/previewmodeL-off.file | 1 + .../scalable/previewmodeL-off.svg | 92 ++++++++++++++++++ .../scalable/previewmodeL-on.file | 1 + .../source_icons/scalable/previewmodeL-on.svg | 92 ++++++++++++++++++ .../scalable/previewmodeR-off.file | 1 + .../scalable/previewmodeR-off.svg | 81 +++++++++++++++ .../scalable/previewmodeR-on.file | 1 + .../source_icons/scalable/previewmodeR-on.svg | 81 +++++++++++++++ 72 files changed, 1542 insertions(+) create mode 100644 rtdata/images/Light/actions/previewmodeBC3-off.png create mode 100644 rtdata/images/Light/actions/previewmodeBC3-on.png create mode 100644 tools/source_icons/scalable/previewmodeB-off.file create mode 100644 tools/source_icons/scalable/previewmodeB-off.svg create mode 100644 tools/source_icons/scalable/previewmodeB-on.file create mode 100644 tools/source_icons/scalable/previewmodeB-on.svg create mode 100644 tools/source_icons/scalable/previewmodeBC0-off.file create mode 100644 tools/source_icons/scalable/previewmodeBC0-off.svg create mode 100644 tools/source_icons/scalable/previewmodeBC0-on.file create mode 100644 tools/source_icons/scalable/previewmodeBC0-on.svg create mode 100644 tools/source_icons/scalable/previewmodeBC1-off.file create mode 100644 tools/source_icons/scalable/previewmodeBC1-off.svg create mode 100644 tools/source_icons/scalable/previewmodeBC1-on.file create mode 100644 tools/source_icons/scalable/previewmodeBC1-on.svg create mode 100644 tools/source_icons/scalable/previewmodeBC2-off.file create mode 100644 tools/source_icons/scalable/previewmodeBC2-off.svg create mode 100644 tools/source_icons/scalable/previewmodeBC2-on.file create mode 100644 tools/source_icons/scalable/previewmodeBC2-on.svg create mode 100644 tools/source_icons/scalable/previewmodeBC3-off.file create mode 100644 tools/source_icons/scalable/previewmodeBC3-off.svg create mode 100644 tools/source_icons/scalable/previewmodeBC3-on.file create mode 100644 tools/source_icons/scalable/previewmodeBC3-on.svg create mode 100644 tools/source_icons/scalable/previewmodeF-off.file create mode 100644 tools/source_icons/scalable/previewmodeF-off.svg create mode 100644 tools/source_icons/scalable/previewmodeF-on.file create mode 100644 tools/source_icons/scalable/previewmodeF-on.svg create mode 100644 tools/source_icons/scalable/previewmodeG-off.file create mode 100644 tools/source_icons/scalable/previewmodeG-off.svg create mode 100644 tools/source_icons/scalable/previewmodeG-on.file create mode 100644 tools/source_icons/scalable/previewmodeG-on.svg create mode 100644 tools/source_icons/scalable/previewmodeL-off.file create mode 100644 tools/source_icons/scalable/previewmodeL-off.svg create mode 100644 tools/source_icons/scalable/previewmodeL-on.file create mode 100644 tools/source_icons/scalable/previewmodeL-on.svg create mode 100644 tools/source_icons/scalable/previewmodeR-off.file create mode 100644 tools/source_icons/scalable/previewmodeR-off.svg create mode 100644 tools/source_icons/scalable/previewmodeR-on.file create mode 100644 tools/source_icons/scalable/previewmodeR-on.svg diff --git a/rtdata/images/Dark/actions/previewmodeB-off.png b/rtdata/images/Dark/actions/previewmodeB-off.png index 1ff087b4db61a293daabc0f49186db21ae0efd82..0c9890437d1da0db3949f22d4b231df19dc6abf0 100644 GIT binary patch delta 148 zcmX>hx}I@@ay4nJ@ErkR#;MwT(m+AU64!{5;QX|b z^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1TaJY5_^G$tk|NU$DeH!w0V_;Y-DLu+GW uNG5K)1OA|gu>q$ps)Y8g@|qBtmsdl#e# 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 Hu0mjf&Kpr2 diff --git a/rtdata/images/Dark/actions/previewmodeB-on.png b/rtdata/images/Dark/actions/previewmodeB-on.png index 6403fc722efbfd05dbe5b12ac900588c66aa748b..466192b3a91632a7b88c4ecf31d110eaa0608131 100644 GIT binary patch delta 151 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 Hu0mjf@N`hf diff --git a/rtdata/images/Dark/actions/previewmodeBC0-off.png b/rtdata/images/Dark/actions/previewmodeBC0-off.png index c106c8170d215f02f91dff199639002c62b90b3c..28c02455540bd78b540ab052c0ab4d7b76a42d29 100644 GIT binary patch delta 187 zcmeAbyTLd?wZ7QNGlT;OYB*9l7#J8h3p^r=85sDEfH31!Z9ZwBpk#?_L`iUdT1k0g zQ7S`udAVL@UUqSEVnM22eo^}DcQ#T$MWLQ9jv*Qo-=4STYA_IRy|{SCT!(4X&Y9lW zX_6==!rd9w@$zW&+2@~TJbZ4=vm*Zx%hEIbr%O#@`52YV1f@MRy*1-Gb2+wN+uXLX kJSBX_yR){tF4h*a=WXHNkkQvH1GIs`)78&qol`;+0Qbs7djJ3c delta 2820 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 W4-6+p^inkd0000 diff --git a/rtdata/images/Dark/actions/previewmodeBC0-on.png b/rtdata/images/Dark/actions/previewmodeBC0-on.png index f885bb4f82874981057d50b7a3d71b8f43c2e15f..f5e0b80002cba9d12bdc670a22a9f5f3e6b1644f 100644 GIT binary patch delta 188 zcmbOrc9U^}YJIVjX9x!n)NrJ9FfcH17I;J!GcfQS0b$0e+I-SLLCF%=h?3y^w370~ zqEv?R@^Zb*yzJuS#DY}4{G#;P?`))iio!fy978lFzCCZq)nFjta&h?+t40~!x#=4| zXE^bRaCb&|Y!RzB-EDnl1M@0A#-e$7{iluIvzcn7hMwX|@=5YZcZzme`}Kmsw_ov+ lhe~(2nX~cd|EuZb-KWLB!R+UxsX!|jJYD@<);T3K0RU9|LN@>a delta 2824 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 diff --git a/rtdata/images/Dark/actions/previewmodeBC1-off.png b/rtdata/images/Dark/actions/previewmodeBC1-off.png index 114bbf2399dbcd9bc47ede16582e20b920d289bf..4ac160b059b2fee482e4c2f484cc51ea27f4f2bb 100644 GIT binary patch delta 146 zcmZn`ThBN_wZ7QNGlT;OYB*9l7#J8h3p^r=85sDEfH31!Z9ZwBpk#?_L`iUdT1k0g zQ7S`udAVL@UUqSEVnM22eo^}DcQ#T$MLM1?jv*QolM^IZ53?H>85sOIzPzEev9Zz7 s%ZqFElg;VpC1!9$8cK)=d{JZQmuKa-D@r}azzx*t>FVdQ&MBb@04bF$hyVZp delta 2810 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 delta 2811 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 N002ovPDHLkV1ieQY^eYM diff --git a/rtdata/images/Dark/actions/previewmodeBC2-off.png b/rtdata/images/Dark/actions/previewmodeBC2-off.png index 548fce401ced0abd4a7386684cc3751a2c1be964..bf3d97b2dc6a5ab774c28f8ca6f1582ee37d830b 100644 GIT binary patch delta 146 zcmZn>ThBN_wZ7QNGlT;OYB*9l7#J8h3p^r=85sDEfH31!Z9ZwBpk#?_L`iUdT1k0g zQ7S`udAVL@UUqSEVnM22eo^}DcQ#T$MLM1?jv*QolM^IZ53?H>85sOIzPzEev9a;t s&CTf%s!NwFk(j{|X(%Bg@I{T`L_I5ilN$RZ25z8EPgg&ebxsLQ098#bZvX%Q delta 2811 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 N002ovPDHLkV1h@bZSDX7 diff --git a/rtdata/images/Dark/actions/previewmodeBC2-on.png b/rtdata/images/Dark/actions/previewmodeBC2-on.png index 820f04c2018fc1a563ff0da64c5f25002bdd496d..457453166fb38e12cea17fa9efb2bd3d07cf0a89 100644 GIT binary patch delta 149 zcmZn_+r&6QwZ7QNGlT;OYB*9l7#J8h3p^r=85sDEfH31!Z9ZwBpk#?_L`iUdT1k0g zQ7S`udAVL@UUqSEVnM22eo^}DcQ#T$Mf#pDjv*QolT#8Bew=S$-(Ua)Hr3yFRxg<{ uMTA+{?k*1xPqP!FGBaa-U(-Vth8JF}{0@Kl7VZP;W$<+Mb6Mw<&;$Uv4K2C= delta 2812 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 O00004 diff --git a/rtdata/images/Dark/actions/previewmodeBC3-off.png b/rtdata/images/Dark/actions/previewmodeBC3-off.png index f77c171532b58ff7d693f4496a3b7ec309ef2855..487ec777ed1bf5d7ab1d55c1e4cc32f1b483f135 100644 GIT binary patch delta 146 zcmeAWThBN_wZ7QNGlT;OYB*9l7#J8h3p^r=85sDEfH31!Z9ZwBpk#?_L`iUdT1k0g zQ7S`udAVL@UUqSEVnM22eo^}DcQ#T$MLM1?jv*QolM^IZ53?H>85sOIzPzEev9WRC so;@FVdQ&MBb@03{?V{{R30 delta 2815 zcmV+Lr_p?Z**^SXm4;JNkc;*aB^>E zX>4Tx07!|QmUmQC*A|D*y?1({%`g-xL+`x}AiX!K(nMjH8DJ;_4l^{dA)*2iMMMM@ zL4qO%jD{kyB8r88V8I@cAfUux6j4!mGqP56<>kGXm){>}eSd48z4tw5?|s&~0Fb=> zxx92(3V<}8fFI)JN{@_+repg74DbL0%m84rGBW}~J;Q)VJ|1rLOpz1#A_#ytcf>0I zH;uf5=ydS^Nt%_x7l_gXiP(b8$z+MRP{gU(f()^JM#R+k6fwgnG4n+S6tTRR6BpU= zv(F+si6{c}T{8k*B#$jdx zfFgc4LOO^JKE zNUwrF_Y9)-eX;$OUwSIQ_o0dBB}pL2 zuro2q&dxUGa#+UVg8rfZ>F_u7)%T3W>Ha7W-JO%b6s8L3;<~ZYQ`3cfdS(Wb#i1Mh zd5HgU;D2AA!!U%Cz~OUvqKI(OlyP~9qIUDxTmd(oN9XeXQxpGT*q^jG*CJ6GJ^^a1 zF_0Rd0_4{|fT9oq5_3Sb1O3rAe|$I)zq|<5iN(49Ea=~}!e!zmlbiTC&MhR2&Jyyo z7Wc%@5}*MANCGNQ04hKO=mH~P4s3uua0VX07k>nTFc1Y+0TxICX@C#1K|a_Bia-h2 z0d|9GPzxGB6KDY^KnFMtE`ZD6I=BIDg9l&)jDzQ32D}0D5CmZ%GDLwCAXP{UGJwn> z2IL5NK>kn&6a~dWi4YGGLix}ps01p9s-Zfl3Hly71zmuyLW9sfXcU@)euv(}2uy;h zuzxbF4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+AA{TB3-ERLHar49hi4Ih5D^-ph8Q6X z#0?2VqLBoIkE}zAkxHZUgRb+f=natP#6>iMMoK->`~sR7|-H2{OUqatTkE7pUFc=y}2V;Zr z#zbL~F>5fTnEjYm%z4ZpW(+fn#bOn(23QAdAeM<0V2iMOvB$9IutV5!>{}cWr;0Pj zdE%mRJX`^;5_c4L7B_^Oz|G^O@LG5~d?22U&&8MF8}MED0sJ_Ao*+%oAvh4i2!F|h zjf5&f3*i#sA>kE~NK_}<5`&3c;s#Leh59VbXchJ<=;O znXFBACP$M6>atgt3H=1Y2UgM2$qd#E`@bNxY<%q>JP#$vnwQ$&-=; zlG9RnDQzh?DW=pqsT!$MQo~ZS(ti|bGwDF-H0e_5qtaKUCuOiQ+AVXR18&z>O)PYmQcT=_ETqMWn?X7!)0@1Yh=&Jj?fUAHqD2Y zN-LwCpxvRpms6H=k>kj1lWUP1lADuXBJV8EkuR2SmA@_jUV*OQp^&1mQ-7gD;gKRr zQC~4wFdVy& z)LYdbX%I9R8VMQ|8r>Q*nt!UA0h;-m&6@YM@LCM5B&|JKy;^hHI@%H1TeLg0Cw1g? ze01`3nspxPl69SQSL@d6-qOS9G4xXO_UqlyhxM)Wlk{u!2Mk~XYXh#qeuF_nw4tpb z&#>Nb*ob80Vw7dnY&2?2Gxj$wFzzsZVWMdgZL-s(*W{C_m1(MJgMaA*GZ`~qvjVd& zv)|42%~|F(=C>@!7M>RCEjle;S{hh#EDu=TwW3%BSZ%TDw)$voW6ig2v7WNgw28CX zXEV&8GJ+VTj4QTiTUXolwx@01*;(5O>`vJIW^ZJlVt>?ra;eTz&eDdZV-D&LOouv$ z5l6aXoZ~^q5hpb#rhikt(-UV6XSQ>r^Ms3@OR~!`mlv+4u6)-v*Eu&kx3zBP-4S;$ z_hR>c4;hc;9@QR?J=HxEJ)1peysW&|c%An~d;59s^d9z6_F?%n`ONs*_^$Qs@gw<# z`c?Zq@z?j~`*#Jv0lopd0v;~YTE<(}5eNc(0(S*I3epK$9e?y=FeW%CxF+~%h*?N} zNN*@5G&b~T=$kOtu(GfR%XOCvmv@IthR1|Ah0jH}N0dj5M4Cjdjl3SE7{!h1jK)TX zM>j^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_WICNY@+|jrX%s^&6b2i>5 zeqa0y%Z;^%^?#i0%&uThaU3}1oQVX7gz|*RM2Ey(iBm~VNtH>{TsLkt_hqtoa&7Wl zN?^+2l!erY)YddyT3p&Go(wOA*ORW2o|8V9VUSUjF|yij_3qU(d_R6;CX~4{vr|A7 z{Y>=wA3osmejsK$US(s&a1AyUc0{X5av+Up{EVu4ZYtozHMq$ zY%FQ~c$jy1Tu9enWavU5N9)I?I z-1m1*_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$mU2Q)a|9JSc+Uc4z zvS-T963!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;;JuhGEb?H5K#o@~7 ztABP^PhDeN>$q-xy}i$>uk9zRpW6DZ``ZU>20Cxp-sl=!I(T--Y3RaD_nVh*`P{mG zd)e*5JIn9f9gZ0uxy!ygc`x28mBOpTuPtA9&j!stev|fQey;ef!rLS781H)DN4%ey&;Ee@ zQ1wyoW7j9YPY)N;78d>m1DNytC3hBe0000WV@Og>004R>004l5008;`004mK0C)g( zFaQARU;qF*m;eA5aGbhPJOBUy24YJ`L;(K){{a7>y{D4^0028lL_t(2&tqg@U|{(F z|33pZz{tqRz{EfRj4FTz7DN62fp!B+`Hu>`j$nb(u{h)x4~d|L`C>6H1pw4d2{;D( R(7*ry002ovPDHLkV1jXZaJm2h diff --git a/rtdata/images/Dark/actions/previewmodeBC3-on.png b/rtdata/images/Dark/actions/previewmodeBC3-on.png index 69209dc4f391134bb680414c846306df8ae6a773..670b5b8b48d21d6bd3adae37af6351598e0ae9e0 100644 GIT binary patch delta 149 zcmeAY+r&6QwZ7QNGlT;OYB*9l7#J8h3p^r=85sDEfH31!Z9ZwBpk#?_L`iUdT1k0g zQ7S`udAVL@UUqSEVnM22eo^}DcQ#T$Mf#pDjv*QolT#8Bew=S$-(Ua)Q>IT(p8Dp^ uo0Nn@%V#$>CI)CEq$oT%8)z_xf#IYOEC0FUeC3=#y$qhNelF{r5}E*OQ!&N> delta 2817 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 TcD?Nh00000NkvXXu0mjf*K}=) diff --git a/rtdata/images/Dark/actions/previewmodeF-off.png b/rtdata/images/Dark/actions/previewmodeF-off.png index 519de02bcc7405bfe5ac9cd0124bdd63a44c36e7..5d52af569aec51a19c559f31047bf93110cc58c6 100644 GIT binary patch literal 234 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 WFb4f4zK^y50000BuWq7(c zhGkj=p4|yIe{Vc01yk5y8gsg#)z=vlV5`GK}FV(qp Ue*d_~544lP)78&qol`;+0Gql*-T(jq literal 3059 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 B)ky#V diff --git a/rtdata/images/Dark/actions/previewmodeG-off.png b/rtdata/images/Dark/actions/previewmodeG-off.png index e259113248e1c549d286e961c0b6fb68e74f8304..5c076c989001dc8407851f306ef956be4b258643 100644 GIT binary patch delta 149 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 AqyPW_ diff --git a/rtdata/images/Dark/actions/previewmodeG-on.png b/rtdata/images/Dark/actions/previewmodeG-on.png index db31667ed22d7bda38c326bcc8aa8d0fd138c6bc..ecc75c8e73e5582342785d25652aa9a089e4e570 100644 GIT binary patch delta 151 zcmdldx`}auay4nJ@ErkR#;MwT(m+AU64!{5;QX|b z^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U_JzX3_G$tmeBqaPe-@v}X00<;v3XW-2 w9!$_@7Ph;~!^6|;#Hh^7nBUj*kcHvsBUXL^OV delta 2743 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 diff --git a/rtdata/images/Dark/actions/previewmodeL-off.png b/rtdata/images/Dark/actions/previewmodeL-off.png index d24dea76f748fc299cc1a80803efc0fa1760677c..939dec6424e8209d870dfef135f768d635809ecb 100644 GIT binary patch delta 198 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 FV1fXfPgei{ diff --git a/rtdata/images/Dark/actions/previewmodeL-on.png b/rtdata/images/Dark/actions/previewmodeL-on.png index 11b745e090dac0b1693e50e5b0f573fa2278d7a2..92fe937e801dc1d399bf60b6bc29ba7528cd7cee 100644 GIT binary patch delta 198 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 Eg11~qF8}}l diff --git a/rtdata/images/Dark/actions/previewmodeR-off.png b/rtdata/images/Dark/actions/previewmodeR-off.png index 9aef7730174c2fa15043e810834997ae64309180..b96e22c31cf7025b6e61481836b79540f9bd21f0 100644 GIT binary patch delta 148 zcmX>ix}I@@ay4nJ@ErkR#;MwT(m+AU64!{5;QX|b z^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1TaJY5_^G$tk|NU$DeH!w0V_;Y-DLu+GW uNG5K)1OA|gu>q$ps)Y8g@|qBtmsdl#e# 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 D^EFHE diff --git a/rtdata/images/Dark/actions/previewmodeR-on.png b/rtdata/images/Dark/actions/previewmodeR-on.png index 5fb0f996e16a6681d1ea4380190e486d3d065cfd..fb1e46e98c4078e30f33887975dadeb14122ac4d 100644 GIT binary patch delta 151 zcmX>qx`}auay4nJ@ErkR#;MwT(m+AU64!{5;QX|b z^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U_JzX3_G$tmeBqaPe-@v}X00?3X3=U{z w7CdBP7Ph;~!^6|;#Hh^7nBUj*kcHuh6f3{L@8v5l1NAa^y85}Sb4q9e0K2R$NB{r; delta 2750 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 Ef>fkS)Bpeg diff --git a/rtdata/images/Light/actions/previewmodeB-off.png b/rtdata/images/Light/actions/previewmodeB-off.png index 1ff087b4db61a293daabc0f49186db21ae0efd82..0c9890437d1da0db3949f22d4b231df19dc6abf0 100644 GIT binary patch delta 148 zcmX>hx}I@@ay4nJ@ErkR#;MwT(m+AU64!{5;QX|b z^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1TaJY5_^G$tk|NU$DeH!w0V_;Y-DLu+GW uNG5K)1OA|gu>q$ps)Y8g@|qBtmsdl#e# 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 Hu0mjf&Kpr2 diff --git a/rtdata/images/Light/actions/previewmodeB-on.png b/rtdata/images/Light/actions/previewmodeB-on.png index 6403fc722efbfd05dbe5b12ac900588c66aa748b..466192b3a91632a7b88c4ecf31d110eaa0608131 100644 GIT binary patch delta 151 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 Hu0mjf@N`hf diff --git a/rtdata/images/Light/actions/previewmodeBC0-off.png b/rtdata/images/Light/actions/previewmodeBC0-off.png index 05a75ee25d1103cfcf938057694d858980dc60c0..28c02455540bd78b540ab052c0ab4d7b76a42d29 100644 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^96&6_!3HG%UcQ?Eq*#ibJVQ8upoSx*1IXtr@Q5sC zVBk9f!i-b3`J{n@k|nMYCBgY=CFO}lsSM@i<$9TU*~Q6;1*v-ZMd`EO*+>Bug?hR; zhG!9c+E;^G~19i~k?XL@6&NurntcV|?`%cId}pMRS1@VPb5iu^+?OV9M5 zE{)}5R5BBk_R#d!jOWbd*m`Yq+s5*g@EPyU+U~koTg;xfg?~dvU$YF*0tQc4KbLh* G2~7Zj*+;Pe literal 2746 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 A&;S4c diff --git a/rtdata/images/Light/actions/previewmodeBC0-on.png b/rtdata/images/Light/actions/previewmodeBC0-on.png index a1f462cb2021fbd58171c3af4627f202575c9397..f5e0b80002cba9d12bdc670a22a9f5f3e6b1644f 100644 GIT binary patch literal 217 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 eV_;;1sg42f@+I;zBu>3F(0 zhGpUXO@geCx1RWKR= literal 2789 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 diff --git a/rtdata/images/Light/actions/previewmodeBC1-on.png b/rtdata/images/Light/actions/previewmodeBC1-on.png index f71b2796572bc9c23f7193d4e1a9d187a60efd7d..3e9b6874cfb8a578b4edd251532a1813071aebb1 100644 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^96&6_!3HG%UcQ?Eq*#ibJVQ8upoSx*1IXtr@Q5sC zVBk9f!i-b3`J{n@k|nMYCBgY=CFO}lsSM@i<$9TU*~Q6;1*v-ZMd`EO*+>Bu>3h03 zhGkDczPyIt@-vwl3Cd9E)Ne+vlF8-Gh=>V(?b@9b+1_YD-{m) Q1GO@Ey85}Sb4q9e0O)Bj`v3p{ literal 2789 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 diff --git a/rtdata/images/Light/actions/previewmodeBC2-off.png b/rtdata/images/Light/actions/previewmodeBC2-off.png index 5c9b2d0e872788744de4d32dad5a282f99f2e4b3..bf3d97b2dc6a5ab774c28f8ca6f1582ee37d830b 100644 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^96&6_!3HG%UcQ?Eq*#ibJVQ8upoSx*1IXtr@Q5sC zVBk9f!i-b3`J{n@k|nMYCBgY=CFO}lsSM@i<$9TU*~Q6;1*v-ZMd`EO*+>Bu>3F(0 zhGR&?H>XFaE?u%jVg^T~p@fLQ7d3_x^{o6&YV4DM P`WQT2{an^LB{Ts5fR!-- literal 2756 zcmV;#3On_QP)U^ddzBK~!QA zAe0b7LK7PzD!8JkNK*t^6>-7U6_B+eiiHKiUKeB$P}ap&M8)!Zkv+=UbAD&{?DvoR zK5ypEy>n*<0E%CbK$r$A0FWw_h{Jt7nTw-inD`z510uiy8vr=m3{mhxp9p};-KMUoXC>x|m zQw1o$mBps=IT-+8C^EZ*&rL+x8fA(&BAku#JOBukgju{|7EAcqXr2JD(?mI9K|-R0 zX~H#S+Bi9}n11}M6uv}a5z65vbHqF*J1tej5#|6e^X4y7lGT=p7TLkZ$-%+G*3#xL z$3Hs%rDVOGp;uvFdImANzuCU&n=P#l0M;a0n{D50D=GkJ-2i~<{ckpdeE`U#eQW8R z^&W<7UJ@k|k+YRmR#uj!fX}s*74)nAal^mRtotlw$9*ji(~BR^k)}wPvbu58QqrVi zW`>Bv;)^{YL4G%*_24$tL4(f=gseh9H3{ z`(uYkFu783=8O*`Td;rxO7%GJ-p<1W``Vl$_orkVKeb7B<5E_I2 zgxmg&oGe!QpTW zoH5Q3=ZA~NCE-@$w&3>QnsMiFeYhdqBp#1f!<*w>@gaB)UV<;gSKyD}&*J;>!}zxZ zGC_x6OYkAY5QKz$LK)#O;S8alFhZCnDi95c&cqNRkC;O&A=VSyiM_;O;xtK-WK41; zMUaw6>qzCKCelUHL((fUnXE^4B8QO$ILd!>RUOQoTZ$<98YeIT$NmlT)*54d7`|byodZU`CR!j z`Q!4v^5Y6b1tSHv0!LxBLY2Zvg*yt9iZn$V#Sq0*#Vv}56|X3cD&dukl)ROAN(D;$ zl`bd^(GZ$GjZNdy*3;@~7iq(E9Nn1iPfwy3(|@4%&?l6Yl;(xlR_GNr1a>aNOHEmCb(y`}nIjj86XmaMj2tyS%j zI!4`0Jxo1IeXsgO^>GclhKmMQqe$bJ#(hm#(@Zm5bEW2f&2G&}Ep07dEs<7*)&;F` zZHBhHc9Ql^?K9eAIy9a6Is%=YI%jpBF_oDf%oJuhvy(ZYtEua!E7h&l?a`gqGuB(A zm#^2X_eh_l&(e?A->KiBKVhI_5NwcV&}eYqkZ8yw4=4HcB=DHu*N~ zHhY{GY;W38?R@Ok*tOZcoNGRpKX>okyY@8uVEc{s9rhm`938|CO%7v@299x# z)sA;qbXF*93+u8I*2&XpjngTocg_yZ66a&if4Equ=k4T;@m=|){E>Lq_|o{%1lNQe31f+FiDil70=A%1@G{9SsU~SE zIVAaD^5>MOl;%`IYFz3`p^`9J*qNrCmYvooG8Yw!2GX6=cco8=1H}h2pp2y%Z4$af zB-ACV+Y7V`))owH@ZHc@C|4*hytC0| zW6dVaCc&nj&32nBHh(JO6UTEZm4EknYy8%p5{Ht#+i=^2+iq`n z+kU82u{5`IXh-mlmYvLbTE6Q_+1#?4-K5>p-2>%8sv&)omCKC-^+d)D_22hcHskWKXTznK9l^%WeW89Co zj|CpXb?)z)hc*IK&myHEUL|I3LUhn|*R$KJN4J9;nW-pl)$_opAMeTaQn^hn`R*<;Peb-$Ya+C1PeaC*>du=~lv zCl7|WL(hN9`0c}R!BgtfvJst;hEdzmQ)513*PktUHvC-le0sd_cg5eUUzoi3=@0im zx+fM-48Ih={QT#ZS8A^gzMlKKV={E|@tf2)(^Exn)!rU@$9mWGKI;9*bk+y_hw_i6 zAKO0#etP&h_4DWd0Rx!x{HSwcl>h($32;bRa{vG>UH||sUIAt%f))S(00(qQO+^RY z0|68^7#ugcYXATM8c9S!R2Wxd*u8uAe_CJ$5CH_1)WmRuX@LO%0n*uF#V$?&0000< KMNUMnLSTZQ(oo6( diff --git a/rtdata/images/Light/actions/previewmodeBC2-on.png b/rtdata/images/Light/actions/previewmodeBC2-on.png index 8f5b9207e76ce6e1fb01e135145a7dff91c241f3..457453166fb38e12cea17fa9efb2bd3d07cf0a89 100644 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^96&6_!3HG%UcQ?Eq*#ibJVQ8upoSx*1IXtr@Q5sC zVBk9f!i-b3`J{n@k|nMYCBgY=CFO}lsSM@i<$9TU*~Q6;1*v-ZMd`EO*+>Bu>3h03 zhGlORDa`Hy=2N15oTe#yF5HR%}$KU%#8VcO%GWZUU;$cJN#X^ Q52%&F)78&qol`;+0PUzTL;wH) literal 2757 zcmV;$3OeU^ddzBK~!QA zAe0b7LK7PzD!8JkNK*t^6>-7U6_B+eiiHKiUKeB$P}ap&M8)!Zkv+=UbAD&{?DvoR zK5ypEy>n*<0E%CbK$r$A0FWw_h{Jt7nTw-inD`z510uiy8vr=m3{mhxp9p};-KMUoXC>x|m zQw1o$mBps=IT-+8C^EZ*&rL+x8fA(&BAku#JOBukgju{|7EAcqXr2JD(?mI9K|-R0 zX~H#S+Bi9}n11}M6uv}a5z65vbHqF*J1tej5#|6e^X4y7lGT=p7TLkZ$-%+G*3#xL z$3Hs%rDVOGp;uvFdImANzuCU&n=P#l0M;a0n{D50D=GkJ-2i~<{ckpdeE`U#eQW8R z^&W<7UJ@k|k+YRmR#uj!fX}s*74)nAal^mRtotlw$9*ji(~BR^k)}wPvbu58QqrVi zW`>Bv;)^{YL4G%*_24$tL4(f=gseh9H3{ z`(uYkFu783=8O*`Td;rxO7%GJ-p<1W``Vl$_orkVKeb7B<5E_I2 zgxmg&oGe!QpTW zoH5Q3=ZA~NCE-@$w&3>QnsMiFeYhdqBp#1f!<*w>@gaB)UV<;gSKyD}&*J;>!}zxZ zGC_x6OYkAY5QKz$LK)#O;S8alFhZCnDi95c&cqNRkC;O&A=VSyiM_;O;xtK-WK41; zMUaw6>qzCKCelUHL((fUnXE^4B8QO$ILd!>RUOQoTZ$<98YeIT$NmlT)*54d7`|byodZU`CR!j z`Q!4v^5Y6b1tSHv0!LxBLY2Zvg*yt9iZn$V#Sq0*#Vv}56|X3cD&dukl)ROAN(D;$ zl`bd^(GZ$GjZNdy*3;@~7iq(E9Nn1iPfwy3(|@4%&?l6Yl;(xlR_GNr1a>aNOHEmCb(y`}nIjj86XmaMj2tyS%j zI!4`0Jxo1IeXsgO^>GclhKmMQqe$bJ#(hm#(@Zm5bEW2f&2G&}Ep07dEs<7*)&;F` zZHBhHc9Ql^?K9eAIy9a6Is%=YI%jpBF_oDf%oJuhvy(ZYtEua!E7h&l?a`gqGuB(A zm#^2X_eh_l&(e?A->KiBKVhI_5NwcV&}eYqkZ8yw4=4HcB=DHu*N~ zHhY{GY;W38?R@Ok*tOZcoNGRpKX>okyY@8uVEc{s9rhm`938|CO%7v@299x# z)sA;qbXF*93+u8I*2&XpjngTocg_yZ66a&if4Equ=k4T;@m=|){E>Lq_|o{%1lNQe31f+FiDil70=A%1@G{9SsU~SE zIVAaD^5>MOl;%`IYFz3`p^`9J*qNrCmYvooG8Yw!2GX6=cco8=1H}h2pp2y%Z4$af zB-ACV+Y7V`))owH@ZHc@C|4*hytC0| zW6dVaCc&nj&32nBHh(JO6UTEZm4EknYy8%p5{Ht#+i=^2+iq`n z+kU82u{5`IXh-mlmYvLbTE6Q_+1#?4-K5>p-2>%8sv&)omCKC-^+d)D_22hcHskWKXTznK9l^%WeW89Co zj|CpXb?)z)hc*IK&myHEUL|I3LUhn|*R$KJN4J9;nW-pl)$_opAMeTaQn^hn`R*<;Peb-$Ya+C1PeaC*>du=~lv zCl7|WL(hN9`0c}R!BgtfvJst;hEdzmQ)513*PktUHvC-le0sd_cg5eUUzoi3=@0im zx+fM-48Ih={QT#ZS8A^gzMlKKV={E|@tf2)(^Exn)!rU@$9mWGKI;9*bk+y_hw_i6 zAKO0#etP&h_4DWd0Rx!x{HSwcl>h($32;bRa{vG>UH||sUIAt%f))S(00(qQO+^RY z0|68^6=H_Q)&Kwi8%ab#R2Wxd*u8uAe_CJ$5CH^dsEOeQ(*gqk>^$C8+7UF600000 LNkvXXu0mjf9}-d9 diff --git a/rtdata/images/Light/actions/previewmodeBC3-off.png b/rtdata/images/Light/actions/previewmodeBC3-off.png new file mode 100644 index 0000000000000000000000000000000000000000..487ec777ed1bf5d7ab1d55c1e4cc32f1b483f135 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^96&6_!3HG%UcQ?Eq*#ibJVQ8upoSx*1IXtr@Q5sC zVBk9f!i-b3`J{n@k|nMYCBgY=CFO}lsSM@i<$9TU*~Q6;1*v-ZMd`EO*+>Bu>3F(0 zhGRzv_QpUXO@geCw_m@kX~ literal 0 HcmV?d00001 diff --git a/rtdata/images/Light/actions/previewmodeBC3-on.png b/rtdata/images/Light/actions/previewmodeBC3-on.png new file mode 100644 index 0000000000000000000000000000000000000000..670b5b8b48d21d6bd3adae37af6351598e0ae9e0 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^96&6_!3HG%UcQ?Eq*#ibJVQ8upoSx*1IXtr@Q5sC zVBk9f!i-b3`J{n@k|nMYCBgY=CFO}lsSM@i<$9TU*~Q6;1*v-ZMd`EO*+>Bu>3h03 zhGjsnLa&v>YF!jQW6d=pWWD)7@(1mqVV8spurplhLb|9{O69B Ra{{$8c)I$ztaD0e0sxpFHA?^h literal 0 HcmV?d00001 diff --git a/rtdata/images/Light/actions/previewmodeF-off.png b/rtdata/images/Light/actions/previewmodeF-off.png index 519de02bcc7405bfe5ac9cd0124bdd63a44c36e7..5d52af569aec51a19c559f31047bf93110cc58c6 100644 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^96&6_!3HG%UcQ?Eq*#ibJVQ8upoSx*1IXtr@Q5sC zVBk9f!i-b3`J{n@k|nMYCBgY=CFO}lsSM@i<$9TU*~Q6;1*v-ZMd`EO*+>BurF*(K zhGRz-jAbX=SXMBxv9Yy9i%Uq9txZV~n3|Meupu=e zz`UWuSn;*Mv;-hCC1FCaYsW&3gw*7O2Tu|c5|Z4CnRz%mm3xi_EJ$NG_@ZHfIb&Zv Wm(JDt`|p8PGI+ZBxvX|D^_ww@lRz|vCuzLs)$;-`! zo*{AqUjza0dRV*yaMRE;fKCVhpQKsoe1Yhg01=zBIT!& zC1$=TK@rP|Ibo3vKKm@PqnO#LJhq6%Ij6Hz*<$V$@wQAMN5qJ)hzm2hoGcOF60t^# zFqJFfH{#e-4l@G)6iI9sa9D{VHW4w29}?su;^hF~NC{tY+*d5%WDCTXa!E_i;d2ub z1#}&jF5T4HnnCyEWTkKf0>c0%E1Ah>(_PY1)0w;+02c53Su*0<(nUqKG_|(0G&D0Z z{i;y^b@OjZ+}lNZ8Th$p5Uu}MTtq^NHl z*T1?CO*}7&0ztZsv2j*bmJyf3G7=Z`5B*PvzoDiKdLpOAxi2$L0#SX*@cY_n(^h55xYX z#km%V()bZjV~l{*bt*u9?FT3d5g^g~#a;iSZ@&02Abxq_DwB(I|L-^bXThc7C4-yr zInE_0gw7K3GZ**7&k~>k0Z0NWkO#^@9q0fwx1%qjZ=)yBuQ3=5 z4Wo^*!gyjLF-e%Um=erBOdIALW)L%unZshS@>qSW9o8Sq#0s#5*edK%>{;v(b^`kb zN5rY%%y90wC>#%$kE_5P!JWYk;U;klcqzOl-UjcFXXA75rT9jCH~u<)0>40zCTJ7v z2qAyk54cquI@7b&LHdZ`+zlTss6bJ7%PQ)z$cROu4wBhpu-r)01)S~6}jY?%U? zgEALn#wiFzo#H}aQ8rT=DHkadR18&{>P1bW7E`~Y4p3)hWn`DhhRJ5j*2tcg9i<^O zEt(fCg;q*CP8+7ZTcWhYX$fb^_9d-LhL+6BEtPYWVlfK zTBusSTASKKb%HuWJzl+By+?gkLq)?+BTu761jmyXF)a;mc z^>(B7bo*HQ1NNg1st!zt28YLv>W*y3CdWx9U8f|cqfXDAO`Q48?auQqHZJR2&bcD4 z9Ip>EY~kKEPV6Wm+eXFV)D)_R=tM0@&p?(!V*Qu1PXHG9o^TY0bZ?)4%0 z1p8F`JoeS|<@=<@RE7GY07EYX@lwd>4oW|Yi!o+Su@M`;WuSK8LKk71XR(_ zRKHM1xJ5XYX`fk>`6eqY>qNG6HZQwBM=xi4&Sb88?zd}EYguc1@>KIS<&CX#T35dw zS|7K*XM_5Nf(;WJJvJWRMA($P>8E^?{IdL4o5MGE7bq2MEEwP7v8AO@qL5!WvekBL z-8R%V?zVyL=G&{be=K4bT`e{#t|)$A!YaA?jp;X)-+bB;zhj`(vULAW%ue3U;av{9 z4wp%n<(7@__S@Z2PA@Mif3+uO&y|X06?J#o zSi8M;ejj_^(0<4Lt#wLu#dYrva1Y$6_o(k^&}yhSh&h;f@JVA>W8b%oZ=0JGnu?n~ z9O4}sJsfnnx7n(>`H13?(iXTy*fM=I`sj`CT)*pTHEgYKqqP+u1IL8No_-(u{qS+0 z<2@%BCt82d{Gqm;(q7a7b>wu+b|!X?c13m#p7cK1({0<`{-e>4hfb-UsyQuty7Ua; zOu?B?XLHZaol8GAb3Wnxcu!2v{R_`T4=x`(GvqLI{-*2AOSimkUAw*F_TX^n z@STz9kDQ$NC=!KfXWC z8h`dn#xL(D3Z9UkR7|Q&Hcy#Notk!^zVUSB(}`#4&lYA1f0h2V_PNgUAAWQEt$#LR zcH#y9#i!p(Udq2b^lI6wp1FXzN3T;~FU%Lck$-deE#qz9yYP3D3t8{6?<+s(e(3(_ z^YOu_)K8!O1p}D#{JO;G(*OVfAY({UO#lFTB>(_`g8%^e{{R4h=>PzAFaQARU;qF* zm;eA5Z<1fdMgRZ+32;bRa{vG>UH||sUIAt%f))S(0ZB#Hg8#vFq%O$~L z`QUcv<3BsIbG0N%YX7kcH?SJC7jzsn4%(jC7@eTW6deVPrW&JL(KM@#LgNKYlPvi> z>6hv+<5Z!thrffif;NK=%kDf&oNHRrH75me?KE+(EUg^V2DXaGrxCYGj4yG7?VPwc zO+2nbj5WOC4i`8?eOBUT#&iW=_`ov;*vp9e?JH090<)35Yv%5+Pdd7-^@p=LH-Wc>i? WFb4f4zK^y50000BuWq7(c zhGkj=p4|yIe{Vc01yk5y8gsg#)z=vlV5`GK}FV(qp Ue*d_~544lP)78&qol`;+0Gql*-T(jq literal 3059 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 B)ky#V diff --git a/rtdata/images/Light/actions/previewmodeG-off.png b/rtdata/images/Light/actions/previewmodeG-off.png index e259113248e1c549d286e961c0b6fb68e74f8304..5c076c989001dc8407851f306ef956be4b258643 100644 GIT binary patch delta 149 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 AqyPW_ diff --git a/rtdata/images/Light/actions/previewmodeG-on.png b/rtdata/images/Light/actions/previewmodeG-on.png index db31667ed22d7bda38c326bcc8aa8d0fd138c6bc..ecc75c8e73e5582342785d25652aa9a089e4e570 100644 GIT binary patch delta 151 zcmdldx`}auay4nJ@ErkR#;MwT(m+AU64!{5;QX|b z^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U_JzX3_G$tmeBqaPe-@v}X00<;v3XW-2 w9!$_@7Ph;~!^6|;#Hh^7nBUj*kcHvsBUXL^OV delta 2743 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 diff --git a/rtdata/images/Light/actions/previewmodeL-off.png b/rtdata/images/Light/actions/previewmodeL-off.png index d24dea76f748fc299cc1a80803efc0fa1760677c..939dec6424e8209d870dfef135f768d635809ecb 100644 GIT binary patch delta 198 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 FV1fXfPgei{ diff --git a/rtdata/images/Light/actions/previewmodeL-on.png b/rtdata/images/Light/actions/previewmodeL-on.png index 11b745e090dac0b1693e50e5b0f573fa2278d7a2..92fe937e801dc1d399bf60b6bc29ba7528cd7cee 100644 GIT binary patch delta 198 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 Eg11~qF8}}l diff --git a/rtdata/images/Light/actions/previewmodeR-off.png b/rtdata/images/Light/actions/previewmodeR-off.png index 9aef7730174c2fa15043e810834997ae64309180..b96e22c31cf7025b6e61481836b79540f9bd21f0 100644 GIT binary patch delta 148 zcmX>ix}I@@ay4nJ@ErkR#;MwT(m+AU64!{5;QX|b z^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1TaJY5_^G$tk|NU$DeH!w0V_;Y-DLu+GW uNG5K)1OA|gu>q$ps)Y8g@|qBtmsdl#e# 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 D^EFHE diff --git a/rtdata/images/Light/actions/previewmodeR-on.png b/rtdata/images/Light/actions/previewmodeR-on.png index 5fb0f996e16a6681d1ea4380190e486d3d065cfd..fb1e46e98c4078e30f33887975dadeb14122ac4d 100644 GIT binary patch delta 151 zcmX>qx`}auay4nJ@ErkR#;MwT(m+AU64!{5;QX|b z^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U_JzX3_G$tmeBqaPe-@v}X00?3X3=U{z w7CdBP7Ph;~!^6|;#Hh^7nBUj*kcHuh6f3{L@8v5l1NAa^y85}Sb4q9e0K2R$NB{r; delta 2750 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 Ef>fkS)Bpeg diff --git a/tools/source_icons/scalable/previewmodeB-off.file b/tools/source_icons/scalable/previewmodeB-off.file new file mode 100644 index 000000000..78d96d991 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeB-off.file @@ -0,0 +1 @@ +previewmodeB-off.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeB-off.svg b/tools/source_icons/scalable/previewmodeB-off.svg new file mode 100644 index 000000000..2566c37cf --- /dev/null +++ b/tools/source_icons/scalable/previewmodeB-off.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeB-on.file b/tools/source_icons/scalable/previewmodeB-on.file new file mode 100644 index 000000000..045f8a31b --- /dev/null +++ b/tools/source_icons/scalable/previewmodeB-on.file @@ -0,0 +1 @@ +previewmodeB-on.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeB-on.svg b/tools/source_icons/scalable/previewmodeB-on.svg new file mode 100644 index 000000000..cc3faa733 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeB-on.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeBC0-off.file b/tools/source_icons/scalable/previewmodeBC0-off.file new file mode 100644 index 000000000..baf7ab70a --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC0-off.file @@ -0,0 +1 @@ +previewmodeBC0-off.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeBC0-off.svg b/tools/source_icons/scalable/previewmodeBC0-off.svg new file mode 100644 index 000000000..7c29636e9 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC0-off.svg @@ -0,0 +1,92 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + T + + diff --git a/tools/source_icons/scalable/previewmodeBC0-on.file b/tools/source_icons/scalable/previewmodeBC0-on.file new file mode 100644 index 000000000..033a88501 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC0-on.file @@ -0,0 +1 @@ +previewmodeBC0-on.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeBC0-on.svg b/tools/source_icons/scalable/previewmodeBC0-on.svg new file mode 100644 index 000000000..7613279ec --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC0-on.svg @@ -0,0 +1,92 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + T + + diff --git a/tools/source_icons/scalable/previewmodeBC1-off.file b/tools/source_icons/scalable/previewmodeBC1-off.file new file mode 100644 index 000000000..db5e6f2e2 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC1-off.file @@ -0,0 +1 @@ +previewmodeBC1-off.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeBC1-off.svg b/tools/source_icons/scalable/previewmodeBC1-off.svg new file mode 100644 index 000000000..1e7d3e669 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC1-off.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeBC1-on.file b/tools/source_icons/scalable/previewmodeBC1-on.file new file mode 100644 index 000000000..1de2f604d --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC1-on.file @@ -0,0 +1 @@ +previewmodeBC1-on.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeBC1-on.svg b/tools/source_icons/scalable/previewmodeBC1-on.svg new file mode 100644 index 000000000..b4b21cd85 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC1-on.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeBC2-off.file b/tools/source_icons/scalable/previewmodeBC2-off.file new file mode 100644 index 000000000..6073f7aac --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC2-off.file @@ -0,0 +1 @@ +previewmodeBC2-off.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeBC2-off.svg b/tools/source_icons/scalable/previewmodeBC2-off.svg new file mode 100644 index 000000000..e9f4e10f2 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC2-off.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeBC2-on.file b/tools/source_icons/scalable/previewmodeBC2-on.file new file mode 100644 index 000000000..18229b31d --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC2-on.file @@ -0,0 +1 @@ +previewmodeBC2-on.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeBC2-on.svg b/tools/source_icons/scalable/previewmodeBC2-on.svg new file mode 100644 index 000000000..582b69fd8 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC2-on.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeBC3-off.file b/tools/source_icons/scalable/previewmodeBC3-off.file new file mode 100644 index 000000000..1538e97f1 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC3-off.file @@ -0,0 +1 @@ +previewmodeBC3-off.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeBC3-off.svg b/tools/source_icons/scalable/previewmodeBC3-off.svg new file mode 100644 index 000000000..f8adf9626 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC3-off.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeBC3-on.file b/tools/source_icons/scalable/previewmodeBC3-on.file new file mode 100644 index 000000000..6dad52343 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC3-on.file @@ -0,0 +1 @@ +previewmodeBC3-on.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeBC3-on.svg b/tools/source_icons/scalable/previewmodeBC3-on.svg new file mode 100644 index 000000000..8e92c0b35 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeBC3-on.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeF-off.file b/tools/source_icons/scalable/previewmodeF-off.file new file mode 100644 index 000000000..420ff2d30 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-off.file @@ -0,0 +1 @@ +previewmodeF-off.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeF-off.svg b/tools/source_icons/scalable/previewmodeF-off.svg new file mode 100644 index 000000000..dd4f099b9 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-off.svg @@ -0,0 +1,92 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + F + + diff --git a/tools/source_icons/scalable/previewmodeF-on.file b/tools/source_icons/scalable/previewmodeF-on.file new file mode 100644 index 000000000..64d9940b3 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-on.file @@ -0,0 +1 @@ +previewmodeF-on.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeF-on.svg b/tools/source_icons/scalable/previewmodeF-on.svg new file mode 100644 index 000000000..0b5ca90c5 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-on.svg @@ -0,0 +1,92 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + F + + diff --git a/tools/source_icons/scalable/previewmodeG-off.file b/tools/source_icons/scalable/previewmodeG-off.file new file mode 100644 index 000000000..be2f098d4 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeG-off.file @@ -0,0 +1 @@ +previewmodeG-off.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeG-off.svg b/tools/source_icons/scalable/previewmodeG-off.svg new file mode 100644 index 000000000..29f08ebec --- /dev/null +++ b/tools/source_icons/scalable/previewmodeG-off.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeG-on.file b/tools/source_icons/scalable/previewmodeG-on.file new file mode 100644 index 000000000..d6c82f803 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeG-on.file @@ -0,0 +1 @@ +previewmodeG-on.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeG-on.svg b/tools/source_icons/scalable/previewmodeG-on.svg new file mode 100644 index 000000000..4e5e19b56 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeG-on.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeL-off.file b/tools/source_icons/scalable/previewmodeL-off.file new file mode 100644 index 000000000..7a743f2a3 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeL-off.file @@ -0,0 +1 @@ +previewmodeL-off.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeL-off.svg b/tools/source_icons/scalable/previewmodeL-off.svg new file mode 100644 index 000000000..ea9300e7a --- /dev/null +++ b/tools/source_icons/scalable/previewmodeL-off.svg @@ -0,0 +1,92 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + L + + diff --git a/tools/source_icons/scalable/previewmodeL-on.file b/tools/source_icons/scalable/previewmodeL-on.file new file mode 100644 index 000000000..e7b99191f --- /dev/null +++ b/tools/source_icons/scalable/previewmodeL-on.file @@ -0,0 +1 @@ +previewmodeL-on.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeL-on.svg b/tools/source_icons/scalable/previewmodeL-on.svg new file mode 100644 index 000000000..41cd85c07 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeL-on.svg @@ -0,0 +1,92 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + L + + diff --git a/tools/source_icons/scalable/previewmodeR-off.file b/tools/source_icons/scalable/previewmodeR-off.file new file mode 100644 index 000000000..a18cb0f3d --- /dev/null +++ b/tools/source_icons/scalable/previewmodeR-off.file @@ -0,0 +1 @@ +previewmodeR-off.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeR-off.svg b/tools/source_icons/scalable/previewmodeR-off.svg new file mode 100644 index 000000000..2bb60f3b6 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeR-off.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeR-on.file b/tools/source_icons/scalable/previewmodeR-on.file new file mode 100644 index 000000000..5901958fb --- /dev/null +++ b/tools/source_icons/scalable/previewmodeR-on.file @@ -0,0 +1 @@ +previewmodeR-on.png,w8,actions diff --git a/tools/source_icons/scalable/previewmodeR-on.svg b/tools/source_icons/scalable/previewmodeR-on.svg new file mode 100644 index 000000000..0648c48b2 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeR-on.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + From 06fd003858e5817798fb667f57e91aa2c9edd7ab Mon Sep 17 00:00:00 2001 From: johenning Date: Sun, 27 Aug 2017 21:27:23 +0200 Subject: [PATCH 12/30] Fixed indentation --- rtgui/batchqueue.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/rtgui/batchqueue.cc b/rtgui/batchqueue.cc index 3a5576987..3d773d874 100644 --- a/rtgui/batchqueue.cc +++ b/rtgui/batchqueue.cc @@ -745,13 +745,12 @@ Glib::ustring BatchQueue::calcAutoFileNameBase (const Glib::ustring& origFileNam if (origFileName[0] == '/') { pa.push_back ("/" + da[0]); - } else if (origFileName[0] == '\\') { - if (origFileName.size() > 1 && origFileName[1] == '\\') { - pa.push_back ("\\\\" + da[0]); - } - else { - pa.push_back ("/" + da[0]); - } + } else if (origFileName[0] == '\\') { + if (origFileName.size() > 1 && origFileName[1] == '\\') { + pa.push_back ("\\\\" + da[0]); + } else { + pa.push_back ("/" + da[0]); + } } else { pa.push_back (da[0]); } From f3b4722e4f3ae0adf2476e2af0c9f659d960a2c4 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Mon, 28 Aug 2017 17:40:05 +0200 Subject: [PATCH 13/30] RawTherapee is crashing when trying to open .dng taken on smartphone, fixes #4047 --- rtengine/rawimage.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rtengine/rawimage.h b/rtengine/rawimage.h index 62752b59c..c2cdcb6ec 100644 --- a/rtengine/rawimage.h +++ b/rtengine/rawimage.h @@ -20,6 +20,8 @@ #define __RAWIMAGE_H #include +#include +#include #include "dcraw.h" #include "imageio.h" @@ -233,7 +235,13 @@ public: } float get_pre_mul(int c )const { - return pre_mul[c]; + if(std::isfinite(pre_mul[c])) { + return pre_mul[c]; + } else { + std::cout << "Failure decoding '" << filename << "', please file a bug report including the raw file and the line below:" << std::endl; + std::cout << "rawimage.h get_pre_mul() : pre_mul[" << c << "] value " << pre_mul[c] << " automatically replaced by value 1.0" << std::endl; + return 1.f; + } } float get_rgb_cam( int r, int c) const { From 8df659d2fd9e765978672f92e2a2658ff5e6f6a6 Mon Sep 17 00:00:00 2001 From: Hombre57 Date: Tue, 29 Aug 2017 02:07:58 +0200 Subject: [PATCH 14/30] Solving issue #4014 : Batch Edit "Transform-Resize" randomly changes default values in USM Reidentation in batchtoolpanelcoord.cc for a more compact code --- rtgui/addsetids.h | 6 + rtgui/batchtoolpanelcoord.cc | 567 +++++++++-------------------------- rtgui/preferences.cc | 10 +- rtgui/prsharpening.cc | 60 ++-- rtgui/prsharpening.h | 2 +- rtgui/resize.cc | 11 + rtgui/resize.h | 3 + rtgui/sharpening.cc | 30 +- rtgui/sharpening.h | 2 +- 9 files changed, 226 insertions(+), 465 deletions(-) diff --git a/rtgui/addsetids.h b/rtgui/addsetids.h index 898ef9528..2ee2e6053 100644 --- a/rtgui/addsetids.h +++ b/rtgui/addsetids.h @@ -116,6 +116,12 @@ enum { ADDSET_RETI_GAM, ADDSET_RETI_SLO, ADDSET_WB_TEMPBIAS, + ADDSET_SHARP_RADIUS, + ADDSET_SHARP_DAMPING, + ADDSET_SHARP_ITER, + ADDSET_SHARP_EDGETOL, + ADDSET_SHARP_HALOCTRL, + ADDSET_RESIZE_SCALE, ADDSET_PARAM_NUM // THIS IS USED AS A DELIMITER!! }; diff --git a/rtgui/batchtoolpanelcoord.cc b/rtgui/batchtoolpanelcoord.cc index e85ee8523..db858bdbc 100644 --- a/rtgui/batchtoolpanelcoord.cc +++ b/rtgui/batchtoolpanelcoord.cc @@ -157,12 +157,14 @@ void BatchToolPanelCoordinator::initSession () vignetting->setAdjusterBehavior (false, false, false, false); colorappearance->setAdjusterBehavior (false, false, false, false, false, false, false, false, false, false, false, false, false); rotate->setAdjusterBehavior (false); + resize->setAdjusterBehavior (false); distortion->setAdjusterBehavior (false); perspective->setAdjusterBehavior (false); gradient->setAdjusterBehavior (false, false, false, false); pcvignette->setAdjusterBehavior (false, false, false); cacorrection->setAdjusterBehavior (false); - sharpening->setAdjusterBehavior (false); + sharpening->setAdjusterBehavior (false, false, false, false, false, false); + prsharpening->setAdjusterBehavior (false, false, false, false, false, false); sharpenEdge->setAdjusterBehavior (false, false); sharpenMicro->setAdjusterBehavior (false, false); icm->setAdjusterBehavior (false, false); @@ -196,12 +198,15 @@ void BatchToolPanelCoordinator::initSession () vignetting->setAdjusterBehavior (options.baBehav[ADDSET_VIGN_AMOUNT], options.baBehav[ADDSET_VIGN_RADIUS], options.baBehav[ADDSET_VIGN_STRENGTH], options.baBehav[ADDSET_VIGN_CENTER]); colorappearance->setAdjusterBehavior (options.baBehav[ADDSET_CAT_DEGREE], options.baBehav[ADDSET_CAT_ADAPTSCENE], options.baBehav[ADDSET_CAT_ADAPTVIEWING], options.baBehav[ADDSET_CAT_BADPIX], options.baBehav[ADDSET_CAT_LIGHT], options.baBehav[ADDSET_CAT_CHROMA], options.baBehav[ADDSET_CAT_CONTRAST], options.baBehav[ADDSET_CAT_RSTPRO], options.baBehav[ADDSET_CAT_BRIGHT], options.baBehav[ADDSET_CAT_CONTRAST_Q], options.baBehav[ADDSET_CAT_CHROMA_S], options.baBehav[ADDSET_CAT_CHROMA_M], options.baBehav[ADDSET_CAT_HUE]); rotate->setAdjusterBehavior (options.baBehav[ADDSET_ROTATE_DEGREE]); + resize->setAdjusterBehavior (options.baBehav[ADDSET_RESIZE_SCALE]); distortion->setAdjusterBehavior (options.baBehav[ADDSET_DIST_AMOUNT]); perspective->setAdjusterBehavior (options.baBehav[ADDSET_PERSPECTIVE]); gradient->setAdjusterBehavior (options.baBehav[ADDSET_GRADIENT_DEGREE], options.baBehav[ADDSET_GRADIENT_FEATHER], options.baBehav[ADDSET_GRADIENT_STRENGTH], options.baBehav[ADDSET_GRADIENT_CENTER]); pcvignette->setAdjusterBehavior (options.baBehav[ADDSET_PCVIGNETTE_STRENGTH], options.baBehav[ADDSET_PCVIGNETTE_FEATHER], options.baBehav[ADDSET_PCVIGNETTE_ROUNDNESS]); cacorrection->setAdjusterBehavior (options.baBehav[ADDSET_CA]); - sharpening->setAdjusterBehavior (options.baBehav[ADDSET_SHARP_AMOUNT]); + sharpening->setAdjusterBehavior (options.baBehav[ADDSET_SHARP_RADIUS], options.baBehav[ADDSET_SHARP_AMOUNT], options.baBehav[ADDSET_SHARP_DAMPING], options.baBehav[ADDSET_SHARP_ITER], options.baBehav[ADDSET_SHARP_EDGETOL], options.baBehav[ADDSET_SHARP_HALOCTRL]); + prsharpening->setAdjusterBehavior (options.baBehav[ADDSET_SHARP_RADIUS], options.baBehav[ADDSET_SHARP_AMOUNT], options.baBehav[ADDSET_SHARP_DAMPING], options.baBehav[ADDSET_SHARP_ITER], options.baBehav[ADDSET_SHARP_EDGETOL], options.baBehav[ADDSET_SHARP_HALOCTRL]); + sharpenEdge->setAdjusterBehavior (options.baBehav[ADDSET_SHARPENEDGE_AMOUNT], options.baBehav[ADDSET_SHARPENEDGE_PASS]); sharpenMicro->setAdjusterBehavior (options.baBehav[ADDSET_SHARPENMICRO_AMOUNT], options.baBehav[ADDSET_SHARPENMICRO_UNIFORMITY]); icm->setAdjusterBehavior (options.baBehav[ADDSET_FREE_OUPUT_GAMMA], options.baBehav[ADDSET_FREE_OUTPUT_SLOPE]); @@ -223,450 +228,146 @@ void BatchToolPanelCoordinator::initSession () bayerrawexposure->setAdjusterBehavior (options.baBehav[ADDSET_RAWEXPOS_BLACKS]); xtransrawexposure->setAdjusterBehavior (options.baBehav[ADDSET_RAWEXPOS_BLACKS]); - if (options.baBehav[ADDSET_TC_EXPCOMP]) { - pparams.toneCurve.expcomp = 0; + // *INDENT-OFF* + if (options.baBehav[ADDSET_TC_EXPCOMP]) { pparams.toneCurve.expcomp = 0; } + if (options.baBehav[ADDSET_TC_HLCOMPAMOUNT]) { pparams.toneCurve.hlcompr = 0; } + if (options.baBehav[ADDSET_TC_HLCOMPTHRESH]) { pparams.toneCurve.hlcomprthresh = 0; } + if (options.baBehav[ADDSET_TC_BRIGHTNESS]) { pparams.toneCurve.brightness = 0; } + if (options.baBehav[ADDSET_TC_BLACKLEVEL]) {pparams.toneCurve.black = 0; } + if (options.baBehav[ADDSET_TC_SHCOMP]) { pparams.toneCurve.shcompr = 0; } + if (options.baBehav[ADDSET_TC_CONTRAST]) { pparams.toneCurve.contrast = 0; } + if (options.baBehav[ADDSET_TC_SATURATION]) { pparams.toneCurve.saturation = 0;} + if (options.baBehav[ADDSET_SH_HIGHLIGHTS]) { pparams.sh.highlights = 0; } + if (options.baBehav[ADDSET_SH_SHADOWS]) { pparams.sh.shadows = 0; } + if (options.baBehav[ADDSET_SH_LOCALCONTRAST]) { pparams.sh.localcontrast = 0; } + if (options.baBehav[ADDSET_LC_BRIGHTNESS]) { pparams.labCurve.brightness = 0; } + if (options.baBehav[ADDSET_LC_CONTRAST]) { pparams.labCurve.contrast = 0; } + if (options.baBehav[ADDSET_LC_CHROMATICITY]) { pparams.labCurve.chromaticity = 0; } + if (options.baBehav[ADDSET_SHARP_RADIUS]) { + pparams.sharpening.radius = pparams.sharpening.deconvradius = pparams.sharpening.edges_radius = 0; + pparams.prsharpening.radius = pparams.prsharpening.deconvradius = pparams.prsharpening.edges_radius = 0; } - - if (options.baBehav[ADDSET_TC_HLCOMPAMOUNT]) { - pparams.toneCurve.hlcompr = 0; - } - - if (options.baBehav[ADDSET_TC_HLCOMPTHRESH]) { - pparams.toneCurve.hlcomprthresh = 0; - } - - if (options.baBehav[ADDSET_TC_BRIGHTNESS]) { - pparams.toneCurve.brightness = 0; - } - - if (options.baBehav[ADDSET_TC_BLACKLEVEL]) { - pparams.toneCurve.black = 0; - } - - if (options.baBehav[ADDSET_TC_SHCOMP]) { - pparams.toneCurve.shcompr = 0; - } - - if (options.baBehav[ADDSET_TC_CONTRAST]) { - pparams.toneCurve.contrast = 0; - } - - if (options.baBehav[ADDSET_TC_SATURATION]) { - pparams.toneCurve.saturation = 0; - } - - if (options.baBehav[ADDSET_SH_HIGHLIGHTS]) { - pparams.sh.highlights = 0; - } - - if (options.baBehav[ADDSET_SH_SHADOWS]) { - pparams.sh.shadows = 0; - } - - if (options.baBehav[ADDSET_SH_LOCALCONTRAST]) { - pparams.sh.localcontrast = 0; - } - - if (options.baBehav[ADDSET_LC_BRIGHTNESS]) { - pparams.labCurve.brightness = 0; - } - - if (options.baBehav[ADDSET_LC_CONTRAST]) { - pparams.labCurve.contrast = 0; - } - - if (options.baBehav[ADDSET_LC_CHROMATICITY]) { - pparams.labCurve.chromaticity = 0; - } - if (options.baBehav[ADDSET_SHARP_AMOUNT]) { - pparams.sharpening.amount = 0; + pparams.sharpening.amount = pparams.sharpening.deconvamount = 0; + pparams.prsharpening.amount = pparams.prsharpening.deconvamount = 0; } - - if (options.baBehav[ADDSET_SHARPENEDGE_AMOUNT]) { - pparams.sharpenEdge.amount = 0; + if (options.baBehav[ADDSET_SHARP_DAMPING]) { pparams.sharpening.deconvdamping = 0; pparams.prsharpening.deconvdamping = 0; } + if (options.baBehav[ADDSET_SHARP_ITER]) { pparams.sharpening.deconviter = 0; pparams.prsharpening.deconviter = 0; } + if (options.baBehav[ADDSET_SHARP_EDGETOL]) { pparams.sharpening.edges_tolerance = 0; pparams.prsharpening.edges_tolerance = 0; } + if (options.baBehav[ADDSET_SHARP_HALOCTRL]) { pparams.sharpening.halocontrol_amount = 0; pparams.prsharpening.halocontrol_amount = 0; } + if (options.baBehav[ADDSET_SHARPENEDGE_AMOUNT]) { pparams.sharpenEdge.amount = 0; } + if (options.baBehav[ADDSET_SHARPENMICRO_AMOUNT]) { pparams.sharpenMicro.amount = 0; } + if (options.baBehav[ADDSET_SHARPENEDGE_PASS]) { pparams.sharpenEdge.passes = 0; } + if (options.baBehav[ADDSET_SHARPENMICRO_UNIFORMITY]) { pparams.sharpenMicro.uniformity = 0; } + if (options.baBehav[ADDSET_CHMIXER]) for (int i = 0; i < 3; i++) { pparams.chmixer.red[i] = pparams.chmixer.green[i] = pparams.chmixer.blue[i] = 0; } + if (options.baBehav[ADDSET_BLACKWHITE_HUES]) { + pparams.blackwhite.mixerRed = pparams.blackwhite.mixerOrange = pparams.blackwhite.mixerYellow = + pparams.blackwhite.mixerGreen = pparams.blackwhite.mixerCyan = pparams.blackwhite.mixerBlue = + pparams.blackwhite.mixerMagenta = pparams.blackwhite.mixerPurple = 0; } - - if (options.baBehav[ADDSET_SHARPENMICRO_AMOUNT]) { - pparams.sharpenMicro.amount = 0; - } - - if (options.baBehav[ADDSET_SHARPENEDGE_PASS]) { - pparams.sharpenEdge.passes = 0; - } - - if (options.baBehav[ADDSET_SHARPENMICRO_UNIFORMITY]) { - pparams.sharpenMicro.uniformity = 0; - } - - if (options.baBehav[ADDSET_CHMIXER]) for (int i = 0; i < 3; i++) { - pparams.chmixer.red[i] = pparams.chmixer.green[i] = pparams.chmixer.blue[i] = 0; - } - - if (options.baBehav[ADDSET_BLACKWHITE_HUES]) pparams.blackwhite.mixerRed = pparams.blackwhite.mixerOrange = pparams.blackwhite.mixerYellow = - pparams.blackwhite.mixerGreen = pparams.blackwhite.mixerCyan = pparams.blackwhite.mixerBlue = - pparams.blackwhite.mixerMagenta = pparams.blackwhite.mixerPurple = 0; - - if (options.baBehav[ADDSET_BLACKWHITE_GAMMA]) { - pparams.blackwhite.gammaRed = pparams.blackwhite.gammaGreen = pparams.blackwhite.gammaBlue = 0; - } - + if (options.baBehav[ADDSET_BLACKWHITE_GAMMA]) { pparams.blackwhite.gammaRed = pparams.blackwhite.gammaGreen = pparams.blackwhite.gammaBlue = 0; } //if (options.baBehav[ADDSET_LD_EDGETOLERANCE]) pparams.lumaDenoise.edgetolerance = 0; - - if (options.baBehav[ADDSET_WB_TEMPERATURE]) { - pparams.wb.temperature = 0; - } - - if (options.baBehav[ADDSET_WB_GREEN]) { - pparams.wb.green = 0; - } - - if (options.baBehav[ADDSET_WB_EQUAL]) { - pparams.wb.equal = 0; - } - - if (options.baBehav[ADDSET_WB_TEMPBIAS]) { - pparams.wb.tempBias = 0; - } - - if (options.baBehav[ADDSET_VIBRANCE_PASTELS]) { - pparams.vibrance.pastels = 0; - } - - if (options.baBehav[ADDSET_VIBRANCE_SATURATED]) { - pparams.vibrance.saturated = 0; - } - - if (options.baBehav[ADDSET_CAT_DEGREE]) { - pparams.colorappearance.degree = 0; - } - - if (options.baBehav[ADDSET_CAT_ADAPTSCENE]) { - pparams.colorappearance.adapscen = 0; - } - - if (options.baBehav[ADDSET_CAT_ADAPTVIEWING]) { - pparams.colorappearance.adaplum = 0; - } - - if (options.baBehav[ADDSET_CAT_BADPIX]) { - pparams.colorappearance.badpixsl = 0; - } - - if (options.baBehav[ADDSET_CAT_LIGHT]) { - pparams.colorappearance.jlight = 0; - } - - if (options.baBehav[ADDSET_CAT_BRIGHT]) { - pparams.colorappearance.qbright = 0; - } - - if (options.baBehav[ADDSET_CAT_CHROMA]) { - pparams.colorappearance.chroma = 0; - } - - if (options.baBehav[ADDSET_CAT_CHROMA_S]) { - pparams.colorappearance.schroma = 0; - } - - if (options.baBehav[ADDSET_CAT_CHROMA_M]) { - pparams.colorappearance.mchroma = 0; - } - - if (options.baBehav[ADDSET_CAT_RSTPRO]) { - pparams.colorappearance.rstprotection = 0; - } - - if (options.baBehav[ADDSET_CAT_CONTRAST]) { - pparams.colorappearance.contrast = 0; - } - - if (options.baBehav[ADDSET_CAT_CONTRAST_Q]) { - pparams.colorappearance.qcontrast = 0; - } - - if (options.baBehav[ADDSET_CAT_HUE]) { - pparams.colorappearance.colorh = 0; - } - - if (options.baBehav[ADDSET_FREE_OUPUT_GAMMA]) { - pparams.icm.gampos = 0; - } - - if (options.baBehav[ADDSET_FREE_OUTPUT_SLOPE]) { - pparams.icm.slpos = 0; - } - + if (options.baBehav[ADDSET_WB_TEMPERATURE]) { pparams.wb.temperature = 0; } + if (options.baBehav[ADDSET_WB_GREEN]) { pparams.wb.green = 0; } + if (options.baBehav[ADDSET_WB_EQUAL]) { pparams.wb.equal = 0; } + if (options.baBehav[ADDSET_WB_TEMPBIAS]) { pparams.wb.tempBias = 0; } + if (options.baBehav[ADDSET_VIBRANCE_PASTELS]) { pparams.vibrance.pastels = 0; } + if (options.baBehav[ADDSET_VIBRANCE_SATURATED]) { pparams.vibrance.saturated = 0; } + if (options.baBehav[ADDSET_CAT_DEGREE]) { pparams.colorappearance.degree = 0; } + if (options.baBehav[ADDSET_CAT_ADAPTSCENE]) { pparams.colorappearance.adapscen = 0; } + if (options.baBehav[ADDSET_CAT_ADAPTVIEWING]) { pparams.colorappearance.adaplum = 0; } + if (options.baBehav[ADDSET_CAT_BADPIX]) { pparams.colorappearance.badpixsl = 0; } + if (options.baBehav[ADDSET_CAT_LIGHT]) { pparams.colorappearance.jlight = 0; } + if (options.baBehav[ADDSET_CAT_BRIGHT]) { pparams.colorappearance.qbright = 0; } + if (options.baBehav[ADDSET_CAT_CHROMA]) { pparams.colorappearance.chroma = 0; } + if (options.baBehav[ADDSET_CAT_CHROMA_S]) { pparams.colorappearance.schroma = 0; } + if (options.baBehav[ADDSET_CAT_CHROMA_M]) { pparams.colorappearance.mchroma = 0; } + if (options.baBehav[ADDSET_CAT_RSTPRO]) { pparams.colorappearance.rstprotection = 0; } + if (options.baBehav[ADDSET_CAT_CONTRAST]) { pparams.colorappearance.contrast = 0; } + if (options.baBehav[ADDSET_CAT_CONTRAST_Q]) { pparams.colorappearance.qcontrast = 0; } + if (options.baBehav[ADDSET_CAT_HUE]) { pparams.colorappearance.colorh = 0; } + if (options.baBehav[ADDSET_FREE_OUPUT_GAMMA]) { pparams.icm.gampos = 0; } + if (options.baBehav[ADDSET_FREE_OUTPUT_SLOPE]) { pparams.icm.slpos = 0; } //if (options.baBehav[ADDSET_CBOOST_AMOUNT]) pparams.colorBoost.amount = 0; - //if (options.baBehav[ADDSET_CS_BLUEYELLOW]) pparams.colorShift.a = 0; //if (options.baBehav[ADDSET_CS_GREENMAGENTA]) pparams.colorShift.b = 0; - if (options.baBehav[ADDSET_COLORTONING_SPLIT]) pparams.colorToning.redlow = pparams.colorToning.greenlow = pparams.colorToning.bluelow = - pparams.colorToning.redmed = pparams.colorToning.greenmed = pparams.colorToning.bluemed = - pparams.colorToning.redhigh = pparams.colorToning.greenhigh = pparams.colorToning.bluehigh = - pparams.colorToning.satlow = pparams.colorToning.sathigh = 0; - - if (options.baBehav[ADDSET_COLORTONING_SATTHRESHOLD]) { - pparams.colorToning.satProtectionThreshold = 0; + if (options.baBehav[ADDSET_COLORTONING_SPLIT]) { + pparams.colorToning.redlow = pparams.colorToning.greenlow = pparams.colorToning.bluelow = + pparams.colorToning.redmed = pparams.colorToning.greenmed = pparams.colorToning.bluemed = + pparams.colorToning.redhigh = pparams.colorToning.greenhigh = pparams.colorToning.bluehigh = + pparams.colorToning.satlow = pparams.colorToning.sathigh = 0; } - - if (options.baBehav[ADDSET_COLORTONING_SATOPACITY]) { - pparams.colorToning.saturatedOpacity = 0; - } - - if (options.baBehav[ADDSET_COLORTONING_BALANCE]) { - pparams.colorToning.balance = 0; - } - - if (options.baBehav[ADDSET_COLORTONING_STRENGTH]) { - pparams.colorToning.strength = 0; - } - - if (options.baBehav[ADDSET_FILMSIMULATION_STRENGTH]) { - pparams.filmSimulation.strength = 0; - } - - if (options.baBehav[ADDSET_ROTATE_DEGREE]) { - pparams.rotate.degree = 0; - } - - if (options.baBehav[ADDSET_DIST_AMOUNT]) { - pparams.distortion.amount = 0; - } - - if (options.baBehav[ADDSET_PERSPECTIVE]) { - pparams.perspective.horizontal = pparams.perspective.vertical = 0; - } - - if (options.baBehav[ADDSET_GRADIENT_DEGREE]) { - pparams.gradient.degree = 0; - } - - if (options.baBehav[ADDSET_GRADIENT_FEATHER]) { - pparams.gradient.feather = 0; - } - - if (options.baBehav[ADDSET_GRADIENT_STRENGTH]) { - pparams.gradient.strength = 0; - } - - if (options.baBehav[ADDSET_GRADIENT_CENTER]) { - pparams.gradient.centerX = 0; - } - - if (options.baBehav[ADDSET_GRADIENT_CENTER]) { - pparams.gradient.centerY = 0; - } - - if (options.baBehav[ADDSET_PCVIGNETTE_STRENGTH]) { - pparams.pcvignette.strength = 0; - } - - if (options.baBehav[ADDSET_PCVIGNETTE_FEATHER]) { - pparams.pcvignette.feather = 0; - } - - if (options.baBehav[ADDSET_PCVIGNETTE_ROUNDNESS]) { - pparams.pcvignette.roundness = 0; - } - - if (options.baBehav[ADDSET_CA]) { - pparams.cacorrection.red = 0; - } - - if (options.baBehav[ADDSET_CA]) { - pparams.cacorrection.blue = 0; - } - - if (options.baBehav[ADDSET_VIGN_AMOUNT]) { - pparams.vignetting.amount = 0; - } - - if (options.baBehav[ADDSET_VIGN_RADIUS]) { - pparams.vignetting.radius = 0; - } - - if (options.baBehav[ADDSET_VIGN_STRENGTH]) { - pparams.vignetting.strength = 0; - } - - if (options.baBehav[ADDSET_VIGN_CENTER]) { - pparams.vignetting.centerX = 0; - } - - if (options.baBehav[ADDSET_VIGN_CENTER]) { - pparams.vignetting.centerY = 0; - } - - if (options.baBehav[ADDSET_DIRPYREQ]) for (int i = 0; i < 6; i++) { - pparams.dirpyrequalizer.mult[i] = 0; - } - - if (options.baBehav[ADDSET_DIRPYREQ_THRESHOLD]) { - pparams.dirpyrequalizer.threshold = 0; - } - - if (options.baBehav[ADDSET_DIRPYREQ_SKINPROTECT]) { - pparams.dirpyrequalizer.skinprotect = 0; - } - - if (options.baBehav[ADDSET_WA]) for (int i = 0; i < 8; i++) { - pparams.wavelet.c[i] = 0; - } - - if (options.baBehav[ADDSET_WA_THRESHOLD]) { - pparams.wavelet.threshold = 0; - } - - if (options.baBehav[ADDSET_WA_THRESHOLD2]) { - pparams.wavelet.threshold2 = 0; - } - - if (options.baBehav[ADDSET_WA_SKINPROTECT]) { - pparams.wavelet.skinprotect = 0; - } - - if (options.baBehav[ADDSET_WA_CHRO]) { - pparams.wavelet.chro = 0; - } - - if (options.baBehav[ADDSET_WA_CHROMA]) { - pparams.wavelet.chroma = 0; - } - - if (options.baBehav[ADDSET_WA_CONTRAST]) { - pparams.wavelet.contrast = 0; - } - - if (options.baBehav[ADDSET_WA_THRES]) { - pparams.wavelet.thres = 0; - } - - if (options.baBehav[ADDSET_WA_RESCON]) { - pparams.wavelet.rescon = 0; - } - - if (options.baBehav[ADDSET_WA_RESCONH]) { - pparams.wavelet.resconH = 0; - } - - if (options.baBehav[ADDSET_WA_RESCHRO]) { - pparams.wavelet.reschro = 0; - } - - if (options.baBehav[ADDSET_WA_TMRS]) { - pparams.wavelet.tmrs = 0; - } - - if (options.baBehav[ADDSET_WA_THRR]) { - pparams.wavelet.thr = 0; - } - - if (options.baBehav[ADDSET_WA_THRRH]) { - pparams.wavelet.thrH = 0; - } - - if (options.baBehav[ADDSET_WA_SKYPROTECT]) { - pparams.wavelet.sky = 0; - } - - if (options.baBehav[ADDSET_WA_EDGRAD]) { - pparams.wavelet.edgrad = 0; - } - - if (options.baBehav[ADDSET_WA_EDGVAL]) { - pparams.wavelet.edgval = 0; - } - - if (options.baBehav[ADDSET_WA_STRENGTH]) { - pparams.wavelet.strength = 0; - } - - if (options.baBehav[ADDSET_WA_EDGEDETECT]) { - pparams.wavelet.edgedetect = 0; - } - - if (options.baBehav[ADDSET_WA_GAMMA]) { - pparams.wavelet.gamma = 0; - } - - if (options.baBehav[ADDSET_RETI_STR]) { - pparams.retinex.str = 0; - } - - if (options.baBehav[ADDSET_RETI_NEIGH]) { - pparams.retinex.neigh = 0; - } - - if (options.baBehav[ADDSET_RETI_LIMD]) { - pparams.retinex.limd = 0; - } - - if (options.baBehav[ADDSET_RETI_OFFS]) { - pparams.retinex.offs = 0; - } - - if (options.baBehav[ADDSET_RETI_VART]) { - pparams.retinex.vart = 0; - } - - if (options.baBehav[ADDSET_RETI_GAM]) { - pparams.retinex.gam = 0; - } - - if (options.baBehav[ADDSET_RETI_SLO]) { - pparams.retinex.slope = 0; - } - - if (options.baBehav[ADDSET_DIRPYRDN_LUMA]) { - pparams.dirpyrDenoise.luma = 0; - } - - if (options.baBehav[ADDSET_DIRPYRDN_CHROMA]) { - pparams.dirpyrDenoise.chroma = 0; - } - - if (options.baBehav[ADDSET_DIRPYRDN_CHROMARED]) { - pparams.dirpyrDenoise.redchro = 0; - } - - if (options.baBehav[ADDSET_DIRPYRDN_CHROMABLUE]) { - pparams.dirpyrDenoise.bluechro = 0; - } - -// pparams.dirpyrDenoise.Ldetail = pparams.dirpyrDenoise.luma = pparams.dirpyrDenoise.chroma = 0; - if (options.baBehav[ADDSET_DIRPYRDN_GAMMA]) { - pparams.dirpyrDenoise.gamma = 0; - } - - if (options.baBehav[ADDSET_RAWCACORR]) { - pparams.raw.cablue = pparams.raw.cared = 0; - } - - if (options.baBehav[ADDSET_RAWEXPOS_LINEAR]) { - pparams.raw.expos = 0; - } - - if (options.baBehav[ADDSET_RAWEXPOS_PRESER]) { - pparams.raw.preser = 0; - } - + if (options.baBehav[ADDSET_COLORTONING_SATTHRESHOLD]) { pparams.colorToning.satProtectionThreshold = 0; } + if (options.baBehav[ADDSET_COLORTONING_SATOPACITY]) { pparams.colorToning.saturatedOpacity = 0; } + if (options.baBehav[ADDSET_COLORTONING_BALANCE]) { pparams.colorToning.balance = 0; } + if (options.baBehav[ADDSET_COLORTONING_STRENGTH]) { pparams.colorToning.strength = 0; } + if (options.baBehav[ADDSET_FILMSIMULATION_STRENGTH]) { pparams.filmSimulation.strength = 0; } + if (options.baBehav[ADDSET_ROTATE_DEGREE]) { pparams.rotate.degree = 0; } + if (options.baBehav[ADDSET_RESIZE_SCALE]) { pparams.resize.scale = 0; } + if (options.baBehav[ADDSET_DIST_AMOUNT]) { pparams.distortion.amount = 0; } + if (options.baBehav[ADDSET_PERSPECTIVE]) { pparams.perspective.horizontal = pparams.perspective.vertical = 0; } + if (options.baBehav[ADDSET_GRADIENT_DEGREE]) { pparams.gradient.degree = 0; } + if (options.baBehav[ADDSET_GRADIENT_FEATHER]) { pparams.gradient.feather = 0; } + if (options.baBehav[ADDSET_GRADIENT_STRENGTH]) { pparams.gradient.strength = 0; } + if (options.baBehav[ADDSET_GRADIENT_CENTER]) { pparams.gradient.centerX = 0; } + if (options.baBehav[ADDSET_GRADIENT_CENTER]) { pparams.gradient.centerY = 0; } + if (options.baBehav[ADDSET_PCVIGNETTE_STRENGTH]) { pparams.pcvignette.strength = 0; } + if (options.baBehav[ADDSET_PCVIGNETTE_FEATHER]) { pparams.pcvignette.feather = 0; } + if (options.baBehav[ADDSET_PCVIGNETTE_ROUNDNESS]) { pparams.pcvignette.roundness = 0; } + if (options.baBehav[ADDSET_CA]) { pparams.cacorrection.red = 0; } + if (options.baBehav[ADDSET_CA]) { pparams.cacorrection.blue = 0; } + if (options.baBehav[ADDSET_VIGN_AMOUNT]) { pparams.vignetting.amount = 0; } + if (options.baBehav[ADDSET_VIGN_RADIUS]) { pparams.vignetting.radius = 0; } + if (options.baBehav[ADDSET_VIGN_STRENGTH]) { pparams.vignetting.strength = 0; } + if (options.baBehav[ADDSET_VIGN_CENTER]) { pparams.vignetting.centerX = 0; } + if (options.baBehav[ADDSET_VIGN_CENTER]) { pparams.vignetting.centerY = 0; } + if (options.baBehav[ADDSET_DIRPYREQ]) for (int i = 0; i < 6; i++) { pparams.dirpyrequalizer.mult[i] = 0; } + if (options.baBehav[ADDSET_DIRPYREQ_THRESHOLD]) { pparams.dirpyrequalizer.threshold = 0; } + if (options.baBehav[ADDSET_DIRPYREQ_SKINPROTECT]) { pparams.dirpyrequalizer.skinprotect = 0; } + if (options.baBehav[ADDSET_WA]) for (int i = 0; i < 8; i++) { pparams.wavelet.c[i] = 0; } + if (options.baBehav[ADDSET_WA_THRESHOLD]) { pparams.wavelet.threshold = 0; } + if (options.baBehav[ADDSET_WA_THRESHOLD2]) { pparams.wavelet.threshold2 = 0; } + if (options.baBehav[ADDSET_WA_SKINPROTECT]) { pparams.wavelet.skinprotect = 0; } + if (options.baBehav[ADDSET_WA_CHRO]) { pparams.wavelet.chro = 0; } + if (options.baBehav[ADDSET_WA_CHROMA]) { pparams.wavelet.chroma = 0; } + if (options.baBehav[ADDSET_WA_CONTRAST]) { pparams.wavelet.contrast = 0; } + if (options.baBehav[ADDSET_WA_THRES]) { pparams.wavelet.thres = 0; } + if (options.baBehav[ADDSET_WA_RESCON]) { pparams.wavelet.rescon = 0; } + if (options.baBehav[ADDSET_WA_RESCONH]) { pparams.wavelet.resconH = 0; } + if (options.baBehav[ADDSET_WA_RESCHRO]) { pparams.wavelet.reschro = 0; } + if (options.baBehav[ADDSET_WA_TMRS]) { pparams.wavelet.tmrs = 0; } + if (options.baBehav[ADDSET_WA_THRR]) { pparams.wavelet.thr = 0; } + if (options.baBehav[ADDSET_WA_THRRH]) { pparams.wavelet.thrH = 0; } + if (options.baBehav[ADDSET_WA_SKYPROTECT]) { pparams.wavelet.sky = 0; } + if (options.baBehav[ADDSET_WA_EDGRAD]) { pparams.wavelet.edgrad = 0; } + if (options.baBehav[ADDSET_WA_EDGVAL]) { pparams.wavelet.edgval = 0; } + if (options.baBehav[ADDSET_WA_STRENGTH]) { pparams.wavelet.strength = 0; } + if (options.baBehav[ADDSET_WA_EDGEDETECT]) { pparams.wavelet.edgedetect = 0; } + if (options.baBehav[ADDSET_WA_GAMMA]) { pparams.wavelet.gamma = 0; } + if (options.baBehav[ADDSET_RETI_STR]) { pparams.retinex.str = 0; } + if (options.baBehav[ADDSET_RETI_NEIGH]) { pparams.retinex.neigh = 0; } + if (options.baBehav[ADDSET_RETI_LIMD]) { pparams.retinex.limd = 0; } + if (options.baBehav[ADDSET_RETI_OFFS]) { pparams.retinex.offs = 0; } + if (options.baBehav[ADDSET_RETI_VART]) { pparams.retinex.vart = 0; } + if (options.baBehav[ADDSET_RETI_GAM]) { pparams.retinex.gam = 0; } + if (options.baBehav[ADDSET_RETI_SLO]) { pparams.retinex.slope = 0; } + if (options.baBehav[ADDSET_DIRPYRDN_LUMA]) { pparams.dirpyrDenoise.luma = 0; } + if (options.baBehav[ADDSET_DIRPYRDN_CHROMA]) { pparams.dirpyrDenoise.chroma = 0; } + if (options.baBehav[ADDSET_DIRPYRDN_CHROMARED]) { pparams.dirpyrDenoise.redchro = 0; } + if (options.baBehav[ADDSET_DIRPYRDN_CHROMABLUE]) { pparams.dirpyrDenoise.bluechro = 0; } + //pparams.dirpyrDenoise.Ldetail = pparams.dirpyrDenoise.luma = pparams.dirpyrDenoise.chroma = 0; + if (options.baBehav[ADDSET_DIRPYRDN_GAMMA]) { pparams.dirpyrDenoise.gamma = 0; } + if (options.baBehav[ADDSET_RAWCACORR]) { pparams.raw.cablue = pparams.raw.cared = 0; } + if (options.baBehav[ADDSET_RAWEXPOS_LINEAR]) { pparams.raw.expos = 0; } + if (options.baBehav[ADDSET_RAWEXPOS_PRESER]) { pparams.raw.preser = 0; } if (options.baBehav[ADDSET_RAWEXPOS_BLACKS]) { pparams.raw.bayersensor.black0 = pparams.raw.bayersensor.black1 = pparams.raw.bayersensor.black2 = pparams.raw.bayersensor.black3 = 0; pparams.raw.xtranssensor.blackred = pparams.raw.xtranssensor.blackgreen = pparams.raw.xtranssensor.blackblue = 0; } - - if (options.baBehav[ADDSET_RAWFFCLIPCONTROL]) { - pparams.raw.ff_clipControl = 0; - } - - if (options.baBehav[ADDSET_PREPROCESS_GREENEQUIL]) { - pparams.raw.bayersensor.greenthresh = 0; - } - - if (options.baBehav[ADDSET_PREPROCESS_LINEDENOISE]) { - pparams.raw.bayersensor.linenoise = 0; - } + if (options.baBehav[ADDSET_RAWFFCLIPCONTROL]) { pparams.raw.ff_clipControl = 0; } + if (options.baBehav[ADDSET_PREPROCESS_GREENEQUIL]) { pparams.raw.bayersensor.greenthresh = 0; } + if (options.baBehav[ADDSET_PREPROCESS_LINEDENOISE]) { pparams.raw.bayersensor.linenoise = 0; } + // *INDENT-ON* } for (size_t i = 0; i < toolPanels.size(); i++) { diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 94b39bd53..98b01561a 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -210,9 +210,12 @@ Gtk::Widget* Preferences::getBatchProcPanel () appendBehavList (mi, M ("TP_LABCURVE_CONTRAST"), ADDSET_LC_CONTRAST, false); appendBehavList (mi, M ("TP_LABCURVE_CHROMATICITY"), ADDSET_LC_CHROMATICITY, false); - mi = behModel->append (); + mi = behModel->append (); // Used for both Resize and Post-Resize sharpening mi->set_value (behavColumns.label, M ("TP_SHARPENING_LABEL")); + appendBehavList (mi, M ("TP_SHARPENING_RADIUS"), ADDSET_SHARP_RADIUS, false); appendBehavList (mi, M ("TP_SHARPENING_AMOUNT"), ADDSET_SHARP_AMOUNT, false); + appendBehavList (mi, M ("TP_SHARPENING_RLD_DAMPING"), ADDSET_SHARP_DAMPING, false); + appendBehavList (mi, M ("TP_SHARPENING_RLD_ITERATIONS"), ADDSET_SHARP_ITER, false); mi = behModel->append (); mi->set_value (behavColumns.label, M ("TP_SHARPENEDGE_LABEL")); @@ -293,6 +296,11 @@ Gtk::Widget* Preferences::getBatchProcPanel () mi->set_value (behavColumns.label, M ("TP_ROTATE_LABEL")); appendBehavList (mi, M ("TP_ROTATE_DEGREE"), ADDSET_ROTATE_DEGREE, false); + mi = behModel->append (); + mi->set_value (behavColumns.label, M ("TP_RESIZE_LABEL")); + appendBehavList (mi, M ("TP_RESIZE_SCALE"), ADDSET_RESIZE_SCALE, true); + + mi = behModel->append (); mi->set_value (behavColumns.label, M ("TP_DISTORTION_LABEL")); appendBehavList (mi, M ("TP_DISTORTION_AMOUNT"), ADDSET_DIST_AMOUNT, false); diff --git a/rtgui/prsharpening.cc b/rtgui/prsharpening.cc index 5e79d078a..10fc69c10 100644 --- a/rtgui/prsharpening.cc +++ b/rtgui/prsharpening.cc @@ -240,20 +240,20 @@ void PrSharpening::write (ProcParams* pp, ParamsEdited* pedited) } if (pedited) { - pedited->prsharpening.amount = amount->getEditedState (); - pedited->prsharpening.radius = radius->getEditedState (); - pedited->prsharpening.threshold = threshold->getEditedState (); - pedited->prsharpening.edges_radius = eradius->getEditedState (); - pedited->prsharpening.edges_tolerance = etolerance->getEditedState (); + pedited->prsharpening.amount = amount->getEditedState (); + pedited->prsharpening.radius = radius->getEditedState (); + pedited->prsharpening.threshold = threshold->getEditedState (); + pedited->prsharpening.edges_radius = eradius->getEditedState (); + pedited->prsharpening.edges_tolerance = etolerance->getEditedState (); pedited->prsharpening.halocontrol_amount = hcamount->getEditedState (); - pedited->prsharpening.deconvamount = damount->getEditedState (); - pedited->prsharpening.deconvradius = dradius->getEditedState (); - pedited->prsharpening.deconviter = diter->getEditedState (); - pedited->prsharpening.deconvdamping = ddamping->getEditedState (); - pedited->prsharpening.method = method->get_active_row_number() != 2; - pedited->prsharpening.halocontrol = !halocontrol->get_inconsistent(); - pedited->prsharpening.edgesonly = !edgesonly->get_inconsistent(); - pedited->prsharpening.enabled = !get_inconsistent(); + pedited->prsharpening.deconvamount = damount->getEditedState (); + pedited->prsharpening.deconvradius = dradius->getEditedState (); + pedited->prsharpening.deconviter = diter->getEditedState (); + pedited->prsharpening.deconvdamping = ddamping->getEditedState (); + pedited->prsharpening.method = method->get_active_row_number() != 2; + pedited->prsharpening.halocontrol = !halocontrol->get_inconsistent(); + pedited->prsharpening.edgesonly = !edgesonly->get_inconsistent(); + pedited->prsharpening.enabled = !get_inconsistent(); } } @@ -420,13 +420,15 @@ void PrSharpening::halocontrol_toggled () void PrSharpening::method_changed () { - removeIfThere (this, usm, false); - removeIfThere (this, rld, false); + if (!batchMode) { + removeIfThere (this, usm, false); + removeIfThere (this, rld, false); - if (method->get_active_row_number() == 0) { - pack_start (*usm); - } else if (method->get_active_row_number() == 1) { - pack_start (*rld); + if (method->get_active_row_number() == 0) { + pack_start (*usm); + } else if (method->get_active_row_number() == 1) { + pack_start (*rld); + } } if (listener && (multiImage || getEnabled()) ) { @@ -467,16 +469,30 @@ void PrSharpening::setBatchMode (bool batchMode) method->append (M("GENERAL_UNCHANGED")); } -void PrSharpening::setAdjusterBehavior (bool amountadd) +void PrSharpening::setAdjusterBehavior (bool radiusadd, bool amountadd, bool dampingadd, bool iteradd, bool edgetoladd, bool haloctrladd) { + radius->setAddMode(radiusadd); + dradius->setAddMode(radiusadd); amount->setAddMode(amountadd); damount->setAddMode(amountadd); + ddamping->setAddMode(dampingadd); + diter->setAddMode(iteradd); + eradius->setAddMode(radiusadd); + etolerance->setAddMode(edgetoladd); + hcamount->setAddMode(haloctrladd); } void PrSharpening::trimValues (rtengine::procparams::ProcParams* pp) { - amount->trimValue(pp->prsharpening.amount); - damount->trimValue(pp->prsharpening.deconvamount); + radius->trimValue(pp->sharpening.radius); + dradius->trimValue(pp->sharpening.deconvradius); + amount->trimValue(pp->sharpening.amount); + damount->trimValue(pp->sharpening.deconvamount); + ddamping->trimValue(pp->sharpening.deconvdamping); + diter->trimValue(pp->sharpening.deconviter); + eradius->trimValue(pp->sharpening.edges_radius); + etolerance->trimValue(pp->sharpening.edges_tolerance); + hcamount->trimValue(pp->sharpening.halocontrol_amount); } diff --git a/rtgui/prsharpening.h b/rtgui/prsharpening.h index 9bf90cc6c..50dc91258 100644 --- a/rtgui/prsharpening.h +++ b/rtgui/prsharpening.h @@ -70,7 +70,7 @@ public: void method_changed (); void adjusterChanged (ThresholdAdjuster* a, int newBottomL, int newTopL, int newBottomR, int newTopR); - void setAdjusterBehavior (bool amountadd); + void setAdjusterBehavior (bool radiusadd, bool amountadd, bool dampingadd, bool iteradd, bool edgetoladd, bool haloctrladd); void trimValues (rtengine::procparams::ProcParams* pp); }; diff --git a/rtgui/resize.cc b/rtgui/resize.cc index 1a87bbe8c..971901b84 100644 --- a/rtgui/resize.cc +++ b/rtgui/resize.cc @@ -620,3 +620,14 @@ void Resize::enabledChanged () } } +void Resize::setAdjusterBehavior (bool scaleadd) +{ + + scale->setAddMode(scaleadd); +} + +void Resize::trimValues (rtengine::procparams::ProcParams* pp) +{ + + scale->trimValue(pp->resize.scale); +} diff --git a/rtgui/resize.h b/rtgui/resize.h index acba5b478..2b2c2ea26 100644 --- a/rtgui/resize.h +++ b/rtgui/resize.h @@ -57,6 +57,9 @@ public: void setDimensions (); void enabledChanged (); + void setAdjusterBehavior (bool scaleadd); + void trimValues (rtengine::procparams::ProcParams* pp); + private: void fitBoxScale (); int getComputedWidth (); diff --git a/rtgui/sharpening.cc b/rtgui/sharpening.cc index 72f4c62d8..c6d7b08c8 100644 --- a/rtgui/sharpening.cc +++ b/rtgui/sharpening.cc @@ -423,13 +423,15 @@ void Sharpening::halocontrol_toggled () void Sharpening::method_changed () { - removeIfThere (this, usm, false); - removeIfThere (this, rld, false); + if (!batchMode) { + removeIfThere (this, usm, false); + removeIfThere (this, rld, false); - if (method->get_active_row_number() == 0) { - pack_start (*usm); - } else if (method->get_active_row_number() == 1) { - pack_start (*rld); + if (method->get_active_row_number() == 0) { + pack_start (*usm); + } else if (method->get_active_row_number() == 1) { + pack_start (*rld); + } } if (listener && (multiImage || getEnabled()) ) { @@ -461,16 +463,30 @@ void Sharpening::setBatchMode (bool batchMode) method->append (M("GENERAL_UNCHANGED")); } -void Sharpening::setAdjusterBehavior (bool amountadd) +void Sharpening::setAdjusterBehavior (bool radiusadd, bool amountadd, bool dampingadd, bool iteradd, bool edgetoladd, bool haloctrladd) { + radius->setAddMode(radiusadd); + dradius->setAddMode(radiusadd); amount->setAddMode(amountadd); damount->setAddMode(amountadd); + ddamping->setAddMode(dampingadd); + diter->setAddMode(iteradd); + eradius->setAddMode(radiusadd); + etolerance->setAddMode(edgetoladd); + hcamount->setAddMode(haloctrladd); } void Sharpening::trimValues (rtengine::procparams::ProcParams* pp) { + radius->trimValue(pp->sharpening.radius); + dradius->trimValue(pp->sharpening.deconvradius); amount->trimValue(pp->sharpening.amount); damount->trimValue(pp->sharpening.deconvamount); + ddamping->trimValue(pp->sharpening.deconvdamping); + diter->trimValue(pp->sharpening.deconviter); + eradius->trimValue(pp->sharpening.edges_radius); + etolerance->trimValue(pp->sharpening.edges_tolerance); + hcamount->trimValue(pp->sharpening.halocontrol_amount); } diff --git a/rtgui/sharpening.h b/rtgui/sharpening.h index 45c2d9fe1..2901036f5 100644 --- a/rtgui/sharpening.h +++ b/rtgui/sharpening.h @@ -70,7 +70,7 @@ public: void halocontrol_toggled (); void method_changed (); - void setAdjusterBehavior (bool amountadd); + void setAdjusterBehavior (bool radiusadd, bool amountadd, bool dampingadd, bool iteradd, bool edgetoladd, bool haloctrladd); void trimValues (rtengine::procparams::ProcParams* pp); }; From aae027da98cbb60f078ccbfbc15a414be9ea7763 Mon Sep 17 00:00:00 2001 From: Hombre57 Date: Tue, 29 Aug 2017 02:10:23 +0200 Subject: [PATCH 15/30] Minor bugfix --- rtgui/prsharpening.cc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/rtgui/prsharpening.cc b/rtgui/prsharpening.cc index 10fc69c10..e9dd6b606 100644 --- a/rtgui/prsharpening.cc +++ b/rtgui/prsharpening.cc @@ -486,13 +486,13 @@ void PrSharpening::setAdjusterBehavior (bool radiusadd, bool amountadd, bool dam void PrSharpening::trimValues (rtengine::procparams::ProcParams* pp) { - radius->trimValue(pp->sharpening.radius); - dradius->trimValue(pp->sharpening.deconvradius); - amount->trimValue(pp->sharpening.amount); - damount->trimValue(pp->sharpening.deconvamount); - ddamping->trimValue(pp->sharpening.deconvdamping); - diter->trimValue(pp->sharpening.deconviter); - eradius->trimValue(pp->sharpening.edges_radius); - etolerance->trimValue(pp->sharpening.edges_tolerance); - hcamount->trimValue(pp->sharpening.halocontrol_amount); + radius->trimValue(pp->prsharpening.radius); + dradius->trimValue(pp->prsharpening.deconvradius); + amount->trimValue(pp->prsharpening.amount); + damount->trimValue(pp->prsharpening.deconvamount); + ddamping->trimValue(pp->prsharpening.deconvdamping); + diter->trimValue(pp->prsharpening.deconviter); + eradius->trimValue(pp->prsharpening.edges_radius); + etolerance->trimValue(pp->prsharpening.edges_tolerance); + hcamount->trimValue(pp->prsharpening.halocontrol_amount); } From e6f1b53142b7f5a53d438c5224e3affed9513c67 Mon Sep 17 00:00:00 2001 From: Hombre57 Date: Wed, 30 Aug 2017 21:46:58 +0200 Subject: [PATCH 16/30] Shows the RL Deconv. section when in BatchMode --- rtgui/prsharpening.cc | 1 + rtgui/sharpening.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/rtgui/prsharpening.cc b/rtgui/prsharpening.cc index e9dd6b606..94034b471 100644 --- a/rtgui/prsharpening.cc +++ b/rtgui/prsharpening.cc @@ -455,6 +455,7 @@ void PrSharpening::setBatchMode (bool batchMode) hcbin->pack_start (*hcbox); removeIfThere (edgebin, edgebox, false); edgebin->pack_start (*edgebox); + pack_start (*rld); radius->showEditedCB (); amount->showEditedCB (); diff --git a/rtgui/sharpening.cc b/rtgui/sharpening.cc index c6d7b08c8..9abfc6de8 100644 --- a/rtgui/sharpening.cc +++ b/rtgui/sharpening.cc @@ -449,6 +449,7 @@ void Sharpening::setBatchMode (bool batchMode) hcbin->pack_start (*hcbox); removeIfThere (edgebin, edgebox, false); edgebin->pack_start (*edgebox); + pack_start (*rld); radius->showEditedCB (); amount->showEditedCB (); From 1e36c564a724992e4f6b9435f8a6daf594668497 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Fri, 1 Sep 2017 14:59:17 +0200 Subject: [PATCH 17/30] Moved focus mask preview to clipped shadows/highlights section, uses large focus-screem icon, #4027 --- .../actions/previewmodeF-focusScreen-off.png | Bin 0 -> 805 bytes .../actions/previewmodeF-focusScreen-on.png | Bin 0 -> 719 bytes .../actions/previewmodeF-focusScreen-off.png | Bin 0 -> 710 bytes .../actions/previewmodeF-focusScreen-on.png | Bin 0 -> 719 bytes rtgui/cropwindow.cc | 6 +- rtgui/editorpanel.cc | 10 +- rtgui/indclippedpanel.cc | 50 +- rtgui/indclippedpanel.h | 24 +- rtgui/previewmodepanel.cc | 23 - rtgui/previewmodepanel.h | 9 +- .../previewmodeF-focusScreen-off.file | 1 + .../scalable/previewmodeF-focusScreen-off.svg | 630 ++++++++++++++++++ .../scalable/previewmodeF-focusScreen-on.file | 1 + .../scalable/previewmodeF-focusScreen-on.svg | 604 +++++++++++++++++ 14 files changed, 1309 insertions(+), 49 deletions(-) create mode 100644 rtdata/images/Dark/actions/previewmodeF-focusScreen-off.png create mode 100644 rtdata/images/Dark/actions/previewmodeF-focusScreen-on.png create mode 100644 rtdata/images/Light/actions/previewmodeF-focusScreen-off.png create mode 100644 rtdata/images/Light/actions/previewmodeF-focusScreen-on.png create mode 100644 tools/source_icons/scalable/previewmodeF-focusScreen-off.file create mode 100644 tools/source_icons/scalable/previewmodeF-focusScreen-off.svg create mode 100644 tools/source_icons/scalable/previewmodeF-focusScreen-on.file create mode 100644 tools/source_icons/scalable/previewmodeF-focusScreen-on.svg diff --git a/rtdata/images/Dark/actions/previewmodeF-focusScreen-off.png b/rtdata/images/Dark/actions/previewmodeF-focusScreen-off.png new file mode 100644 index 0000000000000000000000000000000000000000..75a285de2017aa00450c9e313c43eeddbf71034d GIT binary patch literal 805 zcmV+=1KRwFP)=GXMYp8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10-{MoK~y-6wUtdz+dvS8XVyvVII$bY#ZZz`FaeZWD540daO%e; zRsK-_NYCX*RN~lPkhq{ADw9H;77;|L3fU4%&Ihr#hYELNLP;wzr}6B&&%SGoW&!Rf z@HRoAP!Rk5z9vbM1OU+KbULY2s%hJH@4vv7Wo5hF?mQyuLv)NWcHZmt_K%K^=%`?v zot?D^A=7`qOL)Rp$8q)mfbn%<2=oad9h_2&}y~LtJUh>_V)IGLqrTb&wGD- zeB2&zY#7D@0AzV_rBZpkyuAEW6vZ?m5=11DB&BC&W~NQkRCjlG8$3G}i$Sy5`~d(E zx)TIpoQEzhF5WK|i=|;#R}^J(ZEfv!xm;f0>x7U8VGi)SSA!ssc~PlUnrDn%>l#H- z#>d9So&f-^uC7-2HO5%7P$-BYI0ynM3Q$#5kJeJDlwlag3r;f^)m*Vibb&X(e@K#) znV6V(8F9!U5`+*If(ap=sNmw_B5WN=lC)ed_bRG!UDp|6s2hSE$LSJ6Jbra&XXgMB znJ9|)a=Bc2*p0Tfw%$eDdXD4#0RsT|zW<#U*|vSwXf!_O^Z9E|0f5zNwYM7^8wY&R z_x;nWJnUmtRoz%D_J}{sw(XN-GFj7gU604(8e`0NUDw{++H3_O_pUPJkQe@V@Uu2 jL~P5lOmBOd?ks)*h)eUf?RVt`00000NkvXXu0mjfnM`Mh literal 0 HcmV?d00001 diff --git a/rtdata/images/Dark/actions/previewmodeF-focusScreen-on.png b/rtdata/images/Dark/actions/previewmodeF-focusScreen-on.png new file mode 100644 index 0000000000000000000000000000000000000000..3d46dedc7f9e22b0c997bb20e40379777486d535 GIT binary patch literal 719 zcmV;=0x=GXMYp8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10!&FnK~y-6wUysa6HySxznQa@wvcEkifCK@WDAjoSc#gDc;kck zU_6Hpz=bBp7?F^)0{ZnW)VXk(+^UZH(CTGt9t|(}j!L7Js zJtvhy+{6I@UE3X>>$FQ$`t@JnOnq%qNfv=#8qkoB6wsEj$=%xQ%j40&3d+_W7KCMP zST_J*tU0LV-jqSmi@^%Y9j>lg!OSSoJ{*U&+0D0pjr}ioKR?d@D--~%!Az!J%=>6T@gQ);0iNTZLs!g~RcgzE~_OHhy0Ht)aRF13aO5ek|u%pF)SR7vPl0y4Z z0SDBFo@mv(SzvMr5=_h+pSX%T&3zMfKJe&djKmD3<$*m zJt>1;gv3rYU+sedz*zG&WNH#=Nx=guB~_8(S_ zdjvfr=oz4Us+PMcW=8q}XX>H>;6~0icoHsu&ymRYwVB z`r?NI7aW_p+M{J_?EENDYhwFHw_m@%{MhtG?$b)jn%ELR0}pyqG@S{%`!TikeNg_; ztEo^bT>CaPkxF(b0RWw(p4@EyJT4V3znZQregha&=;z`DVaEUf002ovPDHLkV1iEX BJd*$b literal 0 HcmV?d00001 diff --git a/rtdata/images/Light/actions/previewmodeF-focusScreen-off.png b/rtdata/images/Light/actions/previewmodeF-focusScreen-off.png new file mode 100644 index 0000000000000000000000000000000000000000..0aa81a7051602e00101014fe2c1a1935e0e2797d GIT binary patch literal 710 zcmV;%0y+JOP)=GXMYp8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10z*keK~y-6wUy6q(?Af$zi(|4Cs9f^MJ-gNfSaZgK7c@QMsNY~ zLc9oPUV;bU#FYa|q3s4rgi4W07ZsHM-r>;3B#zStq|RwIp84%JquDWVLB{g}YPDK^ zI2`IA2m%1;cDvnDsdUt6H2VJqj-sgA>-Fj+7c=5SM1J)9{q0t(W#>p!bwg*XMx(07;*GSob_{E~P1Wxl*Z!wf1NVyt=wt z$mjF-k!lag6#x%OJ|GzZxayqilKefP(DSN=LgDN2@$nD<{LzOX2tpB2DKWQ2Dd zR-JRj@gNbYJLjgRhU7AUM>uKO^HffuR;%R`uyZcR04!#RT@sPUW1x+UYJvnj!zSiZ zL@EHDoD~BAN-0UeN~!J?RU{c5lA7eRbPP$8A*h#tjWIo?R6CWlb9(z_5qUbJqSq<4 zZDY(|FaX4H{5_R;C?dN6rj(vSUx~=hxHFF9gV8y8APWl%zkJ`nfyut_1NZ=75r75| z184wv3E)ktLf7eZ-i;o}#5jdvxZ!!;#B9!M&bg1xW;5ye#ICT`9%-%1B+LH-6_NdB zv)LH;rMDZbwFlK|^%6-vC-jps=6%{fbJ4G@t?67Yw>fLk12`NE2HSgkdq1=C&;2z; sQIu=9+gd~l06?-+EEer~zorYbKlNJQ5fyalApigX07*qoM6N<$f&lF|=Kufz literal 0 HcmV?d00001 diff --git a/rtdata/images/Light/actions/previewmodeF-focusScreen-on.png b/rtdata/images/Light/actions/previewmodeF-focusScreen-on.png new file mode 100644 index 0000000000000000000000000000000000000000..3d46dedc7f9e22b0c997bb20e40379777486d535 GIT binary patch literal 719 zcmV;=0x=GXMYp8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10!&FnK~y-6wUysa6HySxznQa@wvcEkifCK@WDAjoSc#gDc;kck zU_6Hpz=bBp7?F^)0{ZnW)VXk(+^UZH(CTGt9t|(}j!L7Js zJtvhy+{6I@UE3X>>$FQ$`t@JnOnq%qNfv=#8qkoB6wsEj$=%xQ%j40&3d+_W7KCMP zST_J*tU0LV-jqSmi@^%Y9j>lg!OSSoJ{*U&+0D0pjr}ioKR?d@D--~%!Az!J%=>6T@gQ);0iNTZLs!g~RcgzE~_OHhy0Ht)aRF13aO5ek|u%pF)SR7vPl0y4Z z0SDBFo@mv(SzvMr5=_h+pSX%T&3zMfKJe&djKmD3<$*m zJt>1;gv3rYU+sedz*zG&WNH#=Nx=guB~_8(S_ zdjvfr=oz4Us+PMcW=8q}XX>H>;6~0icoHsu&ymRYwVB z`r?NI7aW_p+M{J_?EENDYhwFHw_m@%{MhtG?$b)jn%ELR0}pyqG@S{%`!TikeNg_; ztEo^bT>CaPkxF(b0RWw(p4@EyJT4V3znZQregha&=;z`DVaEUf002ovPDHLkV1iEX BJd*$b literal 0 HcmV?d00001 diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc index 5ae65691e..93426a1c6 100644 --- a/rtgui/cropwindow.cc +++ b/rtgui/cropwindow.cc @@ -1361,13 +1361,13 @@ void CropWindow::expose (Cairo::RefPtr cr) imgH = cropHandler.cropPixbuf->get_height (); exposeVersion++; - bool showcs = iarea->indClippedPanel->showClippedShadows(); - bool showch = iarea->indClippedPanel->showClippedHighlights(); const bool showR = iarea->previewModePanel->showR(); // will show clipping if R channel is clipped const bool showG = iarea->previewModePanel->showG(); // will show clipping if G channel is clipped const bool showB = iarea->previewModePanel->showB(); // will show clipping if B channel is clipped const bool showL = iarea->previewModePanel->showL(); // will show clipping if L value is clipped - const bool showFocusMask = iarea->previewModePanel->showFocusMask(); + const bool showFocusMask = iarea->indClippedPanel->showFocusMask(); + bool showcs = iarea->indClippedPanel->showClippedShadows(); + bool showch = iarea->indClippedPanel->showClippedHighlights(); // While the Right-side ALT is pressed, auto-enable highlight and shadow clipping indicators // TODO: Add linux/MacOS specific functions for alternative diff --git a/rtgui/editorpanel.cc b/rtgui/editorpanel.cc index 8d2d6251a..aced7faa3 100644 --- a/rtgui/editorpanel.cc +++ b/rtgui/editorpanel.cc @@ -1539,11 +1539,7 @@ bool EditorPanel::handleShortcutKey (GdkEventKey* event) return true; case GDK_KEY_F: //preview mode Focus Mask - iareapanel->imageArea->previewModePanel->toggleFocusMask(); - return true; - - case GDK_KEY_f: - iareapanel->imageArea->zoomPanel->zoomFitClicked(); + iareapanel->imageArea->indClippedPanel->toggleFocusMask(); return true; case GDK_KEY_less: @@ -1554,6 +1550,10 @@ bool EditorPanel::handleShortcutKey (GdkEventKey* event) iareapanel->imageArea->indClippedPanel->toggleClipped (true); return true; + case GDK_KEY_f: + iareapanel->imageArea->zoomPanel->zoomFitClicked(); + return true; + case GDK_KEY_F5: openThm->openDefaultViewer ((event->state & GDK_SHIFT_MASK) ? 2 : 1); return true; diff --git a/rtgui/indclippedpanel.cc b/rtgui/indclippedpanel.cc index 72180b31a..bc5cecab6 100644 --- a/rtgui/indclippedpanel.cc +++ b/rtgui/indclippedpanel.cc @@ -24,6 +24,14 @@ IndicateClippedPanel::IndicateClippedPanel (ImageArea* ia) : imageArea(ia) { + iFon = new RTImage ("previewmodeF-focusScreen-on.png"); + iFoff = new RTImage ("previewmodeF-focusScreen-off.png"); + + previewFocusMask = Gtk::manage (new Gtk::ToggleButton ()); + previewFocusMask->set_relief(Gtk::RELIEF_NONE); + previewFocusMask->set_tooltip_markup (M("MAIN_TOOLTIP_PREVIEWFOCUSMASK")); + previewFocusMask->set_image(*iFoff); + Glib::ustring tt; indclippedh = Gtk::manage (new Gtk::ToggleButton ()); @@ -48,14 +56,17 @@ IndicateClippedPanel::IndicateClippedPanel (ImageArea* ia) : imageArea(ia) indclippeds->set_tooltip_markup (tt); } + previewFocusMask->set_active (false); indclippedh->set_active (options.showClippedHighlights); indclippeds->set_active (options.showClippedShadows); + pack_start (*previewFocusMask, Gtk::PACK_SHRINK, 0); pack_start (*indclippeds, Gtk::PACK_SHRINK, 0); pack_start (*indclippedh, Gtk::PACK_SHRINK, 0); - indclippedh->signal_toggled().connect( sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled) ); - indclippeds->signal_toggled().connect( sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled) ); + connFocusMask = previewFocusMask->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled), previewFocusMask) ); + connClippedS = indclippeds->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled), indclippeds) ); + connClippedH = indclippedh->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled), indclippedh) ); show_all (); } @@ -70,8 +81,35 @@ void IndicateClippedPanel::toggleClipped (bool highlights) } } -void IndicateClippedPanel::buttonToggled () +void IndicateClippedPanel::toggleFocusMask () { + previewFocusMask->set_active(!previewFocusMask->get_active()); +} + +void IndicateClippedPanel::buttonToggled (Gtk::ToggleButton* tb) +{ + + connFocusMask.block(true); + connClippedS.block(true); + connClippedH.block(true); + + if (tb != previewFocusMask) { + previewFocusMask->set_active(false); + } else { + if (indclippeds->get_active()) { + indclippeds->set_active(false); + } + if (indclippedh->get_active()) { + indclippedh->set_active(false); + } + } + + previewFocusMask->set_image(previewFocusMask->get_active() ? *iFon : *iFoff); + + connFocusMask.block(false); + connClippedS.block(false); + connClippedH.block(false); + imageArea->queue_draw (); // this will redraw the linked Before image area @@ -80,3 +118,9 @@ void IndicateClippedPanel::buttonToggled () imageArea->iLinkedImageArea->queue_draw (); } } + +IndicateClippedPanel::~IndicateClippedPanel () +{ + delete iFon; + delete iFoff; +} diff --git a/rtgui/indclippedpanel.h b/rtgui/indclippedpanel.h index 3a6bc5296..54973e6ba 100644 --- a/rtgui/indclippedpanel.h +++ b/rtgui/indclippedpanel.h @@ -25,24 +25,34 @@ class IndicateClippedPanel : public Gtk::HBox { protected: + Gtk::Image* iFon, *iFoff; + Gtk::ToggleButton* previewFocusMask; Gtk::ToggleButton* indclippedh; Gtk::ToggleButton* indclippeds; ImageArea* imageArea; public: - explicit IndicateClippedPanel (ImageArea* ia); + explicit IndicateClippedPanel(ImageArea* ia); + ~IndicateClippedPanel(); - void buttonToggled (); + void buttonToggled(Gtk::ToggleButton* tb); + void toggleClipped(bool highlights); // inverts a toggle programmatically + void toggleFocusMask(); - void toggleClipped (bool highlights); // inverts a toggle programmatically + sigc::connection connFocusMask, connClippedS, connClippedH; - bool showClippedShadows () + + bool showFocusMask () { - return indclippeds->get_active (); + return previewFocusMask->get_active (); } - bool showClippedHighlights () + bool showClippedShadows() { - return indclippedh->get_active (); + return indclippeds->get_active(); + } + bool showClippedHighlights() + { + return indclippedh->get_active(); } }; diff --git a/rtgui/previewmodepanel.cc b/rtgui/previewmodepanel.cc index 7627b3fde..60b450e4a 100644 --- a/rtgui/previewmodepanel.cc +++ b/rtgui/previewmodepanel.cc @@ -28,7 +28,6 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) iG = new RTImage ("previewmodeG-on.png"); iB = new RTImage ("previewmodeB-on.png"); iL = new RTImage ("previewmodeL-on.png"); - iF = new RTImage ("previewmodeF-on.png"); iBC0 = new RTImage ("previewmodeBC0-on.png"); iBC1 = new RTImage ("previewmodeBC1-on.png"); iBC2 = new RTImage ("previewmodeBC2-on.png"); @@ -38,7 +37,6 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) igG = new RTImage ("previewmodeG-off.png"); igB = new RTImage ("previewmodeB-off.png"); igL = new RTImage ("previewmodeL-off.png"); - igF = new RTImage ("previewmodeF-off.png"); igBC0 = new RTImage ("previewmodeBC0-off.png"); igBC1 = new RTImage ("previewmodeBC1-off.png"); igBC2 = new RTImage ("previewmodeBC2-off.png"); @@ -84,16 +82,10 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) previewL->set_tooltip_markup (M("MAIN_TOOLTIP_PREVIEWL")); previewL->set_image(*igL); - previewFocusMask = Gtk::manage (new Gtk::ToggleButton ()); - previewFocusMask->set_relief(Gtk::RELIEF_NONE); - previewFocusMask->set_tooltip_markup (M("MAIN_TOOLTIP_PREVIEWFOCUSMASK")); - previewFocusMask->set_image(*igF); - previewR->set_active (false); previewG->set_active (false); previewB->set_active (false); previewL->set_active (false); - previewFocusMask->set_active (false); backColor0->set_active (options.bgcolor == 0); backColor1->set_active (options.bgcolor == 1); @@ -111,13 +103,11 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) pack_start (*previewG, Gtk::PACK_SHRINK, 0); pack_start (*previewB, Gtk::PACK_SHRINK, 0); pack_start (*previewL, Gtk::PACK_SHRINK, 0); - pack_start (*previewFocusMask, Gtk::PACK_SHRINK, 0); connR = previewR->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled), previewR) ); connG = previewG->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled), previewG) ); connB = previewB->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled), previewB) ); connL = previewL->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled), previewL) ); - connFocusMask = previewFocusMask->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled), previewFocusMask) ); connbackColor0 = backColor0->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled_backColor), backColor0) ); connbackColor1 = backColor1->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &PreviewModePanel::buttonToggled_backColor), backColor1) ); @@ -133,7 +123,6 @@ PreviewModePanel::~PreviewModePanel () delete iG; delete iB; delete iL; - delete iF; delete iBC0; delete iBC1; delete iBC2; @@ -142,7 +131,6 @@ PreviewModePanel::~PreviewModePanel () delete igG; delete igB; delete igL; - delete igF; delete igBC0; delete igBC1; delete igBC2; @@ -165,10 +153,6 @@ void PreviewModePanel::toggleL () { previewL->set_active(!previewL->get_active()); } -void PreviewModePanel::toggleFocusMask () -{ - previewFocusMask->set_active(!previewFocusMask->get_active()); -} void PreviewModePanel::togglebackColor0 () { @@ -194,7 +178,6 @@ void PreviewModePanel::buttonToggled (Gtk::ToggleButton* tbpreview) connG.block(true); connB.block(true); connL.block(true); - connFocusMask.block(true); // control state of the buttons // only 0 or 1 button at a time can remain pressed @@ -214,22 +197,16 @@ void PreviewModePanel::buttonToggled (Gtk::ToggleButton* tbpreview) previewL->set_active(false); } - if (tbpreview != previewFocusMask) { - previewFocusMask->set_active(false); - } - // set image based on button's state previewR->set_image(previewR->get_active() ? *iR : *igR); previewG->set_image(previewG->get_active() ? *iG : *igG); previewB->set_image(previewB->get_active() ? *iB : *igB); previewL->set_image(previewL->get_active() ? *iL : *igL); - previewFocusMask->set_image(previewFocusMask->get_active() ? *iF : *igF); connR.block(false); connG.block(false); connB.block(false); connL.block(false); - connFocusMask.block(false); imageArea->queue_draw (); diff --git a/rtgui/previewmodepanel.h b/rtgui/previewmodepanel.h index 19136d770..1d7b99625 100644 --- a/rtgui/previewmodepanel.h +++ b/rtgui/previewmodepanel.h @@ -30,7 +30,6 @@ protected: Gtk::ToggleButton* previewG; Gtk::ToggleButton* previewB; Gtk::ToggleButton* previewL; - Gtk::ToggleButton* previewFocusMask; Gtk::ToggleButton* backColor0; Gtk::ToggleButton* backColor1; Gtk::ToggleButton* backColor2; @@ -41,7 +40,6 @@ protected: Gtk::Image* iG, *igG; Gtk::Image* iB, *igB; Gtk::Image* iL, *igL; - Gtk::Image* iF, *igF; Gtk::Image* iBC0, *igBC0; Gtk::Image* iBC1, *igBC1; Gtk::Image* iBC2, *igBC2; @@ -55,14 +53,13 @@ public: void toggleG (); void toggleB (); void toggleL (); - void toggleFocusMask (); void togglebackColor0(); void togglebackColor1(); void togglebackColor2(); void togglebackColor3(); void togglebackColor(); - sigc::connection connR, connB, connG, connL, connFocusMask, connbackColor0, connbackColor1, connbackColor2, connbackColor3; + sigc::connection connR, connB, connG, connL, connbackColor0, connbackColor1, connbackColor2, connbackColor3; void buttonToggled(Gtk::ToggleButton* tbpreview); void buttonToggled_backColor(Gtk::ToggleButton* tbbackColor); @@ -83,10 +80,6 @@ public: { return previewL->get_active (); } - bool showFocusMask () - { - return previewFocusMask->get_active (); - } int GetbackColor(); }; diff --git a/tools/source_icons/scalable/previewmodeF-focusScreen-off.file b/tools/source_icons/scalable/previewmodeF-focusScreen-off.file new file mode 100644 index 000000000..f019c1bfb --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-focusScreen-off.file @@ -0,0 +1 @@ +previewmodeF-focusScreen-off.png,w22,actions diff --git a/tools/source_icons/scalable/previewmodeF-focusScreen-off.svg b/tools/source_icons/scalable/previewmodeF-focusScreen-off.svg new file mode 100644 index 000000000..814bc9e93 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-focusScreen-off.svg @@ -0,0 +1,630 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/tools/source_icons/scalable/previewmodeF-focusScreen-on.file b/tools/source_icons/scalable/previewmodeF-focusScreen-on.file new file mode 100644 index 000000000..07dc7c137 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-focusScreen-on.file @@ -0,0 +1 @@ +previewmodeF-focusScreen-on.png,w22,actions diff --git a/tools/source_icons/scalable/previewmodeF-focusScreen-on.svg b/tools/source_icons/scalable/previewmodeF-focusScreen-on.svg new file mode 100644 index 000000000..63b0e4ec8 --- /dev/null +++ b/tools/source_icons/scalable/previewmodeF-focusScreen-on.svg @@ -0,0 +1,604 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + From 64116d88c1743f4de47da2e841c0f136c701d5d6 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Fri, 1 Sep 2017 15:05:06 +0200 Subject: [PATCH 18/30] Clipped S/H variable name capitalization change for readability --- rtgui/indclippedpanel.cc | 48 ++++++++++++++++++++-------------------- rtgui/indclippedpanel.h | 8 +++---- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/rtgui/indclippedpanel.cc b/rtgui/indclippedpanel.cc index bc5cecab6..03241f369 100644 --- a/rtgui/indclippedpanel.cc +++ b/rtgui/indclippedpanel.cc @@ -34,39 +34,39 @@ IndicateClippedPanel::IndicateClippedPanel (ImageArea* ia) : imageArea(ia) Glib::ustring tt; - indclippedh = Gtk::manage (new Gtk::ToggleButton ()); - indclippedh->set_relief(Gtk::RELIEF_NONE); - indclippedh->add (*Gtk::manage (new RTImage ("warnhl.png"))); - tt = Glib::ustring::compose("%1\n%2 = %3", M("MAIN_TOOLTIP_INDCLIPPEDH"), M("MAIN_TOOLTIP_THRESHOLD"), options.highlightThreshold); + indClippedH = Gtk::manage (new Gtk::ToggleButton ()); + indClippedH->set_relief(Gtk::RELIEF_NONE); + indClippedH->add (*Gtk::manage (new RTImage ("warnhl.png"))); + tt = Glib::ustring::compose("%1\n%2 = %3", M("MAIN_TOOLTIP_indClippedH"), M("MAIN_TOOLTIP_THRESHOLD"), options.highlightThreshold); if (tt.find("<") == Glib::ustring::npos && tt.find(">") == Glib::ustring::npos) { - indclippedh->set_tooltip_text (tt); + indClippedH->set_tooltip_text (tt); } else { - indclippedh->set_tooltip_markup (tt); + indClippedH->set_tooltip_markup (tt); } - indclippeds = Gtk::manage (new Gtk::ToggleButton ()); - indclippeds->set_relief(Gtk::RELIEF_NONE); - indclippeds->add (*Gtk::manage (new RTImage ("warnsh.png"))); - tt = Glib::ustring::compose("%1\n%2 = %3", M("MAIN_TOOLTIP_INDCLIPPEDS"), M("MAIN_TOOLTIP_THRESHOLD"), options.shadowThreshold); + indClippedS = Gtk::manage (new Gtk::ToggleButton ()); + indClippedS->set_relief(Gtk::RELIEF_NONE); + indClippedS->add (*Gtk::manage (new RTImage ("warnsh.png"))); + tt = Glib::ustring::compose("%1\n%2 = %3", M("MAIN_TOOLTIP_indClippedS"), M("MAIN_TOOLTIP_THRESHOLD"), options.shadowThreshold); if (tt.find("<") == Glib::ustring::npos && tt.find(">") == Glib::ustring::npos) { - indclippeds->set_tooltip_text (tt); + indClippedS->set_tooltip_text (tt); } else { - indclippeds->set_tooltip_markup (tt); + indClippedS->set_tooltip_markup (tt); } previewFocusMask->set_active (false); - indclippedh->set_active (options.showClippedHighlights); - indclippeds->set_active (options.showClippedShadows); + indClippedH->set_active (options.showClippedHighlights); + indClippedS->set_active (options.showClippedShadows); pack_start (*previewFocusMask, Gtk::PACK_SHRINK, 0); - pack_start (*indclippeds, Gtk::PACK_SHRINK, 0); - pack_start (*indclippedh, Gtk::PACK_SHRINK, 0); + pack_start (*indClippedS, Gtk::PACK_SHRINK, 0); + pack_start (*indClippedH, Gtk::PACK_SHRINK, 0); connFocusMask = previewFocusMask->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled), previewFocusMask) ); - connClippedS = indclippeds->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled), indclippeds) ); - connClippedH = indclippedh->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled), indclippedh) ); + connClippedS = indClippedS->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled), indClippedS) ); + connClippedH = indClippedH->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &IndicateClippedPanel::buttonToggled), indClippedH) ); show_all (); } @@ -75,9 +75,9 @@ IndicateClippedPanel::IndicateClippedPanel (ImageArea* ia) : imageArea(ia) void IndicateClippedPanel::toggleClipped (bool highlights) { if (highlights) { - indclippedh->set_active(!indclippedh->get_active()); + indClippedH->set_active(!indClippedH->get_active()); } else { - indclippeds->set_active(!indclippeds->get_active()); + indClippedS->set_active(!indClippedS->get_active()); } } @@ -96,11 +96,11 @@ void IndicateClippedPanel::buttonToggled (Gtk::ToggleButton* tb) if (tb != previewFocusMask) { previewFocusMask->set_active(false); } else { - if (indclippeds->get_active()) { - indclippeds->set_active(false); + if (indClippedS->get_active()) { + indClippedS->set_active(false); } - if (indclippedh->get_active()) { - indclippedh->set_active(false); + if (indClippedH->get_active()) { + indClippedH->set_active(false); } } diff --git a/rtgui/indclippedpanel.h b/rtgui/indclippedpanel.h index 54973e6ba..1da4b61de 100644 --- a/rtgui/indclippedpanel.h +++ b/rtgui/indclippedpanel.h @@ -27,8 +27,8 @@ class IndicateClippedPanel : public Gtk::HBox protected: Gtk::Image* iFon, *iFoff; Gtk::ToggleButton* previewFocusMask; - Gtk::ToggleButton* indclippedh; - Gtk::ToggleButton* indclippeds; + Gtk::ToggleButton* indClippedH; + Gtk::ToggleButton* indClippedS; ImageArea* imageArea; public: @@ -48,11 +48,11 @@ public: } bool showClippedShadows() { - return indclippeds->get_active(); + return indClippedS->get_active(); } bool showClippedHighlights() { - return indclippedh->get_active(); + return indClippedH->get_active(); } }; From f5628dd5b36f318b5526b9d45785c178dd442659 Mon Sep 17 00:00:00 2001 From: Daniel Lichtenberger Date: Fri, 1 Sep 2017 20:01:28 +0200 Subject: [PATCH 19/30] Fix crash on empty command line arguments --- rtgui/main-cli.cc | 6 ++++-- rtgui/main.cc | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rtgui/main-cli.cc b/rtgui/main-cli.cc index 7908b9133..36ef4ce8b 100644 --- a/rtgui/main-cli.cc +++ b/rtgui/main-cli.cc @@ -285,8 +285,7 @@ bool dontLoadCache ( int argc, char **argv ) #if ECLIPSE_ARGS currParam = currParam.substr (1, currParam.length() - 2); #endif - - if ( currParam.at (0) == '-' && currParam.at (1) == 'q' ) { + if ( currParam.length() > 1 && currParam.at(0) == '-' && currParam.at(1) == 'q' ) { return true; } } @@ -317,6 +316,9 @@ int processLineParams ( int argc, char **argv ) for ( int iArg = 1; iArg < argc; iArg++) { Glib::ustring currParam (argv[iArg]); + if ( currParam.empty() ) { + continue; + } #if ECLIPSE_ARGS currParam = currParam.substr (1, currParam.length() - 2); #endif diff --git a/rtgui/main.cc b/rtgui/main.cc index f133c1e07..3ebd894df 100644 --- a/rtgui/main.cc +++ b/rtgui/main.cc @@ -122,6 +122,9 @@ int processLineParams ( int argc, char **argv ) { for ( int iArg = 1; iArg < argc; iArg++) { Glib::ustring currParam (argv[iArg]); + if ( currParam.empty() ) { + continue; + } #if ECLIPSE_ARGS currParam = currParam.substr (1, currParam.length() - 2); #endif @@ -697,4 +700,3 @@ int main (int argc, char **argv) return ret; } - From bfe24ab1950037369b4d71dabc19c5451c457cd3 Mon Sep 17 00:00:00 2001 From: Hombre57 Date: Sat, 2 Sep 2017 18:21:12 +0200 Subject: [PATCH 20/30] BatchToolPanelCoordinator::initSession fixed (issue #4014) --- rtgui/batchtoolpanelcoord.cc | 21 ++++------ rtgui/paramsedited.cc | 80 ++++++++++++++++++------------------ rtgui/toolpanelcoord.cc | 2 +- 3 files changed, 50 insertions(+), 53 deletions(-) diff --git a/rtgui/batchtoolpanelcoord.cc b/rtgui/batchtoolpanelcoord.cc index db858bdbc..be092fbfb 100644 --- a/rtgui/batchtoolpanelcoord.cc +++ b/rtgui/batchtoolpanelcoord.cc @@ -248,13 +248,13 @@ void BatchToolPanelCoordinator::initSession () pparams.prsharpening.radius = pparams.prsharpening.deconvradius = pparams.prsharpening.edges_radius = 0; } if (options.baBehav[ADDSET_SHARP_AMOUNT]) { - pparams.sharpening.amount = pparams.sharpening.deconvamount = 0; + pparams.sharpening.amount = pparams.sharpening.deconvamount = pparams.prsharpening.amount = pparams.prsharpening.deconvamount = 0; } - if (options.baBehav[ADDSET_SHARP_DAMPING]) { pparams.sharpening.deconvdamping = 0; pparams.prsharpening.deconvdamping = 0; } - if (options.baBehav[ADDSET_SHARP_ITER]) { pparams.sharpening.deconviter = 0; pparams.prsharpening.deconviter = 0; } - if (options.baBehav[ADDSET_SHARP_EDGETOL]) { pparams.sharpening.edges_tolerance = 0; pparams.prsharpening.edges_tolerance = 0; } - if (options.baBehav[ADDSET_SHARP_HALOCTRL]) { pparams.sharpening.halocontrol_amount = 0; pparams.prsharpening.halocontrol_amount = 0; } + if (options.baBehav[ADDSET_SHARP_DAMPING]) { pparams.sharpening.deconvdamping = pparams.prsharpening.deconvdamping = 0; } + if (options.baBehav[ADDSET_SHARP_ITER]) { pparams.sharpening.deconviter = pparams.prsharpening.deconviter = 0; } + if (options.baBehav[ADDSET_SHARP_EDGETOL]) { pparams.sharpening.edges_tolerance = pparams.prsharpening.edges_tolerance = 0; } + if (options.baBehav[ADDSET_SHARP_HALOCTRL]) { pparams.sharpening.halocontrol_amount = pparams.prsharpening.halocontrol_amount = 0; } if (options.baBehav[ADDSET_SHARPENEDGE_AMOUNT]) { pparams.sharpenEdge.amount = 0; } if (options.baBehav[ADDSET_SHARPENMICRO_AMOUNT]) { pparams.sharpenMicro.amount = 0; } if (options.baBehav[ADDSET_SHARPENEDGE_PASS]) { pparams.sharpenEdge.passes = 0; } @@ -309,18 +309,15 @@ void BatchToolPanelCoordinator::initSession () if (options.baBehav[ADDSET_GRADIENT_DEGREE]) { pparams.gradient.degree = 0; } if (options.baBehav[ADDSET_GRADIENT_FEATHER]) { pparams.gradient.feather = 0; } if (options.baBehav[ADDSET_GRADIENT_STRENGTH]) { pparams.gradient.strength = 0; } - if (options.baBehav[ADDSET_GRADIENT_CENTER]) { pparams.gradient.centerX = 0; } - if (options.baBehav[ADDSET_GRADIENT_CENTER]) { pparams.gradient.centerY = 0; } + if (options.baBehav[ADDSET_GRADIENT_CENTER]) { pparams.gradient.centerX = pparams.gradient.centerY = 0; } if (options.baBehav[ADDSET_PCVIGNETTE_STRENGTH]) { pparams.pcvignette.strength = 0; } if (options.baBehav[ADDSET_PCVIGNETTE_FEATHER]) { pparams.pcvignette.feather = 0; } if (options.baBehav[ADDSET_PCVIGNETTE_ROUNDNESS]) { pparams.pcvignette.roundness = 0; } - if (options.baBehav[ADDSET_CA]) { pparams.cacorrection.red = 0; } - if (options.baBehav[ADDSET_CA]) { pparams.cacorrection.blue = 0; } + if (options.baBehav[ADDSET_CA]) { pparams.cacorrection.red = pparams.cacorrection.blue = 0; } if (options.baBehav[ADDSET_VIGN_AMOUNT]) { pparams.vignetting.amount = 0; } if (options.baBehav[ADDSET_VIGN_RADIUS]) { pparams.vignetting.radius = 0; } if (options.baBehav[ADDSET_VIGN_STRENGTH]) { pparams.vignetting.strength = 0; } - if (options.baBehav[ADDSET_VIGN_CENTER]) { pparams.vignetting.centerX = 0; } - if (options.baBehav[ADDSET_VIGN_CENTER]) { pparams.vignetting.centerY = 0; } + if (options.baBehav[ADDSET_VIGN_CENTER]) { pparams.vignetting.centerX = pparams.vignetting.centerY = 0; } if (options.baBehav[ADDSET_DIRPYREQ]) for (int i = 0; i < 6; i++) { pparams.dirpyrequalizer.mult[i] = 0; } if (options.baBehav[ADDSET_DIRPYREQ_THRESHOLD]) { pparams.dirpyrequalizer.threshold = 0; } if (options.baBehav[ADDSET_DIRPYREQ_SKINPROTECT]) { pparams.dirpyrequalizer.skinprotect = 0; } @@ -361,7 +358,7 @@ void BatchToolPanelCoordinator::initSession () if (options.baBehav[ADDSET_RAWEXPOS_LINEAR]) { pparams.raw.expos = 0; } if (options.baBehav[ADDSET_RAWEXPOS_PRESER]) { pparams.raw.preser = 0; } if (options.baBehav[ADDSET_RAWEXPOS_BLACKS]) { - pparams.raw.bayersensor.black0 = pparams.raw.bayersensor.black1 = pparams.raw.bayersensor.black2 = pparams.raw.bayersensor.black3 = 0; + pparams.raw.bayersensor.black0 = pparams.raw.bayersensor.black1 = pparams.raw.bayersensor.black2 = pparams.raw.bayersensor.black3 = pparams.raw.xtranssensor.blackred = pparams.raw.xtranssensor.blackgreen = pparams.raw.xtranssensor.blackblue = 0; } if (options.baBehav[ADDSET_RAWFFCLIPCONTROL]) { pparams.raw.ff_clipControl = 0; } diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index ea9248ddc..adff63e45 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -1318,7 +1318,7 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (labCurve.contrast) { - toEdit.labCurve.contrast = dontforceSet && options.baBehav[ADDSET_LC_CONTRAST] ? toEdit.labCurve.contrast + mods.labCurve.contrast : mods.labCurve.contrast; + toEdit.labCurve.contrast = dontforceSet && options.baBehav[ADDSET_LC_CONTRAST] ? toEdit.labCurve.contrast + mods.labCurve.contrast : mods.labCurve.contrast; } if (labCurve.chromaticity) { @@ -1326,15 +1326,15 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (labCurve.avoidcolorshift) { - toEdit.labCurve.avoidcolorshift = mods.labCurve.avoidcolorshift; + toEdit.labCurve.avoidcolorshift = mods.labCurve.avoidcolorshift; } if (labCurve.rstprotection) { - toEdit.labCurve.rstprotection = mods.labCurve.rstprotection; + toEdit.labCurve.rstprotection = mods.labCurve.rstprotection; } if (labCurve.lcredsk) { - toEdit.labCurve.lcredsk = mods.labCurve.lcredsk; + toEdit.labCurve.lcredsk = mods.labCurve.lcredsk; } if (rgbCurves.lumamode) { @@ -1354,11 +1354,11 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (colorToning.enabled) { - toEdit.colorToning.enabled = mods.colorToning.enabled; + toEdit.colorToning.enabled = mods.colorToning.enabled; } if (colorToning.twocolor) { - toEdit.colorToning.twocolor = mods.colorToning.twocolor; + toEdit.colorToning.twocolor = mods.colorToning.twocolor; } if (colorToning.opacityCurve) { @@ -1382,19 +1382,19 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (colorToning.autosat) { - toEdit.colorToning.autosat = mods.colorToning.autosat; + toEdit.colorToning.autosat = mods.colorToning.autosat; } if (colorToning.saturatedopacity) { - toEdit.colorToning.saturatedOpacity = dontforceSet && options.baBehav[ADDSET_COLORTONING_SATOPACITY] ? toEdit.colorToning.saturatedOpacity + mods.colorToning.saturatedOpacity : mods.colorToning.saturatedOpacity; + toEdit.colorToning.saturatedOpacity = dontforceSet && options.baBehav[ADDSET_COLORTONING_SATOPACITY] ? toEdit.colorToning.saturatedOpacity + mods.colorToning.saturatedOpacity : mods.colorToning.saturatedOpacity; } if (colorToning.strength) { - toEdit.colorToning.strength = dontforceSet && options.baBehav[ADDSET_COLORTONING_STRENGTH] ? toEdit.colorToning.strength + mods.colorToning.strength : mods.colorToning.strength; + toEdit.colorToning.strength = dontforceSet && options.baBehav[ADDSET_COLORTONING_STRENGTH] ? toEdit.colorToning.strength + mods.colorToning.strength : mods.colorToning.strength; } if (colorToning.shadowsColSat) { - toEdit.colorToning.shadowsColSat = mods.colorToning.shadowsColSat; + toEdit.colorToning.shadowsColSat = mods.colorToning.shadowsColSat; } if (colorToning.hlColSat) { @@ -1502,7 +1502,7 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (sharpening.radius) { - toEdit.sharpening.radius = mods.sharpening.radius; + toEdit.sharpening.radius = dontforceSet && options.baBehav[ADDSET_SHARP_RADIUS] ? toEdit.sharpening.radius + mods.sharpening.radius : mods.sharpening.radius; } if (sharpening.amount) { @@ -1518,19 +1518,19 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (sharpening.edges_radius) { - toEdit.sharpening.edges_radius = mods.sharpening.edges_radius; + toEdit.sharpening.edges_radius = dontforceSet && options.baBehav[ADDSET_SHARP_RADIUS] ? toEdit.sharpening.edges_radius + mods.sharpening.edges_radius: mods.sharpening.edges_radius; } if (sharpening.edges_tolerance) { - toEdit.sharpening.edges_tolerance = mods.sharpening.edges_tolerance; + toEdit.sharpening.edges_tolerance = dontforceSet && options.baBehav[ADDSET_SHARP_EDGETOL] ? toEdit.sharpening.edges_tolerance + mods.sharpening.edges_tolerance : mods.sharpening.edges_tolerance; } if (sharpening.halocontrol) { - toEdit.sharpening.halocontrol = mods.sharpening.halocontrol; + toEdit.sharpening.halocontrol = mods.sharpening.halocontrol; } if (sharpening.halocontrol_amount) { - toEdit.sharpening.halocontrol_amount = mods.sharpening.halocontrol_amount; + toEdit.sharpening.halocontrol_amount = dontforceSet && options.baBehav[ADDSET_SHARP_HALOCTRL] ? toEdit.sharpening.halocontrol_amount + mods.sharpening.halocontrol_amount : mods.sharpening.halocontrol_amount; } if (sharpening.method) { @@ -1538,19 +1538,19 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (sharpening.deconvamount) { - toEdit.sharpening.deconvamount = dontforceSet && options.baBehav[ADDSET_SHARP_AMOUNT] ? toEdit.sharpening.deconvamount + mods.sharpening.deconvamount : mods.sharpening.deconvamount; + toEdit.sharpening.deconvamount = dontforceSet && options.baBehav[ADDSET_SHARP_AMOUNT] ? toEdit.sharpening.deconvamount + mods.sharpening.deconvamount : mods.sharpening.deconvamount; } if (sharpening.deconvradius) { - toEdit.sharpening.deconvradius = mods.sharpening.deconvradius; + toEdit.sharpening.deconvradius = dontforceSet && options.baBehav[ADDSET_SHARP_RADIUS] ? toEdit.sharpening.deconvradius + mods.sharpening.deconvradius : mods.sharpening.deconvradius; } if (sharpening.deconviter) { - toEdit.sharpening.deconviter = mods.sharpening.deconviter; + toEdit.sharpening.deconviter = dontforceSet && options.baBehav[ADDSET_SHARP_ITER] ? toEdit.sharpening.deconviter + mods.sharpening.deconviter : mods.sharpening.deconviter; } if (sharpening.deconvdamping) { - toEdit.sharpening.deconvdamping = mods.sharpening.deconvdamping; + toEdit.sharpening.deconvdamping = dontforceSet && options.baBehav[ADDSET_SHARP_DAMPING] ? toEdit.sharpening.deconvdamping + mods.sharpening.deconvdamping : mods.sharpening.deconvdamping; } if (prsharpening.enabled) { @@ -1558,7 +1558,7 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (prsharpening.radius) { - toEdit.prsharpening.radius = mods.prsharpening.radius; + toEdit.prsharpening.radius = dontforceSet && options.baBehav[ADDSET_SHARP_RADIUS] ? toEdit.prsharpening.radius + mods.prsharpening.radius : mods.prsharpening.radius; } if (prsharpening.amount) { @@ -1574,11 +1574,11 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (prsharpening.edges_radius) { - toEdit.prsharpening.edges_radius = mods.prsharpening.edges_radius; + toEdit.prsharpening.edges_radius = dontforceSet && options.baBehav[ADDSET_SHARP_RADIUS] ? toEdit.prsharpening.edges_radius + mods.prsharpening.edges_radius : mods.prsharpening.edges_radius; } if (prsharpening.edges_tolerance) { - toEdit.prsharpening.edges_tolerance = mods.prsharpening.edges_tolerance; + toEdit.prsharpening.edges_tolerance = dontforceSet && options.baBehav[ADDSET_SHARP_EDGETOL] ? toEdit.prsharpening.edges_tolerance + mods.prsharpening.edges_tolerance : mods.prsharpening.edges_tolerance; } if (prsharpening.halocontrol) { @@ -1586,7 +1586,7 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (prsharpening.halocontrol_amount) { - toEdit.prsharpening.halocontrol_amount = mods.prsharpening.halocontrol_amount; + toEdit.prsharpening.halocontrol_amount = dontforceSet && options.baBehav[ADDSET_SHARP_HALOCTRL] ? toEdit.prsharpening.halocontrol_amount + mods.prsharpening.halocontrol_amount : mods.prsharpening.halocontrol_amount; } if (prsharpening.method) { @@ -1598,15 +1598,15 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (prsharpening.deconvradius) { - toEdit.prsharpening.deconvradius = mods.prsharpening.deconvradius; + toEdit.prsharpening.deconvradius = dontforceSet && options.baBehav[ADDSET_SHARP_RADIUS] ? toEdit.prsharpening.deconvradius + mods.prsharpening.deconvradius : mods.prsharpening.deconvradius; } if (prsharpening.deconviter) { - toEdit.prsharpening.deconviter = mods.prsharpening.deconviter; + toEdit.prsharpening.deconviter = dontforceSet && options.baBehav[ADDSET_SHARP_ITER] ? toEdit.prsharpening.deconviter + mods.prsharpening.deconviter : mods.prsharpening.deconviter; } if (prsharpening.deconvdamping) { - toEdit.prsharpening.deconvdamping = mods.prsharpening.deconvdamping; + toEdit.prsharpening.deconvdamping = dontforceSet && options.baBehav[ADDSET_SHARP_DAMPING] ? toEdit.prsharpening.deconvdamping + mods.prsharpening.deconvdamping : mods.prsharpening.deconvdamping; } if (vibrance.enabled) { @@ -1746,7 +1746,7 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (colorappearance.adapscen) { - toEdit.colorappearance.adapscen = mods.colorappearance.adapscen; + toEdit.colorappearance.adapscen = dontforceSet && options.baBehav[ADDSET_CAT_ADAPTSCENE] ? toEdit.colorappearance.adapscen + mods.colorappearance.adapscen : mods.colorappearance.adapscen; } if (colorappearance.autoybscen) { @@ -2081,23 +2081,23 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (gradient.degree) { - toEdit.gradient.degree = dontforceSet && options.baBehav[ADDSET_GRADIENT_DEGREE] ? toEdit.gradient.degree + mods.gradient.degree : mods.gradient.degree; + toEdit.gradient.degree = dontforceSet && options.baBehav[ADDSET_GRADIENT_DEGREE] ? toEdit.gradient.degree + mods.gradient.degree : mods.gradient.degree; } if (gradient.feather) { - toEdit.gradient.feather = mods.gradient.feather; + toEdit.gradient.feather = dontforceSet && options.baBehav[ADDSET_GRADIENT_FEATHER] ? toEdit.gradient.feather + mods.gradient.feather : mods.gradient.feather; } if (gradient.strength) { - toEdit.gradient.strength = mods.gradient.strength; + toEdit.gradient.strength = dontforceSet && options.baBehav[ADDSET_GRADIENT_STRENGTH] ? toEdit.gradient.strength + mods.gradient.strength : mods.gradient.strength; } if (gradient.centerX) { - toEdit.gradient.centerX = mods.gradient.centerX; + toEdit.gradient.centerX = dontforceSet && options.baBehav[ADDSET_GRADIENT_CENTER] ? toEdit.gradient.centerX + mods.gradient.centerX : mods.gradient.centerX; } if (gradient.centerY) { - toEdit.gradient.centerY = mods.gradient.centerY; + toEdit.gradient.centerY = dontforceSet && options.baBehav[ADDSET_GRADIENT_CENTER] ? toEdit.gradient.centerY + mods.gradient.centerY : mods.gradient.centerY; } if (pcvignette.enabled) { @@ -2105,15 +2105,15 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (pcvignette.strength) { - toEdit.pcvignette.strength = mods.pcvignette.strength; + toEdit.pcvignette.strength = dontforceSet && options.baBehav[ADDSET_PCVIGNETTE_STRENGTH] ? toEdit.pcvignette.strength + mods.pcvignette.strength : mods.pcvignette.strength; } if (pcvignette.feather) { - toEdit.pcvignette.feather = mods.pcvignette.feather; + toEdit.pcvignette.feather = dontforceSet && options.baBehav[ADDSET_PCVIGNETTE_FEATHER] ? toEdit.pcvignette.feather + mods.pcvignette.feather : mods.pcvignette.feather; } if (pcvignette.roundness) { - toEdit.pcvignette.roundness = mods.pcvignette.roundness; + toEdit.pcvignette.roundness = dontforceSet && options.baBehav[ADDSET_PCVIGNETTE_ROUNDNESS] ? toEdit.pcvignette.roundness + mods.pcvignette.roundness : mods.pcvignette.roundness; } if (cacorrection.red) { @@ -2129,19 +2129,19 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (vignetting.radius) { - toEdit.vignetting.radius = mods.vignetting.radius; + toEdit.vignetting.radius = dontforceSet && options.baBehav[ADDSET_VIGN_RADIUS] ? toEdit.vignetting.radius + mods.vignetting.radius : mods.vignetting.radius; } if (vignetting.strength) { - toEdit.vignetting.strength = mods.vignetting.strength; + toEdit.vignetting.strength = dontforceSet && options.baBehav[ADDSET_VIGN_STRENGTH] ? toEdit.vignetting.strength + mods.vignetting.strength : mods.vignetting.strength; } if (vignetting.centerX) { - toEdit.vignetting.centerX = mods.vignetting.centerX; + toEdit.vignetting.centerX = dontforceSet && options.baBehav[ADDSET_VIGN_CENTER] ? toEdit.vignetting.centerX + mods.vignetting.centerX : mods.vignetting.centerX; } if (vignetting.centerY) { - toEdit.vignetting.centerY = mods.vignetting.centerY; + toEdit.vignetting.centerY = dontforceSet && options.baBehav[ADDSET_VIGN_CENTER] ? toEdit.vignetting.centerY + mods.vignetting.centerY : mods.vignetting.centerY; } for (int i = 0; i < 3; i++) { @@ -2251,7 +2251,7 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten } if (resize.scale) { - toEdit.resize.scale = mods.resize.scale; + toEdit.resize.scale = dontforceSet && options.baBehav[ADDSET_RESIZE_SCALE] ? toEdit.resize.scale + mods.resize.scale : mods.resize.scale; } if (resize.appliesTo) { diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index e30309fdf..d2c0fba2d 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -60,7 +60,7 @@ ToolPanelCoordinator::ToolPanelCoordinator () : ipc (nullptr), hasChanged (false colorappearance = Gtk::manage (new ColorAppearance ()); whitebalance = Gtk::manage (new WhiteBalance ()); vignetting = Gtk::manage (new Vignetting ()); - retinex = Gtk::manage (new Retinex ()); + retinex = Gtk::manage (new Retinex ()); gradient = Gtk::manage (new Gradient ()); pcvignette = Gtk::manage (new PCVignette ()); perspective = Gtk::manage (new PerspCorrection ()); From 71d4393384e97ecb1b1c5bfebb306fe73384a69e Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sat, 2 Sep 2017 20:46:30 +0200 Subject: [PATCH 21/30] Reverted unintentional language string caps change --- rtgui/indclippedpanel.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rtgui/indclippedpanel.cc b/rtgui/indclippedpanel.cc index 03241f369..ae7cff644 100644 --- a/rtgui/indclippedpanel.cc +++ b/rtgui/indclippedpanel.cc @@ -37,7 +37,7 @@ IndicateClippedPanel::IndicateClippedPanel (ImageArea* ia) : imageArea(ia) indClippedH = Gtk::manage (new Gtk::ToggleButton ()); indClippedH->set_relief(Gtk::RELIEF_NONE); indClippedH->add (*Gtk::manage (new RTImage ("warnhl.png"))); - tt = Glib::ustring::compose("%1\n%2 = %3", M("MAIN_TOOLTIP_indClippedH"), M("MAIN_TOOLTIP_THRESHOLD"), options.highlightThreshold); + tt = Glib::ustring::compose("%1\n%2 = %3", M("MAIN_TOOLTIP_INDCLIPPEDH"), M("MAIN_TOOLTIP_THRESHOLD"), options.highlightThreshold); if (tt.find("<") == Glib::ustring::npos && tt.find(">") == Glib::ustring::npos) { indClippedH->set_tooltip_text (tt); @@ -48,7 +48,7 @@ IndicateClippedPanel::IndicateClippedPanel (ImageArea* ia) : imageArea(ia) indClippedS = Gtk::manage (new Gtk::ToggleButton ()); indClippedS->set_relief(Gtk::RELIEF_NONE); indClippedS->add (*Gtk::manage (new RTImage ("warnsh.png"))); - tt = Glib::ustring::compose("%1\n%2 = %3", M("MAIN_TOOLTIP_indClippedS"), M("MAIN_TOOLTIP_THRESHOLD"), options.shadowThreshold); + tt = Glib::ustring::compose("%1\n%2 = %3", M("MAIN_TOOLTIP_INDCLIPPEDS"), M("MAIN_TOOLTIP_THRESHOLD"), options.shadowThreshold); if (tt.find("<") == Glib::ustring::npos && tt.find(">") == Glib::ustring::npos) { indClippedS->set_tooltip_text (tt); From 46ca336cb3919e0d89c7cb360de0013a8d12a5a7 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sat, 2 Sep 2017 21:29:32 +0200 Subject: [PATCH 22/30] Fix needed after merging dev into bgcolor-h --- rtgui/editorpanel.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rtgui/editorpanel.cc b/rtgui/editorpanel.cc index 71d0729e6..f1835be89 100644 --- a/rtgui/editorpanel.cc +++ b/rtgui/editorpanel.cc @@ -1581,11 +1581,7 @@ bool EditorPanel::handleShortcutKey (GdkEventKey* event) return true; case GDK_KEY_F: //preview mode Focus Mask - iareapanel->imageArea->previewModePanel->toggleFocusMask(); - return true; - - case GDK_KEY_f: - iareapanel->imageArea->zoomPanel->zoomFitClicked(); + iareapanel->imageArea->indClippedPanel->toggleFocusMask(); return true; case GDK_KEY_less: @@ -1596,6 +1592,10 @@ bool EditorPanel::handleShortcutKey (GdkEventKey* event) iareapanel->imageArea->indClippedPanel->toggleClipped (true); return true; + case GDK_KEY_f: + iareapanel->imageArea->zoomPanel->zoomFitClicked(); + return true; + case GDK_KEY_F5: openThm->openDefaultViewer ((event->state & GDK_SHIFT_MASK) ? 2 : 1); return true; From a2467deddbc4f30da022b6f5ee940030620ac77b Mon Sep 17 00:00:00 2001 From: TooWaBoo Date: Sun, 3 Sep 2017 01:35:40 +0200 Subject: [PATCH 23/30] Update TooWaBlue v2.56 Toggle button fix --- rtdata/themes/TooWaBlue-GTK3-20_.css | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/rtdata/themes/TooWaBlue-GTK3-20_.css b/rtdata/themes/TooWaBlue-GTK3-20_.css index 5006d1715..42488b977 100644 --- a/rtdata/themes/TooWaBlue-GTK3-20_.css +++ b/rtdata/themes/TooWaBlue-GTK3-20_.css @@ -2,7 +2,7 @@ This file is part of RawTherapee. Copyright (c) 2016-2017 TooWaBoo - Version 2.55 - requires RT 5.0 (Gtk+ >= 3.20) + Version 2.56 - requires RT 5.0 (Gtk+ >= 3.20) RawTherapee is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1035,16 +1035,12 @@ window.csd:not(.fullscreen) #MainNotebook > header.top { margin-right: 0; } -#EditorTopPanel > box:nth-child(9) > button.image-button:not(:last-child) { +#EditorTopPanel > box:nth-child(9) > button.image-button { min-width: 0; padding-left: 0.25em; padding-right: 0.25em; } -#EditorTopPanel > box:nth-child(9) > button.image-button:last-child { - -gtk-icon-shadow: none; -} - /*Button editor bottom*/ #EditorZoomPanel label { min-width: 4em; @@ -1841,5 +1837,4 @@ headerbar:backdrop { headerbar .title:backdrop { color: alpha(@winTitle,.60); } -/**/ /*** end ***************************************************************************************/ From d434a09055bc052715a9ccc72832916efcf7bac7 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 3 Sep 2017 17:00:31 +0200 Subject: [PATCH 24/30] Commented crop ratios --- rtgui/crop.cc | 54 +++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/rtgui/crop.cc b/rtgui/crop.cc index 4b9e22fd2..bc40f3bb7 100644 --- a/rtgui/crop.cc +++ b/rtgui/crop.cc @@ -150,59 +150,59 @@ Crop::Crop (): FoldableToolPanel(this, "crop", M("TP_CROP_LABEL"), false, true), *****************/ int NumberOfCropRatios = 26; //!!! change this value when adding new crop ratios cropratio.resize (NumberOfCropRatios); - + // Landscape Portrait cropratio[0].label = "3:2"; - cropratio[0].value = 3.0 / 2.0; + cropratio[0].value = 3.0 / 2.0; // 1.5 0.666... cropratio[1].label = "4:3"; - cropratio[1].value = 4.0 / 3.0; + cropratio[1].value = 4.0 / 3.0; // 1.333... 0.75 cropratio[2].label = "16:9"; - cropratio[2].value = 16.0 / 9.0; + cropratio[2].value = 16.0 / 9.0; // 1.777... 0.5625 cropratio[3].label = "16:10"; - cropratio[3].value = 16.0 / 10.0; + cropratio[3].value = 16.0 / 10.0; // 1.6 0.625 cropratio[4].label = "1:1"; - cropratio[4].value = 1.0 / 1.0; + cropratio[4].value = 1.0 / 1.0; // 1 1 cropratio[5].label = "2:1"; - cropratio[5].value = 2.0 / 1.0; + cropratio[5].value = 2.0 / 1.0; // 2 0.5 cropratio[6].label = "3:1"; - cropratio[6].value = 3.0 / 1.0; + cropratio[6].value = 3.0 / 1.0; // 3 0.333... cropratio[7].label = "4:1"; - cropratio[7].value = 4.0 / 1.0; + cropratio[7].value = 4.0 / 1.0; // 4 0.25 cropratio[8].label = "5:1"; - cropratio[8].value = 5.0 / 1.0; + cropratio[8].value = 5.0 / 1.0; // 5 0.2 cropratio[9].label = "6:1"; - cropratio[9].value = 6.0 / 1.0; + cropratio[9].value = 6.0 / 1.0; // 6 0.1666... cropratio[10].label = "7:1"; - cropratio[10].value = 7.0 / 1.0; + cropratio[10].value = 7.0 / 1.0; // 7 0.142 cropratio[11].label = "4:5"; - cropratio[11].value = 4.0 / 5.0; + cropratio[11].value = 4.0 / 5.0; // 1.25 0.8 cropratio[12].label = "5:7"; - cropratio[12].value = 5.0 / 7.0; + cropratio[12].value = 5.0 / 7.0; // 1.4 0.714... cropratio[13].label = "6:7"; - cropratio[13].value = 6.0 / 7.0; + cropratio[13].value = 6.0 / 7.0; // 1,166... 0.857... cropratio[14].label = "6:17"; - cropratio[14].value = 6.0 / 17.0; + cropratio[14].value = 6.0 / 17.0; // 2.833... 0.352... cropratio[15].label = "24:65 - XPAN"; - cropratio[15].value = 24.0 / 65.0; + cropratio[15].value = 24.0 / 65.0; // 2.708... 0.369... cropratio[16].label = "1.414 - DIN EN ISO 216"; - cropratio[16].value = 1.414; + cropratio[16].value = 1.414; // 1.414 0.707... cropratio[17].label = "3.5:5"; - cropratio[17].value = 3.5 / 5.0; + cropratio[17].value = 3.5 / 5.0; // 1.428 0.7 cropratio[18].label = "8.5:11 - US Letter"; - cropratio[18].value = 8.5 / 11.0; + cropratio[18].value = 8.5 / 11.0; // 1.294 0.772... cropratio[19].label = "9.5:12"; - cropratio[19].value = 9.5 / 12.0; + cropratio[19].value = 9.5 / 12.0; // 1.263 0.791... cropratio[20].label = "10:12"; - cropratio[20].value = 10.0 / 12.0; + cropratio[20].value = 10.0 / 12.0; // 1.2 0.833... cropratio[21].label = "11:14"; - cropratio[21].value = 11.0 / 14.0; + cropratio[21].value = 11.0 / 14.0; // 1.272... 0.785 cropratio[22].label = "11:17 - Tabloid"; - cropratio[22].value = 11.0 / 17.0; + cropratio[22].value = 11.0 / 17.0; // 1.545... 0.647... cropratio[23].label = "13:19"; - cropratio[23].value = 13.0 / 19.0; + cropratio[23].value = 13.0 / 19.0; // 1.461... 0.684 cropratio[24].label = "17:22"; - cropratio[24].value = 17.0 / 22.0; + cropratio[24].value = 17.0 / 22.0; // 1.294 0.772... cropratio[25].label = "45:35 - ePassport"; - cropratio[25].value = 45.0 / 35.0; + cropratio[25].value = 45.0 / 35.0; // 1.285 0.777... From 5e400492972f5bfa7c9515c14c2e84e46c3f8d48 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 3 Sep 2017 17:18:34 +0200 Subject: [PATCH 25/30] Added new crop ratio 64:27, #4053 --- rtgui/crop.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rtgui/crop.cc b/rtgui/crop.cc index bc40f3bb7..5dc5c10d4 100644 --- a/rtgui/crop.cc +++ b/rtgui/crop.cc @@ -148,7 +148,7 @@ Crop::Crop (): FoldableToolPanel(this, "crop", M("TP_CROP_LABEL"), false, true), /**************** * Crop Ratio *****************/ - int NumberOfCropRatios = 26; //!!! change this value when adding new crop ratios + int NumberOfCropRatios = 27; //!!! change this value when adding new crop ratios cropratio.resize (NumberOfCropRatios); // Landscape Portrait cropratio[0].label = "3:2"; @@ -203,8 +203,8 @@ Crop::Crop (): FoldableToolPanel(this, "crop", M("TP_CROP_LABEL"), false, true), cropratio[24].value = 17.0 / 22.0; // 1.294 0.772... cropratio[25].label = "45:35 - ePassport"; cropratio[25].value = 45.0 / 35.0; // 1.285 0.777... - - + cropratio[26].label = "64:27"; + cropratio[26].value = 64.0 / 27.0; // 2.370... 0.421... // populate the combobox for (int i = 0; i < NumberOfCropRatios; i++) { From 642047b2a2677691d05fb76ecf2fea46fe75e747 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Thu, 7 Sep 2017 13:41:40 +0200 Subject: [PATCH 26/30] DNG files from HdrMerge are decoded incorrectly when zlib 1.2.11 is used, fixes #3674 --- rtengine/dcraw.cc | 46 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index d6bac40de..264878974 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -25,7 +25,8 @@ /*RT*/#include "jpeg.h" #include "opthelper.h" - +#define BENCHMARK +#include "StopWatch.h" /* dcraw.c -- Dave Coffin's raw photo decoder Copyright 1997-2016 by Dave Coffin, dcoffin a cybercom o net @@ -9754,7 +9755,40 @@ static void copyFloatDataToInt(float * src, ushort * dst, size_t size, float max fprintf(stderr, "DNG Float: NaN data found in input file\n"); } +static int decompress(size_t srcLen, size_t dstLen, unsigned char *in, unsigned char *out) { + + int ret; + z_stream strm; + /* allocate inflate state */ + strm.zalloc = Z_NULL; + strm.zfree = Z_NULL; + strm.opaque = Z_NULL; + strm.avail_in = 0; + strm.next_in = Z_NULL; + ret = inflateInit(&strm); + if (ret != Z_OK) { + return ret; + } + strm.avail_out = dstLen; + strm.next_out = out; + strm.avail_in = srcLen; + strm.next_in = in; + ret = inflate(&strm, Z_NO_FLUSH); + switch (ret) { + case Z_NEED_DICT: + ret = Z_DATA_ERROR; /* and fall through */ + case Z_DATA_ERROR: + case Z_MEM_ERROR: + (void)inflateEnd(&strm); + return ret; + } + /* clean up and return */ + (void)inflateEnd(&strm); + return ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR; +} + void CLASS deflate_dng_load_raw() { + BENCHFUN float_raw_image = new float[raw_width * raw_height]; #ifdef _OPENMP @@ -9815,27 +9849,27 @@ void CLASS deflate_dng_load_raw() { } uLongf dstLen = tile_width * tile_length * 4; -#if defined(_OPENMP) && ZLIB_VER_REVISION == 8 +#ifdef _OPENMP #pragma omp parallel #endif { Bytef * cBuffer = new Bytef[maxCompressed]; Bytef * uBuffer = new Bytef[dstLen]; -#if defined(_OPENMP) && ZLIB_VER_REVISION == 8 -#pragma omp for collapse(2) nowait +#ifdef _OPENMP +#pragma omp for collapse(2) schedule(dynamic) nowait #endif for (size_t y = 0; y < raw_height; y += tile_length) { for (size_t x = 0; x < raw_width; x += tile_width) { size_t t = (y / tile_length) * tilesWide + (x / tile_width); -#if defined(_OPENMP) && ZLIB_VER_REVISION == 8 +#ifdef _OPENMP #pragma omp critical #endif { fseek(ifp, tileOffsets[t], SEEK_SET); fread(cBuffer, 1, tileBytes[t], ifp); } - int err = uncompress(uBuffer, &dstLen, cBuffer, tileBytes[t]); + int err = decompress(tileBytes[t], dstLen, cBuffer, uBuffer); if (err != Z_OK) { fprintf(stderr, "DNG Deflate: Failed uncompressing tile %d, with error %d\n", (int)t, err); } else if (ifd->sample_format == 3) { // Floating point data From 50dce7084bb1c72cd700d05c03b609e30a1a635e Mon Sep 17 00:00:00 2001 From: heckflosse Date: Thu, 7 Sep 2017 14:45:09 +0200 Subject: [PATCH 27/30] Removed timing code, added comment --- rtengine/dcraw.cc | 59 ++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index 264878974..a70c2d2dc 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -25,8 +25,7 @@ /*RT*/#include "jpeg.h" #include "opthelper.h" -#define BENCHMARK -#include "StopWatch.h" + /* dcraw.c -- Dave Coffin's raw photo decoder Copyright 1997-2016 by Dave Coffin, dcoffin a cybercom o net @@ -9756,6 +9755,8 @@ static void copyFloatDataToInt(float * src, ushort * dst, size_t size, float max } static int decompress(size_t srcLen, size_t dstLen, unsigned char *in, unsigned char *out) { + // At least in zlib 1.2.11 the uncompress function is not thread save while it is thread save in zlib 1.2.8 + // This simple replacement is thread save. Used example code from https://zlib.net/zlib_how.html int ret; z_stream strm; @@ -9788,11 +9789,10 @@ static int decompress(size_t srcLen, size_t dstLen, unsigned char *in, unsigned } void CLASS deflate_dng_load_raw() { - BENCHFUN float_raw_image = new float[raw_width * raw_height]; #ifdef _OPENMP -#pragma omp parallel for + #pragma omp parallel for #endif for (size_t i = 0; i < raw_width * raw_height; ++i) float_raw_image[i] = 0.0f; @@ -9857,36 +9857,37 @@ void CLASS deflate_dng_load_raw() { Bytef * uBuffer = new Bytef[dstLen]; #ifdef _OPENMP -#pragma omp for collapse(2) schedule(dynamic) nowait + #pragma omp for collapse(2) schedule(dynamic) nowait #endif for (size_t y = 0; y < raw_height; y += tile_length) { - for (size_t x = 0; x < raw_width; x += tile_width) { - size_t t = (y / tile_length) * tilesWide + (x / tile_width); + for (size_t x = 0; x < raw_width; x += tile_width) { + size_t t = (y / tile_length) * tilesWide + (x / tile_width); #ifdef _OPENMP -#pragma omp critical + #pragma omp critical #endif -{ - fseek(ifp, tileOffsets[t], SEEK_SET); - fread(cBuffer, 1, tileBytes[t], ifp); -} - int err = decompress(tileBytes[t], dstLen, cBuffer, uBuffer); - if (err != Z_OK) { - fprintf(stderr, "DNG Deflate: Failed uncompressing tile %d, with error %d\n", (int)t, err); - } else if (ifd->sample_format == 3) { // Floating point data - int bytesps = ifd->bps >> 3; - size_t thisTileLength = y + tile_length > raw_height ? raw_height - y : tile_length; - size_t thisTileWidth = x + tile_width > raw_width ? raw_width - x : tile_width; - for (size_t row = 0; row < thisTileLength; ++row) { - Bytef * src = uBuffer + row*tile_width*bytesps; - Bytef * dst = (Bytef *)&float_raw_image[(y+row)*raw_width + x]; - if (predFactor) - decodeFPDeltaRow(src, dst, thisTileWidth, tile_width, bytesps, predFactor); - expandFloats(dst, thisTileWidth, bytesps); - } - } else { // 32-bit Integer data - // TODO + { + fseek(ifp, tileOffsets[t], SEEK_SET); + fread(cBuffer, 1, tileBytes[t], ifp); + } + int err = decompress(tileBytes[t], dstLen, cBuffer, uBuffer); + if (err != Z_OK) { + fprintf(stderr, "DNG Deflate: Failed uncompressing tile %d, with error %d\n", (int)t, err); + } else if (ifd->sample_format == 3) { // Floating point data + int bytesps = ifd->bps >> 3; + size_t thisTileLength = y + tile_length > raw_height ? raw_height - y : tile_length; + size_t thisTileWidth = x + tile_width > raw_width ? raw_width - x : tile_width; + for (size_t row = 0; row < thisTileLength; ++row) { + Bytef * src = uBuffer + row*tile_width*bytesps; + Bytef * dst = (Bytef *)&float_raw_image[(y+row)*raw_width + x]; + if (predFactor) { + decodeFPDeltaRow(src, dst, thisTileWidth, tile_width, bytesps, predFactor); + } + expandFloats(dst, thisTileWidth, bytesps); + } + } else { // 32-bit Integer data + // TODO + } } - } } delete [] cBuffer; From 211d194c265f329f7e3ee3402192b6a968770012 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Thu, 7 Sep 2017 14:54:08 +0200 Subject: [PATCH 28/30] Crop ratio code streamlined by Floessie #4053 --- rtgui/crop.cc | 111 +++++++++++++++++++------------------------------- rtgui/crop.h | 16 ++++---- 2 files changed, 52 insertions(+), 75 deletions(-) diff --git a/rtgui/crop.cc b/rtgui/crop.cc index 5dc5c10d4..546d910ba 100644 --- a/rtgui/crop.cc +++ b/rtgui/crop.cc @@ -54,7 +54,43 @@ int notifyListenerUI (void* data) } -Crop::Crop (): FoldableToolPanel(this, "crop", M("TP_CROP_LABEL"), false, true), opt(0), wDirty(true), hDirty(true), xDirty(true), yDirty(true), lastFixRatio(true) +Crop::Crop(): + FoldableToolPanel(this, "crop", M("TP_CROP_LABEL"), false, true), + crop_ratios{ + {"3:2", 3.0 / 2.0}, // L1.5, P0.666... + {"4:3", 4.0 / 3.0}, // L1.333..., P0.75 + {"16:9", 16.0 / 9.0}, // L1.777..., P0.5625 + {"16:10", 16.0 / 10.0}, // L1.6, P0.625 + {"1:1", 1.0 / 1.0}, // L1, P1 + {"2:1", 2.0 / 1.0}, // L2, P0.5 + {"3:1", 3.0 / 1.0}, // L3, P0.333... + {"4:1", 4.0 / 1.0}, // L4, P0.25 + {"5:1", 5.0 / 1.0}, // L5, P0.2 + {"6:1", 6.0 / 1.0}, // L6, P0.1666... + {"7:1", 7.0 / 1.0}, // L7, P0.142... + {"4:5", 4.0 / 5.0}, // L1.25, P0.8 + {"5:7", 5.0 / 7.0}, // L1.4, P0.714... + {"6:7", 6.0 / 7.0}, // L1.166..., P0.857... + {"6:17", 6.0 / 17.0}, // L2.833..., P0.352... + {"24:65 - XPAN", 24.0 / 65.0}, // L2.708..., P0.369... + {"1.414 - DIN EN ISO 216", 1.414}, // L1.414, P0.707... + {"3.5:5", 3.5 / 5.0}, // L1.428..., P0.7 + {"8.5:11 - US Letter", 8.5 / 11.0}, // L1.294..., P0.772... + {"9.5:12", 9.5 / 12.0}, // L1.263..., P0.791... + {"10:12", 10.0 / 12.0}, // L1.2, P0.833... + {"11:14", 11.0 / 14.0}, // L1.272..., P0.785... + {"11:17 - Tabloid", 11.0 / 17.0}, // L1.545..., P0.647... + {"13:19", 13.0 / 19.0}, // L1.461..., P0.684... + {"17:22", 17.0 / 22.0}, // L1.294..., P0.772... + {"45:35 - ePassport", 45.0 / 35.0}, // L1.285,... P0.777... + {"64:27", 64.0 / 27.0}, // L2.370..., P0.421... + }, + opt(0), + wDirty(true), + hDirty(true), + xDirty(true), + yDirty(true), + lastFixRatio(true) { clistener = nullptr; @@ -145,70 +181,9 @@ Crop::Crop (): FoldableToolPanel(this, "crop", M("TP_CROP_LABEL"), false, true), ppi->set_value (300); // ppibox END - /**************** - * Crop Ratio - *****************/ - int NumberOfCropRatios = 27; //!!! change this value when adding new crop ratios - cropratio.resize (NumberOfCropRatios); - // Landscape Portrait - cropratio[0].label = "3:2"; - cropratio[0].value = 3.0 / 2.0; // 1.5 0.666... - cropratio[1].label = "4:3"; - cropratio[1].value = 4.0 / 3.0; // 1.333... 0.75 - cropratio[2].label = "16:9"; - cropratio[2].value = 16.0 / 9.0; // 1.777... 0.5625 - cropratio[3].label = "16:10"; - cropratio[3].value = 16.0 / 10.0; // 1.6 0.625 - cropratio[4].label = "1:1"; - cropratio[4].value = 1.0 / 1.0; // 1 1 - cropratio[5].label = "2:1"; - cropratio[5].value = 2.0 / 1.0; // 2 0.5 - cropratio[6].label = "3:1"; - cropratio[6].value = 3.0 / 1.0; // 3 0.333... - cropratio[7].label = "4:1"; - cropratio[7].value = 4.0 / 1.0; // 4 0.25 - cropratio[8].label = "5:1"; - cropratio[8].value = 5.0 / 1.0; // 5 0.2 - cropratio[9].label = "6:1"; - cropratio[9].value = 6.0 / 1.0; // 6 0.1666... - cropratio[10].label = "7:1"; - cropratio[10].value = 7.0 / 1.0; // 7 0.142 - cropratio[11].label = "4:5"; - cropratio[11].value = 4.0 / 5.0; // 1.25 0.8 - cropratio[12].label = "5:7"; - cropratio[12].value = 5.0 / 7.0; // 1.4 0.714... - cropratio[13].label = "6:7"; - cropratio[13].value = 6.0 / 7.0; // 1,166... 0.857... - cropratio[14].label = "6:17"; - cropratio[14].value = 6.0 / 17.0; // 2.833... 0.352... - cropratio[15].label = "24:65 - XPAN"; - cropratio[15].value = 24.0 / 65.0; // 2.708... 0.369... - cropratio[16].label = "1.414 - DIN EN ISO 216"; - cropratio[16].value = 1.414; // 1.414 0.707... - cropratio[17].label = "3.5:5"; - cropratio[17].value = 3.5 / 5.0; // 1.428 0.7 - cropratio[18].label = "8.5:11 - US Letter"; - cropratio[18].value = 8.5 / 11.0; // 1.294 0.772... - cropratio[19].label = "9.5:12"; - cropratio[19].value = 9.5 / 12.0; // 1.263 0.791... - cropratio[20].label = "10:12"; - cropratio[20].value = 10.0 / 12.0; // 1.2 0.833... - cropratio[21].label = "11:14"; - cropratio[21].value = 11.0 / 14.0; // 1.272... 0.785 - cropratio[22].label = "11:17 - Tabloid"; - cropratio[22].value = 11.0 / 17.0; // 1.545... 0.647... - cropratio[23].label = "13:19"; - cropratio[23].value = 13.0 / 19.0; // 1.461... 0.684 - cropratio[24].label = "17:22"; - cropratio[24].value = 17.0 / 22.0; // 1.294 0.772... - cropratio[25].label = "45:35 - ePassport"; - cropratio[25].value = 45.0 / 35.0; // 1.285 0.777... - cropratio[26].label = "64:27"; - cropratio[26].value = 64.0 / 27.0; // 2.370... 0.421... - - // populate the combobox - for (int i = 0; i < NumberOfCropRatios; i++) { - ratio->append (cropratio[i].label); + // Populate the combobox + for (const auto& crop_ratio : crop_ratios) { + ratio->append (crop_ratio.label); } ratio->set_active (0); @@ -320,7 +295,7 @@ void Crop::read (const ProcParams* pp, const ParamsEdited* pedited) ratio->set_active_text (pp->crop.ratio); fixr->set_active (pp->crop.fixratio); - const bool flip_orientation = pp->crop.fixratio && cropratio[ratio->get_active_row_number()].value < 1.0; + const bool flip_orientation = pp->crop.fixratio && crop_ratios[ratio->get_active_row_number()].value < 1.0; if (pp->crop.orientation == "Landscape") { orientation->set_active (flip_orientation ? 1 : 0); @@ -415,7 +390,7 @@ void Crop::write (ProcParams* pp, ParamsEdited* pedited) pp->crop.ratio = ratio->get_active_text (); // for historical reasons we store orientation different if ratio is written as 2:3 instead of 3:2, but in GUI 'landscape' is always long side horizontal regardless of the ratio is written short or long side first. - const bool flip_orientation = fixr->get_active() && cropratio[ratio->get_active_row_number()].value < 1.0; + const bool flip_orientation = fixr->get_active() && crop_ratios[ratio->get_active_row_number()].value < 1.0; if (orientation->get_active_row_number() == 0) { pp->crop.orientation = flip_orientation ? "Portrait" : "Landscape"; @@ -1289,7 +1264,7 @@ double Crop::getRatio () return r; } - r = cropratio[ratio->get_active_row_number()].value; + r = crop_ratios[ratio->get_active_row_number()].value; if (r < 1.0) { r = 1.0 / r; // convert to long side first (eg 4:5 becomes 5:4) diff --git a/rtgui/crop.h b/rtgui/crop.h index 4c2d7a209..e786d8364 100644 --- a/rtgui/crop.h +++ b/rtgui/crop.h @@ -33,11 +33,6 @@ public: virtual void cropSelectRequested() = 0; }; -struct CropRatio { - Glib::ustring label; - double value; -}; - class Crop final : public ToolParamBlock, public CropGUIListener, @@ -94,6 +89,15 @@ public: void rotateCrop (int deg, bool hflip, bool vflip); private: + struct CropRatio { + Glib::ustring label; + double value; + }; + + const std::vector crop_ratios; + + void adjustCropToRatio(); + Gtk::CheckButton* fixr; MyComboBoxText* ratio; MyComboBoxText* orientation; @@ -116,8 +120,6 @@ private: int lastRotationDeg; sigc::connection xconn, yconn, wconn, hconn, fconn, rconn, oconn, gconn; bool wDirty, hDirty, xDirty, yDirty, lastFixRatio; - void adjustCropToRatio(); - std::vector cropratio; IdleRegister idle_register; }; From 80c58f5014a9e7767b80581df868d22ca95c5717 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Thu, 7 Sep 2017 20:30:03 +0200 Subject: [PATCH 29/30] Fix artifacts in raw ca correction when width of raw is odd --- rtengine/CA_correct_RT.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rtengine/CA_correct_RT.cc b/rtengine/CA_correct_RT.cc index 1df27c5fb..7f2829b1c 100644 --- a/rtengine/CA_correct_RT.cc +++ b/rtengine/CA_correct_RT.cc @@ -134,12 +134,12 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const } // local variables - const int width = W, height = H; + const int width = W + (W & 1), height = H; //temporary array to store simple interpolation of G - float *Gtmp = (float (*)) malloc ((height * width + ((height * width) & 1)) / 2 * sizeof * Gtmp); + float *Gtmp = (float (*)) malloc ((height * width) / 2 * sizeof * Gtmp); // temporary array to avoid race conflicts, only every second pixel needs to be saved here - float *RawDataTmp = (float*) malloc( (height * width + ((height * width) & 1)) * sizeof(float) / 2); + float *RawDataTmp = (float*) malloc( (height * width) * sizeof(float) / 2); float blockave[2][2] = {{0, 0}, {0, 0}}, blocksqave[2][2] = {{0, 0}, {0, 0}}, blockdenom[2][2] = {{0, 0}, {0, 0}}, blockvar[2][2]; From 0b8900cf1bc8addb005d93629e3c4a0a50f2733e Mon Sep 17 00:00:00 2001 From: heckflosse Date: Fri, 8 Sep 2017 00:02:21 +0200 Subject: [PATCH 30/30] Fix warning when compiling CA_correct_RT.cc without __SSE2__ being defined --- rtengine/CA_correct_RT.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rtengine/CA_correct_RT.cc b/rtengine/CA_correct_RT.cc index 7f2829b1c..ec598b6ca 100644 --- a/rtengine/CA_correct_RT.cc +++ b/rtengine/CA_correct_RT.cc @@ -1024,9 +1024,9 @@ void RawImageSource::CA_correct_RT(const bool autoCA, const double cared, const int c = FC(rr, cc); int GRBdir0 = GRBdir[0][c]; int GRBdir1 = GRBdir[1][c]; +#ifdef __SSE2__ vfloat shifthfracc = F2V(shifthfrac[c]); vfloat shiftvfracc = F2V(shiftvfrac[c]); -#ifdef __SSE2__ for (int indx = rr * ts + cc; cc < cc1 - 14; cc += 8, indx += 8) { //interpolate colour difference from optical R/B locations to grid locations vfloat grbdiffinthfloor = vintpf(shifthfracc, LVFU(grbdiff[(indx - GRBdir1) >> 1]), LVFU(grbdiff[indx >> 1]));