Include gtkmm2ext/gtk_ui.h
[ardour.git] / gtk2_ardour / add_route_dialog.cc
index b70c76b3ca6955ae348bcea231497cdc8f07a73a..9020b6c74d1ffea95fe8ce19866cf526c6e81d90 100644 (file)
 using namespace Gtk;
 using namespace Gtkmm2ext;
 using namespace sigc;
+using namespace std;
 
 extern std::vector<string> channel_combo_strings;
 
 AddRouteDialog::AddRouteDialog ()
-       : ArdourDialog ("add route dialog"),
-         ok_button (_("OK")),
-         cancel_button (_("Cancel")),
+       : Dialog (_("ardour: add track/bus")),
          track_button (_("Tracks")),
          bus_button (_("Busses")),
          routes_adjustment (1, 1, 32, 1, 4),
          routes_spinner (routes_adjustment)
 {
        set_name ("AddRouteDialog");
-       set_title (_("ardour: add track/bus"));
        set_wmclass (X_("ardour_add_track_bus"), "Ardour");
        set_position (Gtk::WIN_POS_MOUSE);
-       set_keyboard_input (true);
 
        name_template_entry.set_name ("AddRouteDialogNameTemplateEntry");
        track_button.set_name ("AddRouteDialogRadioButton");
        bus_button.set_name ("AddRouteDialogRadioButton");
-       ok_button.set_name ("AddRouteDialogButton");
-       cancel_button.set_name ("AddRouteDialogButton");
        routes_spinner.set_name ("AddRouteDialogSpinner");
        
        RadioButton::Group g = track_button.get_group();
@@ -70,14 +65,9 @@ AddRouteDialog::AddRouteDialog ()
        hbrb->pack_start (bus_button, false, false);
 
        set_popdown_strings (channel_combo, channel_combo_strings);
+       channel_combo.set_active_text (channel_combo_strings.front());
        channel_combo.set_name (X_("ChannelCountSelector"));
        
-       VBox *vbcc = manage (new VBox);
-
-       vbcc->set_spacing (6);
-       vbcc->pack_start (*(manage (new Label ("Channel configuration"))), false, false);
-       vbcc->pack_start (channel_combo, false, false);
-
 #if NOT_USEFUL_YET
        HBox *hbnt = manage (new HBox);
 
@@ -85,36 +75,17 @@ AddRouteDialog::AddRouteDialog ()
        hbnt->pack_start (name_template_entry, true, true);
 #endif
 
-       HBox* hbbut = manage (new HBox);
-
-       set_size_request_to_display_given_text (ok_button, _("Cancel"), 20, 15); // this is cancel on purpose
-       set_size_request_to_display_given_text (cancel_button, _("Cancel"), 20, 15);
-       
-       hbbut->set_homogeneous (true);
-       hbbut->set_spacing (6);
-       hbbut->pack_end (cancel_button, false, false);  
-       hbbut->pack_end (ok_button, false, false);
-
-       HBox* hbbutouter = manage (new HBox);
-       hbbutouter->set_border_width (12);
-       hbbutouter->pack_end (*hbbut, false, false);
-
-       VBox* vb2 = manage (new VBox);
-
-       vb2->set_border_width (12);
-       vb2->set_spacing (6);
-       vb2->pack_start (*hbrb, false, false);
-       vb2->pack_start (*vbcc, false, false);
+       get_vbox()->pack_start (*hbrb, false, false);
+       get_vbox()->pack_start (*(manage (new Label ("Channel configuration"))), false, false);
+       get_vbox()->pack_start (channel_combo, false, false);
 #if NOT_USEFUL_YET
-       vb2->pack_start (*hbnt, false, false);
+       get_vbox()->pack_start (*hbnt, false, false);
 #endif
-       vb2->pack_start (*hbbutouter, false, false);
 
-       add (*vb2);
+       get_vbox()->show_all ();
 
-       // signal_delete_event().connect (mem_fun(*this, &ArdourDialog::wm_close_event));
-       ok_button.signal_clicked().connect (bind (mem_fun(*this,  &ArdourDialog::stop), 0));
-       cancel_button.signal_clicked().connect (bind (mem_fun(*this, &ArdourDialog::stop), 1));
+       add_button (Stock::OK, RESPONSE_ACCEPT);
+       add_button (Stock::CANCEL, RESPONSE_CANCEL);
 }
 
 AddRouteDialog::~AddRouteDialog ()