* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Asger & Jürgen
+ * \author Asger & Jürgen
*
* Full author contact details are available in file CREDITS.
*/
#include "qt_helpers.h"
+#include "support/lassert.h"
#include "support/debug.h"
#include "Encoding.h"
#include <QEvent>
#include <QTextCodec>
-#include "boost/assert.hpp"
-
#include <map>
#include <string>
case Qt::Key_Y: return "y";
case Qt::Key_Z: return "z";
+ case Qt::Key_Return: return "Return";
case Qt::Key_Escape: return "Escape";
+ case Qt::Key_Tab: return "Tab";
case Qt::Key_Backspace: return "BackSpace";
case Qt::Key_Insert: return "Insert";
case Qt::Key_Delete: return "Delete";
return 0;
}
- LYXERR(Debug::KEY, "Using codec " << fromqstr(codec->name()));
+ LYXERR(Debug::KEY, "Using codec " << codec->name());
if (!codec->canEncode(str)) {
LYXERR(Debug::KEY, "Oof. Can't encode the text !");
return;
}
LYXERR(Debug::KEY, "Getting key " << ev->key() << ", with text '"
- << fromqstr(ev->text()) << "'");
+ << ev->text() << "'");
// This is unsafe because ev->text() is the unicode representation of the
// key, not the name of the key. For example, Ctrl-x and Alt-x produce
// different texts.
bool KeySymbol::isOK() const
{
- bool const ok = !(text_.empty() && key_ == Qt::Key_unknown);
+ bool const ok = !(text_.empty() && qkey_to_string(key_).empty());
LYXERR(Debug::KEY, "isOK is " << ok);
return ok;
}
return 0;
// UTF16 has a maximum of two characters.
- BOOST_ASSERT(text_.size() <= 2);
+ LASSERT(text_.size() <= 2, /**/);
if (lyxerr.debugging() && text_.size() > 1) {
// We don't know yet how well support the full ucs4 range.
tmpkey += Qt::AltModifier;
QKeySequence seq(tmpkey);
+ QString str;
+
+ if (forgui)
+ str = seq.toString(QKeySequence::NativeText);
+ else {
+#ifdef Q_WS_MACX
+ // Qt/Mac does not use Command and friends in the
+ // portable case, but the windows-like Control+x (bug 5421).
+ str = seq.toString(QKeySequence::NativeText);
+ str.replace(QChar(0x21E7), qt_("Shift-"));
+ str.replace(QChar(0x2303), qt_("Control-"));
+ str.replace(QChar(0x2325), qt_("Option-"));
+ str.replace(QChar(0x2318), qt_("Command-"));
+#else
+ str = seq.toString(QKeySequence::PortableText);
+#endif
+ }
- return qstring_to_ucs4(seq.toString(forgui ? QKeySequence::NativeText
- : QKeySequence::PortableText));
+ return qstring_to_ucs4(str);
}