mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-05 17:55:45 +08:00
refs #693, integrated GUI close dialog
* utility function in CGuiApplication containing the logic (dialog needed, ..) * closeEvent function
This commit is contained in:
@@ -131,9 +131,20 @@ void SwiftGuiStd::performGracefulShutdown()
|
||||
|
||||
void SwiftGuiStd::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
Q_UNUSED(event);
|
||||
if (sGui)
|
||||
{
|
||||
if (sGui->getIContextNetwork() && sGui->getIContextNetwork()->isConnected())
|
||||
{
|
||||
// we do not just logoff, but give the user a chance to respond
|
||||
event->ignore();
|
||||
QTimer::singleShot(500, this, &SwiftGuiStd::ps_loginRequested);
|
||||
return;
|
||||
}
|
||||
|
||||
// save settings
|
||||
if (sGui->showCloseDialog(this, event) == QDialog::Rejected) { return; }
|
||||
}
|
||||
this->performGracefulShutdown();
|
||||
CGuiApplication::exit();
|
||||
}
|
||||
|
||||
void SwiftGuiStd::changeEvent(QEvent *event)
|
||||
|
||||
@@ -80,17 +80,14 @@ signals:
|
||||
void currentMainInfoAreaChanged(const QWidget *currentWidget);
|
||||
|
||||
protected:
|
||||
//! \copydoc QMainWindow::mouseMoveEvent
|
||||
|
||||
//! \name QMainWindow events
|
||||
//! @[
|
||||
virtual void mouseMoveEvent(QMouseEvent *event) override;
|
||||
|
||||
//! \copydoc QMainWindow::mousePressEvent
|
||||
virtual void mousePressEvent(QMouseEvent *event) override;
|
||||
|
||||
//! \copydoc QMainWindow::closeEvent
|
||||
virtual void closeEvent(QCloseEvent *event) override;
|
||||
|
||||
//! \copydoc QMainWindow::changeEvent
|
||||
virtual void changeEvent(QEvent *event) override;
|
||||
//! @}
|
||||
|
||||
//! Get a minimize action which minimizes the window
|
||||
QAction *getWindowMinimizeAction(QObject *parent);
|
||||
|
||||
Reference in New Issue
Block a user