#include "ardour/session.h"
#include "ardour/session_state_utils.h"
#include "ardour/template_utils.h"
+#include "ardour/filename_extensions.h"
#include "ardour_ui.h"
#include "startup.h"
set_default_icon_list (window_icons);
}
- new_user = !exists (been_here_before_path ());
+ new_user = !Glib::file_test(been_here_before_path().to_string(), Glib::FILE_TEST_EXISTS);
bool need_audio_setup = !EngineControl::engine_running();
- setup_prerelease_page ();
+ // setup_prerelease_page ();
if (new_user) {
-
- /* Create the config directory so that we have somewhere to put the
- been_here_before file.
- */
- try {
- sys::create_directories (user_config_directory ());
- }
- catch (const sys::filesystem_error& ex) {
- error << "Could not create user configuration directory" << endmsg;
- }
setup_new_user_page ();
setup_first_time_config_page ();
ArdourStartup::session_template_name ()
{
if (!load_template_override.empty()) {
- string the_path = (ARDOUR::user_template_directory()/ (load_template_override + ".template")).to_string();
- return the_path;
+ string the_path(ARDOUR::user_template_directory());
+ return Glib::build_filename (the_path, load_template_override + ARDOUR::template_suffix);
}
if (ic_existing_session_button.get_active()) {
centering_vbox->pack_start (ic_new_session_button, false, true);
centering_vbox->pack_start (ic_existing_session_button, false, true);
- ic_new_session_button.signal_clicked().connect(sigc::mem_fun(*this, &ArdourStartup::initial_button_clicked));
+ ic_new_session_button.signal_button_press_event().connect(sigc::mem_fun(*this, &ArdourStartup::initial_button_clicked), false);
ic_new_session_button.signal_activate().connect(sigc::mem_fun(*this, &ArdourStartup::initial_button_activated), false);
- ic_existing_session_button.signal_clicked().connect(sigc::mem_fun(*this, &ArdourStartup::initial_button_clicked));
+ ic_existing_session_button.signal_button_press_event().connect(sigc::mem_fun(*this, &ArdourStartup::initial_button_clicked), false);
ic_existing_session_button.signal_activate().connect(sigc::mem_fun(*this, &ArdourStartup::initial_button_activated), false);
centering_hbox->pack_start (*centering_vbox, true, true);
set_page_complete (ic_vbox, true);
}
-void
-ArdourStartup::initial_button_clicked ()
+bool
+ArdourStartup::initial_button_clicked (GdkEventButton* ev)
{
- if (session_page_index != -1) {
+ if (ev->type == GDK_2BUTTON_PRESS && session_page_index != -1) {
set_current_page(session_page_index);
}
+
+ return false;
}
void
for (vector<sys::path>::const_iterator i = session_directories.begin(); i != session_directories.end(); ++i)
{
- std::vector<sys::path> state_file_paths;
+ std::vector<std::string> state_file_paths;
// now get available states for this session
- get_state_files_in_directory (*i, state_file_paths);
+ get_state_files_in_directory ((*i).to_string (), state_file_paths);
vector<string*>* states;
vector<const gchar*> item;
existing_session_chooser.set_title (_("Select session file"));
existing_session_chooser.signal_file_set().connect (sigc::mem_fun (*this, &ArdourStartup::existing_session_selected));
- cerr << "Set existing chooser to " << Config->get_default_session_parent_dir() << endl;
existing_session_chooser.set_current_folder(poor_mans_glob (Config->get_default_session_parent_dir()));
+ FileFilter session_filter;
+ session_filter.add_pattern ("*.ardour");
+ session_filter.set_name (string_compose (_("%1 sessions"), PROGRAM_NAME));
+ existing_session_chooser.add_filter (session_filter);
+ existing_session_chooser.set_filter (session_filter);
+
#ifdef GTKOSX
existing_session_chooser.add_shortcut_folder ("/Volumes");
#endif