]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiKeySymbol.cpp
Fix the tab ordering of GuiDocument components.
[lyx.git] / src / frontends / qt4 / GuiKeySymbol.cpp
index 870d269d520156acb491c3b05300da014f10d1f5..b3184304cfbed55876023ecc6819befd141601d0 100644 (file)
@@ -687,21 +687,18 @@ docstring const KeySymbol::print(KeyModifier mod, bool forgui) const
 {
        int tmpkey = key_;
 
-       if (mod & ShiftModifier)
+       if (mod & ShiftModifier && !(tmpkey == Qt::Key_Shift))
                tmpkey += Qt::ShiftModifier;
-       if (mod & ControlModifier)
+       if (mod & ControlModifier && !(tmpkey == Qt::Key_Control))
                tmpkey += Qt::ControlModifier;
-#ifdef Q_WS_MACX
-       if (mod & AltModifier)
-               tmpkey += Qt::MetaModifier;
-#else
-       if (mod & AltModifier)
+       if (mod & AltModifier && !(tmpkey == Qt::Key_Alt))
                tmpkey += Qt::AltModifier;
-#endif
+       if (mod & MetaModifier && !(tmpkey == Qt::Key_Meta))
+               tmpkey += Qt::MetaModifier;
 
        QKeySequence seq(tmpkey);
        QString str;
-       
+
        if (forgui)
                str = seq.toString(QKeySequence::NativeText);
        else {
@@ -749,11 +746,13 @@ KeyModifier q_key_state(Qt::KeyboardModifiers state)
                k |= ControlModifier;
        if (state & Qt::ShiftModifier)
                k |= ShiftModifier;
-#ifdef Q_WS_MACX
-       if (state & Qt::MetaModifier)
+       if (state & Qt::AltModifier)
                k |= AltModifier;
+#if defined(USE_MACOSX_PACKAGING) || defined(USE_META_KEYBINDING)
+       if (state & Qt::MetaModifier)
+               k |= MetaModifier;
 #else
-       if (state & Qt::AltModifier || state & Qt::MetaModifier)
+       if (state & Qt::MetaModifier)
                k |= AltModifier;
 #endif
        return k;