]> git.lyx.org Git - lyx.git/blobdiff - src/kbmap.h
Convert shortcut strings to unicode (required by Qt/Mac); restore
[lyx.git] / src / kbmap.h
index 3648f14bc3fd8de7b0f2a5c2e475ea0fc0183338..029a4e1b4eafcf406187ddd9b9eb132a77629a3d 100644 (file)
 #include "funcrequest.h"
 
 #include "frontends/key_state.h"
+#include "frontends/LyXKeySym.h"
+
+#include "support/docstream.h"
 
 #include <boost/shared_ptr.hpp>
 
 #include <vector>
 #include <deque>
 
+
+namespace lyx {
+
 class kb_sequence;
-class LyXKeySym;
 
 /// Defines key maps and actions for key sequences
 class kb_keymap {
@@ -41,16 +46,14 @@ public:
        bool read(std::string const & bind_file);
 
        /// print all available keysyms
-       std::string const print() const;
+       docstring const print() const;
 
-       ///
-       typedef boost::shared_ptr<LyXKeySym> LyXKeySymPtr;
        /**
         * Look up a key press in the keymap.
         * @param key the keysym
         * @param mod the modifiers
         * @param seq the current key sequence so far
-        * @return the action / LFUN_PREFIX / LFUN_UNKNOWN_ACTION
+        * @return the action / LFUN_COMMAND_PREFIX / LFUN_UNKNOWN_ACTION
         */
        FuncRequest const &
        lookup(LyXKeySymPtr key,
@@ -63,9 +66,9 @@ public:
        Bindings findbindings(FuncRequest const & func) const;
 
        /// Given an action, print the keybindings.
-       std::string const printbindings(FuncRequest const & func) const;
+       docstring const printbindings(FuncRequest const & func) const;
 
-       /**
+       /**
         *  Given an action, find the first 1-key binding (if it exists).
         *  The LyXKeySym pointer is 0 is no key is found.
         *  [only used by the Qt/Mac frontend]
@@ -108,7 +111,7 @@ private:
                    unsigned int r = 0);
 
        ///  Returns a string of the given key
-       std::string const printKey(kb_key const & key) const;
+       docstring const printKey(kb_key const & key) const;
 
        /**
         * Given an action, find all keybindings
@@ -128,4 +131,10 @@ private:
        Table table;
 };
 
+/// Implementation is in lyx_main.C
+extern kb_keymap & theTopLevelKeymap();
+
+
+} // namespace lyx
+
 #endif // KBMAP_H