From 44dd3cdb58010f7820294dabb1ec4346b2232f8e Mon Sep 17 00:00:00 2001 From: "Denis V. Dedkov" Date: Wed, 29 Mar 2023 12:49:20 +0200 Subject: [PATCH] Styles was added --- CMakeLists.txt | 8 ++- android/AndroidManifest.xml | 4 +- android/res/drawable-hdpi/icon.png | Bin 0 -> 17402 bytes android/res/drawable-ldpi/icon.png | Bin 0 -> 13910 bytes android/res/drawable-mdpi/icon.png | Bin 0 -> 15241 bytes android/res/drawable-xhdpi/icon.png | Bin 0 -> 19802 bytes android/res/drawable-xxhdpi/icon.png | Bin 0 -> 24923 bytes android/res/drawable-xxxhdpi/icon.png | Bin 0 -> 30584 bytes beerlog_ru_RU.ts | 28 +++----- main.cpp | 8 +-- main.qml | 63 ----------------- models/abstractmodel.cpp | 41 +++++++++++ models/abstractmodel.h | 34 ++++++++++ models/usersmodel.cpp | 90 +++++++----------------- models/usersmodel.h | 30 ++------ qml/Components/MenuBackButton.qml | 84 +++++++++++++++++++++++ qml/logo.png | Bin 0 -> 25916 bytes qml/main.qml | 94 ++++++++++++++++++++++++++ qml.qrc => qml/qml.qrc | 3 + qml/qtquickcontrols2.conf | 13 ++++ services/beerservice.cpp | 13 +--- services/beerservice.h | 15 ++-- services/settingsservice.cpp | 16 +++++ services/settingsservice.h | 3 + viewmodels/usersviewmodel.cpp | 43 ++++++++++++ viewmodels/usersviewmodel.h | 36 ++++++++++ 26 files changed, 433 insertions(+), 193 deletions(-) create mode 100644 android/res/drawable-hdpi/icon.png create mode 100644 android/res/drawable-ldpi/icon.png create mode 100644 android/res/drawable-mdpi/icon.png create mode 100644 android/res/drawable-xhdpi/icon.png create mode 100644 android/res/drawable-xxhdpi/icon.png create mode 100644 android/res/drawable-xxxhdpi/icon.png delete mode 100644 main.qml create mode 100644 models/abstractmodel.cpp create mode 100644 models/abstractmodel.h create mode 100644 qml/Components/MenuBackButton.qml create mode 100644 qml/logo.png create mode 100644 qml/main.qml rename qml.qrc => qml/qml.qrc (50%) create mode 100644 qml/qtquickcontrols2.conf create mode 100644 viewmodels/usersviewmodel.cpp create mode 100644 viewmodels/usersviewmodel.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 7c5b76c..6655cd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,9 +16,11 @@ set(TS_FILES beerlog_ru_RU.ts) set(PROJECT_SOURCES main.cpp - qml.qrc + qml/qml.qrc + models/abstractmodel.h models/abstractmodel.cpp models/summarymodel.h models/summarymodel.cpp models/usersmodel.h models/usersmodel.cpp + viewmodels/usersviewmodel.h viewmodels/usersviewmodel.cpp services/beerservice.h services/beerservice.cpp services/settingsservice.h services/settingsservice.cpp ${TS_FILES} @@ -32,8 +34,8 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) ${PROJECT_SOURCES} ) # Define target properties for Android with Qt 6 as: -# set_property(TARGET beerlog APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR -# ${CMAKE_CURRENT_SOURCE_DIR}/android) + set_property(TARGET beerlog APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR + ${CMAKE_CURRENT_SOURCE_DIR}/android) # For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index c861dd7..3542acf 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,9 +1,9 @@ - + - + diff --git a/android/res/drawable-hdpi/icon.png b/android/res/drawable-hdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..12a50128d343b1a724be17d2824ff51c203db580 GIT binary patch literal 17402 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 literal 0 HcmV?d00001 diff --git a/android/res/drawable-ldpi/icon.png b/android/res/drawable-ldpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fa76d778929b2489dfd2a3c44b0294fc141fe1b5 GIT binary patch literal 13910 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%0DxS12#zCjL2V@flue{L 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 FV1ijNsMr7i literal 0 HcmV?d00001 diff --git a/android/res/drawable-xxhdpi/icon.png b/android/res/drawable-xxhdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..68e01cedd279dc616450bf3bb281e26c575acc9c GIT binary patch literal 24923 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 A6#xJL literal 0 HcmV?d00001 diff --git a/beerlog_ru_RU.ts b/beerlog_ru_RU.ts index 9bc46e8..fa29e97 100644 --- a/beerlog_ru_RU.ts +++ b/beerlog_ru_RU.ts @@ -4,31 +4,25 @@ main - + Beer Log - - ‹ - + + BeerLog v0.1 + BeerLog v1.0.0 + - - ⋮ - + + Settings + Настройки - Summary: %1 р. - Итого: %1 р. - - - Order - Заказать - - - Ordered %1 items. Amount: %2 р. - Заказано %1 позиций на сумму %2 р. + + Quit + Выход diff --git a/main.cpp b/main.cpp index 29410ed..0cc090e 100644 --- a/main.cpp +++ b/main.cpp @@ -5,8 +5,7 @@ #include #include -#include "models/summarymodel.h" -#include "models/usersmodel.h" +#include "viewmodels/usersviewmodel.h" #include "services/beerservice.h" int main(int argc, char *argv[]) @@ -34,9 +33,8 @@ int main(int argc, char *argv[]) QCoreApplication::exit(-1); }, Qt::QueuedConnection); - engine.rootContext()->setContextProperty("beerService", new BeerService(&engine)); - qmlRegisterType("ru.ded.beerlog", 1, 0, "SummaryModel"); - qmlRegisterType("ru.ded.beerlog", 1, 0, "UsersModel"); + engine.rootContext()->setContextProperty("beerService", BeerService::instance()); + qmlRegisterType("ru.ded.beerlog", 1, 0, "UsersViewModel"); engine.load(url); diff --git a/main.qml b/main.qml deleted file mode 100644 index 315cc9c..0000000 --- a/main.qml +++ /dev/null @@ -1,63 +0,0 @@ -import QtQuick 2.15 -import QtQuick.Window 2.15 -import QtQuick.Controls 2.15 -import QtQuick.Layouts 1.15 -import QtWebSockets - -import ru.ded.beerlog 1.0 - -ApplicationWindow { - width: 640 - height: 480 - visible: true - title: qsTr("Beer Log") - - header: ToolBar { - RowLayout { - anchors.fill: parent - ToolButton { - text: qsTr("‹") - onClicked: stack.pop() - } - ToolButton { - text: usersModel.selectedUserName - Layout.fillWidth: true - onClicked: usersMenu.open() - } - ToolButton { - text: qsTr("⋮") - onClicked: menu.open() - } - } - - Menu { - id: usersMenu - - Repeater { - model: usersModel.users - - MenuItem { - text: modelData.name - - onClicked: { - usersModel.selectedUser = modelData.id - } - } - } - } - } - - UsersModel { - id: usersModel - - Component.onCompleted: { - beerService.connectSrv(selectedUser) - beerService.connectListener(usersModel) - beerService.sendCommand("users", "get") - } - - onSelectedUserChanged: { - beerService.connectSrv(selectedUser) - } - } -} diff --git a/models/abstractmodel.cpp b/models/abstractmodel.cpp new file mode 100644 index 0000000..f73ccce --- /dev/null +++ b/models/abstractmodel.cpp @@ -0,0 +1,41 @@ +#include "abstractmodel.h" + +#include "services/beerservice.h" + +AbstractModel::AbstractModel(QObject *parent) + : QObject{parent} +{ +} + +void AbstractModel::created(const QVariant &data) +{ + modified(data); +} + +void AbstractModel::modified(const QVariant &data) +{ + QVariantMap d = data.toMap(); + m_data[d.value("id").toString()] = d; + + emit dataChanged(); +} + +void AbstractModel::deleted(const QVariant &data) +{ + QString id = data.toString(); + m_data.remove(id); + + emit dataChanged(); +} + +void AbstractModel::received(const QVariant &data) +{ + m_data = data.toMap(); + + emit dataChanged(); +} + +BeerService *AbstractModel::service() const +{ + return BeerService::instance(); +} diff --git a/models/abstractmodel.h b/models/abstractmodel.h new file mode 100644 index 0000000..b41ae67 --- /dev/null +++ b/models/abstractmodel.h @@ -0,0 +1,34 @@ +#ifndef ABSTRACTMODEL_H +#define ABSTRACTMODEL_H + +#include +#include + +class BeerService; +class AbstractModel : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QString entity READ entity CONSTANT) + +public: + explicit AbstractModel(QObject *parent = nullptr); + + virtual QString entity() const = 0; + +public slots: + void created(const QVariant &data); + void modified(const QVariant &data); + void deleted(const QVariant &data); + void received(const QVariant &data); + +signals: + void dataChanged(); + +protected: + BeerService *service() const; + + QVariantMap m_data; +}; + +#endif // ABSTRACTMODEL_H diff --git a/models/usersmodel.cpp b/models/usersmodel.cpp index f0311e7..197bb9d 100644 --- a/models/usersmodel.cpp +++ b/models/usersmodel.cpp @@ -1,80 +1,42 @@ #include "usersmodel.h" +#include "services/beerservice.h" + +namespace Keys { + +constexpr auto Users = "users"; +constexpr auto Name = "name"; + +} + UsersModel::UsersModel(QObject *parent) - : QObject{parent} + : AbstractModel{parent} { - setSelectedUser(m_settings.value("selected_user").toString()); -} - -void UsersModel::created(const QVariant &data) -{ - modified(data); -} - -void UsersModel::modified(const QVariant &data) -{ - QVariantMap user = data.toMap(); - m_users[user.value("id").toString()] = user; - - emit usersChanged(); - emit selectedUserNameChanged(); -} - -void UsersModel::deleted(const QVariant &data) -{ - QString userId = data.toString(); - m_users.remove(userId); - - emit usersChanged(); - emit selectedUserNameChanged(); -} - -void UsersModel::received(const QVariant &data) -{ - m_users = data.toMap(); - - emit usersChanged(); - emit selectedUserNameChanged(); -} - -void UsersModel::connected(const QVariant &data) -{ - qInfo() << data.toMap().value("name").toString() << "connected"; -} - -void UsersModel::disconnected(const QVariant &data) -{ - qInfo() << data.toMap().value("name").toString() << "disconnected"; + service()->connectListener(this); + service()->sendCommand(Keys::Users, "get"); } QString UsersModel::entity() const { - return QStringLiteral("users"); + return Keys::Users; +} + +void UsersModel::connected(const QVariant &data) +{ + qInfo() << data.toMap().value(Keys::Name).toString() << "connected"; +} + +void UsersModel::disconnected(const QVariant &data) +{ + qInfo() << data.toMap().value(Keys::Name).toString() << "disconnected"; } QVariantList UsersModel::users() const { - return m_users.values(); + return m_data.values(); } -QString UsersModel::selectedUser() const +QString UsersModel::userName(const QString &userId) const { - return m_selectedUser; -} - -void UsersModel::setSelectedUser(const QString &newSelectedUser) -{ - if (m_selectedUser == newSelectedUser) { - return; - } - - m_selectedUser = newSelectedUser; - m_settings.setValue("selected_user", m_selectedUser); - emit selectedUserChanged(); - emit selectedUserNameChanged(); -} - -QString UsersModel::selectedUserName() const -{ - return m_users.value(m_selectedUser).toMap().value("name").toString(); + return m_data.value(userId).toMap().value(Keys::Name).toString(); } diff --git a/models/usersmodel.h b/models/usersmodel.h index 348498a..728c333 100644 --- a/models/usersmodel.h +++ b/models/usersmodel.h @@ -5,43 +5,23 @@ #include #include "services/settingsservice.h" +#include "models/abstractmodel.h" -class UsersModel : public QObject +class UsersModel : public AbstractModel { Q_OBJECT - Q_PROPERTY(QString entity READ entity CONSTANT) - Q_PROPERTY(QVariantList users READ users NOTIFY usersChanged) - Q_PROPERTY(QString selectedUser READ selectedUser WRITE setSelectedUser NOTIFY selectedUserChanged) - Q_PROPERTY(QString selectedUserName READ selectedUserName NOTIFY selectedUserNameChanged) - public: explicit UsersModel(QObject *parent = nullptr); - QString entity() const; + QString entity() const override; + QVariantList users() const; - QString selectedUser() const; - void setSelectedUser(const QString &newSelectedUser); - QString selectedUserName() const; + QString userName(const QString &userId) const; public slots: - void created(const QVariant &data); - void modified(const QVariant &data); - void deleted(const QVariant &data); - void received(const QVariant &data); void connected(const QVariant &data); void disconnected(const QVariant &data); - -signals: - void usersChanged(); - void selectedUserChanged(); - void selectedUserNameChanged(); - -private: - QVariantMap m_users; - QString m_selectedUser; - - SettingsService m_settings; }; #endif // USERSMODEL_H diff --git a/qml/Components/MenuBackButton.qml b/qml/Components/MenuBackButton.qml new file mode 100644 index 0000000..97313db --- /dev/null +++ b/qml/Components/MenuBackButton.qml @@ -0,0 +1,84 @@ +import QtQuick 2.15 + +Item { + id: root + + width: 40 + height: 40 + + property double iconMarigns: 8 + property double iconHeight: width - iconMarigns * 2 + signal clicked() + signal back() + + SystemPalette { + id: palette + } + + MouseArea { + id: ma + + anchors.fill: parent + } + + Rectangle { + id: bar1 + x: root.iconMarigns + y: root.iconMarigns + root.iconHeight / 6 + width: root.iconHeight + height: root.iconHeight / 9 + antialiasing: true + + color: palette.button + } + + Rectangle { + id: bar2 + x: root.iconMarigns + y: root.iconMarigns + root.iconHeight / 2 - height / 2 + width: root.iconHeight + height: root.iconHeight / 9 + antialiasing: true + + color: palette.button + } + + Rectangle { + id: bar3 + x: root.iconMarigns + y: root.iconMarigns + root.iconHeight / 2 + height * 2 + width: root.iconHeight + height: root.iconHeight / 9 + antialiasing: true + + color: palette.button + } + + property int animationDuration: 450 + + state: "menu" + states: [ + State { + name: "menu" + PropertyChanges { target: ma; onClicked: root.clicked() } + }, + + State { + name: "back" + PropertyChanges { target: root; rotation: 180 } + PropertyChanges { target: bar1; rotation: 45; width: root.iconHeight / 3 * 2; x: root.iconMarigns + root.iconHeight / 2; y: root.iconMarigns + root.iconHeight / 4 } + PropertyChanges { target: bar2; width: root.iconHeight / 6 * 5 + 1; x: root.iconMarigns + root.iconHeight / 9 } + PropertyChanges { target: bar3; rotation: -45; width: root.iconHeight / 3 * 2; x: root.iconMarigns + root.iconHeight / 2; y: root.iconMarigns + root.iconHeight / 3 * 2 } + PropertyChanges { target: ma; onClicked: root.back() } + } + ] + + transitions: [ + Transition { + RotationAnimation { target: root; direction: RotationAnimation.Clockwise; duration: animationDuration; easing.type: Easing.InOutQuad } + PropertyAnimation { target: bar1; properties: "rotation, width, x, y"; duration: animationDuration; easing.type: Easing.InOutQuad } + PropertyAnimation { target: bar2; properties: "rotation, width, x, y"; duration: animationDuration; easing.type: Easing.InOutQuad } + PropertyAnimation { target: bar3; properties: "rotation, width, x, y"; duration: animationDuration; easing.type: Easing.InOutQuad } + } + ] +} diff --git a/qml/logo.png b/qml/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a6e5cc4b89710387d652c5caf6a756769361a2de GIT binary patch literal 25916 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 1 ? "back" : "menu" + onClicked: drawer.open() + onBack: { + state = "menu" + } + } + ToolButton { + text: usersModel.selectedUserName + Layout.fillWidth: true + onClicked: usersMenu.open() + } + } + + Menu { + id: usersMenu + + UsersViewModel { + id: usersModel + } + + Repeater { + model: usersModel.users + + MenuItem { + text: modelData.name + + onClicked: { + usersModel.selectedUser = modelData.id + } + } + } + } + } + + Drawer { + id: drawer + + width: parent.width * 0.66 + height: parent.height + + Column { + anchors.fill: parent + + Row { + width: parent.width + height: 100 + + Image { + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.margins: 10 + source: "logo.png" + } + + Label { + anchors.verticalCenter: parent.verticalCenter + font.pointSize: 20 + text: qsTr("BeerLog v0.1") + } + } + + ItemDelegate { + text: qsTr("Settings") + width: parent.width + onClicked: stackView.openPage("SettingsForm.qml") + } + + ItemDelegate { + text: qsTr("Quit") + width: parent.width + onClicked: Qt.quit() + } + } + } +} diff --git a/qml.qrc b/qml/qml.qrc similarity index 50% rename from qml.qrc rename to qml/qml.qrc index abe9dc3..40b775b 100644 --- a/qml.qrc +++ b/qml/qml.qrc @@ -1,6 +1,9 @@ main.qml + Components/MenuBackButton.qml + qtquickcontrols2.conf + logo.png beerlog_ru_RU.qm diff --git a/qml/qtquickcontrols2.conf b/qml/qtquickcontrols2.conf new file mode 100644 index 0000000..5a7d1ec --- /dev/null +++ b/qml/qtquickcontrols2.conf @@ -0,0 +1,13 @@ +; This file can be edited to change the style of the application +; Read "Qt Quick Controls 2 Configuration File" for details: +; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html + +[Controls] +Style=Material + +[Material] +Theme=Dark +Primary=BlueGrey +Accent=Grey +;Foreground=Brown +;Background=Steel diff --git a/services/beerservice.cpp b/services/beerservice.cpp index 51dd4fc..741e5bc 100644 --- a/services/beerservice.cpp +++ b/services/beerservice.cpp @@ -7,14 +7,8 @@ #include #include -namespace { - -constexpr auto GuestUserId = "2641ffe8cd4311eda27f0242ac120002"; - -} - -BeerService::BeerService(QObject *parent) - : QObject{parent} +BeerService::BeerService() + : QObject{nullptr} { restoreStash(); @@ -59,8 +53,7 @@ void BeerService::connectSrv(const QString &userId) } QNetworkRequest request(QUrl("ws://195.133.196.161:8000")); - QString authString = QString("%1:pass").arg(userId.isEmpty() ? GuestUserId : userId); - request.setRawHeader("Authorization", "Basic " + authString.toLatin1().toBase64()); + request.setRawHeader("Authorization", "Basic " + QString("%1:pass").arg(userId).toLatin1().toBase64()); m_socket.open(request); } diff --git a/services/beerservice.h b/services/beerservice.h index b13253e..d18a712 100644 --- a/services/beerservice.h +++ b/services/beerservice.h @@ -9,14 +9,21 @@ class BeerService : public QObject Q_OBJECT public: - explicit BeerService(QObject *parent = nullptr); - ~BeerService(); + static BeerService *instance() + { + static BeerService i; + return &i; + } Q_INVOKABLE void connectSrv(const QString &userId = QString()); - Q_INVOKABLE void sendCommand(const QString &entity, const QString &action, const QVariantMap &data = QVariantMap()); - Q_INVOKABLE void connectListener(QObject *listener); + + void sendCommand(const QString &entity, const QString &action, const QVariantMap &data = QVariantMap()); + void connectListener(QObject *listener); private: + BeerService(); + ~BeerService(); + QString stashFileName() const; void saveStash() const; void restoreStash(); diff --git a/services/settingsservice.cpp b/services/settingsservice.cpp index d3bd0b5..194953f 100644 --- a/services/settingsservice.cpp +++ b/services/settingsservice.cpp @@ -1,5 +1,11 @@ #include "settingsservice.h" +namespace Defaults { + +constexpr auto GuestUserId = "2641ffe8cd4311eda27f0242ac120002"; + +} + QVariant SettingsService::value(const QString &key, const QVariant &defaultValue) const { return m_settings.value(key, defaultValue); @@ -9,3 +15,13 @@ void SettingsService::setValue(const QString &key, const QVariant &value) { m_settings.setValue(key, value); } + +QString SettingsService::selectedUserId() const +{ + return m_settings.value("selected_user", Defaults::GuestUserId).toString(); +} + +void SettingsService::setSelectedUserId(const QString &userId) +{ + m_settings.setValue("selected_user", userId); +} diff --git a/services/settingsservice.h b/services/settingsservice.h index bfb385a..bbc3015 100644 --- a/services/settingsservice.h +++ b/services/settingsservice.h @@ -9,6 +9,9 @@ public: QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const; void setValue(const QString &key, const QVariant &value); + QString selectedUserId() const; + void setSelectedUserId(const QString &userId); + private: QSettings m_settings = QSettings("DedSoft", "BeerLog"); }; diff --git a/viewmodels/usersviewmodel.cpp b/viewmodels/usersviewmodel.cpp new file mode 100644 index 0000000..0bb98ff --- /dev/null +++ b/viewmodels/usersviewmodel.cpp @@ -0,0 +1,43 @@ +#include "usersviewmodel.h" + +#include "services/beerservice.h" + +UsersViewModel::UsersViewModel(QObject *parent) + : QObject{parent} +{ + connect(this, &UsersViewModel::selectedUserChanged, this, [this]() { + BeerService::instance()->connectSrv(m_selectedUser); + }); + + setSelectedUser(m_settings.selectedUserId()); + + connect(&m_usersModel, &AbstractModel::dataChanged, this, &UsersViewModel::usersChanged); + connect(&m_usersModel, &AbstractModel::dataChanged, this, &UsersViewModel::selectedUserNameChanged); +} + +QVariantList UsersViewModel::users() const +{ + return m_usersModel.users(); +} + +QString UsersViewModel::selectedUser() const +{ + return m_selectedUser; +} + +void UsersViewModel::setSelectedUser(const QString &newSelectedUser) +{ + if (m_selectedUser == newSelectedUser) { + return; + } + + m_selectedUser = newSelectedUser; + m_settings.setSelectedUserId(m_selectedUser); + emit selectedUserChanged(); + emit selectedUserNameChanged(); +} + +QString UsersViewModel::selectedUserName() const +{ + return m_usersModel.userName(m_selectedUser); +} diff --git a/viewmodels/usersviewmodel.h b/viewmodels/usersviewmodel.h new file mode 100644 index 0000000..892807f --- /dev/null +++ b/viewmodels/usersviewmodel.h @@ -0,0 +1,36 @@ +#ifndef USERSVIEWMODEL_H +#define USERSVIEWMODEL_H + +#include + +#include "models/usersmodel.h" + +class UsersViewModel : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QVariantList users READ users NOTIFY usersChanged) + Q_PROPERTY(QString selectedUser READ selectedUser WRITE setSelectedUser NOTIFY selectedUserChanged) + Q_PROPERTY(QString selectedUserName READ selectedUserName NOTIFY selectedUserNameChanged) + +public: + explicit UsersViewModel(QObject *parent = nullptr); + + QVariantList users() const; + QString selectedUser() const; + void setSelectedUser(const QString &newSelectedUser); + QString selectedUserName() const; + +signals: + void usersChanged(); + void selectedUserChanged(); + void selectedUserNameChanged(); + +private: + QString m_selectedUser; + + UsersModel m_usersModel; + SettingsService m_settings; +}; + +#endif // USERSVIEWMODEL_H