ChangeLanguageKey.qml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // Copyright (C) 2016 The Qt Company Ltd.
  2. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
  3. import QtQuick
  4. import QtQuick.VirtualKeyboard
  5. import QtQuick.VirtualKeyboard.Settings
  6. /*!
  7. \qmltype ChangeLanguageKey
  8. \inqmlmodule QtQuick.VirtualKeyboard.Components
  9. \ingroup qmlclass
  10. \ingroup qtvirtualkeyboard-components-qml
  11. \ingroup qtvirtualkeyboard-key-types
  12. \inherits BaseKey
  13. \brief Change language key for keyboard layouts.
  14. This key changes the current input language in the list of supported
  15. languages. The key has two function modes:
  16. \list
  17. \li Popup mode
  18. \li Toggle mode
  19. \endlist
  20. The popup mode is enabled by the \l {KeyboardStyle::languagePopupListEnabled} property.
  21. If enabled, a key press will open a popup list with available languages. Otherwise
  22. it will cycle to the next available input language.
  23. */
  24. BaseKey {
  25. /*! If this property is true, the input language is only
  26. changed between the languages providing custom layout.
  27. For example, if only the English and Arabic languages
  28. provide digits layout, then other locales using the
  29. shared default layout are ignored.
  30. The default is false.
  31. */
  32. property bool customLayoutsOnly: false
  33. id: changeLanguageKey
  34. keyType: QtVirtualKeyboard.KeyType.ChangeLanguageKey
  35. objectName: "changeLanguageKey"
  36. functionKey: true
  37. highlighted: true
  38. displayText: keyboard.locale.split("_")[0]
  39. keyPanelDelegate: keyboard.style ? keyboard.style.languageKeyPanel : undefined
  40. onClicked: keyboard.doKeyboardFunction(QtVirtualKeyboard.KeyboardFunction.ChangeLanguage, customLayoutsOnly)
  41. enabled: keyboard.isKeyboardFunctionAvailable(QtVirtualKeyboard.KeyboardFunction.ChangeLanguage, customLayoutsOnly)
  42. visible: VirtualKeyboardSettings.visibleFunctionKeys & QtVirtualKeyboard.KeyboardFunctionKeys.Language
  43. }