diff options
author | Liang Qi <liang.qi@qt.io> | 2017-01-25 10:59:12 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-01-25 10:59:12 +0100 |
commit | 85251f9293c0b41178b9c1c8b7c00726a41017a8 (patch) | |
tree | 9167479a97e55f5bd0367abca1d9082b3c03995b /src/virtualkeyboard | |
parent | 0371486a32a0e39cdc9d04f9d1245b214d269e3c (diff) | |
parent | 5fe45f3bf60961519b89950e4a91aa14251499fd (diff) |
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
.qmake.conf
src/virtualkeyboard/shifthandler.cpp
Change-Id: I1f95238b9ac5deed3bec6d85f7433cafe219f7ea
Diffstat (limited to 'src/virtualkeyboard')
20 files changed, 41 insertions, 53 deletions
diff --git a/src/virtualkeyboard/3rdparty/hunspell/hunspell.pro b/src/virtualkeyboard/3rdparty/hunspell/hunspell.pro index 7df90098..bd5eccb3 100644 --- a/src/virtualkeyboard/3rdparty/hunspell/hunspell.pro +++ b/src/virtualkeyboard/3rdparty/hunspell/hunspell.pro @@ -16,7 +16,6 @@ SOURCES += \ src/hunspell/affentry.cxx \ src/hunspell/affixmgr.cxx \ src/hunspell/csutil.cxx \ - src/hunspell/dictmgr.cxx \ src/hunspell/filemgr.cxx \ src/hunspell/hashmgr.cxx \ src/hunspell/hunspell.cxx \ @@ -32,7 +31,6 @@ HEADERS += \ src/hunspell/atypes.hxx \ src/hunspell/baseaffix.hxx \ src/hunspell/csutil.hxx \ - src/hunspell/dictmgr.hxx \ src/hunspell/filemgr.hxx \ src/hunspell/hashmgr.hxx \ src/hunspell/htypes.hxx \ diff --git a/src/virtualkeyboard/3rdparty/lipi-toolkit/lipi-toolkit.pro b/src/virtualkeyboard/3rdparty/lipi-toolkit/lipi-toolkit.pro index bd678b99..9593051a 100644 --- a/src/virtualkeyboard/3rdparty/lipi-toolkit/lipi-toolkit.pro +++ b/src/virtualkeyboard/3rdparty/lipi-toolkit/lipi-toolkit.pro @@ -1,5 +1,4 @@ TEMPLATE = subdirs SUBDIRS += \ - src \ - projects + src diff --git a/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/alphanumeric/alphanumeric.pro b/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/alphanumeric/alphanumeric.pro deleted file mode 100644 index d65137db..00000000 --- a/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/alphanumeric/alphanumeric.pro +++ /dev/null @@ -1,7 +0,0 @@ -TEMPLATE = aux - -cfg.files = config -cfg.path = $$[QT_INSTALL_DATA]/qtvirtualkeyboard/lipi_toolkit/projects/alphanumeric -INSTALLS += cfg - -!prefix_build: COPIES += cfg diff --git a/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/demonumerals/demonumerals.pro b/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/demonumerals/demonumerals.pro deleted file mode 100644 index a16edd28..00000000 --- a/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/demonumerals/demonumerals.pro +++ /dev/null @@ -1,7 +0,0 @@ -TEMPLATE = aux - -cfg.files = config -cfg.path = $$[QT_INSTALL_DATA]/qtvirtualkeyboard/lipi_toolkit/projects/demonumerals -INSTALLS += cfg - -!prefix_build: COPIES += cfg diff --git a/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/lipiengine.pro b/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/lipiengine.pro deleted file mode 100644 index f9ad55a7..00000000 --- a/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/lipiengine.pro +++ /dev/null @@ -1,7 +0,0 @@ -TEMPLATE = aux - -cfg.files += lipiengine.cfg -cfg.path = $$[QT_INSTALL_DATA]/qtvirtualkeyboard/lipi_toolkit/projects -INSTALLS += cfg - -!prefix_build: COPIES += cfg diff --git a/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/projects.pro b/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/projects.pro deleted file mode 100644 index 7109dc45..00000000 --- a/src/virtualkeyboard/3rdparty/lipi-toolkit/projects/projects.pro +++ /dev/null @@ -1,8 +0,0 @@ -TEMPLATE = subdirs - -SUBDIRS += \ - alphanumeric \ - demonumerals \ - lipiengine - -lipiengine.file = lipiengine.pro diff --git a/src/virtualkeyboard/3rdparty/lipi-toolkit/src/lipicommon.pri b/src/virtualkeyboard/3rdparty/lipi-toolkit/src/lipicommon.pri index df20b654..a1b770bb 100644 --- a/src/virtualkeyboard/3rdparty/lipi-toolkit/src/lipicommon.pri +++ b/src/virtualkeyboard/3rdparty/lipi-toolkit/src/lipicommon.pri @@ -4,6 +4,9 @@ CONFIG -= qt CONFIG += exceptions CONFIG += warn_off +contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release +contains(QT_CONFIG, build_all): CONFIG += build_all + INCLUDEPATH += $$PWD/include load(qt_build_paths) diff --git a/src/virtualkeyboard/3rdparty/t9write/t9write.pro b/src/virtualkeyboard/3rdparty/t9write/t9write.pro index 8d6b4b91..05f723a7 100644 --- a/src/virtualkeyboard/3rdparty/t9write/t9write.pro +++ b/src/virtualkeyboard/3rdparty/t9write/t9write.pro @@ -19,3 +19,4 @@ load(qt_helper_lib) # Needed for resources CONFIG += qt +QT = core diff --git a/src/virtualkeyboard/content/components/AlternativeKeys.qml b/src/virtualkeyboard/content/components/AlternativeKeys.qml index 8801099c..a1fcfe14 100644 --- a/src/virtualkeyboard/content/components/AlternativeKeys.qml +++ b/src/virtualkeyboard/content/components/AlternativeKeys.qml @@ -36,7 +36,6 @@ Item { property alias listView: listView property int keyCode property point origin - property bool uppercased: keyboard.uppercased signal clicked z: 1 @@ -86,7 +85,7 @@ Item { if (active && listView.currentIndex >= 0 && listView.currentIndex < listView.model.count) { var activeKey = listView.model.get(listView.currentIndex) InputContext.inputEngine.virtualKeyClick(keyCode, activeKey.text, - uppercased ? Qt.ShiftModifier : 0) + InputContext.uppercase ? Qt.ShiftModifier : 0) } } @@ -95,7 +94,7 @@ Item { var alternativeKeys = key.effectiveAlternativeKeys if (alternativeKeys.length > 0) { for (var i = 0; i < alternativeKeys.length; i++) { - listModel.append({ "text": uppercased ? alternativeKeys[i].toUpperCase() : alternativeKeys[i] }) + listModel.append({ "text": InputContext.uppercase ? alternativeKeys[i].toUpperCase() : alternativeKeys[i] }) } listView.width = keyboard.style.alternateKeysListItemWidth * listModel.count listView.forceLayout() diff --git a/src/virtualkeyboard/content/components/BaseKey.qml b/src/virtualkeyboard/content/components/BaseKey.qml index 07989e01..5c686adf 100644 --- a/src/virtualkeyboard/content/components/BaseKey.qml +++ b/src/virtualkeyboard/content/components/BaseKey.qml @@ -29,6 +29,7 @@ import QtQuick 2.0 import QtQuick.Layouts 1.0 +import QtQuick.VirtualKeyboard 2.1 /*! \qmltype BaseKey @@ -203,7 +204,7 @@ Item { By default, this property reflects the uppercase status of the keyboard. */ - property bool uppercased: keyboard.uppercased && !noModifier + property bool uppercased: InputContext.uppercase && !noModifier /*! Sets the key panel delegate for the key. diff --git a/src/virtualkeyboard/content/components/CharacterPreviewBubble.qml b/src/virtualkeyboard/content/components/CharacterPreviewBubble.qml index 3a7490aa..1f9a05a2 100644 --- a/src/virtualkeyboard/content/components/CharacterPreviewBubble.qml +++ b/src/virtualkeyboard/content/components/CharacterPreviewBubble.qml @@ -28,6 +28,7 @@ ****************************************************************************/ import QtQuick 2.0 +import QtQuick.VirtualKeyboard 2.1 Item { property bool active @@ -44,7 +45,7 @@ Item { onActiveKeyChanged: { if (activeKey && characterPreview.item !== null) { - characterPreview.item.text = keyboard.uppercased ? activeKey.text.toUpperCase() : activeKey.text + characterPreview.item.text = InputContext.uppercase ? activeKey.text.toUpperCase() : activeKey.text width = activeKey.width height = activeKey.height var position = keyboard.mapFromItem(activeKey, 0, 0) diff --git a/src/virtualkeyboard/content/components/Keyboard.qml b/src/virtualkeyboard/content/components/Keyboard.qml index 27d66d2a..2bb68d3e 100644 --- a/src/virtualkeyboard/content/components/Keyboard.qml +++ b/src/virtualkeyboard/content/components/Keyboard.qml @@ -59,7 +59,6 @@ Item { return "main" } property bool active: Qt.inputMethod.visible - property bool uppercased: InputContext.shift property bool handwritingMode property bool fullScreenHandwritingMode property bool symbolMode @@ -748,7 +747,7 @@ Item { function click(key) { if (key && key.enabled) { if (!key.noKeyEvent) - InputContext.inputEngine.virtualKeyClick(key.key, keyboard.uppercased ? key.text.toUpperCase() : key.text, keyboard.uppercased ? Qt.ShiftModifier : 0) + InputContext.inputEngine.virtualKeyClick(key.key, InputContext.uppercase ? key.text.toUpperCase() : key.text, InputContext.uppercase ? Qt.ShiftModifier : 0) key.clicked() } } diff --git a/src/virtualkeyboard/content/components/ShiftKey.qml b/src/virtualkeyboard/content/components/ShiftKey.qml index b8424a5b..d7705d9f 100644 --- a/src/virtualkeyboard/content/components/ShiftKey.qml +++ b/src/virtualkeyboard/content/components/ShiftKey.qml @@ -48,9 +48,5 @@ BaseKey { highlighted: InputContext.capsLock functionKey: true keyPanelDelegate: keyboard.style ? keyboard.style.shiftKeyPanel : undefined - /*! \internal */ - property bool capsLock: InputContext.capsLock - /*! \internal */ - property bool shift: InputContext.shift onClicked: InputContext.shiftHandler.toggleShift() } diff --git a/src/virtualkeyboard/content/components/WordCandidatePopupList.qml b/src/virtualkeyboard/content/components/WordCandidatePopupList.qml index 5057dfa8..7740cbf9 100644 --- a/src/virtualkeyboard/content/components/WordCandidatePopupList.qml +++ b/src/virtualkeyboard/content/components/WordCandidatePopupList.qml @@ -54,16 +54,16 @@ ListView { Binding { target: wordCandidatePopupList property: "x" - value: Qt.inputMethod.cursorRectangle.x - + value: Math.round(Qt.inputMethod.cursorRectangle.x - (wordCandidatePopupList.currentItem ? (wordCandidatePopupList.currentItem.hasOwnProperty("cursorAnchor") ? - wordCandidatePopupList.currentItem.cursorAnchor : wordCandidatePopupList.currentItem.width) : 0) + wordCandidatePopupList.currentItem.cursorAnchor : wordCandidatePopupList.currentItem.width) : 0)) when: wordCandidatePopupList.visible } Binding { target: wordCandidatePopupList property: "y" - value: wordCandidatePopupList.flipVertical ? Qt.inputMethod.cursorRectangle.y - wordCandidatePopupList.height : Qt.inputMethod.cursorRectangle.y + Qt.inputMethod.cursorRectangle.height + value: Math.round(wordCandidatePopupList.flipVertical ? Qt.inputMethod.cursorRectangle.y - wordCandidatePopupList.height : Qt.inputMethod.cursorRectangle.y + Qt.inputMethod.cursorRectangle.height) when: wordCandidatePopupList.visible } orientation: ListView.Vertical diff --git a/src/virtualkeyboard/shifthandler.cpp b/src/virtualkeyboard/shifthandler.cpp index 486dea75..c40fd78e 100644 --- a/src/virtualkeyboard/shifthandler.cpp +++ b/src/virtualkeyboard/shifthandler.cpp @@ -48,6 +48,7 @@ public: autoCapitalizationEnabled(false), toggleShiftEnabled(false), shiftChanged(false), + resetWhenVisible(false), manualShiftLanguageFilter(QSet<QLocale::Language>() << QLocale::Arabic << QLocale::Persian << QLocale::Hindi << QLocale::Korean), manualCapsInputModeFilter(QSet<InputEngine::InputMode>() << InputEngine::Cangjie << InputEngine::Zhuyin), noAutoUppercaseInputModeFilter(QSet<InputEngine::InputMode>() << InputEngine::FullwidthLatin << InputEngine::Pinyin << InputEngine::Cangjie << InputEngine::Zhuyin), @@ -61,6 +62,7 @@ public: bool autoCapitalizationEnabled; bool toggleShiftEnabled; bool shiftChanged; + bool resetWhenVisible; QLocale locale; QTime timer; const QSet<QLocale::Language> manualShiftLanguageFilter; @@ -100,6 +102,7 @@ ShiftHandler::ShiftHandler(InputContext *parent) : connect(d->inputContext, SIGNAL(shiftChanged()), SLOT(shiftChanged())); connect(d->inputContext, SIGNAL(capsLockChanged()), SLOT(shiftChanged())); connect(d->inputContext, SIGNAL(localeChanged()), SLOT(localeChanged())); + connect(qGuiApp->inputMethod(), SIGNAL(visibleChanged()), SLOT(inputMethodVisibleChanged())); d->locale = QLocale(d->inputContext->locale()); } } @@ -255,6 +258,11 @@ void ShiftHandler::autoCapitalize() void ShiftHandler::restart() { + Q_D(ShiftHandler); + if (!qGuiApp->inputMethod()->isVisible()) { + d->resetWhenVisible = true; + return; + } reset(); } @@ -271,6 +279,15 @@ void ShiftHandler::localeChanged() restart(); } +void ShiftHandler::inputMethodVisibleChanged() +{ + Q_D(ShiftHandler); + if (d->resetWhenVisible && qGuiApp->inputMethod()->isVisible()) { + d->resetWhenVisible = false; + reset(); + } +} + void ShiftHandler::setAutoCapitalizationEnabled(bool enabled) { Q_D(ShiftHandler); diff --git a/src/virtualkeyboard/shifthandler.h b/src/virtualkeyboard/shifthandler.h index 4e63a946..c28a9581 100644 --- a/src/virtualkeyboard/shifthandler.h +++ b/src/virtualkeyboard/shifthandler.h @@ -69,6 +69,7 @@ private slots: void restart(); void localeChanged(); void shiftChanged(); + void inputMethodVisibleChanged(); private: void setAutoCapitalizationEnabled(bool enabled); diff --git a/src/virtualkeyboard/styles/KeyPanel.qml b/src/virtualkeyboard/styles/KeyPanel.qml index 68bb0850..4e12b9a8 100644 --- a/src/virtualkeyboard/styles/KeyPanel.qml +++ b/src/virtualkeyboard/styles/KeyPanel.qml @@ -52,8 +52,6 @@ Item { \li \c control.enabled Set to true when the key is enabled. \li \c control.pressed Set to true when the key is currently pressed. \li \c control.uppercased Set to true when the key is uppercased. - \li \c control.capsLock Set to true when caps lock is enabled. - \note Deprecated since 1.2. Use \l {InputContext::capsLock} {InputContext.capsLock} instead. \endlist */ property Item control diff --git a/src/virtualkeyboard/styles/KeyboardStyle.qml b/src/virtualkeyboard/styles/KeyboardStyle.qml index 547aa8be..e5704161 100644 --- a/src/virtualkeyboard/styles/KeyboardStyle.qml +++ b/src/virtualkeyboard/styles/KeyboardStyle.qml @@ -44,7 +44,7 @@ import QtQuick 2.0 */ QtObject { - /*! The current size of the keyboard. */ + /*! The current height of the keyboard. */ property real keyboardHeight /*! The design width of the keyboard. */ @@ -53,8 +53,8 @@ QtObject { /*! The design height of the keyboard. */ property real keyboardDesignHeight - /*! The keyboard style scale hint. This value is determined by the - physical size and the design size of the keyboard. All pixel + /*! The keyboard style scale hint. This value is determined by dividing + \l keyboardHeight by \l keyboardDesignHeight. All pixel dimensions must be proportional to this value. */ readonly property real scaleHint: keyboardHeight / keyboardDesignHeight diff --git a/src/virtualkeyboard/tcinputmethod.cpp b/src/virtualkeyboard/tcinputmethod.cpp index 8a7a415a..6628ef7c 100644 --- a/src/virtualkeyboard/tcinputmethod.cpp +++ b/src/virtualkeyboard/tcinputmethod.cpp @@ -238,7 +238,7 @@ public: // Compose back the text after the finals replacement. input.clear(); for (int i = 0; i < decomposed.length(); ++i) { - if (decomposed[i] != 0) + if (!decomposed[i].isNull()) input.append(decomposed[i]); } } else { diff --git a/src/virtualkeyboard/virtualkeyboard.pro b/src/virtualkeyboard/virtualkeyboard.pro index 6866f4ff..7faba317 100644 --- a/src/virtualkeyboard/virtualkeyboard.pro +++ b/src/virtualkeyboard/virtualkeyboard.pro @@ -323,6 +323,10 @@ lipi-toolkit { win32: LIBS += Advapi32.lib else: LIBS += -ldl record-trace-input: DEFINES += QT_VIRTUALKEYBOARD_LIPI_RECORD_TRACE_INPUT + ltk_projects.files = $$PWD/3rdparty/lipi-toolkit/projects + ltk_projects.path = $$[QT_INSTALL_DATA]/qtvirtualkeyboard/lipi_toolkit + INSTALLS += ltk_projects + !prefix_build: COPIES += ltk_projects } t9write { |