diff options
author | Hannah von Reth <vonreth@kde.org> | 2019-11-27 16:23:23 +0300 |
---|---|---|
committer | Hannah von Reth <vonreth@kde.org> | 2019-12-04 21:58:54 +0300 |
commit | 93ac380492fd6f7a00e2ce8d2e9df9b94554b83e (patch) | |
tree | a596ec2df2e1f72f292885b18094c2090593769a /src/gui/settingsdialog.cpp | |
parent | fb0c147fbbafd94f2bd27ef303b1aeed8be3d5ca (diff) |
[Settings] Add a quit button
Fixes : #7547
Diffstat (limited to 'src/gui/settingsdialog.cpp')
-rw-r--r-- | src/gui/settingsdialog.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gui/settingsdialog.cpp b/src/gui/settingsdialog.cpp index 1b47ce984..3b18eacd8 100644 --- a/src/gui/settingsdialog.cpp +++ b/src/gui/settingsdialog.cpp @@ -41,6 +41,7 @@ #include <QWidgetAction> #include <QPainter> #include <QPainterPath> +#include <QMessageBox> namespace { const QString TOOLBAR_CSS() @@ -132,6 +133,22 @@ SettingsDialog::SettingsDialog(ownCloudGui *gui, QWidget *parent) NetworkSettings *networkSettings = new NetworkSettings; _ui->stack->addWidget(networkSettings); + QWidget *spacer = new QWidget(); + spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + _toolBar->addWidget(spacer); + + QAction *quitAction = createColorAwareAction(QLatin1String(":/client/resources/quit.png"), tr("Quit %1").arg(qApp->applicationName())); + quitAction->setCheckable(false); + connect(quitAction, &QAction::triggered, this, [this] { + const auto reply = QMessageBox::question(this, tr("Quit %1").arg(qApp->applicationName()), + tr("Are you sure you want to quit %1?").arg(qApp->applicationName()), + QMessageBox::Yes | QMessageBox::No); + if (reply == QMessageBox::Yes) { + qApp->quit(); + } + }); + _toolBar->addAction(quitAction); + _actionGroupWidgets.insert(_activityAction, _activitySettings); _actionGroupWidgets.insert(generalAction, generalSettings); _actionGroupWidgets.insert(networkAction, networkSettings); |