Merge pull request #5111 from Chocobo1/refactor_shutdowndlg

Cleanup shutdowndlg
This commit is contained in:
sledgehammer999
2016-04-17 11:23:07 -05:00
10 changed files with 68 additions and 73 deletions

View File

@@ -47,7 +47,7 @@ options_imp.h
previewlistdelegate.h
previewselect.h
scanfoldersdelegate.h
shutdownconfirm.h
shutdownconfirmdlg.h
speedlimitdlg.h
statsdialog.h
statusbar.h
@@ -83,7 +83,7 @@ messageboxraised.cpp
options_imp.cpp
previewselect.cpp
scanfoldersdelegate.cpp
shutdownconfirm.cpp
shutdownconfirmdlg.cpp
speedlimitdlg.cpp
statsdialog.cpp
statusbar.cpp
@@ -126,6 +126,7 @@ autoexpandabledialog.ui
statsdialog.ui
options.ui
torrentcreatordlg.ui
shutdownconfirmdlg.ui
)
qbt_target_sources(about.qrc)

View File

@@ -39,7 +39,7 @@ HEADERS += \
$$PWD/messageboxraised.h \
$$PWD/options_imp.h \
$$PWD/advancedsettings.h \
$$PWD/shutdownconfirm.h \
$$PWD/shutdownconfirmdlg.h \
$$PWD/torrentmodel.h \
$$PWD/torrentcreatordlg.h \
$$PWD/scanfoldersdelegate.h \
@@ -80,7 +80,7 @@ SOURCES += \
$$PWD/advancedsettings.cpp \
$$PWD/trackerlogin.cpp \
$$PWD/options_imp.cpp \
$$PWD/shutdownconfirm.cpp \
$$PWD/shutdownconfirmdlg.cpp \
$$PWD/torrentmodel.cpp \
$$PWD/torrentcreatordlg.cpp \
$$PWD/scanfoldersdelegate.cpp \
@@ -107,7 +107,7 @@ FORMS += \
$$PWD/bandwidth_limit.ui \
$$PWD/updownratiodlg.ui \
$$PWD/confirmdeletiondlg.ui \
$$PWD/confirmshutdowndlg.ui \
$$PWD/shutdownconfirmdlg.ui \
$$PWD/torrentimportdlg.ui \
$$PWD/executionlog.ui \
$$PWD/addnewtorrentdialog.ui \

View File

@@ -30,34 +30,30 @@
* Contact : hammered999@gmail.com
*/
#include <QVBoxLayout>
#include <QHBoxLayout>
#include "shutdownconfirmdlg.h"
#include "ui_shutdownconfirmdlg.h"
#include <QStyle>
#include <QIcon>
#include <QLabel>
#include <QDialogButtonBox>
#include <QCheckBox>
#include <QPushButton>
#include "base/preferences.h"
#include "base/types.h"
#include "base/utils/misc.h"
#include "shutdownconfirm.h"
#include "ui_confirmshutdowndlg.h"
ShutdownConfirmDlg::ShutdownConfirmDlg(const ShutdownAction &action)
ShutdownConfirmDlg::ShutdownConfirmDlg(const ShutdownDialogAction &action)
: ui(new Ui::confirmShutdownDlg)
, m_timeout(15)
, m_action(action)
{
ui->setupUi(this);
initText();
QIcon warningIcon(style()->standardIcon(QStyle::SP_MessageBoxWarning));
ui->warningLabel->setPixmap(warningIcon.pixmap(32));
updateText();
if (m_action == ShutdownAction::None)
if (m_action == ShutdownDialogAction::Exit)
ui->neverShowAgainCheckbox->setVisible(true);
else
ui->neverShowAgainCheckbox->setVisible(false);
@@ -66,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);
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,11 +82,10 @@ void ShutdownConfirmDlg::showEvent(QShowEvent *event)
m_timer.start();
}
bool ShutdownConfirmDlg::askForConfirmation(const ShutdownAction &action)
bool ShutdownConfirmDlg::askForConfirmation(const ShutdownDialogAction &action)
{
ShutdownConfirmDlg dlg(action);
dlg.exec();
return dlg.shutdown();
return (dlg.exec() == QDialog::Accepted);
}
void ShutdownConfirmDlg::updateSeconds()
@@ -108,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.");
case ShutdownDialogAction::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.");
case ShutdownDialogAction::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.");
case ShutdownDialogAction::Suspend:
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.");
case ShutdownDialogAction::Hibernate:
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);
}

View File

@@ -28,34 +28,30 @@
* Contact : chris@qbittorrent.org
*/
#ifndef SHUTDOWNCONFIRM_H
#define SHUTDOWNCONFIRM_H
#ifndef SHUTDOWNCONFIRMDLG_H
#define SHUTDOWNCONFIRMDLG_H
#include <QDialog>
#include <QTimer>
#include "base/utils/misc.h"
class QLabel;
class QCheckBox;
#include "base/types.h"
namespace Ui
{
class confirmShutdownDlg;
}
class ShutdownConfirmDlg : public QDialog
class ShutdownConfirmDlg: public QDialog
{
Q_OBJECT
public:
ShutdownConfirmDlg(const ShutdownAction &action);
ShutdownConfirmDlg(const ShutdownDialogAction &action);
~ShutdownConfirmDlg();
bool shutdown() const;
static bool askForConfirmation(const ShutdownAction &action);
static bool askForConfirmation(const ShutdownDialogAction &action);
protected:
void showEvent(QShowEvent *event);
void showEvent(QShowEvent *event) override;
private slots:
void updateSeconds();
@@ -63,13 +59,15 @@ private slots:
private:
// Methods
void initText();
void updateText();
// Vars
Ui::confirmShutdownDlg *ui;
QTimer m_timer;
int m_timeout;
ShutdownAction m_action;
ShutdownDialogAction m_action;
QString m_msg;
};
#endif // SHUTDOWNCONFIRM_H

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>407</width>
<height>103</height>
<width>410</width>
<height>140</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">