aboutsummaryrefslogtreecommitdiffstats
path: root/src/virtualkeyboard/settings.cpp
diff options
context:
space:
mode:
authorJarkko Koivikko <jarkko.koivikko@code-q.fi>2014-06-23 13:35:43 +0300
committerJarkko Koivikko <jarkko.koivikko@code-q.fi>2014-08-19 10:32:10 +0300
commit30a9a7f249dbe628d27922f72038109a91526489 (patch)
treeb9e9ced32f1fe054e1666c326855909e1f1b1a5b /src/virtualkeyboard/settings.cpp
parente67ec3b46e4d60d8299afa03162069759c97e001 (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.cpp76
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();
+ }
+}