X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_filename_selector.h;h=f6f75514380d789f6fe7d50746c5520461f91c14;hb=cd0d68a591ee64bb0e85d9a364af9fe6abdeecbe;hp=c21435bb5703a3d8582fe981dfdc5ff12cd68362;hpb=b5a57cc78c92b1d887b7e8de040d8663a9ba187e;p=ardour.git diff --git a/gtk2_ardour/export_filename_selector.h b/gtk2_ardour/export_filename_selector.h index c21435bb57..f6f7551438 100644 --- a/gtk2_ardour/export_filename_selector.h +++ b/gtk2_ardour/export_filename_selector.h @@ -23,15 +23,13 @@ #include -#include -#include +#include "ardour/export_profile_manager.h" +#include "ardour/export_filename.h" +#include "ardour/session_handle.h" -namespace ARDOUR { - class Session; -} - -/// -class ExportFilenameSelector : public Gtk::VBox { +/// +class ExportFilenameSelector : public Gtk::VBox, public ARDOUR::SessionHandlePtr +{ public: typedef boost::shared_ptr FilenamePtr; @@ -39,9 +37,10 @@ class ExportFilenameSelector : public Gtk::VBox { ~ExportFilenameSelector (); void set_state (ARDOUR::ExportProfileManager::FilenameStatePtr state_, ARDOUR::Session * session_); - + void set_example_filename (std::string filename); + /* Compatibility with other elements */ - + sigc::signal CriticalSelectionChanged; private: @@ -50,65 +49,66 @@ class ExportFilenameSelector : public Gtk::VBox { void update_label (); void update_folder (); + void check_folder (); void change_date_format (); void change_time_format (); - + void change_session_selection (); void change_revision_selection (); void change_revision_value (); - + void open_browse_dialog (); - ARDOUR::Session * session; boost::shared_ptr filename; Glib::RefPtr label_sizegroup; Gtk::Label include_label; - + Gtk::HBox include_hbox; - + Gtk::Label label_label; Gtk::Entry label_entry; - + Gtk::CheckButton session_checkbox; - + Gtk::CheckButton revision_checkbox; Gtk::SpinButton revision_spinbutton; - + Gtk::HBox path_hbox; - + Gtk::Label path_label; Gtk::Entry path_entry; Gtk::Button browse_button; - + Gtk::Label example_filename_label; + /* Date combo */ - + typedef ARDOUR::ExportFilename::DateFormat DateFormat; - + struct DateFormatCols : public Gtk::TreeModelColumnRecord { public: Gtk::TreeModelColumn format; - Gtk::TreeModelColumn label; - + Gtk::TreeModelColumn label; + DateFormatCols () { add(format); add(label); } }; DateFormatCols date_format_cols; Glib::RefPtr date_format_list; Gtk::ComboBox date_format_combo; - + /* Time combo */ - + typedef ARDOUR::ExportFilename::TimeFormat TimeFormat; - + struct TimeFormatCols : public Gtk::TreeModelColumnRecord { public: Gtk::TreeModelColumn format; - Gtk::TreeModelColumn label; - + Gtk::TreeModelColumn label; + TimeFormatCols () { add(format); add(label); } }; TimeFormatCols time_format_cols;