along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id$
*/
#include <vector>
#include <ardour/ardour.h>
#include "actions.h"
+#include "opts.h"
#include "i18n.h"
using namespace std;
{
ui_manager = UIManager::create ();
- std::string ui_file = ARDOUR::find_config_file("ardour.menus");
+ std::string ui_file = ARDOUR::find_config_file (ARDOUR_COMMAND_LINE::menus_file);
bool loaded = false;
}
}
-RefPtr<Action>
-ActionManager::register_action (RefPtr<ActionGroup> group, const char * name, const char * label, slot<void> sl, guint key, Gdk::ModifierType mods)
-{
- RefPtr<Action> act = register_action (group, name, label, sl);
- AccelMap::add_entry (act->get_accel_path(), key, mods);
-
- return act;
-}
-
RefPtr<Action>
ActionManager::register_action (RefPtr<ActionGroup> group, const char * name, const char * label, slot<void> sl)
{
}
-RefPtr<Action>
-ActionManager::register_radio_action (RefPtr<ActionGroup> group, RadioAction::Group& rgroup, const char * name, const char * label, slot<void> sl, guint key, Gdk::ModifierType mods)
-{
- RefPtr<Action> act = register_radio_action (group, rgroup, name, label, sl);
- AccelMap::add_entry (act->get_accel_path(), key, mods);
-
- return act;
-}
-
RefPtr<Action>
ActionManager::register_radio_action (RefPtr<ActionGroup> group, RadioAction::Group& rgroup, const char * name, const char * label, slot<void> sl)
{
return act;
}
-RefPtr<Action>
-ActionManager::register_toggle_action (RefPtr<ActionGroup> group, const char * name, const char * label, slot<void> sl, guint key, Gdk::ModifierType mods)
-{
- RefPtr<Action> act = register_toggle_action (group,name, label, sl);
- AccelMap::add_entry (act->get_accel_path(), key, mods);
-
- return act;
-}
-
RefPtr<Action>
ActionManager::register_toggle_action (RefPtr<ActionGroup> group, const char * name, const char * label, slot<void> sl)
{
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)
{
if (tact) {
bool x = (Config->*get)();
-
+
if (x != tact->get_active()) {
(Config->*set) (!x);
}
}
}
+
+/** 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)
{