first mostly-working build supporting GTK rethemeing via the Theme Manager
This commit is contained in:
parent
01747cc5f7
commit
d586289be5
|
@ -1,3 +1,6 @@
|
|||
/* No guard clauses - used by ui_config.{cc,h} to define various members and
|
||||
* methods amd included multiple times
|
||||
*/
|
||||
COLOR_ALIAS(ActiveCrossfade,"active crossfade","color 1")
|
||||
COLOR_ALIAS(ArrangeBase,"arrange base","color 2")
|
||||
COLOR_ALIAS(AudioBusBase,"audio bus base","color 3")
|
||||
|
@ -56,6 +59,46 @@ COLOR_ALIAS(GhostTrackWaveClip,"ghost track wave","color 29")
|
|||
COLOR_ALIAS(GhostTrackWave,"ghost track wave clip","color 29")
|
||||
COLOR_ALIAS(GhostTrackWaveFill,"ghost track wave fill","color 29")
|
||||
COLOR_ALIAS(GhostTrackZeroLine,"ghost track zero line","color 30")
|
||||
COLOR_ALIAS(GtkArm, "gtk_arm","color 9")
|
||||
COLOR_ALIAS(GtkAudioBus, "gtk_audio_bus","color 61")
|
||||
COLOR_ALIAS(GtkAudioTrack, "gtk_audio_track","color 70")
|
||||
COLOR_ALIAS(GtkAutomationTrackHeader,"gtk_automation_track_header", "color 42")
|
||||
COLOR_ALIAS(GtkBackground,"gtk_background", "color 12")
|
||||
COLOR_ALIAS(GtkBases,"gtk_bases", "color 27")
|
||||
COLOR_ALIAS(GtkBgSelected,"gtk_bg_selected", "color 99")
|
||||
COLOR_ALIAS(GtkBgTooltip,"gtk_bg_tooltip", "color 52")
|
||||
COLOR_ALIAS(GtkBrightColor,"gtk_bright_color", "color 74")
|
||||
COLOR_ALIAS(GtkBrightIndicator,"gtk_bright_indicator", "color 9")
|
||||
COLOR_ALIAS(GtkContrastingIndicator,"gtk_contrasting_indicator", "color 91")
|
||||
COLOR_ALIAS(GtkControlBase,"gtk_control_base", "color 61")
|
||||
COLOR_ALIAS(GtkControlText,"gtk_control_text", "color 26")
|
||||
COLOR_ALIAS(GtkControlText2,"gtk_control_text2", "color 83")
|
||||
COLOR_ALIAS(GtkDarkest,"gtk_darkest", "color 29")
|
||||
COLOR_ALIAS(GtkFgSelected,"gtk_fg_selected", "color 18")
|
||||
COLOR_ALIAS(GtkFgTooltip,"gtk_fg_tooltip", "color 29")
|
||||
COLOR_ALIAS(GtkForeground,"gtk_foreground", "color 50")
|
||||
COLOR_ALIAS(GtkLightTextOnDark,"gtk_light_text_on_dark", "color 31")
|
||||
COLOR_ALIAS(GtkLightest,"gtk_lightest", "color 13")
|
||||
COLOR_ALIAS(GtkMidiChannelSelector,"gtk_midi_channel_selector", "color 44")
|
||||
COLOR_ALIAS(GtkMidiTrack,"gtk_midi_track", "color 58")
|
||||
COLOR_ALIAS(GtkMonitor,"gtk_monitor", "color 8")
|
||||
COLOR_ALIAS(GtkMono,"gtk_mono", "color 95")
|
||||
COLOR_ALIAS(GtkMute,"gtk_mute", "color 52")
|
||||
COLOR_ALIAS(GtkNotSoBrightIndicator,"gtk_not_so_bright_indicator", "color 32")
|
||||
COLOR_ALIAS(GtkProcessorFader,"gtk_processor_fader", "color 94")
|
||||
COLOR_ALIAS(GtkProcessorFaderFrame,"gtk_processor_fader_frame", "color 104")
|
||||
COLOR_ALIAS(GtkProcessorFrameselected,"gtk_processor_frame_selected", "color 32")
|
||||
COLOR_ALIAS(GtkProcessorPostfader,"gtk_processor_postfader", "color 79")
|
||||
COLOR_ALIAS(GtkProcessorPostfaderFrame,"gtk_processor_postfader_frame", "color 103")
|
||||
COLOR_ALIAS(GtkProcessorPrefader,"gtk_processor_prefader", "color 69")
|
||||
COLOR_ALIAS(GtkProcessorPrefaderFrame,"gtk_processor_prefader_frame", "color 69")
|
||||
COLOR_ALIAS(GtkSendBg,"gtk_send_bg", "color 70")
|
||||
COLOR_ALIAS(GtkSendFg,"gtk_send_fg", "color 24")
|
||||
COLOR_ALIAS(GtkSolo,"gtk_solo", "color 91")
|
||||
COLOR_ALIAS(GtkSomewhatBrightc,"gtk_somewhat_bright_indicator", "color 89")
|
||||
COLOR_ALIAS(GtkTexts,"gtk_texts", "color 50")
|
||||
COLOR_ALIAS(GtkTrackHeaderInactive,"gtk_track_header_inactive", "color 84")
|
||||
COLOR_ALIAS(GtkTrackHeaderSelected,"gtk_track_header_selected", "color 93")
|
||||
COLOR_ALIAS(ImageTrack,"image track","color 31")
|
||||
COLOR_ALIAS(InactiveCrossfade,"inactive crossfade","color 32")
|
||||
COLOR_ALIAS(InactiveFadeHandle,"inactive fade handle","color 33")
|
||||
|
|
|
@ -129,6 +129,46 @@
|
|||
<ColorAlias name="ghost track wave clip" alias="color 29"/>
|
||||
<ColorAlias name="ghost track wave fill" alias="color 29"/>
|
||||
<ColorAlias name="ghost track zero line" alias="color 30"/>
|
||||
<ColorAlias name="gtk_arm" alias="color 9"/>
|
||||
<ColorAlias name="gtk_audio_bus" alias="color 61"/>
|
||||
<ColorAlias name="gtk_audio_track" alias="color 70"/>
|
||||
<ColorAlias name="gtk_automation_track_header" alias="color 42"/>
|
||||
<ColorAlias name="gtk_background" alias="color 12"/>
|
||||
<ColorAlias name="gtk_bases" alias="color 27"/>
|
||||
<ColorAlias name="gtk_bg_selected" alias="color 99"/>
|
||||
<ColorAlias name="gtk_bg_tooltip" alias="color 52"/>
|
||||
<ColorAlias name="gtk_bright_color" alias="color 74"/>
|
||||
<ColorAlias name="gtk_bright_indicator" alias="color 9"/>
|
||||
<ColorAlias name="gtk_contrasting_indicator" alias="color 91"/>
|
||||
<ColorAlias name="gtk_control_base" alias="color 61"/>
|
||||
<ColorAlias name="gtk_control_text" alias="color 26"/>
|
||||
<ColorAlias name="gtk_control_text2" alias="color 83"/>
|
||||
<ColorAlias name="gtk_darkest" alias="color 29"/>
|
||||
<ColorAlias name="gtk_fg_selected" alias="color 18"/>
|
||||
<ColorAlias name="gtk_fg_tooltip" alias="color 29"/>
|
||||
<ColorAlias name="gtk_foreground" alias="color 50"/>
|
||||
<ColorAlias name="gtk_light_text_on_dark" alias="color 31"/>
|
||||
<ColorAlias name="gtk_lightest" alias="color 13"/>
|
||||
<ColorAlias name="gtk_midi_channel_selector" alias="color 44"/>
|
||||
<ColorAlias name="gtk_midi_track" alias="color 58"/>
|
||||
<ColorAlias name="gtk_monitor" alias="color 8"/>
|
||||
<ColorAlias name="gtk_mono" alias="color 95"/>
|
||||
<ColorAlias name="gtk_mute" alias="color 52"/>
|
||||
<ColorAlias name="gtk_not_so_bright_indicator" alias="color 32"/>
|
||||
<ColorAlias name="gtk_processor_fader" alias="color 94"/>
|
||||
<ColorAlias name="gtk_processor_fader_frame" alias="color 104"/>
|
||||
<ColorAlias name="gtk_processor_frame_selected" alias="color 32"/>
|
||||
<ColorAlias name="gtk_processor_postfader" alias="color 79"/>
|
||||
<ColorAlias name="gtk_processor_postfader_frame" alias="color 103"/>
|
||||
<ColorAlias name="gtk_processor_prefader" alias="color 69"/>
|
||||
<ColorAlias name="gtk_processor_prefader_frame" alias="color 69"/>
|
||||
<ColorAlias name="gtk_send_bg" alias="color 70"/>
|
||||
<ColorAlias name="gtk_send_fg" alias="color 24"/>
|
||||
<ColorAlias name="gtk_solo" alias="color 91"/>
|
||||
<ColorAlias name="gtk_somewhat_bright_indicator" alias="color 89"/>
|
||||
<ColorAlias name="gtk_texts" alias="color 50"/>
|
||||
<ColorAlias name="gtk_track_header_inactive" alias="color 84"/>
|
||||
<ColorAlias name="gtk_track_header_selected" alias="color 93"/>
|
||||
<ColorAlias name="image track" alias="color 31"/>
|
||||
<ColorAlias name="inactive crossfade" alias="color 32"/>
|
||||
<ColorAlias name="inactive fade handle" alias="color 33"/>
|
||||
|
|
|
@ -225,6 +225,9 @@ ThemeManager::ThemeManager()
|
|||
set_size_request (-1, 400);
|
||||
setup_theme ();
|
||||
setup_aliases ();
|
||||
|
||||
/* Trigger setting up the GTK color scheme and loading the RC file */
|
||||
ARDOUR_UI::config()->color_theme_changed ();
|
||||
}
|
||||
|
||||
ThemeManager::~ThemeManager()
|
||||
|
@ -326,23 +329,6 @@ ThemeManager::foobar_response (int result)
|
|||
color_dialog.hide ();
|
||||
}
|
||||
|
||||
void
|
||||
load_rc_file (const string& filename, bool themechange)
|
||||
{
|
||||
std::string rc_file_path;
|
||||
|
||||
if (!find_file (ardour_config_search_path(), filename, rc_file_path)) {
|
||||
warning << string_compose (_("Unable to find UI style file %1 in search path %2. %3 will look strange"),
|
||||
filename, ardour_config_search_path().to_string(), PROGRAM_NAME)
|
||||
<< endmsg;
|
||||
return;
|
||||
}
|
||||
|
||||
info << "Loading ui configuration file " << rc_file_path << endmsg;
|
||||
|
||||
Gtkmm2ext::UI::instance()->load_rcfile (rc_file_path, themechange);
|
||||
}
|
||||
|
||||
void
|
||||
ThemeManager::on_flat_buttons_toggled ()
|
||||
{
|
||||
|
@ -413,10 +399,11 @@ ThemeManager::on_dark_theme_button_toggled()
|
|||
{
|
||||
if (!dark_button.get_active()) return;
|
||||
|
||||
ARDOUR_UI::config()->set_ui_rc_file("ui_dark.rc");
|
||||
ARDOUR_UI::config()->set_dirty ();
|
||||
|
||||
load_rc_file (ARDOUR_UI::config()->get_ui_rc_file(), true);
|
||||
UIConfiguration* uic (ARDOUR_UI::config());
|
||||
|
||||
uic->set_ui_rc_file("ui_dark.rc");
|
||||
uic->set_dirty ();
|
||||
uic->load_rc_file (uic->get_ui_rc_file(), true);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -424,8 +411,11 @@ ThemeManager::on_light_theme_button_toggled()
|
|||
{
|
||||
if (!light_button.get_active()) return;
|
||||
|
||||
ARDOUR_UI::config()->set_ui_rc_file("ui_light.rc");
|
||||
load_rc_file (ARDOUR_UI::config()->get_ui_rc_file(), true);
|
||||
UIConfiguration* uic (ARDOUR_UI::config());
|
||||
|
||||
uic->set_ui_rc_file("ui_light.rc");
|
||||
uic->set_dirty ();
|
||||
uic->load_rc_file (uic->get_ui_rc_file(), true);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -492,28 +482,13 @@ ThemeManager::setup_theme ()
|
|||
row[columns.gdkcolor] = col;
|
||||
}
|
||||
|
||||
ColorsChanged.emit();
|
||||
|
||||
bool env_defined = false;
|
||||
string rcfile = Glib::getenv("ARDOUR3_UI_RC", env_defined);
|
||||
|
||||
if(!env_defined) {
|
||||
rcfile = ARDOUR_UI::config()->get_ui_rc_file();
|
||||
}
|
||||
|
||||
if (rcfile == "ui_dark.rc") {
|
||||
dark_button.set_active();
|
||||
} else if (rcfile == "ui_light.rc") {
|
||||
light_button.set_active();
|
||||
}
|
||||
UIConfiguration* uic (ARDOUR_UI::config());
|
||||
|
||||
flat_buttons.set_active (ARDOUR_UI::config()->get_flat_buttons());
|
||||
blink_rec_button.set_active (ARDOUR_UI::config()->get_blink_rec_arm());
|
||||
waveform_gradient_depth.set_value (ARDOUR_UI::config()->get_waveform_gradient_depth());
|
||||
timeline_item_gradient_depth.set_value (ARDOUR_UI::config()->get_timeline_item_gradient_depth());
|
||||
all_dialogs.set_active (ARDOUR_UI::config()->get_all_floating_windows_are_dialogs());
|
||||
|
||||
load_rc_file(rcfile, false);
|
||||
flat_buttons.set_active (uic->get_flat_buttons());
|
||||
blink_rec_button.set_active (uic->get_blink_rec_arm());
|
||||
waveform_gradient_depth.set_value (uic->get_waveform_gradient_depth());
|
||||
timeline_item_gradient_depth.set_value (uic->get_timeline_item_gradient_depth());
|
||||
all_dialogs.set_active (uic->get_all_floating_windows_are_dialogs());
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -521,9 +496,7 @@ ThemeManager::reset_canvas_colors()
|
|||
{
|
||||
ARDOUR_UI::config()->load_defaults();
|
||||
setup_theme ();
|
||||
/* mark dirty ... */
|
||||
ARDOUR_UI::config()->set_dirty ();
|
||||
/* but save it immediately */
|
||||
ARDOUR_UI::config()->save_state ();
|
||||
}
|
||||
|
||||
|
|
|
@ -17,11 +17,14 @@
|
|||
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <unistd.h>
|
||||
#include <cstdlib>
|
||||
#include <cstdio> /* for snprintf, grrr */
|
||||
|
||||
#include <glibmm/miscutils.h>
|
||||
#include <glib/gstdio.h>
|
||||
|
||||
#include "pbd/failed_constructor.h"
|
||||
#include "pbd/xml++.h"
|
||||
|
@ -30,6 +33,7 @@
|
|||
#include "pbd/stacktrace.h"
|
||||
|
||||
#include "gtkmm2ext/rgb_macros.h"
|
||||
#include "gtkmm2ext/gtk_ui.h"
|
||||
|
||||
#include "ardour/filesystem_paths.h"
|
||||
|
||||
|
@ -72,7 +76,9 @@ UIConfiguration::UIConfiguration ()
|
|||
|
||||
_dirty (false),
|
||||
aliases_modified (false),
|
||||
derived_modified (false)
|
||||
derived_modified (false),
|
||||
_saved_state_node (""),
|
||||
_saved_state_version (-1)
|
||||
|
||||
{
|
||||
_instance = this;
|
||||
|
@ -105,6 +111,55 @@ UIConfiguration::~UIConfiguration ()
|
|||
{
|
||||
}
|
||||
|
||||
void
|
||||
UIConfiguration::color_theme_changed ()
|
||||
{
|
||||
_dirty = true;
|
||||
|
||||
reset_gtk_theme ();
|
||||
|
||||
/* reload the RC file, which will trigger gtk_rc_reset_styles().
|
||||
It would be nice if simply resetting the color scheme
|
||||
or even just calling gtk_rc_reset_styles() would do this
|
||||
for us, but it appears that we actually have to reload
|
||||
the RC file for it all to work.
|
||||
*/
|
||||
|
||||
bool env_defined = false;
|
||||
string rcfile = Glib::getenv("ARDOUR3_UI_RC", env_defined);
|
||||
|
||||
if (!env_defined) {
|
||||
rcfile = ARDOUR_UI::config()->get_ui_rc_file();
|
||||
}
|
||||
|
||||
load_rc_file (rcfile, true);
|
||||
}
|
||||
|
||||
void
|
||||
UIConfiguration::reset_gtk_theme ()
|
||||
{
|
||||
stringstream ss;
|
||||
|
||||
ss << "gtk_color_scheme = \"" << hex;
|
||||
|
||||
for (ColorAliases::iterator g = color_aliases.begin(); g != color_aliases.end(); ++g) {
|
||||
|
||||
if (g->first.find ("gtk_") == 0) {
|
||||
ColorAliases::const_iterator a = color_aliases.find (g->first);
|
||||
const string gtk_name = g->first.substr (4);
|
||||
ss << gtk_name << ":#" << std::setw (6) << setfill ('0') << (color (g->second) >> 8) << ';';
|
||||
}
|
||||
}
|
||||
|
||||
ss << '"' << dec << endl;
|
||||
|
||||
/* reset GTK color scheme */
|
||||
|
||||
cerr << "Reset gtk color scheme\n";
|
||||
|
||||
Gtk::Settings::get_default()->property_gtk_color_scheme() = ss.str();
|
||||
}
|
||||
|
||||
UIConfiguration::RelativeHSV
|
||||
UIConfiguration::color_as_relative_hsv (Color c)
|
||||
{
|
||||
|
@ -165,24 +220,6 @@ UIConfiguration::color_as_relative_hsv (Color c)
|
|||
return RelativeHSV (closest_name, delta);
|
||||
}
|
||||
|
||||
void
|
||||
UIConfiguration::color_theme_changed ()
|
||||
{
|
||||
return;
|
||||
|
||||
map<std::string,RelativeHSV>::iterator current_color;
|
||||
|
||||
/* we need to reset the quantized hues before we start, because
|
||||
* otherwise when we call RelativeHSV::get() in color_compute()
|
||||
* we don't get an answer based on the new base colors, but instead
|
||||
* based on any existing hue quantization.
|
||||
*/
|
||||
|
||||
for (current_color = relative_colors.begin(); current_color != relative_colors.end(); ++current_color) {
|
||||
current_color->second.quantized_hue = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
UIConfiguration::map_parameters (boost::function<void (std::string)>& functor)
|
||||
{
|
||||
|
@ -202,7 +239,7 @@ UIConfiguration::load_defaults ()
|
|||
XMLTree tree;
|
||||
found = 1;
|
||||
|
||||
info << string_compose (_("Loading default ui configuration file %1"), rcfile) << endl;
|
||||
info << string_compose (_("Loading default ui configuration file %1"), rcfile) << endmsg;
|
||||
|
||||
if (!tree.read (rcfile.c_str())) {
|
||||
error << string_compose(_("cannot read default ui configuration file \"%1\""), rcfile) << endmsg;
|
||||
|
@ -213,10 +250,15 @@ UIConfiguration::load_defaults ()
|
|||
error << string_compose(_("default ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
_dirty = false;
|
||||
}
|
||||
|
||||
|
||||
cerr << "\n\n\nUIC defaults reloaded, now emitting ColorsChanged\n";
|
||||
|
||||
ARDOUR_UI_UTILS::ColorsChanged ();
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
|
@ -242,6 +284,8 @@ UIConfiguration::load_state ()
|
|||
error << string_compose(_("default ui configuration file \"%1\" not loaded successfully."), rcfile) << endmsg;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* make a copy */
|
||||
}
|
||||
|
||||
if (find_file (ardour_config_search_path(), ui_config_file_name, rcfile)) {
|
||||
|
@ -267,6 +311,10 @@ UIConfiguration::load_state ()
|
|||
error << _("could not find any ui configuration file, canvas will look broken.") << endmsg;
|
||||
}
|
||||
|
||||
cerr << "\n\n\nUIC loaded state, now emitting ColorsChanged\n";
|
||||
|
||||
ARDOUR_UI_UTILS::ColorsChanged ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -275,6 +323,10 @@ UIConfiguration::save_state()
|
|||
{
|
||||
XMLTree tree;
|
||||
|
||||
if (!dirty()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::string rcfile(user_config_directory());
|
||||
rcfile = Glib::build_filename (rcfile, ui_config_file_name);
|
||||
|
||||
|
@ -368,12 +420,19 @@ UIConfiguration::set_state (const XMLNode& root, int /*version*/)
|
|||
}
|
||||
}
|
||||
|
||||
XMLNode* relative = find_named_node (root, X_("RelativeColors"));
|
||||
|
||||
if (relative) {
|
||||
// load_relative_colors (*relative);
|
||||
}
|
||||
|
||||
|
||||
XMLNode* aliases = find_named_node (root, X_("ColorAliases"));
|
||||
|
||||
if (aliases) {
|
||||
load_color_aliases (*aliases);
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -400,6 +459,32 @@ UIConfiguration::load_color_aliases (XMLNode const & node)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
void
|
||||
UIConfiguration::load_relative_colors (XMLNode const & node)
|
||||
{
|
||||
XMLNodeList const nlist = node.children();
|
||||
XMLNodeConstIterator niter;
|
||||
XMLProperty const *name;
|
||||
XMLProperty const *alias;
|
||||
|
||||
color_aliases.clear ();
|
||||
|
||||
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
|
||||
if ((*niter)->name() != X_("RelativeColor")) {
|
||||
continue;
|
||||
}
|
||||
name = (*niter)->property (X_("name"));
|
||||
alias = (*niter)->property (X_("alias"));
|
||||
|
||||
if (name && alias) {
|
||||
color_aliases.insert (make_pair (name->value(), alias->value()));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
void
|
||||
UIConfiguration::set_variables (const XMLNode& node)
|
||||
{
|
||||
|
@ -436,7 +521,7 @@ UIConfiguration::set_dirty ()
|
|||
bool
|
||||
UIConfiguration::dirty () const
|
||||
{
|
||||
return _dirty;
|
||||
return _dirty || aliases_modified || derived_modified;
|
||||
}
|
||||
|
||||
ArdourCanvas::Color
|
||||
|
@ -558,9 +643,27 @@ UIConfiguration::set_alias (string const & name, string const & alias)
|
|||
return;
|
||||
}
|
||||
|
||||
cerr << "Reset alias for " << name << " to " << alias << endl;
|
||||
|
||||
i->second = alias;
|
||||
aliases_modified = true;
|
||||
|
||||
ARDOUR_UI_UTILS::ColorsChanged (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
UIConfiguration::load_rc_file (const string& filename, bool themechange)
|
||||
{
|
||||
std::string rc_file_path;
|
||||
|
||||
if (!find_file (ardour_config_search_path(), filename, rc_file_path)) {
|
||||
warning << string_compose (_("Unable to find UI style file %1 in search path %2. %3 will look strange"),
|
||||
filename, ardour_config_search_path().to_string(), PROGRAM_NAME)
|
||||
<< endmsg;
|
||||
return;
|
||||
}
|
||||
|
||||
info << "Loading ui configuration file " << rc_file_path << endmsg;
|
||||
|
||||
Gtkmm2ext::UI::instance()->load_rcfile (rc_file_path, themechange);
|
||||
}
|
||||
|
|
|
@ -109,6 +109,10 @@ class UIConfiguration : public PBD::Stateful
|
|||
int save_state ();
|
||||
int load_defaults ();
|
||||
|
||||
void color_theme_changed ();
|
||||
|
||||
static void load_rc_file (std::string const &, bool themechange);
|
||||
|
||||
int set_state (const XMLNode&, int version);
|
||||
XMLNode& get_state (void);
|
||||
XMLNode& get_variables (std::string);
|
||||
|
@ -185,9 +189,11 @@ class UIConfiguration : public PBD::Stateful
|
|||
|
||||
static UIConfiguration* _instance;
|
||||
|
||||
void color_theme_changed ();
|
||||
|
||||
void load_color_aliases (XMLNode const &);
|
||||
void reset_gtk_theme ();
|
||||
|
||||
XMLNode _saved_state_node;
|
||||
int _saved_state_version;
|
||||
};
|
||||
|
||||
#endif /* __ardour_ui_configuration_h__ */
|
||||
|
|
Loading…
Reference in New Issue