From 5fea87ead621a85a5cad62b04eebd2a68078c6e5 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 10 Jun 2014 14:39:08 -0400 Subject: [PATCH] make the icon set selector actually do something Conflicts: gtk2_ardour/editor.cc --- gtk2_ardour/editor.cc | 9 +++++++++ gtk2_ardour/editor.h | 1 + gtk2_ardour/theme_manager.cc | 8 ++++++++ gtk2_ardour/theme_manager.h | 1 + 4 files changed, 19 insertions(+) diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index cf97e10201..a71c127e52 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -750,6 +750,7 @@ Editor::Editor () Session::AskAboutPlaylistDeletion.connect_same_thread (*this, boost::bind (&Editor::playlist_deletion_dialog, this, _1)); Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&Editor::parameter_changed, this, _1), gui_context()); + ARDOUR_UI::config()->ParameterChanged.connect (sigc::mem_fun (*this, &Editor::ui_parameter_changed)); ARDOUR_UI::config()->ParameterChanged.connect (sigc::mem_fun (*this, &Editor::on_ardour_ui_config_changed)); @@ -5567,3 +5568,11 @@ Editor::output_connection_mode_changed () track_selection_changed (); } + +void +Editor::ui_parameter_changed (string parameter) +{ + if (parameter == "icon-set") { + _cursors->set_cursor_set (ARDOUR_UI::config()->get_icon_set()); + } +} diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index eb28c777d4..28cc024237 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -711,6 +711,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD VerboseCursor* _verbose_cursor; void parameter_changed (std::string); + void ui_parameter_changed (std::string); bool track_canvas_motion (GdkEvent*); diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc index 8c9a039453..454a5da67c 100644 --- a/gtk2_ardour/theme_manager.cc +++ b/gtk2_ardour/theme_manager.cc @@ -167,6 +167,7 @@ ThemeManager::ThemeManager() waveform_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_waveform_gradient_depth_change)); timeline_item_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_timeline_item_gradient_depth_change)); all_dialogs.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_all_dialogs_toggled)); + icon_set_dropdown.signal_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_icon_set_changed)); Gtkmm2ext::UI::instance()->set_tip (all_dialogs, string_compose (_("Mark all floating windows to be type \"Dialog\" rather than using \"Utility\" for some.\n" @@ -348,6 +349,13 @@ ThemeManager::on_timeline_item_gradient_depth_change () ARDOUR_UI::config()->set_dirty (); } +void +ThemeManager::on_icon_set_changed () +{ + string new_set = icon_set_dropdown.get_active_text(); + ARDOUR_UI::config()->set_icon_set (new_set); +} + void ThemeManager::on_dark_theme_button_toggled() { diff --git a/gtk2_ardour/theme_manager.h b/gtk2_ardour/theme_manager.h index a943fba308..50de453118 100644 --- a/gtk2_ardour/theme_manager.h +++ b/gtk2_ardour/theme_manager.h @@ -49,6 +49,7 @@ class ThemeManager : public ArdourWindow void on_waveform_gradient_depth_change (); void on_timeline_item_gradient_depth_change (); void on_all_dialogs_toggled (); + void on_icon_set_changed (); private: struct ColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {