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.
This commit is contained in:
parent
7d9f743ce5
commit
d2fcabea64
@ -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()
|
||||
|
@ -83,6 +83,7 @@ GtkImage {
|
||||
|
||||
GtkFrame {
|
||||
background-color: rgba(128,128,128,0.15);
|
||||
padding: 4px 4px;
|
||||
}
|
||||
|
||||
GtkNotebook {
|
||||
|
@ -17,7 +17,14 @@
|
||||
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "adjuster.h"
|
||||
|
||||
// class_slot is no longer part of the sigc++ source tree, but starting from which version ?
|
||||
#if 1
|
||||
#include <sigc++/slot.h>
|
||||
#else
|
||||
#include <sigc++/class_slot.h>
|
||||
#endif
|
||||
|
||||
#include <cmath>
|
||||
#include "multilangmgr.h"
|
||||
#include "../rtengine/rtengine.h"
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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<Gtk::Tooltip>& 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<Glib::ustring>(1, param);
|
||||
iter->get_value<Glib::ustring>(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;
|
||||
}
|
||||
|
@ -74,7 +74,6 @@ public:
|
||||
|
||||
protected:
|
||||
Gtk::VPaned* historyVPaned;
|
||||
Gtk::ScrolledWindow* hscrollw;
|
||||
Gtk::TreeView* hTreeView;
|
||||
Glib::RefPtr<Gtk::ListStore> historyModel;
|
||||
|
||||
@ -93,6 +92,8 @@ protected:
|
||||
ParamsEdited defParamsEdited;
|
||||
int bmnum;
|
||||
|
||||
bool on_query_tooltip(int x, int y, bool keyboard_tooltip, const Glib::RefPtr<Gtk::Tooltip>& 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 ();
|
||||
|
@ -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<Glib::ustring> 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, "");
|
||||
|
@ -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);
|
||||
|
@ -16,7 +16,14 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// class_slot is no longer part of the sigc++ source tree, but starting from which version ?
|
||||
#if 1
|
||||
#include <sigc++/slot.h>
|
||||
#else
|
||||
#include <sigc++/class_slot.h>
|
||||
#endif
|
||||
|
||||
#include "preferences.h"
|
||||
#include "multilangmgr.h"
|
||||
#include "splash.h"
|
||||
|
@ -17,7 +17,14 @@
|
||||
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "thresholdadjuster.h"
|
||||
|
||||
// class_slot is no longer part of the sigc++ source tree, but starting from which version ?
|
||||
#if 1
|
||||
#include <sigc++/slot.h>
|
||||
#else
|
||||
#include <sigc++/class_slot.h>
|
||||
#endif
|
||||
|
||||
#include <cmath>
|
||||
#include "multilangmgr.h"
|
||||
#include "../rtengine/rtengine.h"
|
||||
|
@ -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 <sigc++/slot.h>
|
||||
#else
|
||||
#include <sigc++/class_slot.h>
|
||||
#endif
|
||||
|
||||
#include <iomanip>
|
||||
#include "ppversion.h"
|
||||
#include "edit.h"
|
||||
|
Loading…
x
Reference in New Issue
Block a user