Restoring the FonButton in Preferences (#3540)
This commit is contained in:
parent
7de1ec2d66
commit
c993906d07
@ -990,6 +990,7 @@ PREFERENCES_REMEMBERZOOMPAN;Se souvenir de niveau de zoom et de la position de l
|
|||||||
PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Retient le niveau de zoom et la position de l'image courante lors de l'ouverture d'une nouvelle image.\n\nCette option ne fonctionne que dans le mode "Éditeur unique" et quand "Méthode de dématriçage utilisé pour l'aperçu à un zoom <100%" is set to "Idem PP3".
|
PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Retient le niveau de zoom et la position de l'image courante lors de l'ouverture d'une nouvelle image.\n\nCette option ne fonctionne que dans le mode "Éditeur unique" et quand "Méthode de dématriçage utilisé pour l'aperçu à un zoom <100%" is set to "Idem PP3".
|
||||||
PREFERENCES_RGBDTL_LABEL;Nombre maximum d'unités de calcul pour la Réduction du bruit
|
PREFERENCES_RGBDTL_LABEL;Nombre maximum d'unités de calcul pour la Réduction du bruit
|
||||||
PREFERENCES_RGBDTL_TOOLTIP;La réduction du bruit nécessite un minimum d'à peu près 128Mo de RAM pour une image de 10MPix ou 512Mo pour une image de 40MPix, ainsi que 128Mo de RAM supplémentaire par unité de calcul. Plus il y aura d'unités de calcul travaillant en parallèle, plus ce sera rapide. Laissez la valeur à "0" pour utiliser automatiquement autant d'unités de calcul que possible.
|
PREFERENCES_RGBDTL_TOOLTIP;La réduction du bruit nécessite un minimum d'à peu près 128Mo de RAM pour une image de 10MPix ou 512Mo pour une image de 40MPix, ainsi que 128Mo de RAM supplémentaire par unité de calcul. Plus il y aura d'unités de calcul travaillant en parallèle, plus ce sera rapide. Laissez la valeur à "0" pour utiliser automatiquement autant d'unités de calcul que possible.
|
||||||
|
PREFERENCES_SELECTFONT;Police principale
|
||||||
PREFERENCES_SELECTFONT_COLPICKER;Police des pipette à couleur
|
PREFERENCES_SELECTFONT_COLPICKER;Police des pipette à couleur
|
||||||
PREFERENCES_SELECTLANG;Choix de la langue
|
PREFERENCES_SELECTLANG;Choix de la langue
|
||||||
PREFERENCES_SELECTTHEME;Choisissez un thème
|
PREFERENCES_SELECTTHEME;Choisissez un thème
|
||||||
|
@ -1041,6 +1041,7 @@ PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset
|
|||||||
PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3".
|
PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3".
|
||||||
PREFERENCES_RGBDTL_LABEL;Max number of threads for Noise Reduction and Wavelet Levels
|
PREFERENCES_RGBDTL_LABEL;Max number of threads for Noise Reduction and Wavelet Levels
|
||||||
PREFERENCES_RGBDTL_TOOLTIP;Leave the setting at "0" to automatically use as many threads as possible. The more threads run in parallel, the faster the computation. Refer to RawPedia for memory requirements.
|
PREFERENCES_RGBDTL_TOOLTIP;Leave the setting at "0" to automatically use as many threads as possible. The more threads run in parallel, the faster the computation. Refer to RawPedia for memory requirements.
|
||||||
|
PREFERENCES_SELECTFONT;Select main font
|
||||||
PREFERENCES_SELECTFONT_COLPICKER;Select Color Picker's font
|
PREFERENCES_SELECTFONT_COLPICKER;Select Color Picker's font
|
||||||
PREFERENCES_SELECTLANG;Select language
|
PREFERENCES_SELECTLANG;Select language
|
||||||
PREFERENCES_SELECTTHEME;Select theme
|
PREFERENCES_SELECTTHEME;Select theme
|
||||||
|
@ -72,8 +72,6 @@
|
|||||||
* {
|
* {
|
||||||
color: @text-color;
|
color: @text-color;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
font-size: 12px;
|
|
||||||
font-family: Arial;
|
|
||||||
outline-style: none; /* removes the ugly dotted focus line */
|
outline-style: none; /* removes the ugly dotted focus line */
|
||||||
border-image: none;
|
border-image: none;
|
||||||
transition: none;
|
transition: none;
|
||||||
|
@ -72,8 +72,6 @@
|
|||||||
* {
|
* {
|
||||||
color: @text-color;
|
color: @text-color;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
font-size: 12px;
|
|
||||||
font-family: Arial;
|
|
||||||
outline-style: none; /* removes the ugly dotted focus line */
|
outline-style: none; /* removes the ugly dotted focus line */
|
||||||
border-image: none;
|
border-image: none;
|
||||||
transition: none;
|
transition: none;
|
||||||
|
@ -48,8 +48,8 @@ void LockableColorPicker::updateBackBuffer ()
|
|||||||
Glib::RefPtr<Pango::Context> pangoContext = iArea->get_pango_context ();
|
Glib::RefPtr<Pango::Context> pangoContext = iArea->get_pango_context ();
|
||||||
Pango::FontDescription fontd = pangoContext->get_font_description();
|
Pango::FontDescription fontd = pangoContext->get_font_description();
|
||||||
// set font family and size
|
// set font family and size
|
||||||
fontd.set_family("sans");
|
fontd.set_family(options.CPFontFamily == "default" ? "sans" : options.CPFontFamily);
|
||||||
fontd.set_size(8 * Pango::SCALE); // 8pt, will be scaled by Gtk depending on the screen's DPI
|
fontd.set_size((options.CPFontFamily == "default" ? 8 : options.CPFontSize) * Pango::SCALE);
|
||||||
fontd.set_weight(Pango::WEIGHT_NORMAL);
|
fontd.set_weight(Pango::WEIGHT_NORMAL);
|
||||||
pangoContext->set_font_description (fontd);
|
pangoContext->set_font_description (fontd);
|
||||||
|
|
||||||
|
@ -56,6 +56,7 @@ Glib::ustring creditsPath;
|
|||||||
Glib::ustring licensePath;
|
Glib::ustring licensePath;
|
||||||
Glib::ustring argv1;
|
Glib::ustring argv1;
|
||||||
bool simpleEditor;
|
bool simpleEditor;
|
||||||
|
Glib::RefPtr<Gtk::CssProvider> cssForced;
|
||||||
Glib::RefPtr<Gtk::CssProvider> cssRT;
|
Glib::RefPtr<Gtk::CssProvider> cssRT;
|
||||||
//Glib::Threads::Thread* mainThread;
|
//Glib::Threads::Thread* mainThread;
|
||||||
|
|
||||||
@ -332,6 +333,19 @@ int main(int argc, char **argv)
|
|||||||
} catch (...) {
|
} catch (...) {
|
||||||
printf("Error: Can't load css file \"%s\"\n", filename.c_str());
|
printf("Error: Can't load css file \"%s\"\n", filename.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set the font face and size
|
||||||
|
if (options.fontFamily != "default") {
|
||||||
|
try {
|
||||||
|
cssForced = Gtk::CssProvider::create();
|
||||||
|
cssForced->load_from_data (Glib::ustring::compose("* { font-family: %1; font-size: %2pt }", options.fontFamily, options.fontSize));
|
||||||
|
Gtk::StyleContext::add_provider_for_screen(screen, cssForced, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||||
|
} catch (Glib::Error &err) {
|
||||||
|
printf("Error: \"%s\"\n", err.what().c_str());
|
||||||
|
} catch (...) {
|
||||||
|
printf("Error: Can't find the font named \"%s\"\n", options.fontFamily.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
|
@ -338,6 +338,10 @@ void Options::setDefaults ()
|
|||||||
browserDirPanelOpened = true;
|
browserDirPanelOpened = true;
|
||||||
editorFilmStripOpened = true;
|
editorFilmStripOpened = true;
|
||||||
historyPanelWidth = 330;
|
historyPanelWidth = 330;
|
||||||
|
fontFamily = "default";
|
||||||
|
fontSize = 10;
|
||||||
|
CPFontFamily = "default";
|
||||||
|
CPFontSize = 8;
|
||||||
lastScale = 5;
|
lastScale = 5;
|
||||||
panAccelFactor = 5;
|
panAccelFactor = 5;
|
||||||
rememberZoomAndPan = true;
|
rememberZoomAndPan = true;
|
||||||
@ -1309,6 +1313,22 @@ int Options::readFromFile (Glib::ustring fname)
|
|||||||
historyPanelWidth = keyFile.get_integer ("GUI", "HistoryPanelWidth");
|
historyPanelWidth = keyFile.get_integer ("GUI", "HistoryPanelWidth");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (keyFile.has_key ("GUI", "FontFamily")) {
|
||||||
|
fontFamily = keyFile.get_string ("GUI", "FontFamily");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (keyFile.has_key ("GUI", "FontSize")) {
|
||||||
|
fontSize = keyFile.get_integer ("GUI", "FontSize");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (keyFile.has_key ("GUI", "CPFontFamily")) {
|
||||||
|
CPFontFamily = keyFile.get_string ("GUI", "CPFontFamily");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (keyFile.has_key ("GUI", "CPFontSize")) {
|
||||||
|
CPFontSize = keyFile.get_integer ("GUI", "CPFontSize");
|
||||||
|
}
|
||||||
|
|
||||||
if (keyFile.has_key ("GUI", "LastPreviewScale")) {
|
if (keyFile.has_key ("GUI", "LastPreviewScale")) {
|
||||||
lastScale = keyFile.get_integer ("GUI", "LastPreviewScale");
|
lastScale = keyFile.get_integer ("GUI", "LastPreviewScale");
|
||||||
}
|
}
|
||||||
@ -1977,6 +1997,10 @@ int Options::saveToFile (Glib::ustring fname)
|
|||||||
keyFile.set_boolean ("GUI", "EditorFilmStripOpened", editorFilmStripOpened);
|
keyFile.set_boolean ("GUI", "EditorFilmStripOpened", editorFilmStripOpened);
|
||||||
keyFile.set_boolean ("GUI", "BrowserDirPanelOpened", browserDirPanelOpened);
|
keyFile.set_boolean ("GUI", "BrowserDirPanelOpened", browserDirPanelOpened);
|
||||||
keyFile.set_integer ("GUI", "HistoryPanelWidth", historyPanelWidth);
|
keyFile.set_integer ("GUI", "HistoryPanelWidth", historyPanelWidth);
|
||||||
|
keyFile.set_string ("GUI", "FontFamily", fontFamily);
|
||||||
|
keyFile.set_integer ("GUI", "FontSize", fontSize);
|
||||||
|
keyFile.set_string ("GUI", "CPFontFamily", CPFontFamily);
|
||||||
|
keyFile.set_integer ("GUI", "CPFontSize", CPFontSize);
|
||||||
keyFile.set_integer ("GUI", "LastPreviewScale", lastScale);
|
keyFile.set_integer ("GUI", "LastPreviewScale", lastScale);
|
||||||
keyFile.set_integer ("GUI", "PanAccelFactor", panAccelFactor);
|
keyFile.set_integer ("GUI", "PanAccelFactor", panAccelFactor);
|
||||||
keyFile.set_boolean ("GUI", "RememberZoomAndPan", rememberZoomAndPan);
|
keyFile.set_boolean ("GUI", "RememberZoomAndPan", rememberZoomAndPan);
|
||||||
|
@ -135,6 +135,10 @@ public:
|
|||||||
int lastScale;
|
int lastScale;
|
||||||
int panAccelFactor;
|
int panAccelFactor;
|
||||||
int lastCropSize;
|
int lastCropSize;
|
||||||
|
Glib::ustring fontFamily; // RT's main font family
|
||||||
|
int fontSize; // RT's main font size (units: pt)
|
||||||
|
Glib::ustring CPFontFamily; // ColorPicker font family
|
||||||
|
int CPFontSize; // ColorPicker font size (units: pt)
|
||||||
bool fbOnlyRaw;
|
bool fbOnlyRaw;
|
||||||
bool fbShowDateTime;
|
bool fbShowDateTime;
|
||||||
bool fbShowBasicExif;
|
bool fbShowBasicExif;
|
||||||
|
@ -32,14 +32,15 @@
|
|||||||
|
|
||||||
extern Options options;
|
extern Options options;
|
||||||
extern Glib::ustring argv0;
|
extern Glib::ustring argv0;
|
||||||
Glib::RefPtr<Gtk::CssProvider> css;
|
Glib::RefPtr<Gtk::CssProvider> themecss;
|
||||||
|
Glib::RefPtr<Gtk::CssProvider> fontcss;
|
||||||
|
|
||||||
Preferences::Preferences (RTWindow *rtwindow)
|
Preferences::Preferences (RTWindow *rtwindow)
|
||||||
: Gtk::Dialog (M("MAIN_BUTTON_PREFERENCES"), *rtwindow, true)
|
: Gtk::Dialog (M("MAIN_BUTTON_PREFERENCES"), *rtwindow, true)
|
||||||
|
, splash (nullptr)
|
||||||
, rprofiles (nullptr)
|
, rprofiles (nullptr)
|
||||||
, iprofiles (nullptr)
|
, iprofiles (nullptr)
|
||||||
, parent (rtwindow)
|
, parent (rtwindow)
|
||||||
, splash (nullptr)
|
|
||||||
{
|
{
|
||||||
regex = Glib::Regex::create(THEMEREGEXSTR, Glib::RegexCompileFlags::REGEX_CASELESS);
|
regex = Glib::Regex::create(THEMEREGEXSTR, Glib::RegexCompileFlags::REGEX_CASELESS);
|
||||||
|
|
||||||
@ -924,6 +925,26 @@ Gtk::Widget* Preferences::getGeneralPanel ()
|
|||||||
themeGrid->attach_next_to(*themelab, Gtk::POS_LEFT, 1, 1);
|
themeGrid->attach_next_to(*themelab, Gtk::POS_LEFT, 1, 1);
|
||||||
themeGrid->attach_next_to(*theme, *themelab, Gtk::POS_RIGHT, 1, 1);
|
themeGrid->attach_next_to(*theme, *themelab, Gtk::POS_RIGHT, 1, 1);
|
||||||
|
|
||||||
|
Gtk::Label* fontlab = Gtk::manage( new Gtk::Label (M("PREFERENCES_SELECTFONT")) );
|
||||||
|
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);
|
||||||
|
fontButton->set_font_name(Glib::ustring::compose("%1 %2", options.fontFamily == "default" ? "sans" : 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_SELECTFONT_COLPICKER") + ":") );
|
||||||
|
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);
|
||||||
|
colorPickerFontButton->set_font_name(Glib::ustring::compose("%1 %2", options.CPFontFamily == "default" ? "sans" : 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* cutOverlayLabel = Gtk::manage( new Gtk::Label (M("PREFERENCES_CUTOVERLAYBRUSH") + ":") );
|
Gtk::Label* cutOverlayLabel = Gtk::manage( new Gtk::Label (M("PREFERENCES_CUTOVERLAYBRUSH") + ":") );
|
||||||
setExpandAlignProperties(cutOverlayLabel, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE);
|
setExpandAlignProperties(cutOverlayLabel, false, false, Gtk::ALIGN_START, Gtk::ALIGN_BASELINE);
|
||||||
butCropCol = Gtk::manage( new Gtk::ColorButton() );
|
butCropCol = Gtk::manage( new Gtk::ColorButton() );
|
||||||
@ -937,7 +958,7 @@ Gtk::Widget* Preferences::getGeneralPanel ()
|
|||||||
butNavGuideCol = Gtk::manage( new Gtk::ColorButton() );
|
butNavGuideCol = Gtk::manage( new Gtk::ColorButton() );
|
||||||
setExpandAlignProperties(butNavGuideCol, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER);
|
setExpandAlignProperties(butNavGuideCol, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER);
|
||||||
butNavGuideCol->set_use_alpha(true);
|
butNavGuideCol->set_use_alpha(true);
|
||||||
themeGrid->attach_next_to(*navGuideLabel, *butCropCol, Gtk::POS_RIGHT, 1, 1);
|
themeGrid->attach_next_to(*navGuideLabel, *butCropCol, Gtk::POS_RIGHT, 2, 1);
|
||||||
themeGrid->attach_next_to(*butNavGuideCol, *navGuideLabel, Gtk::POS_RIGHT, 1, 1);
|
themeGrid->attach_next_to(*butNavGuideCol, *navGuideLabel, Gtk::POS_RIGHT, 1, 1);
|
||||||
|
|
||||||
ftheme->add (*themeGrid);
|
ftheme->add (*themeGrid);
|
||||||
@ -1069,6 +1090,7 @@ Gtk::Widget* Preferences::getGeneralPanel ()
|
|||||||
|
|
||||||
langAutoDetectConn = ckbLangAutoDetect->signal_toggled().connect (sigc::mem_fun(*this, &Preferences::langAutoDetectToggled));
|
langAutoDetectConn = ckbLangAutoDetect->signal_toggled().connect (sigc::mem_fun(*this, &Preferences::langAutoDetectToggled));
|
||||||
tconn = theme->signal_changed().connect( sigc::mem_fun(*this, &Preferences::themeChanged) );
|
tconn = theme->signal_changed().connect( sigc::mem_fun(*this, &Preferences::themeChanged) );
|
||||||
|
fconn = fontButton->signal_font_set().connect( sigc::mem_fun(*this, &Preferences::fontChanged) );
|
||||||
|
|
||||||
return mvbsd;
|
return mvbsd;
|
||||||
}
|
}
|
||||||
@ -1457,6 +1479,14 @@ void Preferences::storePreferences ()
|
|||||||
moptions.navGuideBrush[2] = NavGuideCol.get_blue();
|
moptions.navGuideBrush[2] = NavGuideCol.get_blue();
|
||||||
moptions.navGuideBrush[3] = butNavGuideCol->get_alpha() / 65535.0;
|
moptions.navGuideBrush[3] = butNavGuideCol->get_alpha() / 65535.0;
|
||||||
|
|
||||||
|
Pango::FontDescription fd(fontButton->get_font_name());
|
||||||
|
moptions.fontFamily = fd.get_family();
|
||||||
|
moptions.fontSize = fd.get_size() / Pango::SCALE;
|
||||||
|
|
||||||
|
Pango::FontDescription cpfd(colorPickerFontButton->get_font_name());
|
||||||
|
moptions.CPFontFamily = cpfd.get_family();
|
||||||
|
moptions.CPFontSize = cpfd.get_size() / Pango::SCALE;
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
moptions.gimpDir = gimpDir->get_filename ();
|
moptions.gimpDir = gimpDir->get_filename ();
|
||||||
moptions.psDir = psDir->get_filename ();
|
moptions.psDir = psDir->get_filename ();
|
||||||
@ -1602,6 +1632,7 @@ void Preferences::fillPreferences ()
|
|||||||
{
|
{
|
||||||
|
|
||||||
tconn.block (true);
|
tconn.block (true);
|
||||||
|
fconn.block (true);
|
||||||
sconn.block (true);
|
sconn.block (true);
|
||||||
dfconn.block (true);
|
dfconn.block (true);
|
||||||
ffconn.block (true);
|
ffconn.block (true);
|
||||||
@ -1672,6 +1703,9 @@ void Preferences::fillPreferences ()
|
|||||||
butNavGuideCol->set_rgba(NavGuideCol);
|
butNavGuideCol->set_rgba(NavGuideCol);
|
||||||
butNavGuideCol->set_alpha ( (unsigned short)(moptions.navGuideBrush[3] * 65535.0));
|
butNavGuideCol->set_alpha ( (unsigned short)(moptions.navGuideBrush[3] * 65535.0));
|
||||||
|
|
||||||
|
fontButton->set_font_name(Glib::ustring::compose("%1 %2", options.fontFamily == "default" ? "sans" : options.fontFamily, options.fontSize));
|
||||||
|
colorPickerFontButton->set_font_name(Glib::ustring::compose("%1 %2", options.CPFontFamily == "default" ? "sans" : options.CPFontFamily, options.CPFontSize));
|
||||||
|
|
||||||
showDateTime->set_active (moptions.fbShowDateTime);
|
showDateTime->set_active (moptions.fbShowDateTime);
|
||||||
showBasicExif->set_active (moptions.fbShowBasicExif);
|
showBasicExif->set_active (moptions.fbShowBasicExif);
|
||||||
showExpComp->set_active (moptions.fbShowExpComp);
|
showExpComp->set_active (moptions.fbShowExpComp);
|
||||||
@ -1787,6 +1821,7 @@ void Preferences::fillPreferences ()
|
|||||||
|
|
||||||
addc.block (false);
|
addc.block (false);
|
||||||
setc.block (false);
|
setc.block (false);
|
||||||
|
fconn.block (false);
|
||||||
tconn.block (false);
|
tconn.block (false);
|
||||||
sconn.block (false);
|
sconn.block (false);
|
||||||
dfconn.block (false);
|
dfconn.block (false);
|
||||||
@ -1864,6 +1899,12 @@ void Preferences::cancelPressed ()
|
|||||||
switchThemeTo(options.theme);
|
switchThemeTo(options.theme);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// set the initial font back
|
||||||
|
Pango::FontDescription fd(fontButton->get_font_name());
|
||||||
|
if (fd.get_family() != options.fontFamily && (fd.get_size() / Pango::SCALE) != options.fontSize) {
|
||||||
|
switchFontTo(options.fontFamily == "default" ? "sans" : options.fontFamily, options.fontSize);
|
||||||
|
}
|
||||||
|
|
||||||
// update the profileStore
|
// update the profileStore
|
||||||
if (useBundledProfiles->get_active () != options.useBundledProfiles) {
|
if (useBundledProfiles->get_active () != options.useBundledProfiles) {
|
||||||
// we have to rescan with the old value;
|
// we have to rescan with the old value;
|
||||||
@ -2038,14 +2079,14 @@ void Preferences::switchThemeTo(Glib::ustring newTheme)
|
|||||||
|
|
||||||
Glib::ustring filename(Glib::build_filename(argv0, "themes", newTheme + ".css"));
|
Glib::ustring filename(Glib::build_filename(argv0, "themes", newTheme + ".css"));
|
||||||
|
|
||||||
if (!css) {
|
if (!themecss) {
|
||||||
css = Gtk::CssProvider::create();
|
themecss = Gtk::CssProvider::create();
|
||||||
Glib::RefPtr<Gdk::Screen> screen = Gdk::Screen::get_default();
|
Glib::RefPtr<Gdk::Screen> screen = Gdk::Screen::get_default();
|
||||||
Gtk::StyleContext::add_provider_for_screen(screen, css, GTK_STYLE_PROVIDER_PRIORITY_USER);
|
Gtk::StyleContext::add_provider_for_screen(screen, themecss, GTK_STYLE_PROVIDER_PRIORITY_USER);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
css->load_from_path (filename);
|
themecss->load_from_path (filename);
|
||||||
} catch (Glib::Error &err) {
|
} catch (Glib::Error &err) {
|
||||||
printf("Error: Can't load css file \"%s\"\nMessage: %s\n", filename.c_str(), err.what().c_str());
|
printf("Error: Can't load css file \"%s\"\nMessage: %s\n", filename.c_str(), err.what().c_str());
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
@ -2053,6 +2094,33 @@ void Preferences::switchThemeTo(Glib::ustring newTheme)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Preferences::fontChanged ()
|
||||||
|
{
|
||||||
|
|
||||||
|
Pango::FontDescription fd(fontButton->get_font_name());
|
||||||
|
switchFontTo(fd.get_family(), fd.get_size() / Pango::SCALE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Preferences::switchFontTo(const Glib::ustring &newFontFamily, const int newFontSize)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (newFontFamily != "default") {
|
||||||
|
if (!fontcss) {
|
||||||
|
fontcss = Gtk::CssProvider::create();
|
||||||
|
Glib::RefPtr<Gdk::Screen> screen = Gdk::Screen::get_default();
|
||||||
|
Gtk::StyleContext::add_provider_for_screen(screen, fontcss, GTK_STYLE_PROVIDER_PRIORITY_USER);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
fontcss->load_from_data (Glib::ustring::compose("* { font-family: %1; font-size: %2pt }", newFontFamily, newFontSize));
|
||||||
|
} catch (Glib::Error &err) {
|
||||||
|
printf("Error: \"%s\"\n", err.what().c_str());
|
||||||
|
} catch (...) {
|
||||||
|
printf("Error: Can't find the font named \"%s\"\n", newFontFamily.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Preferences::workflowUpdate ()
|
void Preferences::workflowUpdate ()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -138,6 +138,8 @@ class Preferences : public Gtk::Dialog, public ProfileStoreListener
|
|||||||
Gtk::ComboBoxText* curveBBoxPosC;
|
Gtk::ComboBoxText* curveBBoxPosC;
|
||||||
|
|
||||||
Gtk::ComboBoxText* theme;
|
Gtk::ComboBoxText* theme;
|
||||||
|
Gtk::FontButton* fontButton;
|
||||||
|
Gtk::FontButton* colorPickerFontButton;
|
||||||
Gtk::ColorButton* butCropCol;
|
Gtk::ColorButton* butCropCol;
|
||||||
Gtk::ColorButton* butNavGuideCol;
|
Gtk::ColorButton* butNavGuideCol;
|
||||||
|
|
||||||
@ -200,7 +202,7 @@ class Preferences : public Gtk::Dialog, public ProfileStoreListener
|
|||||||
Glib::ustring storedValueImg;
|
Glib::ustring storedValueImg;
|
||||||
|
|
||||||
Options moptions;
|
Options moptions;
|
||||||
sigc::connection tconn, sconn, addc, setc, dfconn, ffconn, bpconn, rpconn, ipconn;
|
sigc::connection tconn, sconn, fconn, addc, setc, dfconn, ffconn, bpconn, rpconn, ipconn;
|
||||||
sigc::connection autoMonProfileConn, sndEnableConn, langAutoDetectConn, autocielabConn;
|
sigc::connection autoMonProfileConn, sndEnableConn, langAutoDetectConn, autocielabConn;
|
||||||
Glib::ustring initialTheme;
|
Glib::ustring initialTheme;
|
||||||
Glib::ustring initialFont;
|
Glib::ustring initialFont;
|
||||||
@ -213,12 +215,14 @@ class Preferences : public Gtk::Dialog, public ProfileStoreListener
|
|||||||
void updateFFinfos ();
|
void updateFFinfos ();
|
||||||
void workflowUpdate();
|
void workflowUpdate();
|
||||||
void themeChanged ();
|
void themeChanged ();
|
||||||
|
void fontChanged ();
|
||||||
void forRAWComboChanged ();
|
void forRAWComboChanged ();
|
||||||
void forImageComboChanged ();
|
void forImageComboChanged ();
|
||||||
void layoutComboChanged ();
|
void layoutComboChanged ();
|
||||||
void bundledProfilesChanged ();
|
void bundledProfilesChanged ();
|
||||||
void iccDirChanged ();
|
void iccDirChanged ();
|
||||||
void switchThemeTo (Glib::ustring newTheme);
|
void switchThemeTo (Glib::ustring newTheme);
|
||||||
|
void switchFontTo (const Glib::ustring &newFontFamily, const int newFontSize);
|
||||||
bool splashClosed(GdkEventAny* event);
|
bool splashClosed(GdkEventAny* event);
|
||||||
|
|
||||||
int getThemeRowNumber(Glib::ustring& longThemeFName);
|
int getThemeRowNumber(Glib::ustring& longThemeFName);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user