#pragma once #include "lts_frameless_dialog.h" #include "lts_message_dialog.h" #include #include #include class QPushButton; class QHBoxLayout; namespace LtsWidgets { class LtsMessageDialogHelper : public QObject { Q_OBJECT public: explicit LtsMessageDialogHelper(QObject *parent = nullptr); ~LtsMessageDialogHelper() = default; Button showMessage(QWidget *parent, const QString &message, const QString &title, Behaviour behaviour, LtsWidgets::Buttons buttons, const QHash &buttonTexts); private: QPushButton *addButton(const QString &text, QHBoxLayout *thatLayout, LtsFramelessDialog *dialog, const Button &button, QWidget *parent); Button m_result; LtsFramelessDialog *m_dialog; private slots: void slotOkay(); void slotYes(); void slotNo(); void slotCancel(); void slotApply(); void slotDiscard(); signals: void signalQuitEventLoop(); }; }