X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Finsert_time_dialog.cc;h=a63d885fdc5813599325f728391cc7b5cce2c962;hb=fdbb9d240d870dd7ddf9c04dcfe5b1d5c7211639;hp=1d62c369941a3afd705d514f27e3e0fe9acea18d;hpb=636efaabc47afa556d391f30dd7d2380f69d21f3;p=ardour.git diff --git a/gtk2_ardour/insert_time_dialog.cc b/gtk2_ardour/insert_time_dialog.cc index 1d62c36994..a63d885fdc 100644 --- a/gtk2_ardour/insert_time_dialog.cc +++ b/gtk2_ardour/insert_time_dialog.cc @@ -20,6 +20,7 @@ #include #include #include +#include #include "insert_time_dialog.h" #include "audio_clock.h" #include "i18n.h" @@ -30,11 +31,11 @@ using namespace Editing; InsertTimeDialog::InsertTimeDialog (PublicEditor& e) : ArdourDialog (_("Insert Time")) , _editor (e) - , _clock ("insertTimeClock", true, X_("InsertTimeClock"), true, false, true, true) + , _clock ("insertTimeClock", true, "", true, false, true, false) { set_session (_editor.session ()); - - nframes64_t const pos = _editor.get_preferred_edit_position (); + + framepos_t const pos = _editor.get_preferred_edit_position (); get_vbox()->set_border_width (12); get_vbox()->set_spacing (4); @@ -61,16 +62,36 @@ InsertTimeDialog::InsertTimeDialog (PublicEditor& e) get_vbox()->pack_start (*table); + _all_playlists.set_label (_("Insert time on all the track's playlists")); + get_vbox()->pack_start (_all_playlists); + _move_glued.set_label (_("Move glued regions")); get_vbox()->pack_start (_move_glued); _move_markers.set_label (_("Move markers")); get_vbox()->pack_start (_move_markers); - _move_tempos.set_label (_("Move tempo and meter changes")); - get_vbox()->pack_start (_move_tempos); + _move_markers.signal_toggled().connect (sigc::mem_fun (*this, &InsertTimeDialog::move_markers_toggled)); + _move_glued_markers.set_label (_("Move glued markers")); + Alignment* indent = manage (new Alignment); + indent->set_padding (0, 0, 12, 0); + indent->add (_move_glued_markers); + get_vbox()->pack_start (*indent); + _move_locked_markers.set_label (_("Move locked markers")); + indent = manage (new Alignment); + indent->set_padding (0, 0, 12, 0); + indent->add (_move_locked_markers); + get_vbox()->pack_start (*indent); + tempo_label.set_markup (_("Move tempo and meter changes\n(may cause oddities in the tempo map)")); + HBox* tempo_box = manage (new HBox); + tempo_box->set_spacing (6); + tempo_box->pack_start (_move_tempos, false, false); + tempo_box->pack_start (tempo_label, false, false); + get_vbox()->pack_start (*tempo_box); add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); add_button (_("Insert time"), Gtk::RESPONSE_OK); show_all (); + + move_markers_toggled (); } InsertTimeOption @@ -94,6 +115,12 @@ InsertTimeDialog::intersected_region_action () return opt; } +bool +InsertTimeDialog::all_playlists () const +{ + return _all_playlists.get_active (); +} + bool InsertTimeDialog::move_glued () const { @@ -112,8 +139,27 @@ InsertTimeDialog::move_markers () const return _move_markers.get_active (); } -nframes64_t +bool +InsertTimeDialog::move_glued_markers () const +{ + return _move_glued_markers.get_active (); +} + +bool +InsertTimeDialog::move_locked_markers () const +{ + return _move_locked_markers.get_active (); +} + +framepos_t InsertTimeDialog::distance () const { return _clock.current_duration (_editor.get_preferred_edit_position ()); } + +void +InsertTimeDialog::move_markers_toggled () +{ + _move_glued_markers.set_sensitive (_move_markers.get_active ()); + _move_locked_markers.set_sensitive (_move_markers.get_active ()); +}