Added the BSD licensed xmlformat utility for keeping the xml pretty
[ardour.git] / gtk2_ardour / meter_bridge_strip.cc
index 046c138827b8b83fde2248880cda190681c9d720..8a91603748ae8840248344fb8aec720d45a75eb0 100644 (file)
@@ -24,8 +24,8 @@
 
 #include <pbd/pathscanner.h>
 #include <pbd/fastlog.h>
-#include <gtkmmext/utils.h>
-#include <gtkmmext/selector.h>
+#include <gtkmm2ext/utils.h>
+#include <gtkmm2ext/selector.h>
 
 #include <ardour/audioengine.h>
 #include <ardour/route.h>
 #include "i18n.h"
 
 using namespace ARDOUR;
+using namespace PBD;
 using namespace Gtk;
-using namespace Gtkmmext;
+using namespace Gtkmm2ext;
 
 MeterBridgeStrip::MeterBridgeStrip (AudioEngine &eng, 
                                    Session& s,
                                    Route& r, 
                                    string name,
-                                   jack_nframes_t long_over,
-                                   jack_nframes_t short_over, 
-                                   jack_nframes_t meter_hold)
+                                   nframes_t long_over,
+                                   nframes_t short_over, 
+                                   nframes_t meter_hold)
        : engine (eng),
          session (s),
          _route (r),
@@ -61,10 +62,10 @@ MeterBridgeStrip::MeterBridgeStrip (AudioEngine &eng,
        label.set_name ("ChannelMeterLabel");
 
        label_ebox.set_name ("MeterBridgeWindow");
-       label_ebox.set_events (GDK_BUTTON_PRESS_MASK|GDK_BUTTON_RELEASE_MASK|GDK_ENTER_NOTIFY_MASK|GDK_LEAVE_NOTIFY_MASK);
+       label_ebox.set_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK);
        label_ebox.add (label);
 
-       label_ebox.button_release_event.connect (slot (*this, &MeterBridgeStrip::label_button_press_release));
+       label_ebox.signal_button_release_event().connect (mem_fun(*this, &MeterBridgeStrip::label_button_press_release));
        ARDOUR_UI::instance()->tooltips().set_tip (label_ebox, _route.name());
 
        over_long_label.set_text ("0");
@@ -72,28 +73,28 @@ MeterBridgeStrip::MeterBridgeStrip (AudioEngine &eng,
        over_long_button.add (over_long_label);
        over_long_button.set_name ("OverMeter");
        over_long_frame.add (over_long_button);
-       over_long_frame.set_shadow_type (GTK_SHADOW_IN);
+       over_long_frame.set_shadow_type (Gtk::SHADOW_IN);
        over_long_frame.set_name ("BaseFrame");
        over_long_hbox.pack_start (over_long_frame, false, false);
 
        snprintf(buf, sizeof(buf)-1, _("# of %u-sample overs"), long_over);
        ARDOUR_UI::instance()->tooltips().set_tip (over_long_button, buf);
 
-       set_usize_to_display_given_text (over_long_button, "88g", 2, 2);
+       set_size_request_to_display_given_text (over_long_button, "88g", 2, 2);
 
        over_short_label.set_text ("0");
        over_short_label.set_name ("OverMeterLabel");
        over_short_button.add (over_short_label);
        over_short_button.set_name ("OverMeter");
        over_short_frame.add (over_short_button);
-       over_short_frame.set_shadow_type (GTK_SHADOW_IN);
+       over_short_frame.set_shadow_type (Gtk::SHADOW_IN);
        over_short_frame.set_name ("BaseFrame");
        over_short_hbox.pack_start (over_short_frame, false, false);
 
        snprintf(buf, sizeof(buf)-1, _("# of %u-sample overs"), short_over);
        ARDOUR_UI::instance()->tooltips().set_tip (over_short_button, buf);
 
-       set_usize_to_display_given_text (over_short_button, "88g", 2, 2);
+       set_size_request_to_display_given_text (over_short_button, "88g", 2, 2);
        above_meter_vbox.set_spacing (5);
        below_meter_vbox.set_spacing (5);
 
@@ -102,8 +103,8 @@ MeterBridgeStrip::MeterBridgeStrip (AudioEngine &eng,
 
        below_meter_vbox.pack_start (label_ebox);
 
-       over_short_button.button_release_event.connect (slot (*this,&MeterBridgeStrip::gui_clear_overs));
-       over_long_button.button_release_event.connect (slot (*this,&MeterBridgeStrip::gui_clear_overs));
+       over_short_button.signal_button_release_event().connect (mem_fun(*this,&MeterBridgeStrip::gui_clear_overs));
+       over_long_button.signal_button_release_event().connect (mem_fun(*this,&MeterBridgeStrip::gui_clear_overs));
 
        last_over_short = 0;
        last_over_long = 0;
@@ -137,13 +138,13 @@ MeterBridgeStrip::update ()
                        meter.set (log_meter (power));
 
                        if (over_short != last_over_short) {
-                               buf = compose("%1", over_short);
+                               buf = string_compose("%1", over_short);
                                over_short_label.set_text (buf);
                                last_over_short = over_short;
                        }
                        
                        if (over_long != last_over_long) {
-                               buf = compose("%1", over_long);
+                               buf = string_compose("%1", over_long);
                                over_long_label.set_text (buf);
                                last_over_long = over_long;
                        }
@@ -215,22 +216,26 @@ MeterBridgeStrip::set_meter_on (bool yn)
 gint
 MeterBridgeStrip::label_button_press_release (GdkEventButton *ev)
 {
+       string name;
        ArdourPrompter prompter (true);
-       prompter.set_prompt (_("New name for meter:"));
+
+       prompter.set_prompt (_("New Name for Meter:"));
        prompter.set_initial_text (label.get_text());
-       prompter.done.connect (Gtk::Main::quit.slot());
+       prompter.add_button (_("Rename"), Gtk::RESPONSE_ACCEPT);
+       prompter.set_response_sensitive (Gtk::RESPONSE_ACCEPT, false);
        prompter.show_all();
        
-       Gtk::Main::run();
-       
-       if (prompter.status == Gtkmmext::Prompter::entered) {
-               string name;
-
+       switch (prompter.run ()) {
+       case Gtk::RESPONSE_ACCEPT:
+               
                prompter.get_result (name);
-
+               
                if (name.length()) {
                        label.set_text(name);
                }
+
+       default:
+               break;
        }
        
        return FALSE;