#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(); }; } // namespace LtsWidgets