Class sh::ui::web::WebTuningDialog

class sh::ui::web::WebTuningDialog : public QObject, public sh::ui::web::WebDialog, public sh::ui::TuningDialog

Web based tuning dialog.

Public Functions

WebTuningDialog()
QVariant dialogProperty(QString dlgPropertyKey, QVariant deflt = QVariant())

Returns a dialog property value by key.

void setDialogProperty(QString dlgPropertyKey, QVariant value)

Sets a dialog property value for a key.

QVariantHash dialogResult()

Returns the dialog result as hash.

The browser side of a web dialog can ‘accept’ a dialog while closing by setting a non-empty dialog result. This mechanism allows browser side dialogs to return data to the backend. It’s up to the backend to interpret the content of this hash.

If the dialog was cancelled, or is still open, the returned hash is empty. See also wasClosed().

void triggerDialogEvent(QString name, QJsonObject data = QJsonObject())

Triggers a dialog event (at the browsers).

They in turn typically fetch some data again in order to refresh the ui.

void setCloseableByUser(bool v = true)

Sets if this dialog shall be directly closeable by the user by the window decoration. Set to false if the user has to react on this dialog by clicking on some controls in the dialog body.

This method must be called during construction.

bool isCloseableByUser()

Returns if this dialog shall be directly closeable by the user by the window decoration.

QJsonObject toJson() override

Returns the json respesentation as QJsonObject.

qint64 dialogId()

Returns the dialog id.

Each instance has an id unique in the complete Shallot process lifetime.

Must be called in main thread.

bool isInited()

Returns if this dialog is initialized.

Must be called in main thread.

bool wasAccepted()

Returns if this dialog was ‘accepted’ by the user (typically by clicking some ‘OK’ button).

Must be called in main thread.

void waitClosed()

Wait until the user closed the dialog in some way.

May be called in any thread.

void close()

Closes the dialog.

Must be called in main thread.

bool wasClosed()

Returns if this dialog was closed.

Must be called in main thread.

DialogManager *manager()

Returns the DialogManager which hosts this dialog.

Private Members

QMutex _cfgvaluesmutex
QWaitCondition _cfgvaluescondition
bool _cfgvaluesinited = false
QList<std::shared_ptr<sh::configuration::ConfigurationValue>> _cfgvalues

Private Slots

void cmd__change_configurationvalue(WebServerEngineRequest *request)
void cmd__get_configurationvalues(WebServerEngineRequest *request)

Private Static Functions

QString categoryToName(sh::configuration::ConfigurationCategory category)
QString valueTypeToName(sh::configuration::ConfigurationValueType *valueType)
QJsonObject configurationValueToJsonObject(std::shared_ptr<sh::configuration::ConfigurationValue> cfgval)