summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-05-22 16:36:59 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-05-22 16:36:59 +0000
commit930f9a34c1bd1015a6937ca975023155f788bc50 (patch)
treee3c89cf4a415e239e852975284bbcfcd6920f212 /gtk2_ardour
parent528abdeaa4599e12e22c4d49cdb4c0c2cd35c805 (diff)
use the theme manager dialog to provide control over flat button option, and turn it off by default
git-svn-id: svn://localhost/ardour2/branches/3.0@12382 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_button.cc2
-rw-r--r--gtk2_ardour/theme_manager.cc26
-rw-r--r--gtk2_ardour/theme_manager.h2
-rw-r--r--gtk2_ardour/ui_config_vars.h1
4 files changed, 25 insertions, 6 deletions
diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc
index e875116cf0..3e97099703 100644
--- a/gtk2_ardour/ardour_button.cc
+++ b/gtk2_ardour/ardour_button.cc
@@ -49,7 +49,7 @@ using namespace std;
ArdourButton::Element ArdourButton::default_elements = ArdourButton::Element (ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text);
ArdourButton::Element ArdourButton::led_default_elements = ArdourButton::Element (ArdourButton::default_elements|ArdourButton::Indicator);
ArdourButton::Element ArdourButton::just_led_default_elements = ArdourButton::Element (ArdourButton::Edge|ArdourButton::Body|ArdourButton::Indicator);
-bool ArdourButton::_flat_buttons = true;
+bool ArdourButton::_flat_buttons = false;
ArdourButton::ArdourButton (Element e)
: _elements (e)
diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc
index a3ee38e629..8c9d559441 100644
--- a/gtk2_ardour/theme_manager.cc
+++ b/gtk2_ardour/theme_manager.cc
@@ -36,6 +36,7 @@
#include "ardour/filesystem_paths.h"
#include "ardour/profile.h"
+#include "ardour_button.h"
#include "theme_manager.h"
#include "rgb_macros.h"
#include "ardour_ui.h"
@@ -52,10 +53,11 @@ sigc::signal<void> ColorsChanged;
sigc::signal<void,uint32_t> ColorChanged;
ThemeManager::ThemeManager()
- : ArdourWindow (_("Theme Manager")),
- dark_button (_("Dark Theme")),
- light_button (_("Light Theme")),
- reset_button (_("Restore Defaults"))
+ : ArdourWindow (_("Theme Manager"))
+ , dark_button (_("Dark Theme"))
+ , light_button (_("Light Theme"))
+ , reset_button (_("Restore Defaults"))
+ , flat_buttons (_("Draw \"flat\" buttons"))
{
set_title (_("Theme Manager"));
@@ -90,6 +92,7 @@ ThemeManager::ThemeManager()
vbox->set_homogeneous (false);
vbox->pack_start (theme_selection_hbox, PACK_SHRINK);
vbox->pack_start (reset_button, PACK_SHRINK);
+ vbox->pack_start (flat_buttons, PACK_SHRINK);
vbox->pack_start (scroller);
add (*vbox);
@@ -103,6 +106,7 @@ ThemeManager::ThemeManager()
dark_button.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_dark_theme_button_toggled));
light_button.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_light_theme_button_toggled));
reset_button.signal_clicked().connect (sigc::mem_fun (*this, &ThemeManager::reset_canvas_colors));
+ flat_buttons.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_flat_buttons_toggled));
set_size_request (-1, 400);
setup_theme ();
@@ -227,6 +231,16 @@ load_rc_file (const string& filename, bool themechange)
#define HACK_PROFILE_IS_SAE() (getenv("ARDOUR_SAE")!=0)
void
+ThemeManager::on_flat_buttons_toggled ()
+{
+ ARDOUR_UI::config()->flat_buttons.set (flat_buttons.get_active());
+ ARDOUR_UI::config()->set_dirty ();
+ ArdourButton::set_flat_buttons (flat_buttons.get_active());
+ /* force a redraw */
+ gtk_rc_reset_styles (gtk_settings_get_default());
+}
+
+void
ThemeManager::on_dark_theme_button_toggled()
{
if (!dark_button.get_active()) return;
@@ -333,7 +347,9 @@ ThemeManager::setup_theme ()
} else if (rcfile == "ardour3_ui_light.rc" || rcfile == "ardour3_ui_light_sae.rc") {
light_button.set_active();
}
-
+
+ flat_buttons.set_active (ARDOUR_UI::config()->flat_buttons.get());
+
load_rc_file(rcfile, false);
}
diff --git a/gtk2_ardour/theme_manager.h b/gtk2_ardour/theme_manager.h
index 7ba57df2ba..2fe4482905 100644
--- a/gtk2_ardour/theme_manager.h
+++ b/gtk2_ardour/theme_manager.h
@@ -42,6 +42,7 @@ class ThemeManager : public ArdourWindow
void on_dark_theme_button_toggled ();
void on_light_theme_button_toggled ();
+ void on_flat_buttons_toggled ();
private:
struct ColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
@@ -67,6 +68,7 @@ class ThemeManager : public ArdourWindow
Gtk::RadioButton dark_button;
Gtk::RadioButton light_button;
Gtk::Button reset_button;
+ Gtk::CheckButton flat_buttons;
bool button_press_event (GdkEventButton*);
};
diff --git a/gtk2_ardour/ui_config_vars.h b/gtk2_ardour/ui_config_vars.h
index 1fa288867f..f42d98476b 100644
--- a/gtk2_ardour/ui_config_vars.h
+++ b/gtk2_ardour/ui_config_vars.h
@@ -1,2 +1,3 @@
UI_CONFIG_VARIABLE(std::string, ui_rc_file, "ui-rc-file", "ardour3_ui_dark.rc")
+UI_CONFIG_VARIABLE(bool, flat_buttons, "flat-buttons", false)