X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FKeySequence.cpp;h=cc6a5bd9855da6fd4535b1813f5821903da1bcac;hb=a0b84e0ba0f8f23155f51b8647f3f6feed972c0c;hp=727c49d636883ffe6bc61681d885af53ac714ce6;hpb=36f7fcdee059e1db827f4686d574eb59d521d92c;p=lyx.git diff --git a/src/KeySequence.cpp b/src/KeySequence.cpp index 727c49d636..cc6a5bd985 100644 --- a/src/KeySequence.cpp +++ b/src/KeySequence.cpp @@ -3,7 +3,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author Jean-Marc Lasgouttes * \author John Levon * @@ -13,16 +13,13 @@ #include #include "KeySequence.h" - -#include "gettext.h" #include "KeyMap.h" -#include "lfuns.h" -#include "frontends/KeySymbol.h" +#include "support/gettext.h" -using std::make_pair; -using std::string; +#include "frontends/KeySymbol.h" +using namespace std; namespace lyx { @@ -40,12 +37,10 @@ FuncRequest const & KeySequence::addkey(KeySymbol const & key, modifiers.push_back(make_pair(mod, nmod)); sequence.push_back(key); - if (curmap) { + if (curmap) return curmap->lookup(key, mod, this); - } - static FuncRequest unknown(LFUN_UNKNOWN_ACTION); - return unknown; + return FuncRequest::unknown; } @@ -143,12 +138,12 @@ docstring const KeySequence::print(outputFormat format) const break; case BindFile: KeyModifier mod = modifiers[i].first; - if (mod & ShiftModifier) - buf += "S-"; if (mod & ControlModifier) buf += "C-"; if (mod & AltModifier) buf += "M-"; + if (mod & ShiftModifier) + buf += "S-"; buf += from_utf8(sequence[i].getSymbolName()); break; @@ -174,15 +169,9 @@ docstring const KeySequence::printOptions(bool forgui) const } -void KeySequence::mark_deleted() -{ - deleted_ = true; -} - - void KeySequence::reset() { - mark_deleted(); + deleted_ = true; curmap = stdmap; } @@ -194,4 +183,15 @@ void KeySequence::clear() } +void KeySequence::removeKey() +{ + if (deleted_) + return; + sequence.pop_back(); + modifiers.pop_back(); + if (sequence.empty()) + deleted_ = true; +} + + } // namespace lyx