diff --git a/gtk2_ardour/SConscript b/gtk2_ardour/SConscript index ef0aa37ed2..4479f345ad 100644 --- a/gtk2_ardour/SConscript +++ b/gtk2_ardour/SConscript @@ -206,7 +206,7 @@ executable = 'ardour.bin' ardour = gtkardour.Program(target = executable, source = gtkardour_files + extra_sources) mtest = gtkardour.Program(target = 'mtest', source = mtest_files) -itest = gtkardour.Program(target = 'itest', source = itest_files) +#itest = gtkardour.Program(target = 'itest', source = itest_files) Default(ardour) @@ -222,6 +222,7 @@ if env['NLS']: env.Alias('install', env.InstallAs(os.path.join(install_prefix, 'bin')+'/ardour', ardour)) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour'), 'ardour_ui.rc')) +env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour'), 'ardour-menus.xml')) env.Alias('install', env.Install(os.path.join(install_prefix, 'share/ardour'), 'splash.ppm')) env.Alias('install', env.Install(os.path.join(install_prefix, 'share/ardour/glade'), glade_files)) diff --git a/gtk2_ardour/actions.cc b/gtk2_ardour/actions.cc index 4cb573eee0..8a5928c3f8 100644 --- a/gtk2_ardour/actions.cc +++ b/gtk2_ardour/actions.cc @@ -25,6 +25,8 @@ #include +#include + #include "actions.h" using namespace std; @@ -48,9 +50,11 @@ ActionManager::init () ui_manager = UIManager::create (); try { - ui_manager->add_ui_from_file ("ardour-menus.xml"); + ui_manager->add_ui_from_file (ARDOUR::find_config_file("ardour-menus.xml")); } catch (Glib::MarkupError& err) { error << "badly formatted UI definition file" << endmsg; + } catch (...) { + std::cerr << "ardour action xml file not found" << endl; } } diff --git a/gtk2_ardour/glade_path.cc b/gtk2_ardour/glade_path.cc index e922ec2e13..7ccdcc3d97 100644 --- a/gtk2_ardour/glade_path.cc +++ b/gtk2_ardour/glade_path.cc @@ -21,6 +21,8 @@ #include #include +#include + #include "i18n.h" #include "glade_path.h" @@ -29,31 +31,30 @@ std::string GladePath::path(const std::string& glade_file) { - std::string user_glade_dir = Glib::getenv(X_("ARDOUR_GLADE_PATH")); - std::string full_path; - - if(user_glade_dir != "") { - full_path = Glib::build_filename(user_glade_dir, glade_file); - if(Glib::file_test(full_path, Glib::FILE_TEST_EXISTS)) return full_path; - } - - // check if file ~/.ardour/glade/glade_file exists. - std::vector path; - path.push_back(Glib::get_home_dir()); - path.push_back(X_(".ardour")); // define as a constant somewhere? - path.push_back(X_("glade")); - path.push_back(glade_file); - full_path = Glib::build_filename(path); - - // temporary debugging - std::cout << "Path to glade file" << full_path << std::endl; - - if(Glib::file_test(full_path, Glib::FILE_TEST_EXISTS)) return full_path; - - /* - If for some wierd reason the system wide glade file - doesn't exist libglademm will throw an exception - so don't bother testing if it exists etc. - */ - return Glib::build_filename(GLADEPATH, glade_file); + std::string user_glade_dir = Glib::getenv(X_("ARDOUR_GLADE_PATH")); + std::string full_path; + + if(!user_glade_dir.empty()) { + Glib::build_filename(user_glade_dir, glade_file); + if(Glib::file_test(full_path, Glib::FILE_TEST_EXISTS)) return full_path; + } + + full_path = ARDOUR::find_data_file(Glib::build_filename("glade", + glade_file)); + + // temporary debugging + std::cerr << "Path to glade file" << full_path << std::endl; + + return full_path; } + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :