diff --git a/rtdata/themes/RawTherapee-GTK3-20_.css b/rtdata/themes/RawTherapee-GTK3-20_.css index 84ea1c3a3..20478367f 100644 --- a/rtdata/themes/RawTherapee-GTK3-20_.css +++ b/rtdata/themes/RawTherapee-GTK3-20_.css @@ -1037,4 +1037,8 @@ progressbar.vertical trough, progressbar.vertical progress { min-width: 10px; } -/* */ +/* Add padding to grid cells */ + +.grid-spacing > * { + margin: 2px; +} diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index bdec7ea68..eefffbb3a 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -992,78 +992,74 @@ Gtk::Widget* Preferences::getGeneralPanel () flang->add (*langGrid); vbGeneral->attach_next_to (*flang, *fworklflow, Gtk::POS_BOTTOM, 2, 1); - // --------------------------------------------- + // Appearance --------------------------------------------- - Gtk::Frame* ftheme = Gtk::manage ( new Gtk::Frame (M ("PREFERENCES_APPEARANCE")) ); - setExpandAlignProperties (ftheme, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); - Gtk::Grid* themeGrid = Gtk::manage ( new Gtk::Grid() ); - themeGrid->set_column_spacing (4); - themeGrid->set_row_spacing (4); - setExpandAlignProperties (themeGrid, false, false, Gtk::ALIGN_FILL, Gtk::ALIGN_FILL); + Gtk::Frame* appearanceFrame = Gtk::manage(new Gtk::Frame(M("PREFERENCES_APPEARANCE"))); - Gtk::Label* themelab = Gtk::manage ( new Gtk::Label (M ("PREFERENCES_APPEARANCE_THEME") + ":") ); - setExpandAlignProperties (themelab, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE); - theme = Gtk::manage ( new Gtk::ComboBoxText () ); - setExpandAlignProperties (theme, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE); + Gtk::Grid* appearanceGrid = Gtk::manage(new Gtk::Grid()); + appearanceGrid->get_style_context()->add_class("grid-spacing"); + setExpandAlignProperties(appearanceGrid, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - theme->set_active (0); - parseThemeDir (Glib::build_filename (argv0, "themes")); + Gtk::Label* themeLbl = Gtk::manage(new Gtk::Label(M("PREFERENCES_APPEARANCE_THEME") + ":")); + setExpandAlignProperties(themeLbl, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); + themeCBT = Gtk::manage(new Gtk::ComboBoxText()); + themeCBT->set_active(0); + parseThemeDir(Glib::build_filename(argv0, "themes")); for (size_t i = 0; i < themeFNames.size(); i++) { - theme->append (themeFNames.at (i).shortFName); + themeCBT->append(themeFNames.at(i).shortFName); } - themeGrid->attach_next_to (*themelab, Gtk::POS_LEFT, 1, 1); - themeGrid->attach_next_to (*theme, *themelab, Gtk::POS_RIGHT, 1, 1); - - Gtk::Label* fontlab = Gtk::manage ( new Gtk::Label (M ("PREFERENCES_APPEARANCE_MAINFONT")) ); - setExpandAlignProperties (fontlab, false, false, Gtk::ALIGN_FILL, Gtk::ALIGN_BASELINE); - fontButton = Gtk::manage ( new Gtk::FontButton ()); - setExpandAlignProperties (fontButton, false, false, Gtk::ALIGN_FILL, Gtk::ALIGN_BASELINE); - fontButton->set_use_size (true); + Gtk::Label* mainFontLbl = Gtk::manage(new Gtk::Label(M("PREFERENCES_APPEARANCE_MAINFONT"))); + setExpandAlignProperties(mainFontLbl, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); + mainFontFB = Gtk::manage(new Gtk::FontButton()); + mainFontFB->set_use_size(true); if (options.fontFamily == "default") { - fontButton->set_font_name (Glib::ustring::compose ("%1 %2", initialFontFamily, initialFontSize)); + mainFontFB->set_font_name(Glib::ustring::compose("%1 %2", initialFontFamily, initialFontSize)); } else { - fontButton->set_font_name (Glib::ustring::compose ("%1 %2", options.fontFamily, options.fontSize)); + mainFontFB->set_font_name(Glib::ustring::compose("%1 %2", options.fontFamily, options.fontSize)); } - themeGrid->attach_next_to (*fontlab, *theme, Gtk::POS_RIGHT, 1, 1); - themeGrid->attach_next_to (*fontButton, *fontlab, Gtk::POS_RIGHT, 1, 1); - - Gtk::Label* cpfontlab = Gtk::manage ( new Gtk::Label (M ("PREFERENCES_APPEARANCE_COLORPICKERFONT") + ":") ); - setExpandAlignProperties (cpfontlab, false, false, Gtk::ALIGN_FILL, Gtk::ALIGN_BASELINE); - colorPickerFontButton = Gtk::manage ( new Gtk::FontButton ()); - setExpandAlignProperties (fontButton, false, false, Gtk::ALIGN_FILL, Gtk::ALIGN_BASELINE); - colorPickerFontButton->set_use_size (true); + Gtk::Label* colorPickerFontLbl = Gtk::manage(new Gtk::Label(M("PREFERENCES_APPEARANCE_COLORPICKERFONT") + ":")); + setExpandAlignProperties(colorPickerFontLbl, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); + colorPickerFontFB = Gtk::manage(new Gtk::FontButton()); + colorPickerFontFB->set_use_size(true); if (options.fontFamily == "default") { - colorPickerFontButton->set_font_name (Glib::ustring::compose ("%1 %2", initialFontFamily, initialFontSize)); + colorPickerFontFB->set_font_name(Glib::ustring::compose("%1 %2", initialFontFamily, initialFontSize)); } else { - colorPickerFontButton->set_font_name (Glib::ustring::compose ("%1 %2", options.CPFontFamily, options.CPFontSize)); + colorPickerFontFB->set_font_name(Glib::ustring::compose("%1 %2", options.CPFontFamily, options.CPFontSize)); } - themeGrid->attach_next_to (*cpfontlab, *fontButton, Gtk::POS_RIGHT, 1, 1); - themeGrid->attach_next_to (*colorPickerFontButton, *cpfontlab, Gtk::POS_RIGHT, 1, 1); + Gtk::Label* cropMaskColorLbl = Gtk::manage(new Gtk::Label(M("PREFERENCES_APPEARANCE_CROPMASKCOLOR") + ":")); + setExpandAlignProperties(cropMaskColorLbl, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - Gtk::Label* cutOverlayLabel = Gtk::manage ( new Gtk::Label (M ("PREFERENCES_APPEARANCE_CROPMASKCOLOR") + ":") ); - setExpandAlignProperties (cutOverlayLabel, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE); - butCropCol = Gtk::manage ( new Gtk::ColorButton() ); - setExpandAlignProperties (butCropCol, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - butCropCol->set_use_alpha (true); - themeGrid->attach_next_to (*cutOverlayLabel, *themelab, Gtk::POS_BOTTOM, 1, 1); - themeGrid->attach_next_to (*butCropCol, *cutOverlayLabel, Gtk::POS_RIGHT, 1, 1); + cropMaskColorCB = Gtk::manage(new Gtk::ColorButton()); + cropMaskColorCB->set_use_alpha(true); - Gtk::Label* navGuideLabel = Gtk::manage ( new Gtk::Label (M ("PREFERENCES_APPEARANCE_NAVGUIDECOLOR") + ":") ); - setExpandAlignProperties (navGuideLabel, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE); - butNavGuideCol = Gtk::manage ( new Gtk::ColorButton() ); - setExpandAlignProperties (butNavGuideCol, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - butNavGuideCol->set_use_alpha (true); - themeGrid->attach_next_to (*navGuideLabel, *butCropCol, Gtk::POS_RIGHT, 2, 1); - themeGrid->attach_next_to (*butNavGuideCol, *navGuideLabel, Gtk::POS_RIGHT, 1, 1); + Gtk::Label* navGuideColorLbl = Gtk::manage(new Gtk::Label(M("PREFERENCES_APPEARANCE_NAVGUIDECOLOR") + ":")); + setExpandAlignProperties(navGuideColorLbl, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - ftheme->add (*themeGrid); - vbGeneral->attach_next_to (*ftheme, *flang, Gtk::POS_BOTTOM, 2, 1); + navGuideColorCB = Gtk::manage(new Gtk::ColorButton()); + navGuideColorCB->set_use_alpha(true); + + Gtk::VSeparator *vSep = Gtk::manage(new Gtk::VSeparator()); + + appearanceGrid->attach(*themeLbl, 0, 0, 1, 1); + appearanceGrid->attach(*themeCBT, 1, 0, 1, 1); + appearanceGrid->attach(*vSep, 2, 0, 1, 3); + appearanceGrid->attach(*mainFontLbl, 0, 1, 1, 1); + appearanceGrid->attach(*mainFontFB, 1, 1, 1, 1); + appearanceGrid->attach(*colorPickerFontLbl, 3, 1, 1, 1); + appearanceGrid->attach(*colorPickerFontFB, 4, 1, 1, 1); + appearanceGrid->attach(*cropMaskColorLbl, 0, 2, 1, 1); + appearanceGrid->attach(*cropMaskColorCB, 1, 2, 1, 1); + appearanceGrid->attach(*navGuideColorLbl, 3, 2, 1, 1); + appearanceGrid->attach(*navGuideColorCB, 4, 2, 1, 1); + + appearanceFrame->add(*appearanceGrid); + vbGeneral->attach_next_to(*appearanceFrame, *flang, Gtk::POS_BOTTOM, 2, 1); // --------------------------------------------- @@ -1096,7 +1092,7 @@ Gtk::Widget* Preferences::getGeneralPanel () clipGrid->attach_next_to (*shThresh, *shl, Gtk::POS_RIGHT, 1, 1); fclip->add (*clipGrid); - vbGeneral->attach_next_to (*fclip, *ftheme, Gtk::POS_BOTTOM, 1, 1); + vbGeneral->attach_next_to (*fclip, *appearanceFrame, Gtk::POS_BOTTOM, 1, 1); // --------------------------------------------- @@ -1190,9 +1186,9 @@ Gtk::Widget* Preferences::getGeneralPanel () vbGeneral->attach_next_to (*fdg, *fclip, Gtk::POS_BOTTOM, 2, 1); langAutoDetectConn = ckbLangAutoDetect->signal_toggled().connect (sigc::mem_fun (*this, &Preferences::langAutoDetectToggled)); - tconn = theme->signal_changed().connect ( sigc::mem_fun (*this, &Preferences::themeChanged) ); - fconn = fontButton->signal_font_set().connect ( sigc::mem_fun (*this, &Preferences::fontChanged) ); - cpfconn = colorPickerFontButton->signal_font_set().connect ( sigc::mem_fun (*this, &Preferences::cpFontChanged) ); + tconn = themeCBT->signal_changed().connect ( sigc::mem_fun (*this, &Preferences::themeChanged) ); + fconn = mainFontFB->signal_font_set().connect ( sigc::mem_fun (*this, &Preferences::fontChanged) ); + cpfconn = colorPickerFontFB->signal_font_set().connect ( sigc::mem_fun (*this, &Preferences::cpFontChanged) ); swGeneral->add(*vbGeneral); return swGeneral; @@ -1610,28 +1606,28 @@ void Preferences::storePreferences () moptions.shadowThreshold = (int)shThresh->get_value (); moptions.language = languages->get_active_text (); moptions.languageAutoDetect = ckbLangAutoDetect->get_active (); - moptions.theme = themeFNames.at (theme->get_active_row_number ()).longFName; + moptions.theme = themeFNames.at (themeCBT->get_active_row_number ()).longFName; - Gdk::RGBA cropCol = butCropCol->get_rgba(); + Gdk::RGBA cropCol = cropMaskColorCB->get_rgba(); moptions.cutOverlayBrush[0] = cropCol.get_red(); moptions.cutOverlayBrush[1] = cropCol.get_green(); moptions.cutOverlayBrush[2] = cropCol.get_blue(); - moptions.cutOverlayBrush[3] = butCropCol->get_alpha() / 65535.0; + moptions.cutOverlayBrush[3] = cropMaskColorCB->get_alpha() / 65535.0; - Gdk::RGBA NavGuideCol = butNavGuideCol->get_rgba(); + Gdk::RGBA NavGuideCol = navGuideColorCB->get_rgba(); moptions.navGuideBrush[0] = NavGuideCol.get_red(); moptions.navGuideBrush[1] = NavGuideCol.get_green(); moptions.navGuideBrush[2] = NavGuideCol.get_blue(); - moptions.navGuideBrush[3] = butNavGuideCol->get_alpha() / 65535.0; + moptions.navGuideBrush[3] = navGuideColorCB->get_alpha() / 65535.0; - Pango::FontDescription fd (fontButton->get_font_name()); + Pango::FontDescription fd (mainFontFB->get_font_name()); if (newFont) { moptions.fontFamily = fd.get_family(); moptions.fontSize = fd.get_size() / Pango::SCALE; } - Pango::FontDescription cpfd (colorPickerFontButton->get_font_name()); + Pango::FontDescription cpfd (colorPickerFontFB->get_font_name()); if (newCPFont) { moptions.CPFontFamily = cpfd.get_family(); @@ -1872,28 +1868,28 @@ void Preferences::fillPreferences () languages->set_active_text (moptions.language); ckbLangAutoDetect->set_active (moptions.languageAutoDetect); int themeNbr = getThemeRowNumber (moptions.theme); - theme->set_active (themeNbr == -1 ? 0 : themeNbr); + themeCBT->set_active (themeNbr == -1 ? 0 : themeNbr); Gdk::RGBA cropCol; cropCol.set_rgba (moptions.cutOverlayBrush[0], moptions.cutOverlayBrush[1], moptions.cutOverlayBrush[2]); - butCropCol->set_rgba (cropCol); - butCropCol->set_alpha ( (unsigned short) (moptions.cutOverlayBrush[3] * 65535.0)); + cropMaskColorCB->set_rgba (cropCol); + cropMaskColorCB->set_alpha ( (unsigned short) (moptions.cutOverlayBrush[3] * 65535.0)); Gdk::RGBA NavGuideCol; NavGuideCol.set_rgba (moptions.navGuideBrush[0], moptions.navGuideBrush[1], moptions.navGuideBrush[2]); - butNavGuideCol->set_rgba (NavGuideCol); - butNavGuideCol->set_alpha ( (unsigned short) (moptions.navGuideBrush[3] * 65535.0)); + navGuideColorCB->set_rgba (NavGuideCol); + navGuideColorCB->set_alpha ( (unsigned short) (moptions.navGuideBrush[3] * 65535.0)); if (options.fontFamily == "default") { - fontButton->set_font_name (Glib::ustring::compose ("%1 %2", initialFontFamily, initialFontSize)); + mainFontFB->set_font_name (Glib::ustring::compose ("%1 %2", initialFontFamily, initialFontSize)); } else { - fontButton->set_font_name (Glib::ustring::compose ("%1 %2", options.fontFamily, options.fontSize)); + mainFontFB->set_font_name (Glib::ustring::compose ("%1 %2", options.fontFamily, options.fontSize)); } if (options.CPFontFamily == "default") { - colorPickerFontButton->set_font_name (Glib::ustring::compose ("%1 %2", initialFontFamily, initialFontSize)); + colorPickerFontFB->set_font_name (Glib::ustring::compose ("%1 %2", initialFontFamily, initialFontSize)); } else { - colorPickerFontButton->set_font_name (Glib::ustring::compose ("%1 %2", options.CPFontFamily, options.CPFontSize)); + colorPickerFontFB->set_font_name (Glib::ustring::compose ("%1 %2", options.CPFontFamily, options.CPFontSize)); } showDateTime->set_active (moptions.fbShowDateTime); @@ -2099,14 +2095,14 @@ void Preferences::okPressed () void Preferences::cancelPressed () { // set the initial theme back - if (themeFNames.at (theme->get_active_row_number ()).longFName != options.theme) { + if (themeFNames.at (themeCBT->get_active_row_number ()).longFName != options.theme) { rtengine::setPaths(); RTImage::updateImages(); switchThemeTo (options.theme); } // set the initial font back - Pango::FontDescription fd (fontButton->get_font_name()); + Pango::FontDescription fd (mainFontFB->get_font_name()); if (fd.get_family() != options.fontFamily && (fd.get_size() / Pango::SCALE) != options.fontSize) { if (options.fontFamily == "default") { @@ -2157,7 +2153,7 @@ void Preferences::aboutPressed () void Preferences::themeChanged () { - moptions.theme = themeFNames.at (theme->get_active_row_number ()).longFName; + moptions.theme = themeFNames.at (themeCBT->get_active_row_number ()).longFName; rtengine::setPaths(); RTImage::updateImages(); switchThemeTo (moptions.theme); @@ -2313,7 +2309,7 @@ void Preferences::fontChanged () { newFont = true; - Pango::FontDescription fd (fontButton->get_font_name()); + Pango::FontDescription fd (mainFontFB->get_font_name()); switchFontTo (fd.get_family(), fd.get_size() / Pango::SCALE); } diff --git a/rtgui/preferences.h b/rtgui/preferences.h index 0f4291a1c..a77e3ea82 100644 --- a/rtgui/preferences.h +++ b/rtgui/preferences.h @@ -140,11 +140,11 @@ class Preferences : public Gtk::Dialog, public ProfileStoreListener Gtk::CheckButton* ctiffserialize; Gtk::ComboBoxText* curveBBoxPosC; - Gtk::ComboBoxText* theme; - Gtk::FontButton* fontButton; - Gtk::FontButton* colorPickerFontButton; - Gtk::ColorButton* butCropCol; - Gtk::ColorButton* butNavGuideCol; + Gtk::ComboBoxText* themeCBT; + Gtk::FontButton* mainFontFB; + Gtk::FontButton* colorPickerFontFB; + Gtk::ColorButton* cropMaskColorCB; + Gtk::ColorButton* navGuideColorCB; Gtk::SpinButton* maxRecentFolders; Gtk::SpinButton* maxThumbHeightSB;