action and glade path stuff

git-svn-id: svn://localhost/trunk/ardour2@121 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Tim Mayberry 2005-11-26 12:08:33 +00:00
parent cd10162199
commit 655be077fa
3 changed files with 35 additions and 29 deletions

View File

@ -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))

View File

@ -25,6 +25,8 @@
#include <pbd/error.h>
#include <ardour/ardour.h>
#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;
}
}

View File

@ -21,6 +21,8 @@
#include <glibmm/fileutils.h>
#include <glibmm/miscutils.h>
#include <ardour/ardour.h>
#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<std::string> 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 :