mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
37 lines
725 B
C++
37 lines
725 B
C++
#include "custom_dialog.h"
|
|
|
|
custom_dialog::custom_dialog(bool disableCancel, QWidget* parent)
|
|
: QDialog(parent), m_disable_cancel(disableCancel)
|
|
{
|
|
if (m_disable_cancel)
|
|
{
|
|
setWindowFlags(windowFlags() & ~Qt::WindowCloseButtonHint);
|
|
}
|
|
}
|
|
|
|
void custom_dialog::keyPressEvent(QKeyEvent* event)
|
|
{
|
|
// this won't work with Alt+F4, the window still closes
|
|
if (m_disable_cancel && event->key() == Qt::Key_Escape)
|
|
{
|
|
event->ignore();
|
|
}
|
|
else
|
|
{
|
|
QDialog::keyPressEvent(event);
|
|
}
|
|
}
|
|
|
|
void custom_dialog::closeEvent(QCloseEvent* event)
|
|
{
|
|
// spontaneous: don't close on external system level events like Alt+F4
|
|
if (m_disable_cancel && event->spontaneous())
|
|
{
|
|
event->ignore();
|
|
}
|
|
else
|
|
{
|
|
QDialog::closeEvent(event);
|
|
}
|
|
}
|