rpcsx/rpcs3qt-legacy/custom_dialog.cpp

37 lines
725 B
C++
Raw Normal View History

2020-12-05 13:08:24 +01:00
#include "custom_dialog.h"
2019-01-04 22:28:52 +01:00
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);
}
}