Keep Dialogs which report process around.
authorRobin Gareus <robin@gareus.org>
Thu, 20 Apr 2017 17:03:52 +0000 (19:03 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 20 Apr 2017 17:03:52 +0000 (19:03 +0200)
Since 5.8-245-g3e43585fa, a response hides the dialog Window
in ArdourDialog::on_response (to prevent dialogs windows staying
around unresponsively while Ardour does background work).
This logic does not apply to Dialog Windows which implement
ProgressReporter or support dialog responses other than OK, Close.

gtk2_ardour/export_dialog.h
gtk2_ardour/export_report.h
gtk2_ardour/export_video_dialog.h
gtk2_ardour/normalize_dialog.h
gtk2_ardour/session_archive_dialog.h
gtk2_ardour/strip_silence_dialog.h
gtk2_ardour/time_fx_dialog.h
gtk2_ardour/transcode_video_dialog.h

index fee7013577b29400bb8385f2bb5e761cbd6e8348..6edb797438597fc1d9dcb5e68b6c4d1cffeaa705 100644 (file)
@@ -64,6 +64,10 @@ class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
 
   protected:
 
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
+
        typedef boost::shared_ptr<ARDOUR::ExportHandler> HandlerPtr;
        typedef boost::shared_ptr<ARDOUR::ExportProfileManager> ManagerPtr;
 
index 4639cafc447fe01950a44aa1fe1a72baa1b6dddd..af91ee2dbe65e2c5436ee1e200a13a91b412255a 100644 (file)
@@ -189,6 +189,10 @@ public:
        ExportReport (const std::string & title, const ARDOUR::AnalysisResults & ar);
        int run ();
 
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
+
 private:
        void init (const ARDOUR::AnalysisResults &, bool);
        void draw_waveform (Cairo::RefPtr<Cairo::ImageSurface>& wave,
index 93fe7fb5c2072df2ae031cd6e01f82e3f873b115..bf3ace9f30f62a8a7694a7072b775d4e54e2bd46 100644 (file)
@@ -51,6 +51,10 @@ class ExportVideoDialog : public ArdourDialog , public PBD::ScopedConnectionList
        XMLNode& get_state ();
        void set_state (const XMLNode &);
 
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
+
   private:
        TimeSelection export_range;
 
index 53b9e71b37309899e1909fa6c383a564fdaa5a0e..d3fb2a013bc804a810e1aaf146ad8bf89bac9ea8 100644 (file)
@@ -37,6 +37,10 @@ public:
        double target_rms () const;
        int run ();
 
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
+
 private:
        void update_progress_gui (float);
        void button_clicked (int);
index a0c139b63f25ca9b12945f2d1f7949dce2866837..de07b03fce3a7360419bda58e950f5e049e94877 100644 (file)
@@ -45,6 +45,10 @@ public:
        void set_encode_option (ARDOUR::Session::ArchiveEncode);
        void set_only_used_sources (bool);
 
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
+
 private:
        Gtk::FileChooserButton target_folder_selector;
        Gtk::Entry             name_entry;
index 7445b723277586767b28bff38bf3820839fed10d..a4d444e0edf255b53e4a62616886c148e8c306b8 100644 (file)
@@ -49,6 +49,10 @@ public:
        ARDOUR::framecnt_t minimum_length () const;
        ARDOUR::framecnt_t fade_length () const;
 
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
+
 private:
        void create_waves ();
        void canvas_allocation (Gtk::Allocation &);
index 03e0ccfdcd0aad5e5a3947ca2ae1f57ca9532ddf..1825414c32b4808a6a736ec8412061e3c68b1c61 100644 (file)
@@ -74,6 +74,10 @@ class TimeFXDialog : public ArdourDialog, public ProgressReporter
 
        void start_updates ();
 
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
+
   private:
        ARDOUR::framecnt_t      original_length;
        Gtk::Adjustment pitch_octave_adjustment;
index 9acd1284a566f430ca941c0895b06f41cf68b851..db3aba973996a879ae9973501974bbf4edf60818 100644 (file)
@@ -50,6 +50,10 @@ class TranscodeVideoDialog : public ArdourDialog , public PBD::ScopedConnectionL
        VtlTranscodeOption import_option ();
        bool detect_ltc () { return ltc_detect.get_active (); }
 
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
+
   private:
        void on_show ();
        void open_browse_dialog ();