summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui2.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-11-10 15:25:01 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-11-10 15:25:01 +0000
commit6449c2e5c8b027245fe5fb9942984243e4a653d7 (patch)
tree0441b7521bc04dec2f858c3ca836d1ce43b1dcb9 /gtk2_ardour/ardour_ui2.cc
parentdbafe45a280cc6c33bb7dca72202c109012cd8eb (diff)
more ardour-button-ization; fix transparency of selection rects; use "correct" cursors when entering and leaving selection rect handles; color tweaks for a few buttons
git-svn-id: svn://localhost/ardour2/branches/3.0@10527 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui2.cc')
-rw-r--r--gtk2_ardour/ardour_ui2.cc49
1 files changed, 25 insertions, 24 deletions
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index 8dc25f0004..76794d3e61 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -253,10 +253,14 @@ ARDOUR_UI::setup_transport ()
auto_return_button.set_name ("transport option button");
auto_play_button.set_name ("transport option button");
auto_input_button.set_name ("transport option button");
- click_button.set_name ("transport option button");
- time_master_button.set_name ("TransportButton");
- sync_button.set_name ("TransportSyncButton");
+ /* these have to provide a clear indication of active state */
+
+ click_button.set_name ("transport active option button");
+ time_master_button.set_name ("transport active option button");
+ sync_button.set_name ("transport active option button");
+
+ time_master_button.set_text (_("time master"));
stop_button.set_active_state (Active);
@@ -286,10 +290,9 @@ ARDOUR_UI::setup_transport ()
act = ActionManager::get_action (X_("Transport"), X_("ToggleTimeMaster"));
- act->connect_proxy (time_master_button);
+ time_master_button.set_related_action (act);
act = ActionManager::get_action (X_("Transport"), X_("ToggleExternalSync"));
- act->connect_proxy (sync_button);
-
+ sync_button.set_related_action (act);
/* clocks, etc. */
@@ -311,9 +314,9 @@ ARDOUR_UI::setup_transport ()
/* CANNOT sigc::bind these to clicked or toggled, must use pressed or released */
- solo_alert_button.set_name ("TransportSoloAlert");
+ solo_alert_button.set_name ("rude solo");
solo_alert_button.signal_button_press_event().connect (sigc::mem_fun(*this,&ARDOUR_UI::solo_alert_press), false);
- auditioning_alert_button.set_name ("TransportAuditioningAlert");
+ auditioning_alert_button.set_name ("rude audition");
auditioning_alert_button.signal_button_press_event().connect (sigc::mem_fun(*this,&ARDOUR_UI::audition_alert_press), false);
alert_box.pack_start (solo_alert_button, true, false);
@@ -402,20 +405,19 @@ ARDOUR_UI::setup_transport ()
}
transport_tearoff_hbox.pack_start (*toggle_box, false, false);
- Table* time_controls_table = manage (new Table (2, 2));
- time_controls_table->set_col_spacings (6);
- time_controls_table->attach (sync_button, 0, 1, 0, 1, Gtk::AttachOptions(FILL|EXPAND), Gtk::AttachOptions(0));
- time_controls_table->attach (time_master_button, 0, 1, 1, 2, Gtk::AttachOptions(FILL|EXPAND), Gtk::AttachOptions(0));
-
- time_controls_table->attach (click_button, 1, 2, 0, 2, Gtk::AttachOptions(FILL|EXPAND), FILL);
+ VBox* time_controls = manage (new VBox);
+ time_controls->set_spacing (2);
+ time_controls->set_homogeneous (true);
+ time_controls->pack_start (sync_button, true, false);
+ time_controls->pack_start (time_master_button, true, false);
transport_tearoff_hbox.pack_start (*clock_box, false, false);
- transport_tearoff_hbox.pack_start (*time_controls_table, false, false);
+ transport_tearoff_hbox.pack_start (*time_controls, false, false);
+ transport_tearoff_hbox.pack_start (click_button, false, false);
time_info_box = manage (new TimeInfoBox);
transport_tearoff_hbox.pack_start (*time_info_box, false, false);
-
if (Profile->get_small_screen()) {
transport_tearoff_hbox.pack_start (_editor_transport_box, false, false);
}
@@ -527,7 +529,7 @@ ARDOUR_UI::sync_blink (bool onoff)
{
if (_session == 0 || !_session->config.get_external_sync()) {
/* internal sync */
- sync_button.set_visual_state (0);
+ sync_button.unset_active_state ();
return;
}
@@ -535,13 +537,13 @@ ARDOUR_UI::sync_blink (bool onoff)
/* not locked, so blink on and off according to the onoff argument */
if (onoff) {
- sync_button.set_visual_state (1); // "-active"
+ sync_button.set_active_state (Gtkmm2ext::Active); // "-active"
} else {
- sync_button.set_visual_state (0); // normal
+ sync_button.unset_active_state (); // normal
}
} else {
/* locked */
- sync_button.set_visual_state (1); // "-active"
+ sync_button.set_active_state (Gtkmm2ext::Active); // "-active"
}
}
@@ -554,13 +556,12 @@ ARDOUR_UI::audition_blink (bool onoff)
if (_session->is_auditioning()) {
if (onoff) {
- auditioning_alert_button.set_state (STATE_ACTIVE);
+ auditioning_alert_button.set_active_state (Gtkmm2ext::Active);
} else {
- auditioning_alert_button.set_state (STATE_NORMAL);
+ auditioning_alert_button.unset_active_state();
}
} else {
- auditioning_alert_button.set_active (false);
- auditioning_alert_button.set_state (STATE_NORMAL);
+ auditioning_alert_button.unset_active_state ();
}
}