From 8494245b92e02f982a506ed044a555db239bd4d6 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 25 Jul 2015 05:18:01 +0200 Subject: shortcuts: store .ini value as portable string --- opentrack/shortcuts.cpp | 15 +++++++++++---- opentrack/shortcuts.h | 4 ++-- 2 files changed, 13 insertions(+), 6 deletions(-) (limited to 'opentrack') diff --git a/opentrack/shortcuts.cpp b/opentrack/shortcuts.cpp index d68da30e..81393ae3 100644 --- a/opentrack/shortcuts.cpp +++ b/opentrack/shortcuts.cpp @@ -132,18 +132,25 @@ void Shortcuts::bind_keyboard_shortcut(K &key, key_opts& k) key->setShortcut(QKeySequence::UnknownKey); } - if (k.keycode) + if (k.keycode != "") { - key->setShortcut(QKeySequence(k.keycode)); + key->setShortcut(QKeySequence::fromString(k.keycode, QKeySequence::PortableText)); key->setEnabled(); } } #else key = K(); int idx = 0; + QKeySequence seq;; + + if (k.keycode == "") + code = QKeySequence(Qt::Key_unknown); + else + code = QKeySequence::fromString(k.keycode, QKeySequence::PortableText) + Qt::KeyboardModifiers mods = Qt::NoModifier; - if (k.keycode != Qt::Key_unknown) - win_key::from_qt(QKeySequence(k.keycode), idx, mods); + if (code != Qt::Key_unknown) + win_key::from_qt(code, idx, mods); key.shift = !!(mods & Qt::ShiftModifier); key.alt = !!(mods & Qt::AltModifier); key.ctrl = !!(mods & Qt::ControlModifier); diff --git a/opentrack/shortcuts.h b/opentrack/shortcuts.h index 6a9a6f77..2d7fec54 100644 --- a/opentrack/shortcuts.h +++ b/opentrack/shortcuts.h @@ -27,10 +27,10 @@ using namespace options; extern QList global_key_sequences; struct key_opts { - value keycode; + value keycode; key_opts(pbundle b, const QString& name) : - keycode(b, QString("keycode-%1").arg(name), 0) + keycode(b, QString("keycode-%1").arg(name), "") {} }; -- cgit v1.2.3