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 | |
parent | 7d188c8a1e648457afbdeed71bddabb395565e4d (diff) |
automatic error log window popup be gone.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 5 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui2.cc | 36 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_ed.cc | 4 |
4 files changed, 43 insertions, 6 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 597bb5df87..48605199e2 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -211,6 +211,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) , auditioning_alert_button (_("Audition")) , solo_alert_button (_("Solo")) , feedback_alert_button (_("Feedback")) + , error_alert_button (_("Errors")) , editor_meter(0) , editor_meter_peak_display() @@ -231,8 +232,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) , audio_port_matrix (X_("audio-connection-manager"), _("Audio Connections"), boost::bind (&ARDOUR_UI::create_global_port_matrix, this, ARDOUR::DataType::AUDIO)) , midi_port_matrix (X_("midi-connection-manager"), _("MIDI Connections"), boost::bind (&ARDOUR_UI::create_global_port_matrix, this, ARDOUR::DataType::MIDI)) - , error_log_button (_("Errors")) - , _status_bar_visibility (X_("status-bar")) , _feedback_exists (false) { @@ -2288,6 +2287,7 @@ ARDOUR_UI::blink_handler (bool blink_on) sync_blink (blink_on); audition_blink (blink_on); feedback_blink (blink_on); + error_blink (blink_on); } void diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 66b6610f40..de0688dfbb 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -457,6 +457,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr ArdourButton auditioning_alert_button; ArdourButton solo_alert_button; ArdourButton feedback_alert_button; + ArdourButton error_alert_button; Gtk::VBox alert_box; Gtk::VBox meter_box; @@ -472,6 +473,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void sync_blink (bool); void audition_blink (bool); void feedback_blink (bool); + void error_blink (bool); void set_flat_buttons(); @@ -482,6 +484,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr bool solo_alert_press (GdkEventButton* ev); bool audition_alert_press (GdkEventButton* ev); bool feedback_alert_press (GdkEventButton *); + bool error_alert_press (GdkEventButton *); void big_clock_value_changed (); void primary_clock_value_changed (); @@ -731,7 +734,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr const char *msg); Gtk::Label status_bar_label; bool status_bar_button_press (GdkEventButton*); - Gtk::ToggleButton error_log_button; void loading_message (const std::string& msg); @@ -768,6 +770,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void successful_graph_sort (); bool _feedback_exists; + bool _error_not_acknowledged; void resize_text_widgets (); 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); diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 50798f9d6b..d011ad2b95 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -514,6 +514,10 @@ ARDOUR_UI::build_menu_bar () #endif disk_space = true; } + +#ifndef TOP_MENUBAR + hbox->pack_end (error_alert_button, false, false, 2); +#endif hbox->pack_end (wall_clock_label, false, false, 2); hbox->pack_end (disk_space_label, false, false, 4); |