add variant of Rect::expand() that allows different amounts in each direction
[ardour.git] / gtk2_ardour / editor_ops.cc
index 35415c8f2e6cd535221e6cf66573b27eb57ded89..88a784b0b6534ab6c9f375e9a3d156832df31eca 100644 (file)
@@ -4822,6 +4822,13 @@ Editor::paste_internal (framepos_t position, float times, const int32_t sub_num)
        commit_reversible_command ();
 }
 
+void
+Editor::duplicate_regions (float times)
+{
+       RegionSelection rs (get_regions_from_selection_and_entered());
+       duplicate_some_regions (rs, times);
+}
+
 void
 Editor::duplicate_some_regions (RegionSelection& regions, float times)
 {
@@ -5049,7 +5056,7 @@ Editor::normalize_region ()
 
        NormalizeDialog dialog (rs.size() > 1);
 
-       if (dialog.run () == RESPONSE_CANCEL) {
+       if (dialog.run () != RESPONSE_ACCEPT) {
                return;
        }
 
@@ -5374,6 +5381,11 @@ Editor::quantize_regions (const RegionSelection& rs)
                quantize_dialog = new QuantizeDialog (*this);
        }
 
+       if (quantize_dialog->is_mapped()) {
+               /* in progress already */
+               return;
+       }
+
        quantize_dialog->present ();
        const int r = quantize_dialog->run ();
        quantize_dialog->hide ();
@@ -7989,6 +8001,8 @@ Editor::toggle_midi_input_active (bool flip_others)
        _session->set_exclusive_input_active (rl, onoff, flip_others);
 }
 
+static bool ok_fine (GdkEventAny*) { return true; }
+
 void
 Editor::lock ()
 {
@@ -7997,6 +8011,7 @@ Editor::lock ()
 
                Gtk::Image* padlock = manage (new Gtk::Image (ARDOUR_UI_UTILS::get_icon ("padlock_closed")));
                lock_dialog->get_vbox()->pack_start (*padlock);
+               lock_dialog->signal_delete_event ().connect (sigc::ptr_fun (ok_fine));
 
                ArdourButton* b = manage (new ArdourButton);
                b->set_name ("lock button");
@@ -8012,6 +8027,8 @@ Editor::lock ()
        _main_menu_disabler = new MainMenuDisabler;
 
        lock_dialog->present ();
+
+       lock_dialog->get_window()->set_decorations (Gdk::WMDecoration (0));
 }
 
 void