]> git.lyx.org Git - features.git/commitdiff
Add != operator to FuncRequest and special value FuncRequest::prefix
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 9 Dec 2022 13:43:19 +0000 (14:43 +0100)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Sat, 10 Dec 2022 19:30:58 +0000 (20:30 +0100)
Use this value (and `unknown' where relevant)

src/FuncRequest.cpp
src/FuncRequest.h
src/KeyMap.cpp
src/frontends/qt/GuiPrefs.cpp

index 25ea41a82f4029034cb29fad64447200fa6a2f84..1597027311851e1dc1b7c9464a73c1f55a50695a 100644 (file)
@@ -28,6 +28,7 @@ namespace lyx {
 
 FuncRequest const FuncRequest::unknown(LFUN_UNKNOWN_ACTION);
 FuncRequest const FuncRequest::noaction(LFUN_NOACTION);
+FuncRequest const FuncRequest::prefix(LFUN_COMMAND_PREFIX);
 
 FuncRequest::FuncRequest(Origin o)
        : origin_(o)
@@ -114,12 +115,19 @@ string FuncRequest::getLongArg(unsigned int i) const
        return i < args.size() ? args[i] : string();
 }
 
+
 bool operator==(FuncRequest const & lhs, FuncRequest const & rhs)
 {
        return lhs.action() == rhs.action() && lhs.argument() == rhs.argument();
 }
 
 
+bool operator!=(FuncRequest const & lhs, FuncRequest const & rhs)
+{
+       return !(lhs == rhs);
+}
+
+
 ostream & operator<<(ostream & os, FuncRequest const & cmd)
 {
        return os
index 52fb1434aa7b3f3912f67970216da2803d9563e3..efbe425f57fc25d609f91cc0b42163d0584ebf95 100644 (file)
@@ -98,6 +98,9 @@ public:
        static FuncRequest const unknown;
        ///
        static FuncRequest const noaction;
+       ///
+       static FuncRequest const prefix;
+
        ///
        bool allowAsync() const { return allow_async_; }
        ///
@@ -129,6 +132,8 @@ private:
 
 bool operator==(FuncRequest const & lhs, FuncRequest const & rhs);
 
+bool operator!=(FuncRequest const & lhs, FuncRequest const & rhs);
+
 std::ostream & operator<<(std::ostream &, FuncRequest const &);
 
 LyXErr & operator<<(LyXErr &, FuncRequest const &);
index 1fb82c2f195cbf7b39e70f51918d3d57fb89f83d..c530f5f1f2e93640960669da67f37265dffff1c9 100644 (file)
@@ -457,8 +457,7 @@ FuncRequest const & KeyMap::lookup(KeySymbol const &key,
                        if (cit->prefixes) {
                                // this is a prefix key - set new map
                                seq->curmap = cit->prefixes.get();
-                               static const FuncRequest prefix(LFUN_COMMAND_PREFIX);
-                               return prefix;
+                               return FuncRequest::prefix;
                        } else {
                                // final key - reset map
                                seq->reset();
index c72baee3379aade691e3d2f6179391bc92c89cf6..46baffdcfec811a3cab9956f3c5fcb724d299754 100644 (file)
@@ -3359,9 +3359,10 @@ docstring makeCmdString(FuncRequest const & f)
 FuncRequest PrefShortcuts::currentBinding(KeySequence const & k)
 {
        FuncRequest res = user_bind_.getBinding(k);
-       if (res.action() != LFUN_UNKNOWN_ACTION)
+       if (res != FuncRequest::unknown)
                return res;
        res = system_bind_.getBinding(k);
+
        // Check if it is unbound. Note: user_unbind_ can only unbind one
        // FuncRequest per key sequence.
        if (user_unbind_.getBinding(k) == res)