remove/delete current mixer strip when session is deleted
[ardour.git] / gtk2_ardour / export_dialog.h
index c67300e0d2bc9ed8e6ecfa9bc36da5613d369947..f99f6d237e8ba9b23709094838cef26347a5f52a 100644 (file)
 #ifndef __ardour_export_dialog_h__
 #define __ardour_export_dialog_h__
 
-#include <gtkmm/alignment.h>
-#include <gtkmm/box.h>
-#include <gtkmm/table.h>
-#include <gtkmm/frame.h>
-#include <gtkmm/frame.h>
-#include <gtkmm/button.h>
-#include <gtkmm/progressbar.h>
-#include <gtkmm/scrolledwindow.h>
-#include <gtkmm/fileselection.h>
-#include <gtkmm/comboboxtext.h>
-#include <gtkmm/treeview.h>
-#include <gtkmm/liststore.h>
+#include <gtkmm.h>
 
 #include <ardour/export.h>
 #include <ardour/location.h>
@@ -53,11 +42,14 @@ class ExportDialog : public ArdourDialog
        ~ExportDialog ();
 
        void connect_to_session (ARDOUR::Session*);
-       virtual void set_range (jack_nframes_t start, jack_nframes_t end);
+       virtual void set_range (nframes_t start, nframes_t end);
        void start_export ();
 
+       virtual Gtk::FileChooserAction browse_action() const { return Gtk::FILE_CHOOSER_ACTION_SAVE; }
+
   protected:
        ARDOUR::AudioExportSpecification spec;
+       Gtk::Frame  file_frame;
 
     struct ExportModelColumns : public Gtk::TreeModel::ColumnRecord
        {
@@ -86,6 +78,8 @@ class ExportDialog : public ArdourDialog
        // audio data. spec has already been filled with user input before calling
        // this method. The dialog will be closed after this function exited.
        virtual void export_audio_data() = 0;
+
+       virtual bool wants_dir() { return false; }
        
        // reads the user input and fills spec with the according values
        // filepath: complete path to the target file, including filename
@@ -102,7 +96,7 @@ class ExportDialog : public ArdourDialog
   private:
        PublicEditor&    editor;
        ARDOUR::Session* session;
-    bool       track_and_master_selection_allowed;
+       bool    track_and_master_selection_allowed;
        bool    channel_count_selection_allowed;
        bool    export_cd_markers_allowed;
     
@@ -138,7 +132,6 @@ class ExportDialog : public ArdourDialog
 
        Gtk::CheckButton cuefile_only_checkbox;
 
-       Gtk::Frame  file_frame;
        Gtk::Entry  file_entry;
        Gtk::HBox   file_hbox;
        Gtk::Button file_browse_button;
@@ -154,7 +147,6 @@ class ExportDialog : public ArdourDialog
        Glib::RefPtr<Gtk::ListStore> track_list;
        Gtk::TreeView  master_selector;
        Glib::RefPtr<Gtk::ListStore> master_list;
-       Gtk::FileSelection *file_selector;
 
        static void *_thread (void *arg);
        // sets the export progress in the progress bar
@@ -171,7 +163,7 @@ class ExportDialog : public ArdourDialog
        void fill_lists();
        void write_track_and_master_selection_to_spec();
 
-    void do_export_cd_markers (const string& path, const string& cuefile_type);
+       void do_export_cd_markers (const string& path, const string& cuefile_type);
        void export_cue_file (ARDOUR::Locations::LocationList& locations, const string& path);
        void export_toc_file (ARDOUR::Locations::LocationList& locations, const string& path);
        void do_export ();
@@ -179,8 +171,7 @@ class ExportDialog : public ArdourDialog
 
        void track_selector_button_click ();
 
-       void initiate_browse ();
-       void finish_browse (int status);
+       void browse ();
 
        void set_state();
        void save_state();