summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2008-02-22 23:47:33 +0000
committerDoug McLain <doug@nostar.net>2008-02-22 23:47:33 +0000
commit6fda0d0dc6ffd3c433ae7f252dd21bb8d7b853ee (patch)
treea916696a3b59951d2443737ffc0a97fa0b3eb72f
parent61729b640cb9073eb8802fcb0a234aab14b19483 (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.in1
-rw-r--r--gtk2_ardour/ardour_ui.cc2
-rw-r--r--gtk2_ardour/option_editor.cc17
-rw-r--r--libs/ardour/ardour/configuration_vars.h1
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 */