New layout preferences to maximize editor control space
see issue 759
This commit is contained in:
@@ -578,6 +578,7 @@ PREFERENCES_FORRAW;For RAW files
|
||||
PREFERENCES_GIMPPATH;GIMP installation directory
|
||||
PREFERENCES_GTKTHEME;GTK default
|
||||
PREFERENCES_HINT;Hint
|
||||
PREFERENCES_HISTOGRAMPOSITIONLEFT;Histogram in left pane
|
||||
PREFERENCES_HLTHRESHOLD;Threshold for clipped highlights
|
||||
PREFERENCES_ICCDIR;Directory of ICC profiles
|
||||
PREFERENCES_IMPROCPARAMS;Default image processing parameters
|
||||
@@ -620,6 +621,7 @@ PREFERENCES_SET;SET
|
||||
PREFERENCES_SHOWBASICEXIF;Show basic Exif info
|
||||
PREFERENCES_SHOWDATETIME;Show date and time
|
||||
PREFERENCES_SHOWONLYRAW;Show only RAW files
|
||||
PREFERENCES_SHOWPROFILESELECTOR;Show profile selector
|
||||
PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows
|
||||
PREFERENCES_SINGLETAB;Single tab mode
|
||||
PREFERENCES_SINGLETABVERTAB;Single tab mode, vertical tabs
|
||||
@@ -638,7 +640,7 @@ PREFERENCES_TAB_SOUND;Sounds
|
||||
PREFERENCES_THUMBSIZE;Thumbnail Size
|
||||
PREFERENCES_TUNNELMETADATA;Copy IPTC/XMP unchanged to output file (when tagging with other program)
|
||||
PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
PREFERENCES_WORKFLOW;Workflow
|
||||
PREFERENCES_WORKFLOW;Layout
|
||||
PROFILEPANEL_FILEDLGFILTERANY;Any files
|
||||
PROFILEPANEL_FILEDLGFILTERPP;Postprocessing profiles
|
||||
PROFILEPANEL_LABEL;Postprocessing Profiles
|
||||
|
@@ -47,9 +47,11 @@ EditorPanel::EditorPanel (FilePanel* filePanel) : beforePreviewHandler(NULL), be
|
||||
leftbox->set_border_width (2);
|
||||
leftbox->set_size_request(100,250);
|
||||
|
||||
if (options.histogramPosition>0) {
|
||||
histogramPanel = Gtk::manage (new HistogramPanel ());
|
||||
histogramPanel->set_size_request (-1, 150);
|
||||
// leftbox->pack_start (*histogramPanel, Gtk::PACK_SHRINK, 4);
|
||||
if (options.histogramPosition==1) leftbox->pack_start (*histogramPanel, Gtk::PACK_SHRINK, 4);
|
||||
} else histogramPanel = NULL;
|
||||
|
||||
profilep = Gtk::manage (new ProfilePanel ());
|
||||
Gtk::Frame* ppframe = Gtk::manage (new Gtk::Frame ());
|
||||
@@ -155,8 +157,9 @@ EditorPanel::EditorPanel (FilePanel* filePanel) : beforePreviewHandler(NULL), be
|
||||
vboxright->set_size_request(100,250);
|
||||
|
||||
vboxright->set_border_width (2);
|
||||
vboxright->pack_start (*histogramPanel, Gtk::PACK_SHRINK, 2);
|
||||
vboxright->pack_start (*ppframe, Gtk::PACK_SHRINK, 2);
|
||||
|
||||
if (options.histogramPosition==2) vboxright->pack_start (*histogramPanel, Gtk::PACK_SHRINK, 2);
|
||||
if (options.showProfileSelector) vboxright->pack_start (*ppframe, Gtk::PACK_SHRINK, 2);
|
||||
// main notebook
|
||||
vboxright->pack_start (*tpc->toolPanelNotebook);
|
||||
|
||||
@@ -1272,7 +1275,7 @@ void EditorPanel::beforeAfterToggled () {
|
||||
void EditorPanel::histogramChanged (LUTu & histRed, LUTu & histGreen, LUTu & histBlue, LUTu & histLuma, LUTu & histToneCurve, LUTu & histLCurve,
|
||||
LUTu & histRedRaw, LUTu & histGreenRaw, LUTu & histBlueRaw) {
|
||||
|
||||
histogramPanel->histogramChanged (histRed, histGreen, histBlue, histLuma, histRedRaw, histGreenRaw, histBlueRaw);
|
||||
if (histogramPanel) histogramPanel->histogramChanged (histRed, histGreen, histBlue, histLuma, histRedRaw, histGreenRaw, histBlueRaw);
|
||||
tpc->updateCurveBackgroundHistogram (histToneCurve, histLCurve);
|
||||
}
|
||||
|
||||
|
@@ -136,6 +136,8 @@ void Options::setDefaults () {
|
||||
tabbedUI = true; // was false;
|
||||
multiDisplayMode = 0;
|
||||
tunnelMetaData = false;
|
||||
histogramPosition = 2;
|
||||
showProfileSelector = true;
|
||||
|
||||
cutOverlayBrush = std::vector<double> (4);
|
||||
cutOverlayBrush[3] = 0.667;
|
||||
@@ -314,6 +316,8 @@ if (keyFile.has_group ("GUI")) {
|
||||
if (keyFile.has_key ("GUI", "MultiDisplayMode")) multiDisplayMode = keyFile.get_integer ("GUI", "MultiDisplayMode");
|
||||
//if (keyFile.has_key ("GUI", "CurvePanelsExpanded")) crvOpen = keyFile.get_integer_list ("GUI", "CurvePanelsExpanded");
|
||||
if (keyFile.has_key ("GUI", "CutOverlayBrush")) cutOverlayBrush = keyFile.get_double_list ("GUI", "CutOverlayBrush");
|
||||
if (keyFile.has_key ("GUI", "HistogramPosition")) histogramPosition = keyFile.get_integer ("GUI", "HistogramPosition");
|
||||
if (keyFile.has_key ("GUI", "ShowProfileSelector")) showProfileSelector = keyFile.get_boolean ("GUI", "ShowProfileSelector");
|
||||
}
|
||||
|
||||
|
||||
@@ -463,6 +467,8 @@ int Options::saveToFile (Glib::ustring fname) {
|
||||
keyFile.set_integer_list ("GUI", "ToolPanelsExpanded", tpopen);
|
||||
keyFile.set_integer ("GUI", "MultiDisplayMode", multiDisplayMode);
|
||||
keyFile.set_double_list ("GUI", "CutOverlayBrush", cutOverlayBrush);
|
||||
keyFile.set_integer ("GUI", "HistogramPosition", histogramPosition);
|
||||
keyFile.set_boolean ("GUI", "ShowProfileSelector", showProfileSelector);
|
||||
|
||||
//Glib::ArrayHandle<int> crvopen = crvOpen;
|
||||
//keyFile.set_integer_list ("GUI", "CurvePanelsExpanded", crvopen);
|
||||
|
@@ -144,6 +144,8 @@ class Options {
|
||||
Glib::ustring sndLngEditProcDone;
|
||||
double sndLngEditProcDoneSecs; // Minimum processing time seconds till the sound is played
|
||||
bool tunnelMetaData; // Pass through IPTC and XMP unchanged
|
||||
int histogramPosition; // 0=disabled, 1=left pane, 2=right pane
|
||||
bool showProfileSelector;
|
||||
|
||||
Options ();
|
||||
|
||||
|
@@ -392,7 +392,17 @@ Gtk::Widget* Preferences::getGeneralPanel () {
|
||||
Gtk::Label* lNextStart = Gtk::manage( new Gtk::Label (Glib::ustring(" (") + M("PREFERENCES_APPLNEXTSTARTUP") + ")") );
|
||||
hbworkflow->pack_end (*lNextStart, Gtk::PACK_SHRINK, 4);
|
||||
|
||||
fworklflow->add (*hbworkflow);
|
||||
Gtk::VBox* vbworkflow = Gtk::manage( new Gtk::VBox () );
|
||||
vbworkflow->pack_start (*hbworkflow, Gtk::PACK_SHRINK, 4);
|
||||
|
||||
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);
|
||||
ckbShowProfileSelector = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_SHOWPROFILESELECTOR")) );
|
||||
hbworkflow2->pack_start (*ckbShowProfileSelector, Gtk::PACK_SHRINK, 4);
|
||||
vbworkflow->pack_start (*hbworkflow2, Gtk::PACK_SHRINK, 4);
|
||||
|
||||
fworklflow->add (*vbworkflow);
|
||||
mvbsd->pack_start (*fworklflow, Gtk::PACK_SHRINK, 4);
|
||||
|
||||
Gtk::Frame* flang = Gtk::manage( new Gtk::Frame (M("PREFERENCES_DEFAULTLANG")) );
|
||||
@@ -930,6 +940,8 @@ void Preferences::storePreferences () {
|
||||
moptions.multiDisplayMode = editorMode==3 ? 1:0;
|
||||
moptions.mainNBVertical = editorMode==1;
|
||||
|
||||
moptions.histogramPosition = ckbHistogramPositionLeft->get_active() ? 1 : 2;
|
||||
moptions.showProfileSelector = ckbShowProfileSelector->get_active();
|
||||
moptions.overwriteOutputFile = chOverwriteOutputFile->get_active ();
|
||||
|
||||
// Sounds
|
||||
@@ -1032,6 +1044,10 @@ void Preferences::fillPreferences () {
|
||||
else
|
||||
editorLayout->set_active(moptions.multiDisplayMode ? 3 : 2);
|
||||
|
||||
ckbHistogramPositionLeft->set_active(moptions.histogramPosition==1);
|
||||
ckbShowProfileSelector->set_active(moptions.showProfileSelector);
|
||||
|
||||
|
||||
//darkFrameDir->set_filename( moptions.rtSettings.darkFramesPath );
|
||||
//updateDFinfos();
|
||||
darkFrameDir->set_current_folder( moptions.rtSettings.darkFramesPath );
|
||||
|
@@ -120,6 +120,9 @@ class Preferences : public Gtk::Dialog {
|
||||
|
||||
Gtk::Entry* txtCustProfBuilderPath;
|
||||
|
||||
Gtk::CheckButton* ckbHistogramPositionLeft;
|
||||
Gtk::CheckButton* ckbShowProfileSelector;
|
||||
|
||||
|
||||
Options moptions;
|
||||
sigc::connection tconn, sconn, fconn, usethcon, addc, setc, dfconn, ffconn, autoMonProfileConn;
|
||||
|
Reference in New Issue
Block a user