40 lines
1.1 KiB
C++
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();
|
|
}
|