From c56d309bd779c5a10be44c1ced6424c1b518c22f 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 --- 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 68e3a2ee55..510cdcc849 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -748,6 +748,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)); TimeAxisView::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Editor::timeaxisview_deleted, this, _1), gui_context()); @@ -5437,3 +5438,11 @@ Editor::zoom_vertical_modifier_released() { _stepping_axis_view = 0; } + +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 df01fccc44..d520452f82 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -702,6 +702,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 8b0a9bdd56..cd90427688 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 { -- 2.30.2