From d3fb46663cea63d209d56a6677d41ef9a6db39a3 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Wed, 13 Apr 2016 02:16:23 +0800 Subject: [PATCH] Refactor Add helper function to initialize shutdown message. Group similar functions together. Merge shutdown() function into its only caller. Add override keyword --- src/gui/shutdownconfirm.cpp | 37 ++++++++++++++++++------------------- src/gui/shutdownconfirm.h | 5 +++-- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/gui/shutdownconfirm.cpp b/src/gui/shutdownconfirm.cpp index 99a90af59..9db99a718 100644 --- a/src/gui/shutdownconfirm.cpp +++ b/src/gui/shutdownconfirm.cpp @@ -49,11 +49,10 @@ ShutdownConfirmDlg::ShutdownConfirmDlg(const ShutdownAction &action) { ui->setupUi(this); + initText(); QIcon warningIcon(style()->standardIcon(QStyle::SP_MessageBoxWarning)); ui->warningLabel->setPixmap(warningIcon.pixmap(32)); - updateText(); - if (m_action == ShutdownAction::None) ui->neverShowAgainCheckbox->setVisible(true); else @@ -63,12 +62,13 @@ ShutdownConfirmDlg::ShutdownConfirmDlg(const ShutdownAction &action) QPushButton *cancelButton = ui->buttonBox->button(QDialogButtonBox::Cancel); cancelButton->setFocus(); cancelButton->setDefault(true); + // Always on top setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); + move(Utils::Misc::screenCenter(this)); + m_timer.setInterval(1000); // 1sec connect(&m_timer, SIGNAL(timeout()), this, SLOT(updateSeconds())); - // Move to center - move(Utils::Misc::screenCenter(this)); } ShutdownConfirmDlg::~ShutdownConfirmDlg() @@ -85,8 +85,7 @@ void ShutdownConfirmDlg::showEvent(QShowEvent *event) bool ShutdownConfirmDlg::askForConfirmation(const ShutdownAction &action) { ShutdownConfirmDlg dlg(action); - dlg.exec(); - return dlg.shutdown(); + return (dlg.exec() == QDialog::Accepted); } void ShutdownConfirmDlg::updateSeconds() @@ -105,43 +104,43 @@ void ShutdownConfirmDlg::accept() QDialog::accept(); } -bool ShutdownConfirmDlg::shutdown() const +void ShutdownConfirmDlg::initText() { - return (result() == QDialog::Accepted); -} - -void ShutdownConfirmDlg::updateText() -{ - QString text; QPushButton *okButton = ui->buttonBox->button(QDialogButtonBox::Ok); switch (m_action) { case ShutdownAction::None: - text = tr("qBittorrent will now exit."); + m_msg = tr("qBittorrent will now exit."); okButton->setText(tr("E&xit Now")); setWindowTitle(tr("Exit confirmation")); break; case ShutdownAction::Shutdown: - text = tr("The computer is going to shutdown."); + m_msg = tr("The computer is going to shutdown."); okButton->setText(tr("&Shutdown Now")); setWindowTitle(tr("Shutdown confirmation")); break; case ShutdownAction::Suspend: - text = tr("The computer is going to enter suspend mode."); + m_msg = tr("The computer is going to enter suspend mode."); okButton->setText(tr("&Suspend Now")); setWindowTitle(tr("Suspend confirmation")); break; case ShutdownAction::Hibernate: - text = tr("The computer is going to enter hibernation mode."); + m_msg = tr("The computer is going to enter hibernation mode."); okButton->setText(tr("&Hibernate Now")); setWindowTitle(tr("Hibernate confirmation")); break; } - text += "\n" + tr("You can cancel the action within %1 seconds.").arg(QString::number(m_timeout)) + "\n"; - ui->shutdownText->setText(text); + m_msg += "\n"; + updateText(); +} + +void ShutdownConfirmDlg::updateText() +{ + QString t = tr("You can cancel the action within %1 seconds.").arg(QString::number(m_timeout)) + "\n"; + ui->shutdownText->setText(m_msg + t); } diff --git a/src/gui/shutdownconfirm.h b/src/gui/shutdownconfirm.h index 31ff3096b..059c1e3ca 100644 --- a/src/gui/shutdownconfirm.h +++ b/src/gui/shutdownconfirm.h @@ -47,12 +47,11 @@ class ShutdownConfirmDlg: public QDialog public: ShutdownConfirmDlg(const ShutdownAction &action); ~ShutdownConfirmDlg(); - bool shutdown() const; static bool askForConfirmation(const ShutdownAction &action); protected: - void showEvent(QShowEvent *event); + void showEvent(QShowEvent *event) override; private slots: void updateSeconds(); @@ -60,6 +59,7 @@ private slots: private: // Methods + void initText(); void updateText(); // Vars @@ -67,6 +67,7 @@ private: QTimer m_timer; int m_timeout; ShutdownAction m_action; + QString m_msg; }; #endif // SHUTDOWNCONFIRM_H