File indexing completed on 2024-10-13 04:54:41

0001 /*
0002     SPDX-FileCopyrightText: 2020 Michail Vourlakos <mvourlakos@gmail.com>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef SETTINGSGENERICDIALOG_H
0007 #define SETTINGSGENERICDIALOG_H
0008 
0009 // Qt
0010 #include <QAction>
0011 #include <QDialog>
0012 #include <QMessageBox>
0013 #include <QObject>
0014 #include <QTimer>
0015 #include <QWidget>
0016 
0017 // KDE
0018 #include <KMessageBox>
0019 #include <KMessageWidget>
0020 
0021 namespace Latte {
0022 namespace Settings {
0023 namespace Dialog {
0024 
0025 class GenericDialog : public QDialog
0026 {
0027     Q_OBJECT
0028 
0029 public:
0030     GenericDialog(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
0031     ~GenericDialog();
0032 
0033     void showInlineMessage(const QString &msg, const KMessageWidget::MessageType &type, const bool &isPersistent = false, QList<QAction *> actions = QList<QAction *>());
0034     void deleteInlineMessages();
0035 
0036     KMessageBox::ButtonCode saveChangesConfirmation(const QString &text);
0037 
0038 private slots:
0039     KMessageWidget *initMessageWidget();
0040 };
0041 
0042 }
0043 }
0044 }
0045 
0046 #endif