diff options
Diffstat (limited to 'src/settings')
| -rw-r--r-- | src/settings/interface/folderstabssettingspage.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
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)); } |
