r228@gwythaint (orig r768): fugalh | 2006-08-09 08:14:55 -0600
[ardour.git] / gtk2_ardour / meter_bridge_strip.cc
index 98b30f7aa16871d7fd4a8098443774374568a63b..ea3b6097206b1f2f9ff31a418b8bc9fe726aab6e 100644 (file)
@@ -40,6 +40,7 @@
 #include "i18n.h"
 
 using namespace ARDOUR;
+using namespace PBD;
 using namespace Gtk;
 using namespace Gtkmm2ext;
 
@@ -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 (mem_fun(*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");
@@ -102,8 +103,8 @@ MeterBridgeStrip::MeterBridgeStrip (AudioEngine &eng,
 
        below_meter_vbox.pack_start (label_ebox);
 
-       over_short_button.button_release_event.connect (mem_fun(*this,&MeterBridgeStrip::gui_clear_overs));
-       over_long_button.button_release_event.connect (mem_fun(*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 == Gtkmm2ext::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;