1. 23 May, 2017 - 1 commit
  2. 30 Jan, 2017 - 1 commit
    • Jarkko Koivikko's avatar
      Add full screen input mode for super wide screens · ad44e00c
      Jarkko Koivikko authored
      
      In full screen mode the virtual keyboard replicates the contents of
      the focused input field to full screen input field located on top
      of keyboard.
      
      This mode can be activated by VirtualKeyboardSettings.fullScreenMode.
      
      [ChangeLog] Added full screen input mode for super wide screens.
      
      Change-Id: Ib2650c04767fb0945cc2bedc5b1801d254a15a41
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@qt.io>
      ad44e00c
  3. 20 Jan, 2017 - 1 commit
    • Jarkko Koivikko's avatar
      Automatically hide word candidate list · 839a0afe
      Jarkko Koivikko authored
      
      This change adds support for automatically hiding word candidate list
      when inactive. This feature includes the following enhancements:
      
      - Added new settings:
        * VirtualKeyboardSettings.wordCandidateList.autoHideDelay
        * VirtualKeyboardSettings.wordCandidateList.alwaysVisible
      - Automatic hiding of word candidate list when inactive and when
        autoHideDelay elapsed.
      - alwaysVisible setting restores the old functionality.
      - Added new signal selectionListsChanged() to input method, allowing
        the input method to dynamically allocate or deallocate selection
        lists.
      - HunspellInputMethod does not allocate selection list when
        dictionary cannot be loaded, or Qt::ImhNoPredictiveText is enabled.
        Also, it will no longer use pre-edit text in this case.
      - OpenWnnInputMethod does not allocate selection list if not needed.
      
      [ChangeLog] Automatically hide word candidate list when inactive.
      
      Change-Id: Ifa95ae8a7c47a96719ffdc2929601ff2ef9c0d2e
      Reviewed-by: default avatarGordan Markus <gordan.markus@pelagicore.com>
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@qt.io>
      839a0afe
  4. 14 Jan, 2017 - 1 commit
    • Jarkko Koivikko's avatar
      Add language popup · 0a8c8dfc
      Jarkko Koivikko authored
      
      This change adds language popup as an alternative method for
      selecting the input language.
      
      The language popup is enabled when the active style supports it.
      This change adds the support for the default style.
      
      The popup opens from the change language key with single tap
      and can be dismissed by tapping anywhere else on the keyboard.
      
      The old toggle method for changing the input language is still
      available and supported (can be enabled easily from keyboard style).
      
      Some basic tests are included in this change.
      
      [ChangeLog] Added language selection popup for faster selection of
      input language.
      
      Change-Id: Ie3773f1d0cac78dee8237285e8596fe57c8bb5e4
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@qt.io>
      0a8c8dfc
  5. 16 Nov, 2016 - 1 commit
    • Gordan Markuš's avatar
      Implement external keyboard layouts support · d51fd422
      Gordan Markuš authored
      
      * Add possibility to override and exclude built-in keyboard layouts
      * Add QT_VIRTUALKEYBOARD_LAYOUT_PATH environment variable specifying
       the layout location on the file system or inside a qrc resource
      * Update documentation accordingly
      
      [ChangeLog] Add support for external keyboard layouts, which allows overriding and exclusion of the built-in keyboard layouts
      
      Task-number: QTBUG-54254
      Change-Id: I960b942c031221d29dbdf1cabed78be8d32f43ef
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@qt.io>
      d51fd422
  6. 20 May, 2016 - 1 commit
  7. 26 Apr, 2016 - 2 commits
  8. 23 Mar, 2016 - 1 commit
  9. 12 Jan, 2016 - 1 commit
  10. 14 Dec, 2015 - 1 commit
  11. 07 Dec, 2015 - 2 commits
    • Jarkko Koivikko's avatar
      [1/2] Fix static build · 8db16a42
      Jarkko Koivikko authored
      
      This change modifies the files that exist in the 1.3 version.
      
      Fix static build of the virtual keyboard:
      - Included instructions for the static build in the build doc.
      - Added missing resource initialization macros to the plugin.cpp.
      - Register QML module dependencies conditionally in the virtual
        keyboard plugin initialization.
      - Added missing attributes to the styles plugin qmldir file.
      - Renamed StylesPlugin class to QtVirtualKeyboardStylesPlugin.
      
      Change-Id: Idc1d35fbd95bd19932baaab13849a4a65d4e944f
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@theqtcompany.com>
      8db16a42
    • Jarkko Koivikko's avatar
      Improve build configuration · 97d9648f
      Jarkko Koivikko authored
      
      Add new configuration flags to simplify the customization process
      of the virtual keyboard.
      
      - lang-<code> flag enables the specified language.
      - lang-all flag enables all the languages.
      - handwriting flag enables the handwriting input method (t9write
        or lipi-toolkit)
      
      Updated test cases and also fixed the virtual keyboard for single
      language support.
      
      Change-Id: I599816bed591bd193ad26cef0e9bf4812146e865
      Reviewed-by: default avatarOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@theqtcompany.com>
      97d9648f
  12. 20 Nov, 2015 - 2 commits
  13. 28 Oct, 2015 - 2 commits
    • Jarkko Koivikko's avatar
      Refactor resource paths · a7c373d8
      Jarkko Koivikko authored
      
      This change modifies the internal resource paths and makes them unique
      in the global context to avoid conflict with the application namespace.
      
      Change-Id: I72b17b744e07f5a94bb5ba99f3632d7f67b307ae
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@theqtcompany.com>
      a7c373d8
    • Jarkko Koivikko's avatar
      Refactor class names · 03e2a103
      Jarkko Koivikko authored
      
      Since the virtual keyboard C++ interface is wrapped inside a
      namespace, it is possible to get rid of "Declarative" name
      in the class names, that would otherwise conflict with the
      QML namespace in the documentation.
      
      - Rename DeclarativeSettings to VirtualKeyboardSettings
      - Remove "Declarative" from class names
      
      The rationale for this change is that the name Declarative
      refers to now obsolete QtQuick1 module. Also, the class names
      are now the same in C++ and QML name spaces.
      
      Change-Id: Ide050d47110443d894d95d35dddf0df5891587be
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@theqtcompany.com>
      03e2a103
  14. 27 Oct, 2015 - 2 commits
  15. 26 Oct, 2015 - 1 commit
  16. 07 Oct, 2015 - 3 commits
    • Jarkko Koivikko's avatar
      Add a new API to change the keyboard language · e5f0d1ea
      Jarkko Koivikko authored
      
      This change adds three new properties for VirtualKeyboardSettings.
      
      - locale: Defines the default locale, can also be used to change
        the current language.
      - availableLocales: A list of built-in locales.
      - activeLocales: Application defined list of active locales.
      
      Task-number: QTRD-3332
      Change-Id: Ia9e69f54501ec7ad7680a6167546b52d0972e2dc
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@theqtcompany.com>
      e5f0d1ea
    • Jarkko Koivikko's avatar
      Add support for full screen handwriting input · 30b0b04d
      Jarkko Koivikko authored
      
      This change adds support for the full screen handwriting input.
      
      In full screen handwriting input, the user is able to use the
      whole application screen as a container for handwriting input.
      
      This feature is available to those application integrations,
      which integrate the new HandwritingInputPanel type to the
      application QML. The HandwritingInputPanel works as an add-on
      to the existing InputPanel, so it cannot be used exclusively
      without the InputPanel.
      
      Change-Id: I11530b9ccbc66aa59b210bec94d7bb87f0826370
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@theqtcompany.com>
      30b0b04d
    • Jarkko Koivikko's avatar
      Add T9Write implementation of HandwritingInputMethod · 14be4edf
      Jarkko Koivikko authored
      
      This change adds T9Write implementation of HandwritingInputMethod.
      
      To use the T9Write, the contents of T9Write sdk must be extracted
      to srv/virtualkeyboard/3rdparty/t9write directory and the qmake
      command line must contain CONFIG+=t9write.
      
      Change-Id: Ib56d1d3dc553bb5d5677ab03e213dc8fed43ac68
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@theqtcompany.com>
      14be4edf
  17. 15 Sep, 2015 - 1 commit
  18. 31 Aug, 2015 - 2 commits
  19. 09 Jul, 2015 - 1 commit
  20. 17 Jun, 2015 - 2 commits
    • Jarkko Koivikko's avatar
      Add lipi-toolkit implementation of handwriting input method · 2833336e
      Jarkko Koivikko authored
      
      This change adds a reference implementation of the handwriting
      input method.
      
      The handwriting support is enabled by adding CONFIG+=lipi-toolkit
      to the qmake command line.
      
      The current implementation uses alphanumeric model for handwriting
      recognition, which come bundled in the lipi toolkit.
      
      Change-Id: I1fcc0a0c0620dd7f9503a2a584cea0003e8a032e
      Reviewed-by: default avatarGatis Paeglis <gatis.paeglis@theqtcompany.com>
      2833336e
    • Jarkko Koivikko's avatar
      Add support for pattern recognition based input methods · 28cf4492
      Jarkko Koivikko authored
      
      This change adds generic support for pattern recognition
      based input methods.
      
      Added new API for the input engine and input method to
      process trace data. The trace data can originate from
      various input devices, e.g. from touch screen or from
      a dedicated hardware touch panel.
      
      Added new data model type for trace supporting both the C++
      and QML interfaces. The new data model is DeclarativeTrace
      and Trace respectively, and it stores the trace data captured
      from the input device.
      
      The trace object is owned by the input method and is accessible
      to the UI layer, capture device and the input method.
      
      First, when the trace event begins, the capture device invokes
      the InputEngine.traceBegin(). The input engine forwards this
      call to the input method, which creates the trace object in
      response to successful call.
      
      Then the capture device receives the trace object and starts
      collecting the data. Also, in case of touch screen input, there
      are also the UI layer which renders the data. For this purpose
      there are new kinds of Style elements available in the Styles
      plugin. TraceCanvas is a specialized Canvas for rendering the
      trace object on screen. The TraceCanvas is a normal styling
      component, and can be customized like any other style element.
      
      Finally, the InputMethod.traceEnd() is called when the trace
      interaction ends. The trace is removed from screen automatically
      when the trace object is deleted. I.e., the input method has
      full control on how many traces it wants to collect for single
      recognition phase.
      
      Change-Id: I80ed90032f715726280197d9e94e7f0bd8280ff3
      Reviewed-by: default avatarGatis Paeglis <gatis.paeglis@theqtcompany.com>
      28cf4492
  21. 02 Apr, 2015 - 1 commit
  22. 01 Apr, 2015 - 1 commit
  23. 27 Mar, 2015 - 1 commit
    • Gatis Paeglis's avatar
      Don't break apps with older import versions · fa1aae52
      Gatis Paeglis authored
      
      QML versioning works in the following way:
      
      a) New QML element is registered with a version number where it
         was introduced. Version number for this element should not
         be changed in later releases of the library to keep apps with
         older import versions to work without a need to update import
         statements in the app.
      
      b) For "import x.y" to work there must be at least one element
         registered for that version - x.y.
      
         QtQuick.Enterprise.VirtualKeyboard.Settings was introduved in 1.2
      
         - we can't increment version for it because that would break
           older applications (see point "a").
         - there are no new elements introduced in this namespace thus
           version for *.Settings remains 1.2.
      
         This is how Qt Quick Controls handle similar cases.
      
      Change-Id: Id8f5ca572d9f1558d607dc0abfac79d41865e099
      Task-number: QTRD-3576
      Reviewed-by: default avatarGatis Paeglis <gatis.paeglis@theqtcompany.com>
      fa1aae52
  24. 26 Feb, 2015 - 1 commit
  25. 25 Feb, 2015 - 1 commit
    • Jarkko Koivikko's avatar
      Add OpenWnn implementation of JapaneseInputMethod · 506d877b
      Jarkko Koivikko authored
      
      This change implements Japanese input method. It supports
      Hiragana, Katakana and Kanjie.
      
      The OpenWnn library is imported from Google AOSP project.
      The wnnEngine library is ported from the Java sources. It
      provides full implementation of the engine, excluding
      learning and user dictionary capabilities.
      
      To activate the Japanese input method add CONFIG+=openwnn to
      qmake command line.
      
      Brief user guide:
      =================
      - The default input mode is Hiragana
      - To switch between Hiragana, Katakana, Latin and FullwidthLatin
        input modes, press the input mode toggle button in place of the
        left shift key.
      - Space key activates Hiragana to Kanjie conversion mode
      - Subsequent press on the space key cycles between the candidates
      - To select candidate, press return key, or any other input key
        to auto commit the result and to start with the new composition
      - To cancel the Kanjie conversion mode, press backspace key
      - The left and right arrow keys are used for exact matching mode
      - In exact matching mode, the arrow keys can modify the selection
        within the composing text, it is also possible to modify any part
        of the composing text in exact match mode
      - Pressing the space during the exact match mode starts Kanjie
        conversion for current selection
      
      Change-Id: I08d2496dba3506ba752f3537f9cf6939c803df6c
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@theqtcompany.com>
      506d877b
  26. 10 Feb, 2015 - 1 commit
    • Jarkko Koivikko's avatar
      Add HangulInputMethod for Korean language · 58c999d7
      Jarkko Koivikko authored
      
      This change adds support for Korean language. The keyboard layout
      is based on the standard Dubeolsik keyboard layout. The keyboard
      layout uses the Hangul Compatibility Jamo 3130-318F as the input
      characters.
      
      The Hangul composition and decomposition is implemented in the
      Hangul support class, and has the following key features:
       - Automatic detection of initial, medial and final Jamos
         based on the current syllable
       - Handles any Unicode input sequences, not just Hangul
       - Splitting and joining of double medial and double final Jamos
       - Splitting of double final consonant and joining with following
         vowel
      
      Added test cases that should cover most of the special cases
      in Hangul input.
      
      Change-Id: I5a6870407097bd1ce79bd2d00f81a30bd35a2f91
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@theqtcompany.com>
      58c999d7
  27. 22 Jan, 2015 - 1 commit
    • Samuli Piippo's avatar
      Always use resources for QML files · c690e527
      Samuli Piippo authored
      
      Always compile all QML files into resources files, instead of generating
      resource files when using Quick Compiler. Saves some ifdefs in the code,
      since the file uris are the same in both cases. Also we are no longer
      dependent on the runtime path from QLibraryInfo::Qml2ImportsPath. It had
      problem in the prebuild QNX binaries, since the binaries had different
      prefix than what was used in the device.
      
      Change-Id: I19ee347244f56e4846831d4871f6667bce78d3a6
      Reviewed-by: default avatarJarkko Koivikko <jarkko.koivikko@code-q.fi>
      c690e527
  28. 08 Jan, 2015 - 1 commit
    • Jarkko Koivikko's avatar
      Remove hard coded file:// urls · 69a08724
      Jarkko Koivikko authored
      
      The QLibraryInfo::location() method returns paths with native
      path separator. This results to an invalid url when the path
      is added to url with file://.
      
      In this commit the url is constructed from the local path using
      QUrl::toEncoded() method, thus ensuring the path separators are
      handled correctly.
      
      Change-Id: Ied128fc6931a1763e71863d11762bb09ca251e1c
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@theqtcompany.com>
      69a08724
  29. 04 Dec, 2014 - 1 commit
  30. 24 Nov, 2014 - 1 commit
    • Simon Hausmann's avatar
      Remove workarounds for compiled QML · 809e12d3
      Simon Hausmann authored
      
      * Don't do CONFIG += qt. It is not necessary at all and has the effect that
        qt.prf gets loaded early, the QT and QT_PRIVATE variables are processed
        and only afterwards qtquickcompiler.prf is loaded - at which point it is too
        late to do QT_PRIVATE += the-frameworks-that-the-compiler-output-needs.
        The extra CONFIG += qtquickcompiler taped over the actual issue, which is
        CONFIG += qt.
      
      * There is no need anymore to #ifdef the QT_INIT_RESOURCE calls with special
        _qtquickcompiler suffix versions. However one QT_INIT_RESOURCE still needs to
        remain #ifdef'ed because the .qrc file is added to RESOURCES only conditionally
        in the .pro file.
      
      Change-Id: Ia44dea9d73bc3d8422893ad069dd47e6c3d90657
      Reviewed-by: default avatarGatis Paeglis <gatis.paeglis@theqtcompany.com>
      809e12d3
  31. 06 Oct, 2014 - 1 commit