diff options
author | Robin Gareus <robin@gareus.org> | 2015-03-14 17:28:20 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-03-14 18:28:36 +0100 |
commit | 83babb8a52a80b71d971817fd0a90df90c31045d (patch) | |
tree | 0a55e6aacf358b18065252271215ca961d830231 /gtk2_ardour/ardour_ui2.cc | |
parent | 7d188c8a1e648457afbdeed71bddabb395565e4d (diff) |
automatic error log window popup be gone.
Diffstat (limited to 'gtk2_ardour/ardour_ui2.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui2.cc | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 9c13427953..950cadc382 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -96,14 +96,13 @@ ARDOUR_UI::setup_windows () status_bar_event_box->add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK); status_bar_label.set_size_request (300, -1); status_bar_packer->pack_start (*status_bar_event_box, true, true, 6); - status_bar_packer->pack_start (error_log_button, false, false); + status_bar_packer->pack_start (error_alert_button, false, false); status_bar_label.show (); status_bar_event_box->show (); status_bar_packer->show (); - error_log_button.show (); + error_alert_button.show (); - error_log_button.signal_clicked().connect (mem_fun (*this, &UI::toggle_errors)); status_bar_event_box->signal_button_press_event().connect (mem_fun (*this, &ARDOUR_UI::status_bar_button_press)); editor->get_status_bar_packer().pack_start (*status_bar_packer, true, true); @@ -175,6 +174,11 @@ ARDOUR_UI::display_message (const char *prefix, gint prefix_len, RefPtr<TextBuff string text; UI::display_message (prefix, prefix_len, ptag, mtag, msg); + + if (!strcmp (prefix, _("[ERROR]: ")) || !strcmp (prefix, _("[WARNING]: "))) { + _error_not_acknowledged = true; + } + #ifdef TOP_MENUBAR if (strcmp (prefix, _("[ERROR]: ")) == 0) { @@ -325,6 +329,8 @@ ARDOUR_UI::setup_transport () auditioning_alert_button.signal_button_press_event().connect (sigc::mem_fun(*this,&ARDOUR_UI::audition_alert_press), false); feedback_alert_button.set_name ("feedback alert"); feedback_alert_button.signal_button_press_event().connect (sigc::mem_fun (*this, &ARDOUR_UI::feedback_alert_press), false); + error_alert_button.set_name ("error alert"); + error_alert_button.signal_button_press_event().connect (sigc::mem_fun(*this,&ARDOUR_UI::error_alert_press), false); alert_box.set_homogeneous (true); alert_box.set_spacing (2); @@ -536,6 +542,14 @@ ARDOUR_UI::feedback_alert_press (GdkEventButton *) return true; } +bool +ARDOUR_UI::error_alert_press (GdkEventButton*) +{ + _error_not_acknowledged = false; + UI::show_errors(); + return true; +} + void ARDOUR_UI::solo_blink (bool onoff) { @@ -610,6 +624,22 @@ ARDOUR_UI::feedback_blink (bool onoff) } void +ARDOUR_UI::error_blink (bool onoff) +{ + if (_error_not_acknowledged) { + if (onoff) { + error_alert_button.set_active (true); + } else { + error_alert_button.set_active (false); + } + } else { + error_alert_button.set_active (false); + } +} + + + +void ARDOUR_UI::set_transport_sensitivity (bool yn) { ActionManager::set_sensitive (ActionManager::transport_sensitive_actions, yn); |