Move ChecklistModel (de)serialization to qtutilities

This commit is contained in:
Martchus 2018-10-10 21:00:13 +02:00
parent 87a10c5b33
commit 8173cc99e8
3 changed files with 3 additions and 23 deletions

View File

@ -87,29 +87,12 @@ AppearanceOptionPage::~AppearanceOptionPage()
{
}
void AppearanceOptionPage::restoreSelectedStates(SyncthingStatusSelectionModel &statusSelectionModel, const KConfigGroup &config, const char *key)
{
const auto states = config.readEntry(key, QVariantList());
int row = 0;
for (auto &item : statusSelectionModel.items()) {
statusSelectionModel.setChecked(row++, states.contains(item.id()));
}
}
bool AppearanceOptionPage::apply()
{
KConfigGroup config = m_applet->config();
config.writeEntry<QSize>("size", QSize(ui()->widthSpinBox->value(), ui()->heightSpinBox->value()));
config.writeEntry<bool>("brightColors", ui()->brightTextColorsCheckBox->isChecked());
QVariantList passiveStates;
passiveStates.reserve(m_passiveStatusSelection.items().size());
for (auto &item : m_passiveStatusSelection.items()) {
if (item.isChecked()) {
passiveStates << item.id();
}
}
config.writeEntry("passiveStates", passiveStates);
config.writeEntry("passiveStates", m_passiveStatusSelection.toVariantList());
return true;
}
@ -121,7 +104,7 @@ void AppearanceOptionPage::reset()
ui()->widthSpinBox->setValue(size.width());
ui()->heightSpinBox->setValue(size.height());
ui()->brightTextColorsCheckBox->setChecked(config.readEntry<>("brightColors", false));
restoreSelectedStates(m_passiveStatusSelection, config, "passiveStates");
m_passiveStatusSelection.applyVariantList(config.readEntry("passiveStates", QVariantList()));
}
QWidget *AppearanceOptionPage::setupWidget()

View File

@ -7,8 +7,6 @@
#include <qtutilities/settingsdialog/optionpage.h>
#include <KConfigGroup>
QT_FORWARD_DECLARE_CLASS(QKeySequenceEdit)
namespace QtGui {
@ -36,7 +34,6 @@ BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_CTOR(AppearanceOptionPage)
public:
AppearanceOptionPage(SyncthingApplet &applet, QWidget *parentWidget = nullptr);
Data::SyncthingStatusSelectionModel *passiveStatusSelection();
static void restoreSelectedStates(Data::SyncthingStatusSelectionModel &statusSelectionModel, const KConfigGroup &config, const char *key);
private:
DECLARE_SETUP_WIDGETS

View File

@ -355,7 +355,7 @@ void SyncthingApplet::handleSettingsChanged()
if (m_settingsDlg) {
setPassiveStates(m_settingsDlg->appearanceOptionPage()->passiveStatusSelection()->items());
} else {
AppearanceOptionPage::restoreSelectedStates(m_passiveSelectionModel, config, "passiveStates");
m_passiveSelectionModel.applyVariantList(config.readEntry("passiveStates", QVariantList()));
}
// apply connection config