┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/settings/interface/folderstabssettingspage.cpp19
2 files changed, 20 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index bbf882a8a..ce5b54613 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -526,6 +526,7 @@ if(NOT WIN32)
# The settings are still accessible from the hamburger menu
add_library(kcm_dolphinviewmodes MODULE)
add_library(kcm_dolphingeneral MODULE)
+ target_compile_definitions(kcm_dolphingeneral PUBLIC IS_KCM)
target_sources(kcm_dolphinviewmodes PRIVATE
settings/kcm/kcmdolphinviewmodes.cpp
diff --git a/src/settings/interface/folderstabssettingspage.cpp b/src/settings/interface/folderstabssettingspage.cpp
index 6fad3d1c2..0212f624c 100644
--- a/src/settings/interface/folderstabssettingspage.cpp
+++ b/src/settings/interface/folderstabssettingspage.cpp
@@ -13,6 +13,9 @@
#include <KMessageBox>
#include <KProtocolManager>
+#ifndef IS_KCM
+#include <QApplication>
+#endif
#include <QButtonGroup>
#include <QCheckBox>
#include <QFileDialog>
@@ -71,9 +74,11 @@ FoldersTabsSettingsPage::FoldersTabsSettingsPage(QWidget *parent)
QHBoxLayout *buttonBoxLayout = new QHBoxLayout(m_buttonBoxLayoutContainer);
buttonBoxLayout->setContentsMargins(0, 0, 0, 0);
+#ifndef IS_KCM
QPushButton *useCurrentButton = new QPushButton(i18nc("@action:button", "Use Current Location"));
buttonBoxLayout->addWidget(useCurrentButton);
connect(useCurrentButton, &QPushButton::clicked, this, &FoldersTabsSettingsPage::useCurrentLocation);
+#endif
QPushButton *useDefaultButton = new QPushButton(i18nc("@action:button", "Use Default Location"));
buttonBoxLayout->addWidget(useDefaultButton);
connect(useDefaultButton, &QPushButton::clicked, this, &FoldersTabsSettingsPage::useDefaultLocation);
@@ -241,6 +246,20 @@ void FoldersTabsSettingsPage::selectHomeUrl()
void FoldersTabsSettingsPage::useCurrentLocation()
{
+#ifndef IS_KCM
+ DolphinMainWindow *mainWindow = nullptr;
+ const auto topLevelWidgets = QApplication::allWidgets();
+ for (const auto widget : topLevelWidgets) {
+ if (qobject_cast<DolphinMainWindow *>(widget)) {
+ mainWindow = static_cast<DolphinMainWindow *>(widget);
+ break;
+ }
+ }
+
+ if (mainWindow) {
+ m_url = mainWindow->activeViewContainer()->url();
+ }
+#endif
m_homeUrl->setText(m_url.toDisplayString(QUrl::PreferLocalFile));
}