#include <glibmm/refptr.h>
#include "ardour_dialog.h"
+#include "engine_dialog.h"
namespace Gtk {
class Entry;
{
public:
+ enum Pages {
+ NewPage = 0x1,
+ OpenPage = 0x2,
+ EnginePage = 0x4
+ };
+
NewSessionDialog();
+ ~NewSessionDialog ();
+
+ int run ();
void set_session_name(const Glib::ustring& name);
+ void set_session_folder(const Glib::ustring& folder);
std::string session_name() const;
std::string session_folder() const;
bool connect_outs_to_master() const;
bool connect_outs_to_physical() const ;
+ Pages which_page () const;
+
int get_current_page();
+ void set_current_page (int);
void reset_recent();
// reset everything to default values.
void reset();
+ EngineControl engine_control;
+ void set_have_engine (bool yn);
+ void set_existing_session (bool yn);
+
protected:
void reset_name();
void reset_template();
-
+
Gtk::Label * session_name_label;
Gtk::Label * session_location_label;
Gtk::Label * session_template_label;
Gtk::Notebook* m_notebook;
private:
+
+ Pages page_set;
+
struct RecentSessionModelColumns : public Gtk::TreeModel::ColumnRecord {
RecentSessionModelColumns() {
add (visible_name);
RecentSessionModelColumns recent_columns;
Glib::RefPtr<Gtk::TreeStore> recent_model;
+ bool in_destructor;
void recent_session_selection_changed ();
void nsd_redisplay_recent_sessions();
return cmp_nocase(a.first, b.first) == -1;
}
};
- bool entry_key_release (GdkEventKey*);
+ void on_new_session_name_entry_changed();
void notebook_page_changed (GtkNotebookPage*, uint);
void treeview_selection_changed ();
void file_chosen ();
void monitor_bus_button_clicked ();
bool on_new_session_page;
-
-
+ bool have_engine;
};
#endif // NEW_SESSION_DIALOG_H