Update user preference setting value via an event message queue.

c++11
cc9cii 10 years ago
parent 393cee406f
commit 76196d815d

@ -1,5 +1,7 @@
#include "signalhandler.hpp"
#include <QMetaObject>
#include "../settings/usersettings.hpp"
CSMTools::SignalHandler::SignalHandler(bool extraCheck)
@ -11,12 +13,20 @@ CSMTools::SignalHandler::SignalHandler(bool extraCheck)
SLOT (updateUserSetting (const QString &, const QStringList &)));
}
// called from the main thread
void CSMTools::SignalHandler::updateUserSetting (const QString &name, const QStringList &list)
{
if (name=="verifier/pathgrid-extra-check")
mExtraCheck = list.at(0) == "true";
if (name=="verifier/pathgrid-extra-check" && !list.empty())
QMetaObject::invokeMethod(this, "updateExtraCheck", Qt::AutoConnection, Q_ARG(bool, list.at(0) == "true"));
}
// should be in the operations thread via an event message queue
void CSMTools::SignalHandler::updateExtraCheck (bool extraCheck)
{
mExtraCheck = extraCheck;
}
// called from the operations thread
bool CSMTools::SignalHandler::extraCheck ()
{
return mExtraCheck;

@ -20,6 +20,10 @@ namespace CSMTools
public slots:
void updateUserSetting (const QString &name, const QStringList &list);
private slots:
void updateExtraCheck (bool extraCheck);
};
}

Loading…
Cancel
Save