From c287ebec9b92d7abb48a92daf11bac0152cc6789 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 22 Apr 2009 01:35:31 +0000 Subject: a long tricky day of playing with ArdourStartup and session naming/loading etc. git-svn-id: svn://localhost/ardour2/branches/3.0@4995 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/startup.h | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'gtk2_ardour/startup.h') diff --git a/gtk2_ardour/startup.h b/gtk2_ardour/startup.h index 4d8bf8ee62..ed8db3fbe8 100644 --- a/gtk2_ardour/startup.h +++ b/gtk2_ardour/startup.h @@ -17,6 +17,8 @@ #include #include #include +#include +#include class EngineControl; @@ -25,11 +27,13 @@ class ArdourStartup : public Gtk::Assistant { ArdourStartup (); ~ArdourStartup (); + void set_new_only (bool); + Glib::ustring session_name (bool& should_be_new); Glib::ustring session_folder (); - bool use_session_template() { return false; } - Glib::ustring session_template_name() { return ""; } + bool use_session_template(); + Glib::ustring session_template_name(); EngineControl* engine_control() { return engine_dialog; } @@ -55,6 +59,8 @@ class ArdourStartup : public Gtk::Assistant { private: bool applying; bool config_modified; + bool new_user; + bool new_only; void on_apply (); void on_cancel (); @@ -136,11 +142,30 @@ class ArdourStartup : public Gtk::Assistant { Gtk::Entry new_name_entry; Gtk::FileChooserButton new_folder_chooser; Gtk::FileChooserButton session_template_chooser; + + struct SessionTemplateColumns : public Gtk::TreeModel::ColumnRecord { + SessionTemplateColumns () { + add (name); + add (path); + } + + Gtk::TreeModelColumn name; + Gtk::TreeModelColumn path; + }; + + SessionTemplateColumns session_template_columns; + Glib::RefPtr template_model; + Gtk::ComboBox template_chooser; + Gtk::VBox session_new_vbox; Gtk::CheckButton more_new_session_options_button; + Gtk::RadioButtonGroup session_template_group; + Gtk::RadioButton use_session_as_template_button; + Gtk::RadioButton use_template_button; void more_new_session_options_button_clicked(); void new_name_changed (); + void populate_session_templates (); /* more options for new sessions */ -- cgit v1.2.3