diff --git a/rtdata/images/Dark/actions/previewmodeB-off.png b/rtdata/images/Dark/actions/previewmodeB-off.png new file mode 100644 index 000000000..35e5ecaf7 Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeB-off.png differ diff --git a/rtdata/images/Dark/actions/previewmodeB-on.png b/rtdata/images/Dark/actions/previewmodeB-on.png new file mode 100644 index 000000000..753f2c616 Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeB-on.png differ diff --git a/rtdata/images/Dark/actions/previewmodeF-off.png b/rtdata/images/Dark/actions/previewmodeF-off.png new file mode 100644 index 000000000..603d4f4c6 Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeF-off.png differ diff --git a/rtdata/images/Dark/actions/previewmodeF-on.png b/rtdata/images/Dark/actions/previewmodeF-on.png new file mode 100644 index 000000000..04f1dfd14 Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeF-on.png differ diff --git a/rtdata/images/Dark/actions/previewmodeG-off.png b/rtdata/images/Dark/actions/previewmodeG-off.png new file mode 100644 index 000000000..7a0ae85a7 Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeG-off.png differ diff --git a/rtdata/images/Dark/actions/previewmodeG-on.png b/rtdata/images/Dark/actions/previewmodeG-on.png new file mode 100644 index 000000000..1b9fbba68 Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeG-on.png differ diff --git a/rtdata/images/Dark/actions/previewmodeL-off.png b/rtdata/images/Dark/actions/previewmodeL-off.png new file mode 100644 index 000000000..05cda1bb4 Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeL-off.png differ diff --git a/rtdata/images/Dark/actions/previewmodeL-on.png b/rtdata/images/Dark/actions/previewmodeL-on.png new file mode 100644 index 000000000..82cfc0ca7 Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeL-on.png differ diff --git a/rtdata/images/Dark/actions/previewmodeR-off.png b/rtdata/images/Dark/actions/previewmodeR-off.png new file mode 100644 index 000000000..55b2a1b45 Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeR-off.png differ diff --git a/rtdata/images/Dark/actions/previewmodeR-on.png b/rtdata/images/Dark/actions/previewmodeR-on.png new file mode 100644 index 000000000..c915d7c9c Binary files /dev/null and b/rtdata/images/Dark/actions/previewmodeR-on.png differ diff --git a/rtdata/images/Light/actions/previewmodeB-off.png b/rtdata/images/Light/actions/previewmodeB-off.png new file mode 100644 index 000000000..35e5ecaf7 Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeB-off.png differ diff --git a/rtdata/images/Light/actions/previewmodeB-on.png b/rtdata/images/Light/actions/previewmodeB-on.png new file mode 100644 index 000000000..753f2c616 Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeB-on.png differ diff --git a/rtdata/images/Light/actions/previewmodeF-off.png b/rtdata/images/Light/actions/previewmodeF-off.png new file mode 100644 index 000000000..4fcd4288d Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeF-off.png differ diff --git a/rtdata/images/Light/actions/previewmodeF-on.png b/rtdata/images/Light/actions/previewmodeF-on.png new file mode 100644 index 000000000..2a6a73685 Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeF-on.png differ diff --git a/rtdata/images/Light/actions/previewmodeG-off.png b/rtdata/images/Light/actions/previewmodeG-off.png new file mode 100644 index 000000000..7a0ae85a7 Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeG-off.png differ diff --git a/rtdata/images/Light/actions/previewmodeG-on.png b/rtdata/images/Light/actions/previewmodeG-on.png new file mode 100644 index 000000000..1b9fbba68 Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeG-on.png differ diff --git a/rtdata/images/Light/actions/previewmodeL-off.png b/rtdata/images/Light/actions/previewmodeL-off.png new file mode 100644 index 000000000..05cda1bb4 Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeL-off.png differ diff --git a/rtdata/images/Light/actions/previewmodeL-on.png b/rtdata/images/Light/actions/previewmodeL-on.png new file mode 100644 index 000000000..82cfc0ca7 Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeL-on.png differ diff --git a/rtdata/images/Light/actions/previewmodeR-off.png b/rtdata/images/Light/actions/previewmodeR-off.png new file mode 100644 index 000000000..55b2a1b45 Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeR-off.png differ diff --git a/rtdata/images/Light/actions/previewmodeR-on.png b/rtdata/images/Light/actions/previewmodeR-on.png new file mode 100644 index 000000000..c915d7c9c Binary files /dev/null and b/rtdata/images/Light/actions/previewmodeR-on.png differ diff --git a/rtdata/languages/default b/rtdata/languages/default index 064a9ba07..dfc3abe23 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -477,7 +477,7 @@ MAIN_TOOLTIP_INDCLIPPEDH;Clipped highlight indication (Key <) MAIN_TOOLTIP_INDCLIPPEDS;Clipped shadow indication (Key >) MAIN_TOOLTIP_PREFERENCES;Set preferences MAIN_TOOLTIP_PREVIEWB;Preview Blue channel\n-b -MAIN_TOOLTIP_PREVIEWFOCUSMASK;Preview Focus Mask (beta) Shift-F\nMore accurate on images with shallow depth of field, low noise and at higher zoom levels\nTo improve detection accuracy for higher noise images evaluate at smaller zoom 10-30% +MAIN_TOOLTIP_PREVIEWFOCUSMASK;Preview Focus Mask (beta) Shift-F\n\nMore accurate on images with shallow depth of field, low noise and at higher zoom levels\n\nTo improve detection accuracy for noisy images evaluate at smaller zoom 10-30%\n\nPreview is rendered slower with Focus Mask turned on. MAIN_TOOLTIP_PREVIEWG;Preview Green channel\n-g MAIN_TOOLTIP_PREVIEWL;Preview Luminosity\n0.299*R + 0.587*G + 0.114*B\n-v MAIN_TOOLTIP_PREVIEWR;Preview Red channel\n-r diff --git a/rtgui/previewmodepanel.cc b/rtgui/previewmodepanel.cc index 640de2e7f..9e52632f5 100644 --- a/rtgui/previewmodepanel.cc +++ b/rtgui/previewmodepanel.cc @@ -23,25 +23,42 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) { - previewR = Gtk::manage (new Gtk::ToggleButton ("R")); + iR = new RTImage ("previewmodeR-on.png"); + iG = new RTImage ("previewmodeG-on.png"); + iB = new RTImage ("previewmodeB-on.png"); + iL = new RTImage ("previewmodeL-on.png"); + iF = new RTImage ("previewmodeF-on.png"); + + igR = new RTImage ("previewmodeR-off.png"); + igG = new RTImage ("previewmodeG-off.png"); + igB = new RTImage ("previewmodeB-off.png"); + igL = new RTImage ("previewmodeL-off.png"); + igF = new RTImage ("previewmodeF-off.png"); + + previewR = Gtk::manage (new Gtk::ToggleButton ()); previewR->set_relief(Gtk::RELIEF_NONE); previewR->set_tooltip_markup (M("MAIN_TOOLTIP_PREVIEWR")); + previewR->set_image(*igR); - previewG = Gtk::manage (new Gtk::ToggleButton ("G")); + previewG = Gtk::manage (new Gtk::ToggleButton ()); previewG->set_relief(Gtk::RELIEF_NONE); previewG->set_tooltip_markup (M("MAIN_TOOLTIP_PREVIEWG")); + previewG->set_image(*igG); - previewB = Gtk::manage (new Gtk::ToggleButton ("B")); + previewB = Gtk::manage (new Gtk::ToggleButton ()); previewB->set_relief(Gtk::RELIEF_NONE); previewB->set_tooltip_markup (M("MAIN_TOOLTIP_PREVIEWB")); + previewB->set_image(*igB); - previewL = Gtk::manage (new Gtk::ToggleButton ("L")); + previewL = Gtk::manage (new Gtk::ToggleButton ()); previewL->set_relief(Gtk::RELIEF_NONE); previewL->set_tooltip_markup (M("MAIN_TOOLTIP_PREVIEWL")); + previewL->set_image(*igL); - previewFocusMask = Gtk::manage (new Gtk::ToggleButton ("F")); + 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); @@ -64,6 +81,18 @@ PreviewModePanel::PreviewModePanel (ImageArea* ia) : imageArea(ia) { //show_all (); } +PreviewModePanel::~PreviewModePanel (){ + delete iR; + delete iG; + delete iB; + delete iL; + delete iF; + delete igR; + delete igG; + delete igB; + delete igL; + delete igF; +} //TODO: use functions below for shortcuts void PreviewModePanel::toggleR () { previewR->set_active(!previewR->get_active()); @@ -82,7 +111,6 @@ void PreviewModePanel::toggleFocusMask () { } void PreviewModePanel::buttonToggled (Gtk::ToggleButton* tbpreview) { - // only 0 or 1 button at a time can remain pressed connR.block(true); connG.block(true); @@ -90,45 +118,20 @@ void PreviewModePanel::buttonToggled (Gtk::ToggleButton* tbpreview) { connL.block(true); connFocusMask.block(true); - if (tbpreview==previewR){ - // - previewG->set_active(false); - previewB->set_active(false); - previewL->set_active(false); - previewFocusMask->set_active(false); - } + // control state of the buttons + // only 0 or 1 button at a time can remain pressed + if (tbpreview!=previewR) previewR->set_active(false); + if (tbpreview!=previewG) previewG->set_active(false); + if (tbpreview!=previewB) previewB->set_active(false); + if (tbpreview!=previewL) previewL->set_active(false); + if (tbpreview!=previewFocusMask) previewFocusMask->set_active(false); - if (tbpreview==previewG){ - previewR->set_active(false); - // - previewB->set_active(false); - previewL->set_active(false); - previewFocusMask->set_active(false); - } - - if (tbpreview==previewB){ - previewR->set_active(false); - previewG->set_active(false); - // - previewL->set_active(false); - previewFocusMask->set_active(false); - } - - if (tbpreview==previewL){ - previewR->set_active(false); - previewG->set_active(false); - previewB->set_active(false); - // - previewFocusMask->set_active(false); - } - - if (tbpreview==previewFocusMask){ - previewR->set_active(false); - previewG->set_active(false); - previewB->set_active(false); - previewL->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); diff --git a/rtgui/previewmodepanel.h b/rtgui/previewmodepanel.h index cf908c787..5b1b22e9e 100644 --- a/rtgui/previewmodepanel.h +++ b/rtgui/previewmodepanel.h @@ -32,8 +32,15 @@ class PreviewModePanel : public Gtk::HBox { Gtk::ToggleButton* previewFocusMask; ImageArea* imageArea; + Gtk::Image* iR, *igR; + Gtk::Image* iG, *igG; + Gtk::Image* iB, *igB; + Gtk::Image* iL, *igL; + Gtk::Image* iF, *igF; + public: PreviewModePanel (ImageArea* ia); + ~PreviewModePanel(); void toggleR (); void toggleG ();