X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fsession_dialog.h;h=a464e5a5ef182fe09ed70f7a1b79e39d4dfcf6f0;hb=24d5f1a6249b08a8b21854ecf001be7e07e5bf23;hp=ef3717b778cbecaff676a95735fc0f1e7b350ef1;hpb=1bd4e448defb93c879bf25167cf42b6d8534eb73;p=ardour.git diff --git a/gtk2_ardour/session_dialog.h b/gtk2_ardour/session_dialog.h index ef3717b778..a464e5a5ef 100644 --- a/gtk2_ardour/session_dialog.h +++ b/gtk2_ardour/session_dialog.h @@ -47,15 +47,16 @@ class EngineControl; class SessionDialog : public ArdourDialog { public: - SessionDialog (bool require_new, const std::string& session_name, const std::string& session_path, + SessionDialog (bool require_new, const std::string& session_name, const std::string& session_path, const std::string& template_name, bool cancel_not_quit); + SessionDialog (); ~SessionDialog (); void clear_given (); std::string session_name (bool& should_be_new); std::string session_folder (); - + bool use_session_template(); std::string session_template_name(); @@ -75,6 +76,11 @@ class SessionDialog : public ArdourDialog { bool connect_outs_to_master() const; bool connect_outs_to_physical() const; + void set_provided_session(const std::string& session_name, const std::string& session_path) { + _provided_session_name = session_name; + _provided_session_path = session_path; + } + private: bool new_only; std::string _provided_session_name; @@ -88,12 +94,14 @@ class SessionDialog : public ArdourDialog { Gtk::Button* quit_button; bool back_button_pressed (GdkEventButton*); + bool open_button_pressed (GdkEventButton*); Gtk::Frame info_frame; /* initial choice page */ void setup_initial_choice_box (); + void setup_recent_sessions (); Gtk::VBox ic_vbox; Gtk::Button ic_new_session_button; void new_session_button_clicked (); @@ -115,26 +123,34 @@ class SessionDialog : public ArdourDialog { add (fullpath); add (sample_rate); add (disk_format); + add (time_modified); + add (time_formatted); } Gtk::TreeModelColumn visible_name; Gtk::TreeModelColumn tip; Gtk::TreeModelColumn fullpath; Gtk::TreeModelColumn sample_rate; Gtk::TreeModelColumn disk_format; + Gtk::TreeModelColumn time_modified; + Gtk::TreeModelColumn time_formatted; }; RecentSessionModelColumns recent_session_columns; Gtk::TreeView recent_session_display; Glib::RefPtr recent_session_model; Gtk::ScrolledWindow recent_scroller; - Gtk::Label recent_label; + Gtk::Label recent_label; Gtk::FileChooserButton existing_session_chooser; int redisplay_recent_sessions (); void recent_session_row_selected (); + void recent_session_sort_changed (); void recent_row_activated (const Gtk::TreePath& path, Gtk::TreeViewColumn* col); + bool recent_button_press (GdkEventButton*); + void recent_context_mennu (GdkEventButton*); + void recent_remove_selected (); void existing_session_selected (); - void session_selected (); + void session_selected (); /* new sessions */ @@ -224,6 +240,10 @@ class SessionDialog : public ArdourDialog { void master_bus_button_clicked (); void setup_more_options_box (); + /* --disable plugins UI */ + Gtk::CheckButton _disable_plugins; + void disable_plugins_clicked (); + /* always there */ Glib::RefPtr layout;