Prevent spinlock copy construction
[ardour.git] / gtk2_ardour / ardour_ui2.cc
index 8234b476f673b480c2a370b814465b7fba58a571..35ba234cfa69aa8014b16a03c5ac42a01b0efbb7 100644 (file)
@@ -83,7 +83,7 @@ ARDOUR_UI::setup_tooltips ()
        set_tip (feedback_alert_button, _("When active, there is a feedback loop."));
        set_tip (primary_clock, _("<b>Primary Clock</b> right-click to set display mode. Click to edit, click+drag a digit or mouse-over+scroll wheel to modify.\nText edits: right-to-left overwrite <tt>Esc</tt>: cancel; <tt>Enter</tt>: confirm; postfix the edit with '+' or '-' to enter delta times.\n"));
        set_tip (secondary_clock, _("<b>Secondary Clock</b> right-click to set display mode. Click to edit, click+drag a digit or mouse-over+scroll wheel to modify.\nText edits: right-to-left overwrite <tt>Esc</tt>: cancel; <tt>Enter</tt>: confirm; postfix the edit with '+' or '-' to enter delta times.\n"));
-       set_tip (editor_meter_peak_display, _("Reset All Peak Indicators"));
+       set_tip (editor_meter_peak_display, _("Reset All Peak Meters"));
        set_tip (error_alert_button, _("Show Error Log and acknowledge warnings"));
 
        synchronize_sync_source_and_video_pullup ();
@@ -108,6 +108,24 @@ ARDOUR_UI::status_bar_button_press (GdkEventButton* ev)
        return handled;
 }
 
+void
+ARDOUR_UI::display_message (const char* prefix, gint prefix_len, RefPtr<TextBuffer::Tag> ptag, RefPtr<TextBuffer::Tag> mtag, const char* msg)
+{
+       UI::display_message (prefix, prefix_len, ptag, mtag, msg);
+
+       ArdourLogLevel ll = LogLevelNone;
+
+       if (strcmp (prefix, _("[ERROR]: ")) == 0) {
+               ll = LogLevelError;
+       } else if (strcmp (prefix, _("[WARNING]: ")) == 0) {
+               ll = LogLevelWarning;
+       } else if (strcmp (prefix, _("[INFO]: ")) == 0) {
+               ll = LogLevelInfo;
+       }
+
+       _log_not_acknowledged = std::max(_log_not_acknowledged, ll);
+}
+
 XMLNode*
 ARDOUR_UI::tearoff_settings (const char* name) const
 {
@@ -139,27 +157,6 @@ bool drag_failed (const Glib::RefPtr<Gdk::DragContext>& context, DragResult resu
 void
 ARDOUR_UI::repack_transport_hbox ()
 {
-       if (dsp_load_indicator.get_parent()) {
-               transport_hbox.remove (dsp_load_indicator);
-       }
-       if (UIConfiguration::instance().get_show_dsp_load_info ()) {
-               transport_hbox.pack_start (dsp_load_indicator, false, false);
-               dsp_load_indicator.show();
-       }
-
-       if (disk_space_indicator.get_parent()) {
-               transport_hbox.remove (disk_space_indicator);
-       }
-       if (UIConfiguration::instance().get_show_disk_space_info ()) {
-               transport_hbox.pack_start (disk_space_indicator, false, false);
-               disk_space_indicator.show();
-       }
-
-       if (status_spacer.get_parent()) {
-               transport_hbox.remove (status_spacer);
-       }
-       transport_hbox.pack_start (status_spacer, false, false, 3);
-
        if (time_info_box) {
                if (time_info_box->get_parent()) {
                        transport_hbox.remove (*time_info_box);
@@ -395,14 +392,14 @@ ARDOUR_UI::setup_transport ()
        /* top level packing */
        transport_table.set_spacings (0);
        transport_table.set_row_spacings (4);
-       transport_table.set_border_width (2);
+       transport_table.set_border_width (0);
 
        transport_frame.set_name ("TransportFrame");
        transport_frame.set_shadow_type (Gtk::SHADOW_NONE);
 
        /* An event box to hold the table. We use this because we want specific
           control over the background color, and without this event box,
-          nothing inside the transport_sample actually draws a background. We
+          nothing inside the transport_frame actually draws a background. We
           would therefore end up seeing the background of the parent widget,
           which is probably some default color. Adding the EventBox adds a
           widget that will draw the background, using a style based on
@@ -597,9 +594,8 @@ ARDOUR_UI::error_alert_press (GdkEventButton* ev)
        if (ev->button == 1) {
                if (_log_not_acknowledged == LogLevelError) {
                        // just acknowledge the error, don't hide the log if it's already visible
-                       RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("toggle-log-window"));
-                       Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
-                       if (tact && tact->get_active()) {
+                       RefPtr<ToggleAction> tact = ActionManager::get_toggle_action (X_("Editor"), X_("toggle-log-window"));
+                       if (tact->get_active()) {
                                do_toggle = false;
                        }
                }
@@ -784,12 +780,7 @@ ARDOUR_UI::sync_button_clicked (GdkEventButton* ev)
 void
 ARDOUR_UI::toggle_follow_edits ()
 {
-       RefPtr<Action> act = ActionManager::get_action (X_("Transport"), X_("ToggleFollowEdits"));
-       assert (act);
-
-       RefPtr<ToggleAction> tact = RefPtr<ToggleAction>::cast_dynamic (act);
-       assert (tact);
-
+       RefPtr<ToggleAction> tact = ActionManager::get_toggle_action (X_("Transport"), X_("ToggleFollowEdits"));
        UIConfiguration::instance().set_follow_edits (tact->get_active ());
 }
 
@@ -820,3 +811,4 @@ ARDOUR_UI::update_title ()
        }
 
 }
+