summaryrefslogtreecommitdiff
path: root/gtk2_ardour/startup.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-04-22 01:35:31 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-04-22 01:35:31 +0000
commitc287ebec9b92d7abb48a92daf11bac0152cc6789 (patch)
treeede1a6e62829ae84f7f9a672ce6187a5ed2ad26a /gtk2_ardour/startup.h
parent0d36301907afd612f93a7bfa53724cc9a17724de (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.h29
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 */