bool CKeyBindings::UnBindAction(const std::string& command) { bool success = false; KeyMap::iterator it = bindings.begin(); while (it != bindings.end()) { ActionList& al = it->second; if (RemoveCommandFromList(al, command)) { success = true; } if (al.empty()) { it = bindings.erase(it); } else { ++it; } } return success; }
bool CKeyBindings::UnBind(const string& keystr, const string& command) { CKeySet ks; if (!ParseKeySet(keystr, ks)) { LOG_L(L_WARNING, "UnBind: could not parse key: %s", keystr.c_str()); return false; } bool success = false; KeyMap::iterator it = bindings.find(ks); if (it != bindings.end()) { ActionList& al = it->second; success = RemoveCommandFromList(al, command); if (al.empty()) { bindings.erase(it); } } return success; }
bool CKeyBindings::UnBind(const string& keystr, const string& command) { CKeySet ks; if (!ParseKeySet(keystr, ks)) { logOutput.Print("UnBind: could not parse key: %s\n", keystr.c_str()); return false; } bool success = false; KeyMap::iterator it = bindings.find(ks); if (it != bindings.end()) { ActionList& al = it->second; success = RemoveCommandFromList(al, command); if (al.size() <= 0) { bindings.erase(it); } } return success; }
bool CKeyBindings::UnBindAction(const string& command) { bool success = false; KeyMap::iterator it = bindings.begin(); while (it != bindings.end()) { ActionList& al = it->second; if (RemoveCommandFromList(al, command)) { success = true; } if (al.size() <= 0) { KeyMap::iterator it_next = it; it_next++; bindings.erase(it); it = it_next; } else { it++; } } return success; }