new trim cursors from chrisg, fix up hotspots for said cursors, make Editor cursors...
[ardour.git] / gtk2_ardour / export_dialog.h
index 0de6c6ffac02090ec6e6c7b1ce6f4e80c440b564..93d3b21654b86c4ba037309a8b5d2c87387317d6 100644 (file)
 #ifndef __export_dialog_h__
 #define __export_dialog_h__
 
-#include <boost/shared_ptr.hpp>
+#include <boost/scoped_ptr.hpp>
 
-#include <ardour/export_handler.h>
-#include <ardour/export_profile_manager.h>
+#include "ardour/export_profile_manager.h"
 
 #include "public_editor.h"
 #include "export_timespan_selector.h"
 
 #include <gtkmm.h>
 
-#include "i18n.h"
-
 namespace ARDOUR {
        class ExportStatus;
+       class ExportHandler;
 }
 
 class ExportTimespanSelector;
@@ -48,11 +46,11 @@ class ExportDialog : public ArdourDialog {
 
   public:
 
-       explicit ExportDialog (PublicEditor & editor, Glib::ustring title = _("Export"));
+       explicit ExportDialog (PublicEditor & editor, Glib::ustring title);
        ~ExportDialog ();
-       
+
        void set_session (ARDOUR::Session* s);
-       
+
        /* Responses */
 
        enum Responses {
@@ -65,7 +63,7 @@ class ExportDialog : public ArdourDialog {
 
        typedef boost::shared_ptr<ARDOUR::ExportHandler> HandlerPtr;
        typedef boost::shared_ptr<ARDOUR::ExportProfileManager> ManagerPtr;
-       
+
        HandlerPtr      handler;
        ManagerPtr      profile_manager;
 
@@ -75,60 +73,64 @@ class ExportDialog : public ArdourDialog {
        // Must initialize all the shared_ptrs below
        virtual void init_components ();
 
-       boost::shared_ptr<ExportPresetSelector>   preset_selector;
-       boost::shared_ptr<ExportTimespanSelector> timespan_selector;
-       boost::shared_ptr<ExportChannelSelector>  channel_selector;
-       boost::shared_ptr<ExportFileNotebook>     file_notebook;
-       
+       boost::scoped_ptr<ExportPresetSelector>   preset_selector;
+       boost::scoped_ptr<ExportTimespanSelector> timespan_selector;
+       boost::scoped_ptr<ExportChannelSelector>  channel_selector;
+       boost::scoped_ptr<ExportFileNotebook>     file_notebook;
+
        Gtk::VBox                                 warning_widget;
        Gtk::VBox                                 progress_widget;
 
+       Gtk::Label *                              timespan_label;
+       Gtk::Label *                              channels_label;
+
   private:
 
        void init ();
 
        void notify_errors ();
        void close_dialog ();
-       
+
        void sync_with_manager ();
        void update_warnings ();
        void show_conflicting_files ();
 
        void export_rt ();
        void export_fw ();
-       
+
        void show_progress ();
        gint progress_timeout ();
-       
+
        typedef boost::shared_ptr<ARDOUR::ExportStatus> StatusPtr;
-       
+
        PublicEditor &  editor;
        StatusPtr       status;
-       
+       PBD::ScopedConnection abort_connection;
+
        /*** GUI components ***/
-       
+
        /* Warning area */
-       
+
        Gtk::HBox           warn_hbox;
        Gtk::Label          warn_label;
        Glib::ustring       warn_string;
-       
+
        Gtk::HBox           list_files_hbox;
        Gtk::Label          list_files_label;
        Gtk::Button         list_files_button;
        Glib::ustring       list_files_string;
-       
+
        void add_error (Glib::ustring const & text);
        void add_warning (Glib::ustring const & text);
-       
+
        /* Progress bar */
-       
+
        Gtk::Label              progress_label;
        Gtk::ProgressBar        progress_bar;
        sigc::connection        progress_connection;
-       
+
        /* Buttons */
-       
+
        Gtk::Button *           cancel_button;
        Gtk::Button *           rt_export_button;
        Gtk::Button *           fast_export_button;
@@ -142,7 +144,7 @@ class ExportRangeDialog : public ExportDialog
 
   private:
        void init_components ();
-       
+
        Glib::ustring range_id;
 };
 
@@ -161,8 +163,9 @@ class ExportRegionDialog : public ExportDialog
        ExportRegionDialog (PublicEditor & editor, ARDOUR::AudioRegion const & region, ARDOUR::AudioTrack & track);
 
   private:
+       void init_gui ();
        void init_components ();
-       
+
        ARDOUR::AudioRegion const & region;
        ARDOUR::AudioTrack & track;
 };