#include "gtkmm2ext/actions.h"
#include "gtkmm2ext/utils.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace std;
using namespace Gtk;
gtkmm2.6, so we fall back to the C level.
*/
- if (ui_manager == 0) {
+ if (! ui_manager) {
return RefPtr<Action> ();
}
act = Glib::wrap (_act, true);
break;
}
+
+ break;
}
}
}
void
-ActionManager::check_toggleaction (string n)
+ActionManager::check_toggleaction (const string& n)
{
set_toggleaction_state (n, true);
}
void
-ActionManager::uncheck_toggleaction (string n)
+ActionManager::uncheck_toggleaction (const string& n)
{
set_toggleaction_state (n, false);
}
void
-ActionManager::set_toggleaction_state (string n, bool s)
+ActionManager::set_toggleaction_state (const string& n, bool s)
{
char const * name = n.c_str ();
group_name[len] = '\0';
const char* action_name = last_slash + 1;
+ if (!set_toggleaction_state (group_name, action_name, s)) {
+ error << string_compose (_("Unknown action name: %1/%2"), group_name, action_name) << endmsg;
+ }
+
+ delete [] group_name;
+}
+bool
+ActionManager::set_toggleaction_state (const char* group_name, const char* action_name, bool s)
+{
RefPtr<Action> act = get_action (group_name, action_name);
if (act) {
RefPtr<ToggleAction> tact = RefPtr<ToggleAction>::cast_dynamic(act);
- tact->set_active (s);
- } else {
- error << string_compose (_("Unknown action name: %1"), name) << endmsg;
+ if (tact) {
+ tact->set_active (s);
+ return true;
+ }
}
-
- delete [] group_name;
+ return false;
}
void
}
}
}
-