storesviewmodel.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "storesviewmodel.h"
  2. #include "models/basemodel.h"
  3. #include "services/settingsservice.h"
  4. StoresViewModel::StoresViewModel(QObject *parent)
  5. : QObject{parent}
  6. {
  7. connect(m_storesModel, &BaseModel::dataChanged, this, &StoresViewModel::storesChanged);
  8. connect(m_storesModel, &BaseModel::dataChanged, this, &StoresViewModel::selectedStoreNameChanged);
  9. connect(settings(), &SettingsService::selectedStoreIdChanged, this, &StoresViewModel::selectedStoreChanged);
  10. connect(settings(), &SettingsService::selectedStoreIdChanged, this, &StoresViewModel::selectedStoreNameChanged);
  11. }
  12. QVariantList StoresViewModel::stores() const
  13. {
  14. return m_storesModel->items();
  15. }
  16. QString StoresViewModel::selectedStore() const
  17. {
  18. return settings()->selectedStoreId();
  19. }
  20. void StoresViewModel::setSelectedStore(const QString &newSelectedStore)
  21. {
  22. settings()->setSelectedStoreId(newSelectedStore);
  23. }
  24. QString StoresViewModel::selectedStoreName() const
  25. {
  26. return m_storesModel->itemProperty(selectedStore(), "name").toString();
  27. }
  28. SettingsService *StoresViewModel::settings() const
  29. {
  30. return SettingsService::instance();
  31. }