diff options
author | Doug McLain <doug@nostar.net> | 2008-02-22 23:47:33 +0000 |
---|---|---|
committer | Doug McLain <doug@nostar.net> | 2008-02-22 23:47:33 +0000 |
commit | 6fda0d0dc6ffd3c433ae7f252dd21bb8d7b853ee (patch) | |
tree | a916696a3b59951d2443737ffc0a97fa0b3eb72f | |
parent | 61729b640cb9073eb8802fcb0a234aab14b19483 (diff) |
Save and restore users font scale setting
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3110 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | ardour.rc.in | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/option_editor.cc | 17 | ||||
-rw-r--r-- | libs/ardour/ardour/configuration_vars.h | 1 |
4 files changed, 16 insertions, 5 deletions
diff --git a/ardour.rc.in b/ardour.rc.in index 04058791c9..6b6c29908c 100644 --- a/ardour.rc.in +++ b/ardour.rc.in @@ -40,6 +40,7 @@ <Option name="show-track-meters" value="1"/> <Option name="default-narrow_ms" value="0"/> <Option name="smpte-format" value="6"/> + <Option name="font-scale" value="102400"/> </Config> <extra> <RulerVisibility smpte="yes" bbt="yes" frames="no" minsec="no" tempo="yes" meter="yes" marker="yes" rangemarker="no" transportmarker="yes" cdmarker="no"/> diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 31e42b49e1..0c6352c738 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -244,6 +244,8 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[]) keyboard = new Keyboard; + gtk_settings_set_long_property (gtk_settings_get_default(), "gtk-xft-dpi", Config->get_font_scale(), "ardour"); + starting.connect (mem_fun(*this, &ARDOUR_UI::startup)); stopping.connect (mem_fun(*this, &ARDOUR_UI::shutdown)); diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc index 2643777269..24ecdc8448 100644 --- a/gtk2_ardour/option_editor.cc +++ b/gtk2_ardour/option_editor.cc @@ -251,19 +251,24 @@ OptionEditor::add_session_paths () } static void -reset_dpi (Gtk::Adjustment* adj) +font_scale_changed () { - float val = adj->get_value(); - long dpi = (long) floor (val * 1024); gtk_settings_set_long_property (gtk_settings_get_default(), - "gtk-xft-dpi", dpi, "ardour"); + "gtk-xft-dpi", Config->get_font_scale(), "ardour"); +} + +static void +reset_dpi (Gtk::Adjustment* adj) +{ + Config->set_font_scale((long)floor (adj->get_value() * 1024)); + font_scale_changed(); } void OptionEditor::setup_misc_options () { Gtk::HBox* hbox; - Gtk::Adjustment* dpi_adj = new Gtk::Adjustment (75, 50, 250, 1, 10); + Gtk::Adjustment* dpi_adj = new Gtk::Adjustment ((double)Config->get_font_scale() / 1024, 50, 250, 1, 10); Gtk::HScale * dpi_range = new Gtk::HScale (*dpi_adj); Label* label = manage (new Label (_("Font Scaling"))); @@ -1368,5 +1373,7 @@ OptionEditor::parameter_changed (const char* parameter_name) save_history_button.set_active (x); saved_history_depth_spinner.set_sensitive (x); + } else if (PARAM_IS ("font-scale")) { + font_scale_changed(); } } diff --git a/libs/ardour/ardour/configuration_vars.h b/libs/ardour/ardour/configuration_vars.h index 0ca7036270..3a6c8399b0 100644 --- a/libs/ardour/ardour/configuration_vars.h +++ b/libs/ardour/ardour/configuration_vars.h @@ -157,6 +157,7 @@ CONFIG_VARIABLE (std::string, keyboard_layout, "keyboard-layout", "ansi") CONFIG_VARIABLE (std::string, default_bindings, "default-bindings", "ardour") CONFIG_VARIABLE (bool, default_narrow_ms, "default-narrow_ms", false) CONFIG_VARIABLE (bool, rubberbanding_snaps_to_grid, "rubberbanding-snaps-to-grid", false) +CONFIG_VARIABLE (long, font_scale, "font-scale", 102400) /* denormal management */ |