summaryrefslogtreecommitdiff
path: root/gtk2_ardour/theme_manager.h
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2007-05-25 20:29:12 +0000
committerDoug McLain <doug@nostar.net>2007-05-25 20:29:12 +0000
commite1f57ba8f086aa3629f09ca9363a9e44b01796f4 (patch)
tree8a1e39f4e8134d0c80102b69d274fe5ce7701421 /gtk2_ardour/theme_manager.h
parent0931c3b612978764621d27f3c746fc09ab248c17 (diff)
New theme manager, with option to select between dark and light theme. Cleanups to ardours handling of the ui rc file during startup, and changed the monitoring options to be global instead of session specific. More details about the theme stuff comign to ardour-dev
git-svn-id: svn://localhost/ardour2/trunk@1917 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/theme_manager.h')
-rw-r--r--gtk2_ardour/theme_manager.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/gtk2_ardour/theme_manager.h b/gtk2_ardour/theme_manager.h
new file mode 100644
index 0000000000..8bb8fa9fce
--- /dev/null
+++ b/gtk2_ardour/theme_manager.h
@@ -0,0 +1,75 @@
+/*
+ Copyright (C) 2000-2007 Paul Davis
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#ifndef __ardour_gtk_color_manager_h__
+#define __ardour_gtk_color_manager_h__
+
+#include <gtkmm/treeview.h>
+#include <gtkmm/liststore.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/colorselection.h>
+#include <gtkmm/radiobutton.h>
+#include <gtkmm/rc.h>
+#include "ardour_dialog.h"
+#include "color.h"
+
+
+class ThemeManager : public ArdourDialog
+{
+ public:
+ ThemeManager();
+ ~ThemeManager();
+
+ int load (std::string path);
+ int save (std::string path);
+ void load_rc (int which);
+ void setup_theme_buttons ();
+
+ private:
+ struct ColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
+ ColorDisplayModelColumns() {
+ add (name);
+ add (color);
+ add (gdkcolor);
+ add (id);
+ add (rgba);
+ }
+
+ Gtk::TreeModelColumn<Glib::ustring> name;
+ Gtk::TreeModelColumn<Glib::ustring> color;
+ Gtk::TreeModelColumn<Gdk::Color> gdkcolor;
+ Gtk::TreeModelColumn<ColorID> id;
+ Gtk::TreeModelColumn<uint32_t> rgba;
+ };
+
+ ColorDisplayModelColumns columns;
+ Gtk::TreeView color_display;
+ Glib::RefPtr<Gtk::ListStore> color_list;
+ Gtk::ColorSelectionDialog color_dialog;
+ Gtk::ScrolledWindow scroller;
+ Gtk::HBox theme_selection_hbox;
+ Gtk::RadioButton dark_button;
+ Gtk::RadioButton light_button;
+
+ bool button_press_event (GdkEventButton*);
+};
+
+
+#endif /* __ardour_gtk_color_manager_h__ */
+