#include <KProtocolManager>
#include <KShell>
#include <KUrlComboBox>
-#include <KUrlNavigator>
#include <QDropEvent>
#include <QLoggingCategory>
this, &DolphinViewContainer::slotUrlIsFileError);
connect(m_view, &DolphinView::activated,
this, &DolphinViewContainer::activate);
+ connect(m_view, &DolphinView::hiddenFilesShownChanged,
+ this, &DolphinViewContainer::slotHiddenFilesShownChanged);
+ connect(m_view, &DolphinView::sortHiddenLastChanged,
+ this, &DolphinViewContainer::slotSortHiddenLastChanged);
// Initialize status bar
m_statusBar = new DolphinStatusBar(this);
m_statusBar, &DolphinStatusBar::setText);
connect(m_view, &DolphinView::operationCompletedMessage,
m_statusBar, &DolphinStatusBar::setText);
+ connect(m_view, &DolphinView::statusBarTextChanged,
+ m_statusBar, &DolphinStatusBar::setDefaultText);
+ connect(m_view, &DolphinView::statusBarTextChanged,
+ m_statusBar, &DolphinStatusBar::resetToDefaultText);
connect(m_statusBar, &DolphinStatusBar::stopPressed,
this, &DolphinViewContainer::stopDirectoryLoading);
connect(m_statusBar, &DolphinStatusBar::zoomLevelChanged,
}
});
+ KFilePlacesModel *placesModel = DolphinPlacesModelSingleton::instance().placesModel();
+ connect(placesModel, &KFilePlacesModel::dataChanged,
+ this, &DolphinViewContainer::slotPlacesModelChanged);
+ connect(placesModel, &KFilePlacesModel::rowsInserted,
+ this, &DolphinViewContainer::slotPlacesModelChanged);
+ connect(placesModel, &KFilePlacesModel::rowsRemoved,
+ this, &DolphinViewContainer::slotPlacesModelChanged);
+
+ connect(this, &DolphinViewContainer::searchModeEnabledChanged,
+ this, &DolphinViewContainer::captionChanged);
+
// Initialize kactivities resource instance
#ifdef HAVE_KACTIVITIES
Q_CHECK_PTR(m_view);
urlNavigator->setLocationUrl(m_view->url());
+ urlNavigator->setShowHiddenFolders(m_view->hiddenFilesShown());
+ urlNavigator->setSortHiddenFoldersLast(m_view->sortHiddenLast());
if (m_urlNavigatorVisualState) {
urlNavigator->setVisualState(*m_urlNavigatorVisualState.get());
m_urlNavigatorVisualState.reset();
m_searchBox->setVisible(enabled);
if (enabled) {
- const QUrl& locationUrl = m_urlNavigatorConnected->locationUrl();
+ const QUrl& locationUrl = m_urlNavigator->locationUrl();
m_searchBox->fromSearchUrl(locationUrl);
}
}
KFilePlacesModel *placesModel = DolphinPlacesModelSingleton::instance().placesModel();
- const auto& matchedPlaces = placesModel->match(placesModel->index(0,0), KFilePlacesModel::UrlRole, QUrl(url().adjusted(QUrl::StripTrailingSlash).toString(QUrl::FullyEncoded).append("/?")), 1, Qt::MatchRegExp);
+ const QString pattern = url().adjusted(QUrl::StripTrailingSlash).toString(QUrl::FullyEncoded).append("/?");
+ const auto& matchedPlaces = placesModel->match(placesModel->index(0,0), KFilePlacesModel::UrlRole, QRegularExpression::anchoredPattern(pattern), 1, Qt::MatchRegularExpression);
if (!matchedPlaces.isEmpty()) {
return placesModel->text(matchedPlaces.first());
void DolphinViewContainer::updateStatusBar()
{
m_statusBarTimestamp.start();
-
- const QString text = m_view->statusBarText();
- m_statusBar->setDefaultText(text);
- m_statusBar->resetToDefaultText();
+ m_view->requestStatusBarText();
}
void DolphinViewContainer::updateDirectoryLoadingProgress(int percent)
Q_ASSERT(items.count() >= 2);
KFileItemActions fileItemActions(this);
- fileItemActions.runPreferredApplications(items, QString());
+ fileItemActions.runPreferredApplications(items);
}
void DolphinViewContainer::showItemInfo(const KFileItem& item)
m_view->markUrlAsCurrent(url); // makes the item scroll into view
}
+void DolphinViewContainer::disableUrlNavigatorSelectionRequests()
+{
+ disconnect(m_urlNavigator.get(), &KUrlNavigator::urlSelectionRequested,
+ this, &DolphinViewContainer::slotUrlSelectionRequested);
+}
+
+void DolphinViewContainer::enableUrlNavigatorSelectionRequests()
+{
+ connect(m_urlNavigator.get(), &KUrlNavigator::urlSelectionRequested,
+ this, &DolphinViewContainer::slotUrlSelectionRequested);
+}
+
void DolphinViewContainer::redirect(const QUrl& oldUrl, const QUrl& newUrl)
{
Q_UNUSED(oldUrl)
showMessage(msg, Error);
}
+void DolphinViewContainer::slotPlacesModelChanged()
+{
+ if (!GeneralSettings::showFullPathInTitlebar() && !isSearchModeEnabled()) {
+ Q_EMIT captionChanged();
+ }
+}
+
+void DolphinViewContainer::slotHiddenFilesShownChanged(bool showHiddenFiles)
+{
+ if (m_urlNavigatorConnected) {
+ m_urlNavigatorConnected->setShowHiddenFolders(showHiddenFiles);
+ }
+}
+
+void DolphinViewContainer::slotSortHiddenLastChanged(bool hiddenLast)
+{
+ if (m_urlNavigatorConnected) {
+ m_urlNavigatorConnected->setSortHiddenFoldersLast(hiddenLast);
+ }
+}
+
bool DolphinViewContainer::isSearchUrl(const QUrl& url) const
{
return url.scheme().contains(QLatin1String("search"));