usersviewmodel.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "usersviewmodel.h"
  2. #include "services/settingsservice.h"
  3. UsersViewModel::UsersViewModel(QObject *parent)
  4. : QObject{parent}
  5. {
  6. connect(&m_usersModel, &BaseModel::dataChanged, this, &UsersViewModel::usersChanged);
  7. connect(&m_usersModel, &BaseModel::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. settings()->setSelectedUserId(newSelectedUser);
  22. }
  23. QString UsersViewModel::selectedUserName() const
  24. {
  25. return m_usersModel.itemProperty(selectedUser(), "name").toString();
  26. }
  27. SettingsService *UsersViewModel::settings() const
  28. {
  29. return SettingsService::instance();
  30. }