Files
beerlog/viewmodels/storesviewmodel.cpp

40 lines
1.1 KiB
C++

#include "storesviewmodel.h"
#include "models/basemodel.h"
#include "services/settingsservice.h"
StoresViewModel::StoresViewModel(QObject *parent)
: QObject{parent}
{
connect(m_storesModel, &BaseModel::dataChanged, this, &StoresViewModel::storesChanged);
connect(m_storesModel, &BaseModel::dataChanged, this, &StoresViewModel::selectedStoreNameChanged);
connect(settings(), &SettingsService::selectedStoreIdChanged, this, &StoresViewModel::selectedStoreChanged);
connect(settings(), &SettingsService::selectedStoreIdChanged, this, &StoresViewModel::selectedStoreNameChanged);
}
QVariantList StoresViewModel::stores() const
{
return m_storesModel->items();
}
QString StoresViewModel::selectedStore() const
{
return settings()->selectedStoreId();
}
void StoresViewModel::setSelectedStore(const QString &newSelectedStore)
{
settings()->setSelectedStoreId(newSelectedStore);
}
QString StoresViewModel::selectedStoreName() const
{
return m_storesModel->itemProperty(selectedStore(), "name").toString();
}
SettingsService *StoresViewModel::settings() const
{
return SettingsService::instance();
}