From a6517a01902370e6c6dfa3e4a153e214b68cf4a7 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 8 Jun 2011 19:48:57 +0000 Subject: [PATCH] move punch in/out buttons into time info box; remove rounded corners on clocks git-svn-id: svn://localhost/ardour2/branches/3.0@9691 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/ardour3_ui_dark.rc.in | 10 ++++++++++ gtk2_ardour/ardour_ui.cc | 2 -- gtk2_ardour/ardour_ui.h | 2 -- gtk2_ardour/ardour_ui2.cc | 11 ----------- gtk2_ardour/ardour_ui_ed.cc | 3 +++ gtk2_ardour/audio_clock.cc | 4 ++++ gtk2_ardour/time_info_box.cc | 20 ++++++++++++++++++++ gtk2_ardour/time_info_box.h | 10 +++++----- 8 files changed, 42 insertions(+), 20 deletions(-) diff --git a/gtk2_ardour/ardour3_ui_dark.rc.in b/gtk2_ardour/ardour3_ui_dark.rc.in index 25e0694c8f..dcde2d3ea1 100644 --- a/gtk2_ardour/ardour3_ui_dark.rc.in +++ b/gtk2_ardour/ardour3_ui_dark.rc.in @@ -355,6 +355,15 @@ style "very_small_red_active_and_selected_button" = "very_small_button" bg[SELECTED] = @@COLPREFIX@_bright_indicator } +style "punch_button" = "very_small_red_active_and_selected_button" +{ + font_name = "@FONT_SMALLER@" + + fg[ACTIVE] = @@COLPREFIX@_darkest + bg[ACTIVE] = @@COLPREFIX@_bright_indicator + bg[SELECTED] = @@COLPREFIX@_bright_indicator +} + style "small_red_active_and_selected_button" = "small_button" { fg[ACTIVE] = @@COLPREFIX@_darkest @@ -1888,6 +1897,7 @@ widget "*TimeInfoSelectionTitle" style:highest "very_small_bright_when_active" widget "*TimeInfoSelectionLabel" style:highest "very_small_bright_when_active" widget "*TimeInfoPunchTitle" style:highest "very_small_bright_when_active" widget "*TimeInfoPunchLabel" style:highest "very_small_bright_when_active" +widget "*TimeInfoPunchButton" style:highest "punch_button" widget "*RouteNameEditorEntry" style:highest "text_cell_entry" widget "*RegionNameEditorEntry" style:highest "text_cell_entry" diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index eefa3b9901..0230d5ce4a 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -165,8 +165,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[]) , play_selection_button (play_selection_controllable) , rec_button (rec_controllable) - , punch_in_button (_("Punch In")) - , punch_out_button (_("Punch Out")) , auto_return_button (_("Auto Return")) , auto_play_button (_("Auto Play")) , auto_input_button (_("Auto Input")) diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 0b22928c56..fb44b853dd 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -432,8 +432,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr ShuttleControl* shuttle_box; - Gtkmm2ext::StatefulToggleButton punch_in_button; - Gtkmm2ext::StatefulToggleButton punch_out_button; Gtkmm2ext::StatefulToggleButton auto_return_button; Gtkmm2ext::StatefulToggleButton auto_play_button; Gtkmm2ext::StatefulToggleButton auto_input_button; diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index c74db60def..5c2ca58087 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -136,8 +136,6 @@ ARDOUR_UI::setup_tooltips () set_tip (auto_return_button, _("Return to last playback start when stopped")); set_tip (auto_play_button, _("Start playback after any locate")); set_tip (auto_input_button, _("Be sensible about input monitoring")); - set_tip (punch_in_button, _("Start recording at auto-punch start")); - set_tip (punch_out_button, _("Stop recording at auto-punch end")); set_tip (click_button, _("Enable/Disable audio click")); set_tip (time_master_button, string_compose (_("Does %1 control the time?"), PROGRAM_NAME)); set_tip (solo_alert_button, _("When active, something is soloed.\nClick to de-solo everything")); @@ -250,8 +248,6 @@ ARDOUR_UI::setup_transport () auto_return_button.set_name ("TransportButton"); auto_play_button.set_name ("TransportButton"); auto_input_button.set_name ("TransportButton"); - punch_in_button.set_name ("TransportButton"); - punch_out_button.set_name ("TransportButton"); click_button.set_name ("TransportButton"); time_master_button.set_name ("TransportButton"); sync_button.set_name ("TransportSyncButton"); @@ -328,8 +324,6 @@ ARDOUR_UI::setup_transport () ActionManager::get_action ("Transport", "ToggleAutoPlay")->connect_proxy (auto_play_button); ActionManager::get_action ("Transport", "ToggleAutoInput")->connect_proxy (auto_input_button); ActionManager::get_action ("Transport", "ToggleClick")->connect_proxy (click_button); - ActionManager::get_action ("Transport", "TogglePunchIn")->connect_proxy (punch_in_button); - ActionManager::get_action ("Transport", "TogglePunchOut")->connect_proxy (punch_out_button); click_button.signal_button_press_event().connect (sigc::mem_fun (*this, &ARDOUR_UI::click_button_clicked), false); @@ -420,11 +414,6 @@ ARDOUR_UI::setup_transport () HBox* toggle_box = manage(new HBox); - VBox* punch_box = manage (new VBox); - punch_box->pack_start (punch_in_button, false, false); - punch_box->pack_start (punch_out_button, false, false); - toggle_box->pack_start (*punch_box, false, false); - VBox* auto_box = manage (new VBox); auto_box->pack_start (auto_play_button, false, false); auto_box->pack_start (auto_return_button, false, false); diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 98da8d21f9..8dfbfef750 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -373,12 +373,15 @@ ARDOUR_UI::install_actions () ActionManager::session_sensitive_actions.push_back (act); act = ActionManager::register_toggle_action (transport_actions, X_("TogglePunchIn"), _("Punch In"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_punch_in)); + act->set_short_label (_("In")); ActionManager::session_sensitive_actions.push_back (act); ActionManager::transport_sensitive_actions.push_back (act); act = ActionManager::register_toggle_action (transport_actions, X_("TogglePunchOut"), _("Punch Out"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_punch_out)); + act->set_short_label (_("Out")); ActionManager::session_sensitive_actions.push_back (act); ActionManager::transport_sensitive_actions.push_back (act); act = ActionManager::register_toggle_action (transport_actions, X_("TogglePunch"), _("Punch In/Out"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_punch)); + act->set_short_label (_("In/Out")); ActionManager::session_sensitive_actions.push_back (act); ActionManager::transport_sensitive_actions.push_back (act); act = ActionManager::register_toggle_action (transport_actions, X_("ToggleClick"), _("Click"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_click)); diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc index 4b70f420ab..0a7ccd4125 100644 --- a/gtk2_ardour/audio_clock.cc +++ b/gtk2_ardour/audio_clock.cc @@ -109,6 +109,7 @@ AudioClock::AudioClock (const string& clock_name, bool transient, const string& /* basic per-mode editable text "arrays" */ display = new CairoEditableText (); + display->set_corner_radius (0); _fixed_cells[Colon1] = new CairoCharCell (Colon1, ':'); _fixed_cells[Colon2] = new CairoCharCell (Colon2, ':'); @@ -146,6 +147,9 @@ AudioClock::AudioClock (const string& clock_name, bool transient, const string& supplemental_left = new CairoEditableText (); supplemental_right = new CairoEditableText (); + supplemental_left->set_corner_radius (0); + supplemental_right->set_corner_radius (0); + /* field lengths of these cells will be set dynamically by ::set_mode() */ diff --git a/gtk2_ardour/time_info_box.cc b/gtk2_ardour/time_info_box.cc index 750ce9cea7..315767313f 100644 --- a/gtk2_ardour/time_info_box.cc +++ b/gtk2_ardour/time_info_box.cc @@ -23,6 +23,8 @@ #include "gtkmm2ext/cairocell.h" #include "gtkmm2ext/gui_thread.h" #include "gtkmm2ext/utils.h" +#include "gtkmm2ext/stateful_button.h" +#include "gtkmm2ext/actions.h" #include "ardour/location.h" #include "ardour/session.h" @@ -42,6 +44,8 @@ TimeInfoBox::TimeInfoBox () : Table (4, 4) , syncing_selection (false) , syncing_punch (false) + , punch_in_button (_("In")) + , punch_out_button (_("Out")) { selection_start = new AudioClock ("selection-start", false, "SelectionClockDisplay", false, false, false, false); selection_end = new AudioClock ("selection-end", false, "SelectionClockDisplay", false, false, false, false); @@ -117,6 +121,22 @@ TimeInfoBox::TimeInfoBox () attach (*l, 2, 3, 2, 3, FILL); attach (*punch_end, 3, 4, 2, 3); + punch_in_button.set_name ("TimeInfoPunchButton"); + punch_out_button.set_name ("TimeInfoPunchButton"); + punch_button_box.set_homogeneous (true); + punch_button_box.set_spacing (6); + punch_button_box.set_border_width (2); + punch_button_box.pack_start (punch_in_button, true, true); + punch_button_box.pack_start (punch_out_button, true, true); + + ActionManager::get_action ("Transport", "TogglePunchIn")->connect_proxy (punch_in_button); + ActionManager::get_action ("Transport", "TogglePunchOut")->connect_proxy (punch_out_button); + + Gtkmm2ext::UI::instance()->set_tip (punch_in_button, _("Start recording at auto-punch start")); + Gtkmm2ext::UI::instance()->set_tip (punch_out_button, _("Stop recording at auto-punch end")); + + attach (punch_button_box, 2, 4, 3, 4, FILL, FILL); + show_all (); selection_start->mode_changed.connect (sigc::bind (sigc::mem_fun (*this, &TimeInfoBox::sync_selection_mode), selection_start)); diff --git a/gtk2_ardour/time_info_box.h b/gtk2_ardour/time_info_box.h index 5be6a0e45a..2731fda11d 100644 --- a/gtk2_ardour/time_info_box.h +++ b/gtk2_ardour/time_info_box.h @@ -24,14 +24,11 @@ #include #include +#include #include "ardour/ardour.h" #include "ardour/session_handle.h" -class CairoEditableText; -class CairoCell; -class CairoTextCell; - namespace ARDOUR { class Session; class Location; @@ -67,9 +64,12 @@ class TimeInfoBox : public Gtk::Table, public ARDOUR::SessionHandlePtr void punch_location_changed (ARDOUR::Location*); void watch_punch (ARDOUR::Location*); PBD::ScopedConnectionList punch_connections; - PBD::ScopedConnectionList editor_connections; + Gtkmm2ext::StatefulToggleButton punch_in_button; + Gtkmm2ext::StatefulToggleButton punch_out_button; + Gtk::HBox punch_button_box; + void selection_changed (); void sync_selection_mode (AudioClock*);