File indexing completed on 2024-12-01 07:32:41
0001 /* 0002 SPDX-FileCopyrightText: 1998-2008 Sebastian Trueg <trueg@k3b.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef _K3B_MULTI_CHOICE_DIALOG_H_ 0008 #define _K3B_MULTI_CHOICE_DIALOG_H_ 0009 0010 #include "k3b_export.h" 0011 0012 #include <KStandardGuiItem> 0013 #include <QDialog> 0014 #include <QMessageBox> 0015 0016 class QCloseEvent; 0017 0018 namespace K3b { 0019 class LIBK3B_EXPORT MultiChoiceDialog : public QDialog 0020 { 0021 Q_OBJECT 0022 0023 public: 0024 MultiChoiceDialog( const QString& caption, 0025 const QString& text, 0026 QMessageBox::Icon = QMessageBox::Information, 0027 QWidget* parent = 0 ); 0028 ~MultiChoiceDialog() override; 0029 0030 /** 0031 * Adds a new button. returns it's number starting at 1. 0032 */ 0033 int addButton( const KGuiItem& ); 0034 0035 static int choose( const QString& caption, 0036 const QString& text, 0037 QMessageBox::Icon = QMessageBox::Information, 0038 QWidget* parent = 0, 0039 int buttonCount = 2, 0040 const KGuiItem& b1 = KStandardGuiItem::ok(), 0041 const KGuiItem& b2 = KStandardGuiItem::cancel(), 0042 const KGuiItem& b3 = KStandardGuiItem::cancel(), 0043 const KGuiItem& b4 = KStandardGuiItem::cancel(), 0044 const KGuiItem& b5 = KStandardGuiItem::cancel(), 0045 const KGuiItem& b6 = KStandardGuiItem::cancel() ); 0046 0047 public Q_SLOTS: 0048 /** 0049 * returns the number of the clicked button starting at 1. 0050 */ 0051 int exec() override; 0052 0053 private Q_SLOTS: 0054 void slotButtonClicked( int ); 0055 0056 private: 0057 void closeEvent( QCloseEvent* ) override; 0058 0059 class Private; 0060 Private* d; 0061 }; 0062 } 0063 0064 #endif