36 lines
		
	
	
		
			924 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			924 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef SELFDESTRUCTMESSAGEBOX_H
 | |
| #define SELFDESTRUCTMESSAGEBOX_H
 | |
| 
 | |
| #include <QWidget>
 | |
| #include <QMessageBox>
 | |
| #include <QPushButton>
 | |
| #include <QString>
 | |
| #include <QTimer>
 | |
| 
 | |
| class SelfDestructMessageBox : public QMessageBox
 | |
| {
 | |
|     Q_OBJECT
 | |
| 
 | |
| public:
 | |
|     SelfDestructMessageBox(int timeout,
 | |
|                            const QString& title,
 | |
|                            const QString& text,
 | |
|                            QMessageBox::Icon icon,
 | |
|                            QMessageBox::StandardButtons buttons = QMessageBox::Ok | QMessageBox::Cancel,
 | |
|                            QMessageBox::StandardButton defaultButton = QMessageBox::Ok,
 | |
|                            QWidget* parent = nullptr,
 | |
|                            Qt::WindowFlags flags = 0);
 | |
| 
 | |
|     void showEvent(QShowEvent* event) override;
 | |
| 
 | |
| private slots:
 | |
|     void tick();
 | |
| 
 | |
| private:
 | |
|     int m_timeout;
 | |
|     QString m_text;
 | |
|     QTimer m_timer;
 | |
| };
 | |
| 
 | |
| #endif // SELFDESTRUCTMESSAGEBOX_H
 |