]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Introduce HAVE_TERMINAL
authorElvis Angelaccio <elvis.angelaccio@kde.org>
Mon, 28 Jan 2019 21:38:21 +0000 (22:38 +0100)
committerElvis Angelaccio <elvis.angelaccio@kde.org>
Mon, 28 Jan 2019 21:38:21 +0000 (22:38 +0100)
Source code should check for features detected during configure-time,
rather than checking for a specific OS.

See also commit 87e8d0ba5f.

CMakeLists.txt
src/CMakeLists.txt
src/config-terminal.h.cmake [new file with mode: 0644]
src/dolphinmainwindow.cpp
src/settings/general/confirmationssettingspage.cpp
src/settings/general/confirmationssettingspage.h

index f04d7992de0d167c5d2d4b6e8f93005e9f96e340..dc877c89cf30fbfec17ccbafc8dd45f6ad6ef79a 100644 (file)
@@ -98,6 +98,13 @@ else()
     message(WARNING "Baloo packages not found. They are needed for the metadata features of Dolphin (including the information panel).")
 endif()
 
+# TODO: drop HAVE_TERMINAL once we are sure the terminal panel works on Windows too.
+if(WIN32)
+    set(HAVE_TERMINAL FALSE)
+else()
+    set(HAVE_TERMINAL TRUE)
+endif()
+
 add_subdirectory(src)
 add_subdirectory(doc)
 
index 7222dcde1d8d8e270916934b098431412270133d..1b4c943d4166c49c27f530189fb1d1ef87629a76 100644 (file)
@@ -4,6 +4,8 @@ configure_file(config-baloo.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-baloo.h)
 
 configure_file(config-dolphin.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-dolphin.h)
 
+configure_file(config-terminal.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-terminal.h)
+
 add_definitions(
     -DTRANSLATION_DOMAIN=\"dolphin\"
 )
diff --git a/src/config-terminal.h.cmake b/src/config-terminal.h.cmake
new file mode 100644 (file)
index 0000000..ef77ac7
--- /dev/null
@@ -0,0 +1 @@
+#cmakedefine HAVE_TERMINAL
index ea19468f93277ec738cc1d9ce1b59ad96f6038bd..076869c1ac0bea75365e03745582b9e53708f580 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "dolphinmainwindow.h"
 
+#include "config-terminal.h"
 #include "global.h"
 #include "dolphindockwidget.h"
 #include "dolphincontextmenu.h"
@@ -1213,7 +1214,7 @@ void DolphinMainWindow::setupActions()
     compareFiles->setEnabled(false);
     connect(compareFiles, &QAction::triggered, this, &DolphinMainWindow::compareFiles);
 
-#ifndef Q_OS_WIN
+#ifdef HAVE_TERMINAL
     if (KAuthorized::authorize(QStringLiteral("shell_access"))) {
         QAction* openTerminal = actionCollection()->addAction(QStringLiteral("open_terminal"));
         openTerminal->setText(i18nc("@action:inmenu Tools", "Open Terminal"));
@@ -1332,7 +1333,7 @@ void DolphinMainWindow::setupDockWidgets()
             this, &DolphinMainWindow::showErrorMessage);
 
     // Setup "Terminal"
-#ifndef Q_OS_WIN
+#ifdef HAVE_TERMINAL
     if (KAuthorized::authorize(QStringLiteral("shell_access"))) {
         DolphinDockWidget* terminalDock = new DolphinDockWidget(i18nc("@title:window Shell terminal", "Terminal"));
         terminalDock->setLocked(lock);
index 27e4ab662f2bd27e1d7af8c4e4d27ecf0c483e13..1d0eebdd36f1cdbdc2eeb60c7a0eeab636c887e1 100644 (file)
@@ -41,9 +41,9 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
     m_confirmEmptyTrash(nullptr),
     m_confirmDelete(nullptr),
 
-    #ifndef Q_OS_WIN
+#ifdef HAVE_TERMINAL
     m_confirmClosingTerminalRunningProgram(nullptr),
-    #endif
+#endif
 
     m_confirmClosingMultipleTabs(nullptr)
 {
@@ -67,10 +67,10 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
     m_confirmClosingMultipleTabs = new QCheckBox(i18nc("@option:check Ask for confirmation in Dolphin when",
                                                        "Closing windows with multiple tabs"), this);
 
-    #ifndef Q_OS_WIN
+#ifdef HAVE_TERMINAL
     m_confirmClosingTerminalRunningProgram = new QCheckBox(i18nc("@option:check Ask for confirmation when",
                                                        "Closing windows with a program running in the Terminal panel"), this);
-    #endif
+#endif
 
     topLayout->addWidget(confirmLabelKde);
     topLayout->addWidget(m_confirmMoveToTrash);
@@ -81,9 +81,9 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
     topLayout->addWidget(confirmLabelDolphin);
     topLayout->addWidget(m_confirmClosingMultipleTabs);
 
-    #ifndef Q_OS_WIN
+#ifdef HAVE_TERMINAL
     topLayout->addWidget(m_confirmClosingTerminalRunningProgram);
-    #endif
+#endif
 
     topLayout->addStretch();
 
@@ -95,9 +95,9 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
     connect(m_confirmScriptExecution, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
     connect(m_confirmClosingMultipleTabs, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
 
-    #ifndef Q_OS_WIN
+#ifdef HAVE_TERMINAL
     connect(m_confirmClosingTerminalRunningProgram, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
-    #endif
+#endif
 }
 
 ConfirmationsSettingsPage::~ConfirmationsSettingsPage()
@@ -123,9 +123,9 @@ void ConfirmationsSettingsPage::applySettings()
     GeneralSettings* settings = GeneralSettings::self();
     settings->setConfirmClosingMultipleTabs(m_confirmClosingMultipleTabs->isChecked());
 
-    #ifndef Q_OS_WIN
+#ifdef HAVE_TERMINAL
     settings->setConfirmClosingTerminalRunningProgram(m_confirmClosingTerminalRunningProgram->isChecked());
-    #endif
+#endif
 
     settings->save();
 }
@@ -157,8 +157,8 @@ void ConfirmationsSettingsPage::loadSettings()
 
     m_confirmClosingMultipleTabs->setChecked(GeneralSettings::confirmClosingMultipleTabs());
 
-    #ifndef Q_OS_WIN
+#ifdef HAVE_TERMINAL
     m_confirmClosingTerminalRunningProgram->setChecked(GeneralSettings::confirmClosingTerminalRunningProgram());
-    #endif
+#endif
 }
 
index a96af554d530d8270e9e9a519ceb9cb80531b09a..52b101b2a228216e0881dea5e7ca31000a8865ca 100644 (file)
@@ -19,6 +19,7 @@
 #ifndef CONFIRMATIONSSETTINGSPAGE_H
 #define CONFIRMATIONSSETTINGSPAGE_H
 
+#include "config-terminal.h"
 #include "settings/settingspagebase.h"
 
 class QCheckBox;
@@ -48,9 +49,9 @@ private:
     QCheckBox* m_confirmEmptyTrash;
     QCheckBox* m_confirmDelete;
 
-    #ifndef Q_OS_WIN
+#ifdef HAVE_TERMINAL
     QCheckBox* m_confirmClosingTerminalRunningProgram;
-    #endif
+#endif
 
     QCheckBox* m_confirmClosingMultipleTabs;
     QCheckBox* m_confirmScriptExecution;