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