Choose where the curve copypasta buttons should appear relative to the flat/diagonal curves, issue 2654

This commit is contained in:
DrSlony
2015-03-12 08:42:13 +01:00
parent d12cb196fe
commit 4eb2525f5b
7 changed files with 159 additions and 64 deletions

View File

@@ -786,6 +786,11 @@ PREFERENCES_CLUTSCACHE;HaldCLUT Cache
PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs
PREFERENCES_CLUTSDIR;HaldCLUT directory
PREFERENCES_CMETRICINTENT;Colorimetric intent
PREFERENCES_CURVEBBOXPOS;Position of curve copypasta buttons
PREFERENCES_CURVEBBOXPOS_ABOVE;Above
PREFERENCES_CURVEBBOXPOS_BELOW;Below
PREFERENCES_CURVEBBOXPOS_LEFT;Left
PREFERENCES_CURVEBBOXPOS_RIGHT;Right
PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. "Keyfile") is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\n<b>WARNING:</b> You are responsible for using double quotes where necessary if you're using paths containing spaces.
PREFERENCES_CUSTPROFBUILDKEYFORMAT;Keys format
PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name

View File

@@ -44,13 +44,18 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt,
// custom curve
customCurveBox = new Gtk::VBox ();
customCurveBox->set_spacing(4);
Gtk::HBox* customCurveAndButtons = Gtk::manage (new Gtk::HBox ());
customCurveAndButtons->set_spacing(4);
customCurve = Gtk::manage (new MyDiagonalCurve ());
customCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS);
customCurve->setType (DCT_Spline);
//customCurve->set_tooltip_text (M("CURVEEDITOR_TOOLTIPMOVESPEED"));
customCurveBox->pack_start (*customCurve, Gtk::PACK_EXPAND_WIDGET, 0);
Gtk::HBox* custombbox = Gtk::manage (new Gtk::HBox ());
Gtk::Box* custombbox; // curvebboxpos 0=above, 1=right, 2=below, 3=left
if (options.curvebboxpos==1 || options.curvebboxpos==3) {
custombbox = Gtk::manage (new Gtk::VBox ());
} else {
custombbox = Gtk::manage (new Gtk::HBox ());
}
custombbox->set_spacing(4);
pasteCustom = Gtk::manage (new Gtk::Button ());
@@ -65,13 +70,26 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt,
editCustom->add (*Gtk::manage (new RTImage ("editmodehand.png")));
editCustom->set_tooltip_text(M("EDIT_PIPETTE_TOOLTIP"));
editCustom->hide();
custombbox->pack_end (*pasteCustom, Gtk::PACK_SHRINK, 0);
custombbox->pack_end (*copyCustom, Gtk::PACK_SHRINK, 0);
custombbox->pack_end (*saveCustom, Gtk::PACK_SHRINK, 0);
custombbox->pack_end (*loadCustom, Gtk::PACK_SHRINK, 0);
custombbox->pack_start(*editCustom, Gtk::PACK_SHRINK, 0);
customCurveBox->pack_end (*custombbox, Gtk::PACK_SHRINK, 0);
customCurveAndButtons->pack_start (*customCurve, Gtk::PACK_EXPAND_WIDGET, 0);
customCurveAndButtons->pack_start (*custombbox, Gtk::PACK_SHRINK, 0);
customCurveBox->pack_start (*customCurveAndButtons, Gtk::PACK_EXPAND_WIDGET);
if (options.curvebboxpos==0) {
removeIfThere (customCurveAndButtons, custombbox, false);
customCurveBox->pack_start (*custombbox);
customCurveBox->reorder_child(*custombbox, 0);
} else if (options.curvebboxpos==2) {
removeIfThere (customCurveAndButtons, custombbox, false);
customCurveBox->pack_start (*custombbox);
} else if (options.curvebboxpos==3) {
customCurveAndButtons->reorder_child(*custombbox, 0);
}
customCurveBox->show_all ();
saveCustom->signal_clicked().connect( sigc::mem_fun(*this, &DiagonalCurveEditorSubGroup::savePressed) );
@@ -90,15 +108,20 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt,
// NURBS curve
NURBSCurveBox = new Gtk::VBox ();
NURBSCurveBox->set_spacing(4);
Gtk::HBox* NURBSCurveAndButtons = Gtk::manage (new Gtk::HBox ());
NURBSCurveAndButtons->set_spacing(4);
NURBSCurve = Gtk::manage (new MyDiagonalCurve ());
NURBSCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS);
NURBSCurve->setType (DCT_NURBS);
//customCurve->set_tooltip_text (M("CURVEEDITOR_TOOLTIPMOVESPEED"));
NURBSCurveBox->pack_start (*NURBSCurve, Gtk::PACK_EXPAND_WIDGET, 0);
Gtk::HBox* NURBSbbox = Gtk::manage (new Gtk::HBox ());
Gtk::Box* NURBSbbox;
if (options.curvebboxpos==1 || options.curvebboxpos==3) {
NURBSbbox = Gtk::manage (new Gtk::VBox ());
} else {
NURBSbbox = Gtk::manage (new Gtk::HBox ());
}
NURBSbbox->set_spacing(4);
pasteNURBS = Gtk::manage (new Gtk::Button ());
pasteNURBS->add (*Gtk::manage (new RTImage ("edit-paste.png")));
copyNURBS = Gtk::manage (new Gtk::Button ());
@@ -117,7 +140,19 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt,
NURBSbbox->pack_end (*loadNURBS, Gtk::PACK_SHRINK, 0);
NURBSbbox->pack_start(*editNURBS, Gtk::PACK_SHRINK, 0);
NURBSCurveBox->pack_end (*NURBSbbox, Gtk::PACK_SHRINK, 0);
NURBSCurveAndButtons->pack_start (*NURBSCurve, Gtk::PACK_EXPAND_WIDGET, 0);
NURBSCurveAndButtons->pack_start (*NURBSbbox, Gtk::PACK_SHRINK, 0);
NURBSCurveBox->pack_start (*NURBSCurveAndButtons, Gtk::PACK_EXPAND_WIDGET);
if (options.curvebboxpos==0) {
removeIfThere (NURBSCurveAndButtons, NURBSbbox, false);
NURBSCurveBox->pack_start (*NURBSbbox);
NURBSCurveBox->reorder_child(*NURBSbbox, 0);
} else if (options.curvebboxpos==2) {
removeIfThere (NURBSCurveAndButtons, NURBSbbox, false);
NURBSCurveBox->pack_start (*NURBSbbox);
} else if (options.curvebboxpos==3) {
NURBSCurveAndButtons->reorder_child(*NURBSbbox, 0);
}
NURBSCurveBox->show_all ();
saveNURBS->signal_clicked().connect( sigc::mem_fun(*this, &DiagonalCurveEditorSubGroup::savePressed) );
@@ -135,21 +170,26 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt,
// parametric curve
paramCurveBox = new Gtk::VBox ();
paramCurveBox->set_spacing(0);
paramCurveBox->set_spacing(4);
Gtk::HBox* paramCurveAndButtons = Gtk::manage (new Gtk::HBox ());
paramCurveAndButtons->set_spacing(4);
Gtk::VBox* paramCurveAndShcVBox = Gtk::manage (new Gtk::VBox ());
paramCurve = Gtk::manage (new MyDiagonalCurve ());
paramCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS);
paramCurve->setType (DCT_Parametric);
Gtk::Box* parambbox;
if (options.curvebboxpos==1 || options.curvebboxpos==3) {
parambbox = Gtk::manage (new Gtk::VBox ());
} else {
parambbox = Gtk::manage (new Gtk::HBox ());
}
parambbox->set_spacing(4);
shcSelector = Gtk::manage (new SHCSelector ());
shcSelector->set_size_request (GRAPH_SIZE-100, 12); // width, height
shcSelector->set_size_request (GRAPH_SIZE-100, 10); // width, height
//* shcSelector->set_size_request ((GRAPH_SIZE+2*RADIUS)-20, 20);
paramCurveBox->pack_start (*paramCurve, Gtk::PACK_EXPAND_WIDGET, 0);
paramCurveBox->pack_start (*shcSelector, Gtk::PACK_EXPAND_WIDGET, 0);
Gtk::HBox* parambbox = Gtk::manage (new Gtk::HBox ());
parambbox->set_spacing(4);
pasteParam = Gtk::manage (new Gtk::Button ());
pasteParam->add (*Gtk::manage (new RTImage ("edit-paste.png")));
copyParam = Gtk::manage (new Gtk::Button ());
@@ -179,8 +219,6 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt,
pasteParam->set_tooltip_text (M("CURVEEDITOR_TOOLTIPPASTE"));
copyParam->set_tooltip_text (M("CURVEEDITOR_TOOLTIPCOPY"));
paramCurveBox->pack_end (*parambbox, Gtk::PACK_EXPAND_WIDGET, 0);
highlights = Gtk::manage (new Adjuster (M("CURVEEDITOR_HIGHLIGHTS"), -100, 100, 1, 0));
lights = Gtk::manage (new Adjuster (M("CURVEEDITOR_LIGHTS"), -100, 100, 1, 0));
darks = Gtk::manage (new Adjuster (M("CURVEEDITOR_DARKS"), -100, 100, 1, 0));
@@ -196,14 +234,36 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt,
evdarks->add (*darks);
evshadows->add (*shadows);
paramCurveBox->pack_start (*evhighlights);
paramCurveBox->pack_start (*evlights);
paramCurveBox->pack_start (*evdarks);
paramCurveBox->pack_start (*evshadows);
// paramCurveSliderBox needed to set vspacing(4) between curve+shc and sliders without vspacing between each slider
Gtk::VBox* paramCurveSliderBox = Gtk::manage (new Gtk::VBox ());
paramCurveSliderBox->set_spacing(4);
paramCurveSliderBox->pack_start (*evhighlights);
paramCurveSliderBox->pack_start (*evlights);
paramCurveSliderBox->pack_start (*evdarks);
paramCurveSliderBox->pack_start (*evshadows);
paramCurveBox->show_all ();
// parametric curve end
paramCurveAndShcVBox->pack_start (*paramCurve, Gtk::PACK_EXPAND_WIDGET);
paramCurveAndShcVBox->pack_start (*shcSelector, Gtk::PACK_EXPAND_WIDGET);
paramCurveAndButtons->pack_start (*paramCurveAndShcVBox);
paramCurveAndButtons->pack_start (*parambbox, Gtk::PACK_SHRINK);
paramCurveBox->pack_start (*paramCurveAndButtons);
paramCurveBox->pack_start (*paramCurveSliderBox);
if (options.curvebboxpos==0) {
removeIfThere (paramCurveAndButtons, parambbox, false);
paramCurveBox->pack_start (*parambbox);
paramCurveBox->reorder_child(*parambbox, 0);
} else if (options.curvebboxpos==2) {
removeIfThere (paramCurveAndButtons, parambbox, false);
paramCurveBox->pack_start (*parambbox);
//paramCurveBox->reorder_child(*parambbox, 1);
} else if (options.curvebboxpos==3) {
paramCurveAndButtons->reorder_child(*parambbox, 0);
}
paramCurveBox->show_all ();
// parametric curve end
customCurveBox->reference ();

View File

@@ -40,12 +40,18 @@ FlatCurveEditorSubGroup::FlatCurveEditorSubGroup (CurveEditorGroup* prt, Glib::u
// ControlPoints curve
CPointsCurveBox = new Gtk::VBox ();
CPointsCurveBox->set_spacing(4);
Gtk::HBox* CPointsCurveAndButtons = Gtk::manage (new Gtk::HBox ());
CPointsCurveAndButtons->set_spacing(4);
CPointsCurve = Gtk::manage (new MyFlatCurve ());
CPointsCurve->set_size_request (GRAPH_SIZE+2*RADIUS+1, GRAPH_SIZE+2*RADIUS+1);
CPointsCurve->setType (FCT_MinMaxCPoints);
CPointsCurveBox->pack_start (*CPointsCurve, Gtk::PACK_EXPAND_WIDGET, 0);
Gtk::HBox*CPointsbbox = Gtk::manage (new Gtk::HBox ());
Gtk::Box* CPointsbbox; // curvebboxpos 0=above, 1=right, 2=below, 3=left
if (options.curvebboxpos==1 || options.curvebboxpos==3) {
CPointsbbox = Gtk::manage (new Gtk::VBox ());
} else {
CPointsbbox = Gtk::manage (new Gtk::HBox ());
}
CPointsbbox->set_spacing(4);
pasteCPoints = Gtk::manage (new Gtk::Button ());
@@ -67,7 +73,19 @@ FlatCurveEditorSubGroup::FlatCurveEditorSubGroup (CurveEditorGroup* prt, Glib::u
CPointsbbox->pack_end (*loadCPoints, Gtk::PACK_SHRINK, 0);
CPointsbbox->pack_start(*editCPoints, Gtk::PACK_SHRINK, 0);
CPointsCurveBox->pack_end (*CPointsbbox, Gtk::PACK_SHRINK, 0);
CPointsCurveAndButtons->pack_start (*CPointsCurve, Gtk::PACK_EXPAND_WIDGET, 0);
CPointsCurveAndButtons->pack_start (*CPointsbbox, Gtk::PACK_SHRINK, 0);
CPointsCurveBox->pack_start (*CPointsCurveAndButtons, Gtk::PACK_EXPAND_WIDGET);
if (options.curvebboxpos==0) {
removeIfThere (CPointsCurveAndButtons, CPointsbbox, false);
CPointsCurveBox->pack_start (*CPointsbbox);
CPointsCurveBox->reorder_child(*CPointsbbox, 0);
} else if (options.curvebboxpos==2) {
removeIfThere (CPointsCurveAndButtons, CPointsbbox, false);
CPointsCurveBox->pack_start (*CPointsbbox);
} else if (options.curvebboxpos==3) {
CPointsCurveAndButtons->reorder_child(*CPointsbbox, 0);
}
CPointsCurveBox->show_all ();
saveCPoints->signal_clicked().connect( sigc::mem_fun(*this, &FlatCurveEditorSubGroup::savePressed) );

View File

@@ -361,6 +361,7 @@ void Options::setDefaults () {
histogramPosition = 1;
histogramBar = true;
histogramFullMode = false;
curvebboxpos = 1;
prevdemo = PD_Sidecar;
rgbDenoiseThreadLimit = 0;
#if defined( _OPENMP ) && defined( __x86_64__ )
@@ -824,8 +825,8 @@ if (keyFile.has_group ("GUI")) {
if (keyFile.has_key ("GUI", "FileBrowserToolbarSingleRow")) FileBrowserToolbarSingleRow = keyFile.get_boolean ("GUI", "FileBrowserToolbarSingleRow");
if (keyFile.has_key ("GUI", "HideTPVScrollbar")) hideTPVScrollbar = keyFile.get_boolean ("GUI", "HideTPVScrollbar");
if (keyFile.has_key ("GUI", "UseIconNoText")) UseIconNoText = keyFile.get_boolean ("GUI", "UseIconNoText");
if( keyFile.has_key ("GUI", "HistogramWorking")) rtSettings.HistogramWorking = keyFile.get_boolean("GUI", "HistogramWorking");
if (keyFile.has_key ("GUI", "HistogramWorking")) rtSettings.HistogramWorking = keyFile.get_boolean ("GUI", "HistogramWorking");
if (keyFile.has_key ("GUI", "CurveBBoxPosition")) curvebboxpos = keyFile.get_integer ("GUI", "CurveBBoxPosition");
}
if (keyFile.has_group ("Crop Settings")) {
@@ -1150,6 +1151,7 @@ int Options::saveToFile (Glib::ustring fname) {
keyFile.set_boolean ("GUI", "HideTPVScrollbar", hideTPVScrollbar);
keyFile.set_boolean ("GUI", "UseIconNoText", UseIconNoText);
keyFile.set_boolean ("GUI", "HistogramWorking", rtSettings.HistogramWorking);
keyFile.set_integer ("GUI", "CurveBBoxPosition", curvebboxpos);
//Glib::ArrayHandle<int> crvopen = crvOpen;
//keyFile.set_integer_list ("GUI", "CurvePanelsExpanded", crvopen);

View File

@@ -213,6 +213,7 @@ class Options {
bool hideTPVScrollbar;
bool UseIconNoText;
int whiteBalanceSpotSize;
int curvebboxpos; // 0=above, 1=right, 2=below, 3=left
bool showFilmStripToolBar;

View File

@@ -746,65 +746,71 @@ Gtk::Widget* Preferences::getGeneralPanel () {
Gtk::VBox* mvbsd = Gtk::manage( new Gtk::VBox () );
Gtk::Frame* fworklflow = Gtk::manage( new Gtk::Frame (M("PREFERENCES_WORKFLOW")) );
Gtk::HBox* hbworkflow = Gtk::manage( new Gtk::HBox () );
hbworkflow->set_border_width (4);
Gtk::Label* flayoutlab = Gtk::manage( new Gtk::Label (M("PREFERENCES_EDITORLAYOUT")+":") );
editorLayout = Gtk::manage( new Gtk::ComboBoxText () );
editorLayout->set_size_request(45, -1);
Gtk::Frame* fworklflow = Gtk::manage (new Gtk::Frame (M("PREFERENCES_WORKFLOW")));
Gtk::VBox* vbworkflow = Gtk::manage (new Gtk::VBox (false, 4));
vbworkflow->set_border_width (4);
Gtk::HBox* hbworkflow = Gtk::manage (new Gtk::HBox (false, 4));
Gtk::Label* flayoutlab = Gtk::manage (new Gtk::Label (M("PREFERENCES_EDITORLAYOUT")+":"));
editorLayout = Gtk::manage (new Gtk::ComboBoxText ());
editorLayout->append_text (M("PREFERENCES_SINGLETAB"));
editorLayout->append_text (M("PREFERENCES_SINGLETABVERTAB"));
editorLayout->append_text (M("PREFERENCES_MULTITAB"));
editorLayout->append_text (M("PREFERENCES_MULTITABDUALMON"));
editorLayout->set_active (2);
editorLayout->signal_changed().connect( sigc::mem_fun(*this, &Preferences::layoutComboChanged) );
editorLayout->signal_changed().connect (sigc::mem_fun(*this, &Preferences::layoutComboChanged));
layoutComboChanged(); // update the tooltip
hbworkflow->pack_start (*flayoutlab, Gtk::PACK_SHRINK, 4);
hbworkflow->pack_start (*flayoutlab, Gtk::PACK_SHRINK);
hbworkflow->pack_start (*editorLayout);
Gtk::Label* lNextStart = Gtk::manage( new Gtk::Label (Glib::ustring(" (") + M("PREFERENCES_APPLNEXTSTARTUP") + ")") );
hbworkflow->pack_end (*lNextStart, Gtk::PACK_SHRINK, 4);
Gtk::Label* lNextStart = Gtk::manage( new Gtk::Label (Glib::ustring("(") + M("PREFERENCES_APPLNEXTSTARTUP") + ")") );
hbworkflow->pack_end (*lNextStart, Gtk::PACK_SHRINK);
vbworkflow->pack_start (*hbworkflow, Gtk::PACK_SHRINK);
Gtk::VBox* vbworkflow = Gtk::manage( new Gtk::VBox () );
vbworkflow->pack_start (*hbworkflow, Gtk::PACK_SHRINK, 4);
Gtk::HBox* curveBBoxPosHB = Gtk::manage (new Gtk::HBox (false, 4));
Gtk::Label* curveBBoxPosL = Gtk::manage (new Gtk::Label (M("PREFERENCES_CURVEBBOXPOS")+":"));
Gtk::Label* curveBBoxPosRestartL = Gtk::manage (new Gtk::Label (Glib::ustring("(") + M("PREFERENCES_APPLNEXTSTARTUP") + ")"));
curveBBoxPosC = Gtk::manage (new Gtk::ComboBoxText ());
curveBBoxPosC->append_text (M("PREFERENCES_CURVEBBOXPOS_ABOVE"));
curveBBoxPosC->append_text (M("PREFERENCES_CURVEBBOXPOS_RIGHT"));
curveBBoxPosC->append_text (M("PREFERENCES_CURVEBBOXPOS_BELOW"));
curveBBoxPosC->append_text (M("PREFERENCES_CURVEBBOXPOS_LEFT"));
curveBBoxPosC->set_active (1);
curveBBoxPosHB->pack_start (*curveBBoxPosL, Gtk::PACK_SHRINK);
curveBBoxPosHB->pack_start (*curveBBoxPosC);
curveBBoxPosHB->pack_start (*curveBBoxPosRestartL, Gtk::PACK_SHRINK);
vbworkflow->pack_start (*curveBBoxPosHB, Gtk::PACK_SHRINK);
Gtk::HBox* hbworkflow2 = Gtk::manage( new Gtk::HBox () );
ckbHistogramPositionLeft = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_HISTOGRAMPOSITIONLEFT")) );
hbworkflow2->pack_start (*ckbHistogramPositionLeft, Gtk::PACK_SHRINK, 4);
hbworkflow2->pack_start (*ckbHistogramPositionLeft);
ckbHistogramWorking = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_HISTOGRAMWORKING")) );
ckbHistogramWorking->set_tooltip_markup (M("PREFERENCES_HISTOGRAM_TOOLTIP"));
hbworkflow2->pack_start (*ckbHistogramWorking, Gtk::PACK_SHRINK, 4);
vbworkflow->pack_start (*hbworkflow2, Gtk::PACK_SHRINK, 4);
ckbHistogramWorking->set_tooltip_markup (M("PREFERENCES_HISTOGRAM_TOOLTIP"));
hbworkflow2->pack_start (*ckbHistogramWorking);
vbworkflow->pack_start (*hbworkflow2, Gtk::PACK_SHRINK);
ckbShowProfileSelector = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_SHOWPROFILESELECTOR")) );
Gtk::HBox* hbworkflow2d5 = Gtk::manage( new Gtk::HBox () );
hbworkflow2d5->pack_start (*ckbShowProfileSelector, Gtk::PACK_SHRINK, 4);
vbworkflow->pack_start (*hbworkflow2d5, Gtk::PACK_SHRINK, 4);
hbworkflow2d5->pack_start (*ckbShowProfileSelector, Gtk::PACK_SHRINK);
vbworkflow->pack_start (*hbworkflow2d5, Gtk::PACK_SHRINK);
Gtk::HBox* hbworkflow3 = Gtk::manage( new Gtk::HBox () );
ckbFileBrowserToolbarSingleRow = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_FILEBROWSERTOOLBARSINGLEROW")) );
ckbShowFilmStripToolBar = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_SHOWFILMSTRIPTOOLBAR")) );
hbworkflow3->pack_start (*ckbFileBrowserToolbarSingleRow);
hbworkflow3->pack_start (*ckbShowFilmStripToolBar);
vbworkflow->pack_start (*hbworkflow3, Gtk::PACK_SHRINK);
hbworkflow3->pack_start (*ckbFileBrowserToolbarSingleRow, Gtk::PACK_SHRINK, 4);
hbworkflow3->pack_start (*ckbShowFilmStripToolBar, Gtk::PACK_SHRINK, 4);
vbworkflow->pack_start (*hbworkflow3, Gtk::PACK_SHRINK, 0);
Gtk::HBox* hbworkflow4 = Gtk::manage( new Gtk::HBox () );
Gtk::HBox* hbworkflow4 = Gtk::manage( new Gtk::HBox (false, 4) );
Gtk::Label* hb4label = Gtk::manage( new Gtk::Label (M("PREFERENCES_TP_LABEL")) );
hbworkflow4->pack_start (*hb4label, Gtk::PACK_SHRINK, 4);
hbworkflow4->pack_start (*hb4label, Gtk::PACK_SHRINK);
ckbHideTPVScrollbar = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_TP_VSCROLLBAR")) );
hbworkflow4->pack_start (*ckbHideTPVScrollbar, Gtk::PACK_SHRINK, 4);
hbworkflow4->pack_start (*ckbHideTPVScrollbar, Gtk::PACK_SHRINK);
ckbUseIconNoText = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_TP_USEICONORTEXT")) );
hbworkflow4->pack_start (*ckbUseIconNoText, Gtk::PACK_SHRINK, 4);
vbworkflow->pack_start (*hbworkflow4, Gtk::PACK_SHRINK, 4);
hbworkflow4->pack_start (*ckbUseIconNoText, Gtk::PACK_SHRINK);
vbworkflow->pack_start (*hbworkflow4, Gtk::PACK_SHRINK);
fworklflow->add (*vbworkflow);
mvbsd->pack_start (*fworklflow, Gtk::PACK_SHRINK, 4);
mvbsd->pack_start (*fworklflow, Gtk::PACK_SHRINK);
Gtk::Frame* flang = Gtk::manage( new Gtk::Frame (M("PREFERENCES_DEFAULTLANG")) );
Gtk::HBox* hblang = Gtk::manage( new Gtk::HBox () );
@@ -1412,6 +1418,7 @@ void Preferences::storePreferences () {
moptions.multiDisplayMode = editorMode==3 ? 1:0;
moptions.mainNBVertical = editorMode==1;
moptions.curvebboxpos = curveBBoxPosC->get_active_row_number();
moptions.histogramPosition = ckbHistogramPositionLeft->get_active() ? 1 : 2;
moptions.showProfileSelector = ckbShowProfileSelector->get_active();
moptions.FileBrowserToolbarSingleRow = ckbFileBrowserToolbarSingleRow->get_active();
@@ -1562,6 +1569,7 @@ void Preferences::fillPreferences () {
else
editorLayout->set_active(moptions.multiDisplayMode ? 3 : 2);
curveBBoxPosC->set_active(moptions.curvebboxpos);
ckbHistogramPositionLeft->set_active(moptions.histogramPosition==1);
// ckbHistogramWorking->set_active(moptions.histogramWorking==1);
ckbShowProfileSelector->set_active(moptions.showProfileSelector);

View File

@@ -108,6 +108,7 @@ class Preferences : public Gtk::Dialog, public ProfileStoreListener {
Gtk::ComboBoxText* waveletTileSizeCombo;
Gtk::ComboBoxText* cprevdemo;
Gtk::ComboBoxText* curveBBoxPosC;
Gtk::ComboBoxText* theme;
Gtk::CheckButton* slimUI;