Browse Source

Enable access to shutdown functions when configured with `--disable-gui` option

adaptive-webui-19844
Chocobo1 9 years ago
parent
commit
fbc002f212
  1. 10
      src/app/application.cpp
  2. 2
      src/app/application.h
  3. 2
      src/base/utils/misc.cpp
  4. 3
      src/base/utils/misc.h

10
src/app/application.cpp

@ -96,9 +96,7 @@ namespace @@ -96,9 +96,7 @@ namespace
Application::Application(const QString &id, int &argc, char **argv)
: BaseApplication(id, argc, argv)
, m_running(false)
#ifndef DISABLE_GUI
, m_shutdownAct(ShutdownDialogAction::Exit)
#endif
{
Logger::initInstance();
SettingsStorage::initInstance();
@ -283,7 +281,6 @@ void Application::torrentFinished(BitTorrent::TorrentHandle *const torrent) @@ -283,7 +281,6 @@ void Application::torrentFinished(BitTorrent::TorrentHandle *const torrent)
void Application::allTorrentsFinished()
{
#ifndef DISABLE_GUI
Preferences *const pref = Preferences::instance();
bool isExit = pref->shutdownqBTWhenDownloadsComplete();
bool isShutdown = pref->shutdownWhenDownloadsComplete();
@ -301,6 +298,7 @@ void Application::allTorrentsFinished() @@ -301,6 +298,7 @@ void Application::allTorrentsFinished()
else if (isShutdown)
action = ShutdownDialogAction::Shutdown;
#ifndef DISABLE_GUI
// ask confirm
if ((action == ShutdownDialogAction::Exit) && (pref->dontConfirmAutoExit())) {
// do nothing & skip confirm
@ -308,6 +306,7 @@ void Application::allTorrentsFinished() @@ -308,6 +306,7 @@ void Application::allTorrentsFinished()
else {
if (!ShutdownConfirmDlg::askForConfirmation(action)) return;
}
#endif // DISABLE_GUI
// Actually shut down
if (action != ShutdownDialogAction::Exit) {
@ -322,7 +321,6 @@ void Application::allTorrentsFinished() @@ -322,7 +321,6 @@ void Application::allTorrentsFinished()
qDebug("Exiting the application");
exit();
#endif // DISABLE_GUI
}
bool Application::sendParams(const QStringList &params)
@ -589,6 +587,7 @@ void Application::cleanup() @@ -589,6 +587,7 @@ void Application::cleanup()
delete m_fileLogger;
Logger::freeInstance();
IconProvider::freeInstance();
#ifndef DISABLE_GUI
#ifdef Q_OS_WIN
typedef BOOL (WINAPI *PSHUTDOWNBRDESTROY)(HWND);
@ -598,9 +597,10 @@ void Application::cleanup() @@ -598,9 +597,10 @@ void Application::cleanup()
shutdownBRDestroy((HWND)m_window->effectiveWinId());
#endif // Q_OS_WIN
delete m_window;
#endif // DISABLE_GUI
if (m_shutdownAct != ShutdownDialogAction::Exit) {
qDebug() << "Sending computer shutdown/suspend/hibernate signal...";
Utils::Misc::shutdownComputer(m_shutdownAct);
}
#endif
}

2
src/app/application.h

@ -111,10 +111,10 @@ private slots: @@ -111,10 +111,10 @@ private slots:
private:
bool m_running;
ShutdownDialogAction m_shutdownAct;
#ifndef DISABLE_GUI
QPointer<MainWindow> m_window;
ShutdownDialogAction m_shutdownAct;
#endif
#ifndef DISABLE_WEBUI

2
src/base/utils/misc.cpp

@ -91,7 +91,6 @@ static struct { const char *source; const char *comment; } units[] = { @@ -91,7 +91,6 @@ static struct { const char *source; const char *comment; } units[] = {
QT_TRANSLATE_NOOP3("misc", "EiB", "exbibytes (1024 pebibytes)")
};
#ifndef DISABLE_GUI
void Utils::Misc::shutdownComputer(const ShutdownDialogAction &action)
{
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC)) && defined(QT_DBUS_LIB)
@ -216,7 +215,6 @@ void Utils::Misc::shutdownComputer(const ShutdownDialogAction &action) @@ -216,7 +215,6 @@ void Utils::Misc::shutdownComputer(const ShutdownDialogAction &action)
(PTOKEN_PRIVILEGES) NULL, 0);
#endif
}
#endif // DISABLE_GUI
#ifndef DISABLE_GUI
// Get screen center

3
src/base/utils/misc.h

@ -67,8 +67,9 @@ namespace Utils @@ -67,8 +67,9 @@ namespace Utils
QString parseHtmlLinks(const QString &raw_text);
bool isUrl(const QString &s);
#ifndef DISABLE_GUI
void shutdownComputer(const ShutdownDialogAction &action);
#ifndef DISABLE_GUI
// Get screen center
QPoint screenCenter(QWidget *win);
QSize smallIconSize();

Loading…
Cancel
Save