From cd94ffdebeed91af1a8fabf4c048ddf2427f0544 Mon Sep 17 00:00:00 2001 From: Nikolay Polyanovskii Date: Mon, 2 Jun 2014 10:08:12 -0500 Subject: [PATCH] [Summary] Add buttons "Name tracks after driver" and "Reset tracks name to default" in Preference Panel [Reviewed] GZharun [git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 465180] --- gtk2_ardour/tracks_control_panel.cc | 4 +- gtk2_ardour/tracks_control_panel.h | 4 +- gtk2_ardour/tracks_control_panel.logic.cc | 85 +++++++++++++++++++++-- gtk2_ardour/tracks_control_panel.logic.h | 2 + gtk2_ardour/ui/tracks_preferences.xml | 4 +- libs/ardour/session.cc | 34 ++++++++- 6 files changed, 121 insertions(+), 12 deletions(-) diff --git a/gtk2_ardour/tracks_control_panel.cc b/gtk2_ardour/tracks_control_panel.cc index f4ce7a39a5..e52228886c 100644 --- a/gtk2_ardour/tracks_control_panel.cc +++ b/gtk2_ardour/tracks_control_panel.cc @@ -79,8 +79,6 @@ TracksControlPanel::TracksControlPanel () , _apply_button (named_children ().get_waves_button ("apply_button")) , _control_panel_button (named_children ().get_waves_button ("control_panel_button")) , _no_button (named_children ().get_waves_button ("no_button")) - , _name_track_after_driver_button (named_children ().get_waves_button ("name_track_after_driver_button")) - , _reset_track_names_button (named_children ().get_waves_button ("reset_track_names_button")) , _yes_button (named_children ().get_waves_button ("yes_button")) , _engine_combo (named_children ().get_combo_box_text ("engine_combo")) , _device_combo (named_children ().get_combo_box_text ("device_combo")) @@ -90,6 +88,8 @@ TracksControlPanel::TracksControlPanel () , _default_open_path (named_children ().get_label("default_open_path")) , _multi_out_button(named_children ().get_waves_button ("multi_out_button")) , _stereo_out_button(named_children ().get_waves_button ("stereo_out_button")) + , _name_tracks_after_driver(named_children ().get_waves_button ("name_tracks_after_driver_button")) + , _reset_tracks_name_to_default(named_children ().get_waves_button ("reset_tracks_name_to_default_button")) , _browse_button(named_children ().get_waves_button("browse_default_folder")) , _have_control (false) , _ignore_changes (0) diff --git a/gtk2_ardour/tracks_control_panel.h b/gtk2_ardour/tracks_control_panel.h index 9b2978954c..722f3a9631 100644 --- a/gtk2_ardour/tracks_control_panel.h +++ b/gtk2_ardour/tracks_control_panel.h @@ -63,10 +63,10 @@ class TracksControlPanel : public WavesDialog, public PBD::ScopedConnectionList WavesButton& _apply_button; WavesButton& _control_panel_button; WavesButton& _no_button; - WavesButton& _name_track_after_driver_button; - WavesButton& _reset_track_names_button; WavesButton& _yes_button; WavesButton& _browse_button; + WavesButton& _name_tracks_after_driver; + WavesButton& _reset_tracks_name_to_default; Gtk::ComboBoxText& _engine_combo; Gtk::ComboBoxText& _device_combo; Gtk::ComboBoxText& _sample_rate_combo; diff --git a/gtk2_ardour/tracks_control_panel.logic.cc b/gtk2_ardour/tracks_control_panel.logic.cc index 73993a4596..e00a692bf2 100644 --- a/gtk2_ardour/tracks_control_panel.logic.cc +++ b/gtk2_ardour/tracks_control_panel.logic.cc @@ -99,6 +99,10 @@ TracksControlPanel::init () _sample_rate_combo.signal_changed().connect (sigc::mem_fun (*this, &TracksControlPanel::sample_rate_changed)); _buffer_size_combo.signal_changed().connect (sigc::mem_fun (*this, &TracksControlPanel::buffer_size_changed)); + _name_tracks_after_driver.signal_clicked.connect(sigc::mem_fun (*this, &TracksControlPanel::on_name_tracks_after_driver)); + _reset_tracks_name_to_default.signal_clicked.connect(sigc::mem_fun (*this, &TracksControlPanel::on_reset_tracks_name_to_default)); + + populate_engine_combo (); populate_output_mode(); @@ -458,8 +462,7 @@ void TracksControlPanel::device_changed (bool show_confirm_dial/*=true*/) true); msg.set_position (Gtk::WIN_POS_MOUSE); - - set_keep_above(false); + msg.set_keep_above(true); switch (msg.run()) { case RESPONSE_NO: @@ -467,11 +470,10 @@ void TracksControlPanel::device_changed (bool show_confirm_dial/*=true*/) PBD::Unwinder protect_ignore_changes (_ignore_changes, _ignore_changes + 1); _device_combo.set_active_text (EngineStateController::instance()->get_current_device_name()); - set_keep_above(true); + return; } - set_keep_above(true); } if (EngineStateController::instance()->set_new_device_as_current(device_name) ) @@ -497,6 +499,78 @@ TracksControlPanel::on_all_inputs_on_button(WavesButton*) EngineStateController::instance()->set_state_to_all_inputs(true); } +void +TracksControlPanel::on_name_tracks_after_driver(WavesButton*) +{ + if( Config->get_tracks_auto_naming() == NameAfterDriver ) + { + std::string message = _("Current mode is already active"); + MessageDialog msg (message, + false, + Gtk::MESSAGE_WARNING, + Gtk::BUTTONS_OK, + true); + + msg.set_position (Gtk::WIN_POS_MOUSE); + + msg.set_keep_above(true); + msg.run(); + + return; + } + + std::string message = _("Do you realy want to switch tracks naming?"); + MessageDialog msg (message, + false, + Gtk::MESSAGE_WARNING, + Gtk::BUTTONS_YES_NO, + true); + + msg.set_position (Gtk::WIN_POS_MOUSE); + msg.set_keep_above(true); + + switch (msg.run()) { + case RESPONSE_YES: + Config->set_tracks_auto_naming(NameAfterDriver); + } +} + +void +TracksControlPanel::on_reset_tracks_name_to_default(WavesButton*) +{ + if( Config->get_tracks_auto_naming() == UseDefaultNames ) + { + std::string message = _("Current mode is already active"); + MessageDialog msg (message, + false, + Gtk::MESSAGE_WARNING, + Gtk::BUTTONS_OK, + true); + + msg.set_position (Gtk::WIN_POS_MOUSE); + + msg.set_keep_above(true); + msg.run(); + + return; + } + + std::string message = _("Do you realy want to switch tracks naming?"); + MessageDialog msg (message, + false, + Gtk::MESSAGE_WARNING, + Gtk::BUTTONS_YES_NO, + true); + + msg.set_position (Gtk::WIN_POS_MOUSE); + msg.set_keep_above(true); + + switch (msg.run()) { + case RESPONSE_YES: + Config->set_tracks_auto_naming(UseDefaultNames); + } +} + void TracksControlPanel::on_all_inputs_off_button(WavesButton*) { @@ -762,7 +836,7 @@ TracksControlPanel::on_device_list_update (bool current_device_disconnected) populate_device_combo(); if (current_device_disconnected) { - std::string message = _("Audio Device Has Been Removed"); + std::string message = _("Audio device has been removed"); MessageDialog msg (message, false, @@ -771,6 +845,7 @@ TracksControlPanel::on_device_list_update (bool current_device_disconnected) true); msg.set_position (Gtk::WIN_POS_MOUSE); + msg.set_keep_above(true); msg.run(); return; diff --git a/gtk2_ardour/tracks_control_panel.logic.h b/gtk2_ardour/tracks_control_panel.logic.h index fca04f9a0d..ea45ebc044 100644 --- a/gtk2_ardour/tracks_control_panel.logic.h +++ b/gtk2_ardour/tracks_control_panel.logic.h @@ -89,6 +89,8 @@ void on_all_inputs_off_button(WavesButton*); void on_all_outputs_on_button(WavesButton*); void on_all_outputs_off_button(WavesButton*); + void on_name_tracks_after_driver(WavesButton*); + void on_reset_tracks_name_to_default(WavesButton*); void engine_changed (); void device_changed (bool show_confirm_dial); diff --git a/gtk2_ardour/ui/tracks_preferences.xml b/gtk2_ardour/ui/tracks_preferences.xml index 4095b02b8e..d9c4d637f5 100644 --- a/gtk2_ardour/ui/tracks_preferences.xml +++ b/gtk2_ardour/ui/tracks_preferences.xml @@ -207,12 +207,12 @@