diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-04-22 01:35:31 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-04-22 01:35:31 +0000 |
commit | c287ebec9b92d7abb48a92daf11bac0152cc6789 (patch) | |
tree | ede1a6e62829ae84f7f9a672ce6187a5ed2ad26a /gtk2_ardour/startup.h | |
parent | 0d36301907afd612f93a7bfa53724cc9a17724de (diff) |
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
Diffstat (limited to 'gtk2_ardour/startup.h')
-rw-r--r-- | gtk2_ardour/startup.h | 29 |
1 files changed, 27 insertions, 2 deletions
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 <gtkmm/table.h> #include <gtkmm/frame.h> #include <gtkmm/spinbutton.h> +#include <gtkmm/liststore.h> +#include <gtkmm/combobox.h> 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<std::string> name; + Gtk::TreeModelColumn<std::string> path; + }; + + SessionTemplateColumns session_template_columns; + Glib::RefPtr<Gtk::ListStore> 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 */ |