use a signal instead of calling QMetaObject::invokeMethod

This commit is contained in:
Fabio Bas
2014-07-02 19:03:12 +02:00
parent 922e98af67
commit a9ffbf5d2d
2 changed files with 5 additions and 1 deletions

View File

@@ -549,6 +549,8 @@ DeckEditorSettingsPage::DeckEditorSettingsPage()
connect(priceTagSource0, SIGNAL(toggled(bool)), this, SLOT(radioPriceTagSourceClicked(bool)));
connect(priceTagSource1, SIGNAL(toggled(bool)), this, SLOT(radioPriceTagSourceClicked(bool)));
connect(this, SIGNAL(priceTagSourceChanged(int)), settingsCache, SLOT(setPriceTagSource(int)));
QGridLayout *generalGrid = new QGridLayout;
generalGrid->addWidget(priceTagsCheckBox, 0, 0);
generalGrid->addWidget(priceTagSource0, 1, 0);
@@ -582,7 +584,7 @@ void DeckEditorSettingsPage::radioPriceTagSourceClicked(bool checked)
if(priceTagSource1->isChecked())
source=1;
QMetaObject::invokeMethod( settingsCache, "setPriceTagSource", Qt::QueuedConnection, Q_ARG(int, source));
emit priceTagSourceChanged(source);
}
MessagesSettingsPage::MessagesSettingsPage()

View File

@@ -103,6 +103,8 @@ public:
void retranslateUi();
private slots:
void radioPriceTagSourceClicked(bool checked);
signals:
void priceTagSourceChanged(int _priceTagSource);
private:
QCheckBox *priceTagsCheckBox;
QRadioButton *priceTagSource0, *priceTagSource1;