From d2fcabea64fdd5cd3b3902af7b4cf9b5c6f9614c Mon Sep 17 00:00:00 2001 From: Hombre Date: Thu, 17 Sep 2015 01:09:02 +0200 Subject: [PATCH] The 2 columns of the History list are now of the same width, can't be resized, and display a tooltip. The ICM tool has been reworked to avoid loosing space. The curve's histogram are now displayed. For Windows users, if you can't build the Gtk3 branch anymore with your Gcc5.x compiler, try to uncomment line 20-21 of the main CMakeLists.txt. For some reason, I had to comment that out. --- CMakeLists.txt | 4 +- rtdata/themes/rtcommon.css | 1 + rtgui/adjuster.cc | 7 +++ rtgui/guiutils.cc | 12 ++++- rtgui/guiutils.h | 2 + rtgui/history.cc | 72 +++++++++++++++++++++++--- rtgui/history.h | 5 +- rtgui/icmpanel.cc | 101 +++++++++++++++++++++---------------- rtgui/mydiagonalcurve.cc | 4 +- rtgui/preferences.cc | 7 +++ rtgui/thresholdadjuster.cc | 7 +++ rtgui/tonecurve.cc | 7 +++ 12 files changed, 171 insertions(+), 58 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e5d77419b..3615e5f23 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,8 +17,8 @@ string (TOUPPER ${CMAKE_BUILD_TYPE} UPPER_CMAKE_BUILD_TYPE) if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) if (GCC_VERSION VERSION_GREATER 5.0 OR GCC_VERSION VERSION_EQUAL 5.0) - message(STATUS "Gcc Version >= 5.0 ; adding -D_GLIBCXX_USE_CXX11_ABI=0 to build with Gtk2") - add_definitions (-D_GLIBCXX_USE_CXX11_ABI=0) + #message(STATUS "Gcc Version >= 5.0 ; adding -D_GLIBCXX_USE_CXX11_ABI=0 to build with Gtk2") + #add_definitions (-D_GLIBCXX_USE_CXX11_ABI=0) # see here : https://gcc.gnu.org/gcc-5/changes.html#libstdcxx endif() endif() diff --git a/rtdata/themes/rtcommon.css b/rtdata/themes/rtcommon.css index f56c999c4..4b1f29f3d 100644 --- a/rtdata/themes/rtcommon.css +++ b/rtdata/themes/rtcommon.css @@ -83,6 +83,7 @@ GtkImage { GtkFrame { background-color: rgba(128,128,128,0.15); + padding: 4px 4px; } GtkNotebook { diff --git a/rtgui/adjuster.cc b/rtgui/adjuster.cc index f571e9923..84c47a75d 100644 --- a/rtgui/adjuster.cc +++ b/rtgui/adjuster.cc @@ -17,7 +17,14 @@ * along with RawTherapee. If not, see . */ #include "adjuster.h" + +// class_slot is no longer part of the sigc++ source tree, but starting from which version ? +#if 1 +#include +#else #include +#endif + #include #include "multilangmgr.h" #include "../rtengine/rtengine.h" diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index a7a7771d7..cab3a34e9 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -1115,7 +1115,7 @@ bool MyHScale::on_key_press_event (GdkEventKey* event) MyFileChooserButton::MyFileChooserButton (const Glib::ustring& title, Gtk::FileChooserAction action) : Gtk::FileChooserButton(title, action) { - set_size_request(20, -1); + //set_size_request(35, -1); } // For an unknown reason (a bug ?), it doesn't work when action = FILE_CHOOSER_ACTION_SELECT_FOLDER ! @@ -1132,6 +1132,16 @@ bool MyFileChooserButton::on_scroll_event (GdkEventScroll* event) return false; } +void MyFileChooserButton::get_preferred_width_vfunc (int &minimum_width, int &natural_width) const +{ + minimum_width = natural_width = 35; +} +void MyFileChooserButton::get_preferred_width_for_height_vfunc (int width, int &minimum_width, int &natural_width) const +{ + minimum_width = natural_width = 35; +} + + FileChooserLastFolderPersister::FileChooserLastFolderPersister( Gtk::FileChooser* chooser, Glib::ustring& folderVariable) : chooser(chooser), folderVariable(folderVariable) diff --git a/rtgui/guiutils.h b/rtgui/guiutils.h index 07322d90f..734b228bc 100644 --- a/rtgui/guiutils.h +++ b/rtgui/guiutils.h @@ -343,6 +343,8 @@ class MyFileChooserButton : public Gtk::FileChooserButton protected: bool on_scroll_event (GdkEventScroll* event); + void get_preferred_width_vfunc (int &minimum_width, int &natural_width) const; + void get_preferred_width_for_height_vfunc (int width, int &minimum_width, int &natural_width) const; public: MyFileChooserButton (const Glib::ustring& title, Gtk::FileChooserAction action = Gtk::FILE_CHOOSER_ACTION_OPEN); diff --git a/rtgui/history.cc b/rtgui/history.cc index 4aa6dc774..c58e9faba 100644 --- a/rtgui/history.cc +++ b/rtgui/history.cc @@ -38,7 +38,7 @@ History::History (bool bookmarkSupport) : blistener(NULL), tpc (NULL), bmnum (1) // History List // ~~~~~~~~~~~~ - hscrollw = Gtk::manage (new Gtk::ScrolledWindow ()); + Gtk::ScrolledWindow* hscrollw = Gtk::manage (new Gtk::ScrolledWindow ()); hscrollw->set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); Gtk::Frame* histFrame = Gtk::manage (new Gtk::Frame (M("HISTORY_LABEL"))); @@ -49,25 +49,38 @@ History::History (bool bookmarkSupport) : blistener(NULL), tpc (NULL), bmnum (1) historyModel = Gtk::ListStore::create (historyColumns); hTreeView->set_model (historyModel); -// hTreeView->set_headers_visible (false); + //hTreeView->set_headers_visible (false); + hTreeView->set_hscroll_policy(Gtk::ScrollablePolicy::SCROLL_MINIMUM); + hTreeView->set_vscroll_policy(Gtk::ScrollablePolicy::SCROLL_NATURAL); + hTreeView->set_size_request(80, -1); + hTreeView->set_resize_mode(Gtk::RESIZE_QUEUE); Gtk::CellRendererText *changecrt = Gtk::manage (new Gtk::CellRendererText()); Gtk::CellRendererText *valuecrt = Gtk::manage (new Gtk::CellRendererText()); Gtk::TreeView::Column *hviewcol = Gtk::manage (new Gtk::TreeView::Column ("")); hviewcol->pack_start (*changecrt, true); hviewcol->add_attribute (changecrt->property_markup (), historyColumns.text); + hviewcol->set_expand(true); hviewcol->set_resizable (true); + hviewcol->set_fixed_width(35); + hviewcol->set_min_width(35); + hviewcol->set_sizing(Gtk::TREE_VIEW_COLUMN_AUTOSIZE); Gtk::TreeView::Column *hviewcol2 = Gtk::manage (new Gtk::TreeView::Column ("")); hviewcol2->pack_start (*valuecrt, true); hviewcol2->add_attribute (valuecrt->property_markup (), historyColumns.value); - valuecrt->set_property ("xalign", 1.0); + hviewcol2->set_expand(true); + hviewcol2->set_resizable(true); + hviewcol2->set_fixed_width(35); + hviewcol2->set_min_width(35); + hviewcol2->set_sizing(Gtk::TREE_VIEW_COLUMN_AUTOSIZE); + valuecrt->set_alignment(1.f, 0.f); + hTreeView->set_has_tooltip(true); + hTreeView->signal_query_tooltip().connect( sigc::mem_fun(*this, &History::on_query_tooltip) ); hTreeView->append_column (*hviewcol); hTreeView->append_column (*hviewcol2); - hviewcol2->set_sizing (Gtk::TREE_VIEW_COLUMN_FIXED); - selchangehist = hTreeView->get_selection()->signal_changed().connect(sigc::mem_fun(*this, &History::historySelectionChanged)); // Bookmark List @@ -97,7 +110,7 @@ History::History (bool bookmarkSupport) : blistener(NULL), tpc (NULL), bmnum (1) bscrollw = Gtk::manage (new Gtk::ScrolledWindow ()); // bscrollw->set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); bscrollw->set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); - bscrollw->set_size_request (-1, 75); + bscrollw->set_size_request (-1, 45); Gtk::Frame* bmFrame = Gtk::manage (new Gtk::Frame (M("HISTORY_SNAPSHOTS"))); Gtk::VBox* bmBox = Gtk::manage (new Gtk::VBox ()); @@ -128,9 +141,9 @@ History::History (bool bookmarkSupport) : blistener(NULL), tpc (NULL), bmnum (1) addBookmark->signal_clicked().connect( sigc::mem_fun(*this, &History::addBookmarkPressed) ); delBookmark->signal_clicked().connect( sigc::mem_fun(*this, &History::delBookmarkPressed) ); -// hTreeView->set_grid_lines (Gtk::TREE_VIEW_GRID_LINES_HORIZONTAL); + //hTreeView->set_grid_lines (Gtk::TREE_VIEW_GRID_LINES_HORIZONTAL); hTreeView->set_grid_lines (Gtk::TREE_VIEW_GRID_LINES_BOTH); - hTreeView->signal_size_allocate().connect( sigc::mem_fun(*this, &History::resized) ); + //hTreeView->signal_size_allocate().connect( sigc::mem_fun(*this, &History::resized) ); hTreeView->set_enable_search(false); bTreeView->set_enable_search(false); @@ -377,9 +390,11 @@ void History::redo () } } +/* void History::resized (Gtk::Allocation& req) { } +*/ bool History::getBeforeLineParams (rtengine::procparams::ProcParams& params) { @@ -396,3 +411,44 @@ bool History::getBeforeLineParams (rtengine::procparams::ProcParams& params) return true; } +bool History::on_query_tooltip(int x, int y, bool keyboard_tooltip, const Glib::RefPtr& tooltip) { + bool displayTooltip = false; + + Gtk::TreeModel::Path path; + int x2 = -1; + int y2 = -1; + hTreeView->convert_widget_to_bin_window_coords(x, y, x2, y2); + bool hasPath = hTreeView->get_path_at_pos(x2, y2, path); + + if (hasPath) { + if (path && !path.empty()) { + Gtk::TreeModel::iterator iter = historyModel->get_iter(path); + if (iter) { + Glib::ustring param, val; + iter->get_value(1, param); + iter->get_value(2, val); + + /* + * + * + * Why this doesn't work ??? + * + * + * + Gtk::Label *left = Gtk::manage (new Gtk::Label(param+" :")); + Gtk::Label *right = Gtk::manage (new Gtk::Label(val)); + right->set_justify(Gtk::JUSTIFY_LEFT); + Gtk::HBox *hbox = Gtk::manage (new Gtk::HBox()); + hbox->set_spacing(5); + hbox->pack_start(*left, Gtk::PACK_SHRINK, 0); + hbox->pack_start(*right, Gtk::PACK_SHRINK, 0); + tooltip->set_custom(*hbox); + */ + + tooltip->set_text(param+" : "+val); + displayTooltip = true; + } + } + } + return displayTooltip; +} diff --git a/rtgui/history.h b/rtgui/history.h index 1c3e9e0b4..84453b329 100644 --- a/rtgui/history.h +++ b/rtgui/history.h @@ -74,7 +74,6 @@ public: protected: Gtk::VPaned* historyVPaned; - Gtk::ScrolledWindow* hscrollw; Gtk::TreeView* hTreeView; Glib::RefPtr historyModel; @@ -93,6 +92,8 @@ protected: ParamsEdited defParamsEdited; int bmnum; + bool on_query_tooltip(int x, int y, bool keyboard_tooltip, const Glib::RefPtr& tooltip); + public: History (bool bookmarkSupport = true); @@ -120,7 +121,7 @@ public: void addBookmarkPressed (); void delBookmarkPressed (); - void resized (Gtk::Allocation& req); + //void resized (Gtk::Allocation& req); void undo (); void redo (); diff --git a/rtgui/icmpanel.cc b/rtgui/icmpanel.cc index 0e204dcee..dcb3ddb25 100644 --- a/rtgui/icmpanel.cc +++ b/rtgui/icmpanel.cc @@ -44,28 +44,28 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch Gtk::Frame *iFrame = Gtk::manage (new Gtk::Frame(M("TP_ICM_INPUTPROFILE")) ); - iFrame->set_border_width(0); + //iFrame->set_border_width(0); iFrame->set_label_align(0.025, 0.5); iVBox = Gtk::manage ( new Gtk::VBox()); - iVBox->set_border_width(4); + //iVBox->set_border_width(4); iVBox->set_spacing(2); inone = Gtk::manage (new Gtk::RadioButton (M("TP_ICM_INPUTNONE"))); inone->set_tooltip_text (M("TP_ICM_INPUTNONE_TOOLTIP")); - iVBox->pack_start (*inone, Gtk::PACK_SHRINK, 2); + iVBox->pack_start (*inone, Gtk::PACK_SHRINK); iembedded = Gtk::manage (new Gtk::RadioButton (M("TP_ICM_INPUTEMBEDDED"))); iembedded->set_tooltip_text (M("TP_ICM_INPUTEMBEDDED_TOOLTIP")); - iVBox->pack_start (*iembedded, Gtk::PACK_SHRINK, 2); + iVBox->pack_start (*iembedded, Gtk::PACK_SHRINK); icamera = Gtk::manage (new Gtk::RadioButton (M("TP_ICM_INPUTCAMERA"))); icamera->set_tooltip_text (M("TP_ICM_INPUTCAMERA_TOOLTIP")); - iVBox->pack_start (*icamera, Gtk::PACK_SHRINK, 2); + iVBox->pack_start (*icamera, Gtk::PACK_SHRINK); icameraICC = Gtk::manage (new Gtk::RadioButton (M("TP_ICM_INPUTCAMERAICC"))); icameraICC->set_tooltip_text (M("TP_ICM_INPUTCAMERAICC_TOOLTIP")); - iVBox->pack_start (*icameraICC, Gtk::PACK_SHRINK, 2); + iVBox->pack_start (*icameraICC, Gtk::PACK_SHRINK); ifromfile = Gtk::manage (new Gtk::RadioButton (M("TP_ICM_INPUTCUSTOM") + ":")); Gtk::HBox* ffbox = Gtk::manage (new Gtk::HBox ()); @@ -73,7 +73,7 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch ffbox->pack_start (*ifromfile, Gtk::PACK_SHRINK); ffbox->pack_start (*ipDialog); - iVBox->pack_start (*ffbox, Gtk::PACK_SHRINK, 2); + iVBox->pack_start (*ffbox, Gtk::PACK_SHRINK); opts = icamera->get_group(); icameraICC->set_group (opts); @@ -82,14 +82,25 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch inone->set_group (opts); dcpFrame = Gtk::manage (new Gtk::Frame ("DCP")); - Gtk::VBox* dcpFrameVBox = Gtk::manage (new Gtk::VBox ()); - dcpFrameVBox->set_border_width(4); - Gtk::HBox* dcpIllHBox = Gtk::manage (new Gtk::HBox ()); + Gtk::Grid* dcpGrid = Gtk::manage ( new Gtk::Grid()); + dcpGrid->set_column_homogeneous(false); + dcpGrid->set_row_homogeneous(false); + dcpGrid->set_column_spacing(2); + dcpGrid->set_row_spacing(2); + + Gtk::Grid* dcpIllGrid = Gtk::manage ( new Gtk::Grid()); + dcpIllGrid->set_column_homogeneous(false); + dcpIllGrid->set_row_homogeneous(false); + dcpIllGrid->set_column_spacing(2); + dcpIllGrid->set_row_spacing(2); + dcpIllLabel = Gtk::manage (new Gtk::Label (M("TP_ICM_DCPILLUMINANT") + ":")); + setExpandAlignProperties(dcpIllLabel, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); dcpIllLabel->set_tooltip_text (M("TP_ICM_DCPILLUMINANT_TOOLTIP")); dcpIllLabel->show (); dcpIll = Gtk::manage (new MyComboBoxText ()); + setExpandAlignProperties(dcpIll, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); dcpIll->set_tooltip_text (M("TP_ICM_DCPILLUMINANT_TOOLTIP")); dcpIll->append (M("TP_ICM_DCPILLUMINANT_INTERPOLATED")); dcpIll->append (M("TP_ICM_DCPILLUMINANT") + " 1"); @@ -98,33 +109,36 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch dcpTemperatures[0] = 0; dcpTemperatures[1] = 0; ignoreDcpSignal = true; - dcpIllHBox->pack_start(*dcpIllLabel, Gtk::PACK_SHRINK, 4); - dcpIllHBox->pack_start(*dcpIll); + dcpIllGrid->attach_next_to(*dcpIllLabel, Gtk::POS_LEFT, 1, 1); + dcpIllGrid->attach_next_to(*dcpIll, *dcpIllLabel, Gtk::POS_RIGHT, 1, 1); - Gtk::HBox* c1HBox = Gtk::manage ( new Gtk::HBox(true, 4)); ckbToneCurve = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_TONECURVE"))); ckbToneCurve->set_sensitive (false); ckbToneCurve->set_tooltip_text (M("TP_ICM_TONECURVE_TOOLTIP")); - ckbApplyHueSatMap = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYHUESATMAP"))); - ckbApplyHueSatMap->set_sensitive (false); - ckbApplyHueSatMap->set_tooltip_text (M("TP_ICM_APPLYHUESATMAP_TOOLTIP")); - c1HBox->pack_start (*ckbToneCurve); - c1HBox->pack_start (*ckbApplyHueSatMap); + setExpandAlignProperties(ckbToneCurve, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - Gtk::HBox* c2HBox = Gtk::manage ( new Gtk::HBox(true, 4)); ckbApplyLookTable = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYLOOKTABLE"))); ckbApplyLookTable->set_sensitive (false); ckbApplyLookTable->set_tooltip_text (M("TP_ICM_APPLYLOOKTABLE_TOOLTIP")); + setExpandAlignProperties(ckbApplyLookTable, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); + + ckbApplyHueSatMap = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYHUESATMAP"))); + ckbApplyHueSatMap->set_sensitive (false); + ckbApplyHueSatMap->set_tooltip_text (M("TP_ICM_APPLYHUESATMAP_TOOLTIP")); + setExpandAlignProperties(ckbApplyHueSatMap, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); + ckbApplyBaselineExposureOffset = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYBASELINEEXPOSUREOFFSET"))); ckbApplyBaselineExposureOffset->set_sensitive (false); ckbApplyBaselineExposureOffset->set_tooltip_text (M("TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP")); - c2HBox->pack_start (*ckbApplyLookTable); - c2HBox->pack_start (*ckbApplyBaselineExposureOffset); + setExpandAlignProperties(ckbApplyBaselineExposureOffset, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - dcpFrameVBox->pack_start(*dcpIllHBox); - dcpFrameVBox->pack_start(*c1HBox); - dcpFrameVBox->pack_start(*c2HBox); - dcpFrame->add(*dcpFrameVBox); + dcpGrid->attach_next_to(*ckbToneCurve, Gtk::POS_LEFT, 1, 1); + dcpGrid->attach_next_to(*ckbApplyLookTable, *ckbToneCurve, Gtk::POS_RIGHT, 1, 1); + dcpGrid->attach_next_to(*ckbApplyHueSatMap, *ckbToneCurve, Gtk::POS_BOTTOM, 1, 1); + dcpGrid->attach_next_to(*ckbApplyBaselineExposureOffset, *ckbApplyHueSatMap, Gtk::POS_RIGHT, 1, 1); + dcpGrid->attach_next_to(*dcpIllGrid, *ckbToneCurve, Gtk::POS_TOP, 2, 1); + + dcpFrame->add(*dcpGrid); dcpFrame->set_sensitive(false); iVBox->pack_start (*dcpFrame); @@ -137,21 +151,22 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch saveRef = Gtk::manage (new Gtk::Button ()); // M("TP_ICM_SAVEREFERENCE") saveRef->set_image (*Gtk::manage (new RTImage ("gtk-save-large.png"))); saveRef->set_tooltip_markup (M("TP_ICM_SAVEREFERENCE_TOOLTIP")); - iVBox->pack_start (*saveRef, Gtk::PACK_SHRINK, 2); + iVBox->pack_start (*saveRef, Gtk::PACK_SHRINK); iFrame->add(*iVBox); - pack_start (*iFrame, Gtk::PACK_EXPAND_WIDGET, 4); + pack_start (*iFrame, Gtk::PACK_EXPAND_WIDGET); // ---------------------------- Working profile Gtk::Frame *wFrame = Gtk::manage (new Gtk::Frame(M("TP_ICM_WORKINGPROFILE")) ); - wFrame->set_border_width(0); + //wFrame->set_border_width(0); wFrame->set_label_align(0.025, 0.5); Gtk::VBox *wVBox = Gtk::manage ( new Gtk::VBox()); - wVBox->set_border_width(4); + //wVBox->set_border_width(4); + wVBox->set_spacing(2); wnames = Gtk::manage (new MyComboBoxText ()); wVBox->pack_start (*wnames, Gtk::PACK_SHRINK); @@ -165,18 +180,18 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch wnames->set_active (0); wFrame->add(*wVBox); - pack_start (*wFrame, Gtk::PACK_EXPAND_WIDGET, 4); + pack_start (*wFrame, Gtk::PACK_EXPAND_WIDGET); // ---------------------------- Output profile Gtk::Frame *oFrame = Gtk::manage (new Gtk::Frame(M("TP_ICM_OUTPUTPROFILE")) ); - oFrame->set_border_width(0); + //oFrame->set_border_width(0); oFrame->set_label_align(0.025, 0.5); Gtk::VBox *oVBox = Gtk::manage ( new Gtk::VBox()); - oVBox->set_border_width(4); + //oVBox->set_border_width(4); oVBox->set_spacing(2); onames = Gtk::manage (new MyComboBoxText ()); @@ -199,11 +214,11 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch Gtk::Label* galab = Gtk::manage (new Gtk::Label (M("TP_GAMMA_OUTPUT") + ":")); //galab->set_alignment (0.0, 0.5); - gaHBox->pack_start (*galab, Gtk::PACK_SHRINK, 4); + gaHBox->pack_start (*galab, Gtk::PACK_SHRINK); wgamma = Gtk::manage (new MyComboBoxText ()); gaHBox->pack_start (*wgamma, Gtk::PACK_EXPAND_WIDGET); - oVBox->pack_start(*gaHBox, Gtk::PACK_EXPAND_WIDGET, 2); + oVBox->pack_start(*gaHBox, Gtk::PACK_EXPAND_WIDGET); std::vector wpgamma = rtengine::getGamma (); @@ -216,8 +231,8 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch Gtk::Frame* fgFrame = Gtk::manage (new Gtk::Frame ()); Gtk::VBox *fgVBox = Gtk::manage ( new Gtk::VBox()); - fgVBox->set_spacing(0); - fgVBox->set_border_width(4); + fgVBox->set_spacing(2); + //fgVBox->set_border_width(4); freegamma = Gtk::manage(new Gtk::CheckButton((M("TP_GAMMA_FREE")))); freegamma->set_active (false); @@ -243,10 +258,10 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch fgVBox->pack_start( *slpos, Gtk::PACK_SHRINK);//slope fgFrame->add(*fgVBox); - oVBox->pack_start(*fgFrame, Gtk::PACK_EXPAND_WIDGET, 2); + oVBox->pack_start(*fgFrame, Gtk::PACK_EXPAND_WIDGET); oFrame->add(*oVBox); - pack_start (*oFrame, Gtk::PACK_EXPAND_WIDGET, 4); + pack_start (*oFrame, Gtk::PACK_EXPAND_WIDGET); // ---------------------------- Output gamma list entries @@ -460,26 +475,26 @@ void ICMPanel::read (const ProcParams* pp, const ParamsEdited* pedited) inone->set_active (true); ckbBlendCMSMatrix->set_sensitive (false); updateDCP(pp->icm.dcpIlluminant, ""); - } else if (pp->icm.input == "(embedded)" || ((pp->icm.input == "(camera)" || pp->icm.input == "") && icamera->get_state() == Gtk::STATE_FLAG_INSENSITIVE)) { + } else if (pp->icm.input == "(embedded)" || ((pp->icm.input == "(camera)" || pp->icm.input == "") && icamera->get_state() == Gtk::STATE_INSENSITIVE)) { iembedded->set_active (true); ckbBlendCMSMatrix->set_sensitive (false); updateDCP(pp->icm.dcpIlluminant, ""); - } else if ((pp->icm.input == "(cameraICC)") && icameraICC->get_state() != Gtk::STATE_FLAG_INSENSITIVE) { + } else if ((pp->icm.input == "(cameraICC)") && icameraICC->get_state() != Gtk::STATE_INSENSITIVE) { icameraICC->set_active (true); ckbBlendCMSMatrix->set_sensitive (true); updateDCP(pp->icm.dcpIlluminant, ""); - } else if ((pp->icm.input == "(cameraICC)") && icamera->get_state() != Gtk::STATE_FLAG_INSENSITIVE && icameraICC->get_state() == Gtk::STATE_FLAG_INSENSITIVE) { + } else if ((pp->icm.input == "(cameraICC)") && icamera->get_state() != Gtk::STATE_INSENSITIVE && icameraICC->get_state() == Gtk::STATE_INSENSITIVE) { // this is the case when (cameraICC) is instructed by packaged profiles, but ICC file is not found // therefore falling back UI to explicitly reflect the (camera) option icamera->set_active (true); ckbBlendCMSMatrix->set_sensitive (false); updateDCP(pp->icm.dcpIlluminant, ""); - } else if ((pp->icm.input == "(cameraICC)") && icamera->get_state() == Gtk::STATE_FLAG_INSENSITIVE && icameraICC->get_state() == Gtk::STATE_FLAG_INSENSITIVE) { + } else if ((pp->icm.input == "(cameraICC)") && icamera->get_state() == Gtk::STATE_INSENSITIVE && icameraICC->get_state() == Gtk::STATE_INSENSITIVE) { // If neither (camera) nor (cameraICC) are available, as is the case when loading a non-raw, activate (embedded). iembedded->set_active (true); ckbBlendCMSMatrix->set_sensitive (false); updateDCP(pp->icm.dcpIlluminant, ""); - } else if ((pp->icm.input == "(camera)" || pp->icm.input == "") && icamera->get_state() != Gtk::STATE_FLAG_INSENSITIVE) { + } else if ((pp->icm.input == "(camera)" || pp->icm.input == "") && icamera->get_state() != Gtk::STATE_INSENSITIVE) { icamera->set_active (true); ckbBlendCMSMatrix->set_sensitive (false); updateDCP(pp->icm.dcpIlluminant, ""); diff --git a/rtgui/mydiagonalcurve.cc b/rtgui/mydiagonalcurve.cc index f55f2d907..cdd6e5fa8 100644 --- a/rtgui/mydiagonalcurve.cc +++ b/rtgui/mydiagonalcurve.cc @@ -255,8 +255,8 @@ void MyDiagonalCurve::draw (int handle) cr->set_line_width (1.0); double stepSize = (graphW - 3) / 255.0; cr->move_to ( double(graphX + 1), double(graphY - 1) ); - c = style->get_background_color(Gtk::STATE_FLAG_INSENSITIVE); - cr->set_source_rgb (c.get_red(), c.get_green(), c.get_blue()); + c = style->get_color(state); + cr->set_source_rgba (c.get_red(), c.get_green(), c.get_blue(), 0.2); for (int i = 0; i < 256; i++) { double val = double(bghist[i]) * double(graphH - 2) / double(valMax); diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index eee49c079..430ba1c25 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -16,7 +16,14 @@ * You should have received a copy of the GNU General Public License * along with RawTherapee. If not, see . */ + +// class_slot is no longer part of the sigc++ source tree, but starting from which version ? +#if 1 +#include +#else #include +#endif + #include "preferences.h" #include "multilangmgr.h" #include "splash.h" diff --git a/rtgui/thresholdadjuster.cc b/rtgui/thresholdadjuster.cc index b3ed37605..3fae23254 100644 --- a/rtgui/thresholdadjuster.cc +++ b/rtgui/thresholdadjuster.cc @@ -17,7 +17,14 @@ * along with RawTherapee. If not, see . */ #include "thresholdadjuster.h" + +// class_slot is no longer part of the sigc++ source tree, but starting from which version ? +#if 1 +#include +#else #include +#endif + #include #include "multilangmgr.h" #include "../rtengine/rtengine.h" diff --git a/rtgui/tonecurve.cc b/rtgui/tonecurve.cc index cdec7c0e1..7b1f8cb3f 100644 --- a/rtgui/tonecurve.cc +++ b/rtgui/tonecurve.cc @@ -18,7 +18,14 @@ */ #include "tonecurve.h" #include "adjuster.h" + +// class_slot is no longer part of the sigc++ source tree, but starting from which version ? +#if 1 +#include +#else #include +#endif + #include #include "ppversion.h" #include "edit.h"