correct check for presence of / or \ in a session name
[ardour.git] / gtk2_ardour / export_dialog.h
index 13b327fe50d2b051f2d71d96687f32ad6751d681..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>
@@ -56,8 +45,11 @@ class ExportDialog : public ArdourDialog
        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;
@@ -170,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 ();