From 8f67c60703a537f50c2cbe261ae98873b597c700 Mon Sep 17 00:00:00 2001 From: VKamyshniy Date: Tue, 16 Dec 2014 14:53:45 +0200 Subject: [PATCH] [Commit] Introducing track color dialog --- gtk2_ardour/ardour_ui.cc | 2 ++ gtk2_ardour/ardour_ui.h | 11 ++++++++--- gtk2_ardour/ardour_ui_ed.cc | 14 ++++++++++++++ gtk2_ardour/editor_mixer.cc | 1 + gtk2_ardour/route_time_axis.cc | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 3277a0e4ec..494d494c4b 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -205,6 +205,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) , _add_tracks_dialog(new AddTracksDialog()) , session_lock_dialog (X_("session-lock-dialog"), _("System Lock")) , marker_inspector_dialog (X_("marker-inspector-dialog"), _("Marker Inspector")) + , track_color_dialog (X_("track_color-dialog"), _("Marker Inspector")) , session_option_editor (X_("session-options-editor"), _("Properties"), boost::bind (&ARDOUR_UI::create_session_option_editor, this)) , add_video_dialog (X_("add-video"), _("Add Tracks/Busses"), boost::bind (&ARDOUR_UI::create_add_video_dialog, this)) , bundle_manager (X_("bundle-manager"), _("Bundle Manager"), boost::bind (&ARDOUR_UI::create_bundle_manager, this)) @@ -385,6 +386,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) WM::Manager::instance().register_window (&tracks_control_panel); WM::Manager::instance().register_window (&session_lock_dialog); WM::Manager::instance().register_window (&marker_inspector_dialog); + WM::Manager::instance().register_window (&track_color_dialog); WM::Manager::instance().register_window (&bundle_manager); WM::Manager::instance().register_window (&location_ui); WM::Manager::instance().register_window (&big_clock_window); diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 78a968c1f4..9868adbc4c 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -76,6 +76,7 @@ #include "tracks_control_panel.h" #include "marker_inspector_dialog.h" #include "waves_message_dialog.h" +#include "waves_track_color_dialog.h" #include "ui_config.h" #include "enums.h" #include "visibility_group.h" @@ -100,6 +101,7 @@ #include "time.h" struct MarkerSelection; +class TrackSelection; class VideoTimeLine; class ArdourKeyboard; class AudioClock; @@ -341,10 +343,10 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void reset_route_peak_display (ARDOUR::Route*); void reset_group_peak_display (ARDOUR::RouteGroup*); - const std::string& announce_string() const { return _announce_string; } + const std::string& announce_string() const { return _announce_string; } - int disconnect_from_engine (); - int reconnect_to_engine (); + int disconnect_from_engine (); + int reconnect_to_engine (); void set_sample_format(ARDOUR::SampleFormat sf) {_sample_format = sf;} void set_header_format(ARDOUR::HeaderFormat hf) {_header_format = hf;} @@ -356,7 +358,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr bool session_auto_save_is_allowed() const; void update_marker_inspector (MarkerSelection*); + void update_track_color_dialog (boost::shared_ptr route); void show_marker_inspector(); + void show_track_color_dialog(); protected: friend class PublicEditor; @@ -662,6 +666,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr WM::Proxy tracks_control_panel; WM::Proxy session_lock_dialog; WM::Proxy marker_inspector_dialog; + WM::Proxy track_color_dialog; /* Windows/Dialogs that require a creator method */ diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index ff39bf3088..c9ff453fbb 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -1002,8 +1002,22 @@ ARDOUR_UI::update_marker_inspector (MarkerSelection* markers) } } +void +ARDOUR_UI::update_track_color_dialog (boost::shared_ptr route) +{ + track_color_dialog->set_route (route); +} + void ARDOUR_UI::show_marker_inspector () { + marker_inspector_dialog->set_position (Gtk::WIN_POS_MOUSE); marker_inspector_dialog->show(); } + +void +ARDOUR_UI::show_track_color_dialog () +{ + track_color_dialog->set_position (Gtk::WIN_POS_MOUSE); + track_color_dialog->show(); +} diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc index 20826ae6c2..4ce7266d2f 100644 --- a/gtk2_ardour/editor_mixer.cc +++ b/gtk2_ardour/editor_mixer.cc @@ -263,6 +263,7 @@ Editor::set_selected_mixer_strip (TimeAxisView& view) if (route) { current_mixer_strip->set_route (route); + ARDOUR_UI::instance()->update_track_color_dialog (route); } } diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 3460c92c51..224e91b45c 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -421,7 +421,7 @@ RouteTimeAxisView::build_display_menu () MenuList& items = display_menu->items(); display_menu->set_name ("ArdourContextMenu"); - items.push_back (MenuElem (_("Color..."), sigc::mem_fun (*this, &RouteUI::choose_color))); + items.push_back (MenuElem (_("Color..."), sigc::mem_fun (*(ARDOUR_UI::instance()), &ARDOUR_UI::show_track_color_dialog))); if (_size_menu) { detach_menu (*_size_menu);