summaryrefslogtreecommitdiff
path: root/gtk2_ardour/new_session_dialog.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-12-20 21:54:39 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-12-20 21:54:39 +0000
commitcc603c2dafae5585c0d0339675fa09bf766bcb55 (patch)
treef9b0a587e974908c9f597df1998a8968d0bac55c /gtk2_ardour/new_session_dialog.cc
parentf66a09c344188cb6a82c3a5c0035da22d36e2ada (diff)
missing template dir patch from tim, fix extend selection to track when track is already selected
git-svn-id: svn://localhost/ardour2/trunk@1237 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/new_session_dialog.cc')
-rw-r--r--gtk2_ardour/new_session_dialog.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/gtk2_ardour/new_session_dialog.cc b/gtk2_ardour/new_session_dialog.cc
index 4c486eaaf8..9e094c9ad0 100644
--- a/gtk2_ardour/new_session_dialog.cc
+++ b/gtk2_ardour/new_session_dialog.cc
@@ -357,17 +357,29 @@ NewSessionDialog::NewSessionDialog()
m_treeview->get_selection()->set_mode (Gtk::SELECTION_SINGLE);
std::string path = ARDOUR::get_user_ardour_path();
+
if (path.empty()) {
path = ARDOUR::get_system_data_path();
}
+
+ const char * const template_dir_name = X_("templates");
+
if (!path.empty()) {
- m_template->set_current_folder (path + X_("templates/"));
+ string user_template_path = path + template_dir_name;
+
+ if (Glib::file_test(user_template_path, Glib::FILE_TEST_IS_DIR))
+ {
+ m_template->set_current_folder (user_template_path);
+ }
}
- const std::string sys_templates_dir = ARDOUR::get_system_data_path() + X_("templates");
+ const std::string sys_templates_dir = ARDOUR::get_system_data_path() + template_dir_name;
+
if (Glib::file_test(sys_templates_dir, Glib::FILE_TEST_IS_DIR))
+ {
m_template->add_shortcut_folder(sys_templates_dir);
-
+ }
+
m_template->set_title(_("select template"));
Gtk::FileFilter* session_filter = manage (new (Gtk::FileFilter));
session_filter->add_pattern(X_("*.ardour"));