#include <gtkmm/uimanager.h>
#include <pbd/error.h>
+#include <pbd/file_utils.h>
#include <ardour/ardour.h>
+#include <ardour/filesystem_paths.h>
#include "actions.h"
#include "i18n.h"
ActionManager::init ()
{
ui_manager = UIManager::create ();
-
- std::string ui_file = ARDOUR::find_config_file("ardour.menus");
+
+ sys::path ui_file;
+
+ SearchPath spath = ardour_search_path() + user_config_directory() + system_config_search_path();
+
+ find_file_in_search_path (spath, "ardour.menus", ui_file);
bool loaded = false;
try {
- ui_manager->add_ui_from_file (ui_file);
+ ui_manager->add_ui_from_file (ui_file.to_string());
loaded = true;
} catch (Glib::MarkupError& err) {
error << _("badly formatted UI definition file") << endmsg;
delete [] group_name;
}
+/** Examine the state of a Configuration setting and a toggle action, and toggle the Configuration
+ * setting if its state doesn't match the toggle action.
+ * @param group Action group.
+ * @param action Action name.
+ * @param Method to set the state of the Configuration setting.
+ * @param Method to get the state of the Configuration setting.
+ */
void
ActionManager::toggle_config_state (const char* group, const char* action, bool (Configuration::*set)(bool), bool (Configuration::*get)(void) const)
{
}
}
+
+/** Set the state of a ToggleAction using a particular Configuration get() method
+ * @param group Action group.
+ * @param action Action name.
+ * @param get Method to obtain the state that the ToggleAction should have.
+ */
void
ActionManager::map_some_state (const char* group, const char* action, bool (Configuration::*get)() const)
{