diff options
author | Jarkko Koivikko <jarkko.koivikko@code-q.fi> | 2014-06-23 13:35:43 +0300 |
---|---|---|
committer | Jarkko Koivikko <jarkko.koivikko@code-q.fi> | 2014-08-19 10:32:10 +0300 |
commit | 30a9a7f249dbe628d27922f72038109a91526489 (patch) | |
tree | b9e9ced32f1fe054e1666c326855909e1f1b1a5b /src/virtualkeyboard/settings.cpp | |
parent | e67ec3b46e4d60d8299afa03162069759c97e001 (diff) |
Add support for custom styles and runtime change of style
Styles can now co-exist in plugin resources and file system.
All the built-in styles are now embedded into plugin resources
and therefore available at runtime. Furthermore, custom styles
can be installed independently to the target system by copying
them into Styles directory:
$$[QT_INSTALL_QML]/QtQuick/Enterprise/VirtualKeyboard/Styles
The default built-in style is still configured at build time
and changed with CONFIG+=retro-style as before.
The runtime style can be changed by setting an environment
variable QT_VIRTUALKEYBOARD_STYLE to the name of the style.
The style name can be one of the built-in styles or custom
styles currently available in the system. However, there is
an limitation that the custom style cannot have the same
name as any of the built-in styles.
Added new child module QtQuick.Enterprise.VirtualKeyboard.Settings,
which provides VirtualKeyboardSettings instance.
Change-Id: Ide076529c2c6d6944d8c0532d0b5daa5a56cae76
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Diffstat (limited to 'src/virtualkeyboard/settings.cpp')
-rw-r--r-- | src/virtualkeyboard/settings.cpp | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/virtualkeyboard/settings.cpp b/src/virtualkeyboard/settings.cpp new file mode 100644 index 00000000..2e1f29e9 --- /dev/null +++ b/src/virtualkeyboard/settings.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the Qt Virtual Keyboard add-on for Qt Enterprise. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +#include "settings.h" +#include <QtCore/private/qobject_p.h> + +class SettingsPrivate : public QObjectPrivate +{ +public: + SettingsPrivate() : + QObjectPrivate(), + style(), + styleName() {} + + QString style; + QString styleName; +}; + +static QScopedPointer<Settings> s_settingsInstance; + +Settings::Settings(QObject *parent) : + QObject(*new SettingsPrivate(), parent) +{ +} + +Settings *Settings::instance() +{ + if (!s_settingsInstance) + s_settingsInstance.reset(new Settings()); + return s_settingsInstance.data(); +} + +QString Settings::style() const +{ + Q_D(const Settings); + return d->style; +} + +void Settings::setStyle(const QString &style) +{ + Q_D(Settings); + if (d->style != style) { + d->style = style; + emit styleChanged(); + } +} + +QString Settings::styleName() const +{ + Q_D(const Settings); + return d->styleName; +} + +void Settings::setStyleName(const QString &styleName) +{ + Q_D(Settings); + if (d->styleName != styleName) { + d->styleName = styleName; + emit styleNameChanged(); + } +} |