usersviewmodel.cpp 1.1 KB

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