usersviewmodel.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "usersviewmodel.h"
  2. #include "services/settingsservice.h"
  3. UsersViewModel::UsersViewModel(QObject *parent)
  4. : QObject{parent}
  5. {
  6. connect(&m_usersModel, &AbstractModel::dataChanged, this, &UsersViewModel::usersChanged);
  7. connect(&m_usersModel, &AbstractModel::dataChanged, this, &UsersViewModel::selectedUserNameChanged);
  8. connect(settings(), &SettingsService::selectedUserIdChanged, this, &UsersViewModel::selectedUserChanged);
  9. connect(settings(), &SettingsService::selectedUserIdChanged, this, &UsersViewModel::selectedUserNameChanged);
  10. }
  11. QVariantList UsersViewModel::users() const
  12. {
  13. return m_usersModel.users();
  14. }
  15. QString UsersViewModel::selectedUser() const
  16. {
  17. return settings()->selectedUserId();
  18. }
  19. void UsersViewModel::setSelectedUser(const QString &newSelectedUser)
  20. {
  21. if (selectedUser() == newSelectedUser) {
  22. return;
  23. }
  24. settings()->setSelectedUserId(newSelectedUser);
  25. }
  26. QString UsersViewModel::selectedUserName() const
  27. {
  28. return m_usersModel.userName(selectedUser());
  29. }
  30. SettingsService *UsersViewModel::settings() const
  31. {
  32. return SettingsService::instance();
  33. }