┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinviewcontainer.cpp
diff options
context:
space:
mode:
authorFelix Ernst <[email protected]>2026-04-23 18:22:49 +0200
committerFelix Ernst <[email protected]>2026-04-27 13:26:59 +0200
commit1e13c6abb6fc179fa8da32fe62df89560a801b3d (patch)
treea154114e7144f5b6678e7b394bf7c7423b56051b /src/dolphinviewcontainer.cpp
parent2d7dac81ad66672aa2332cc37e3439755fe1f930 (diff)
Show type-ahead typing feedback in the status bar
The typed keys are displayed in the status bar while also displaying which file name they were auto-completed to (i.e. which file was selected because of the typing). This commit contains some refactoring to keep the original status bar functionality working as expected. This commit also separates DolphinMainWindow from DolphinStatusBar which is great news architecture-wise. The status bar is encapsulated within the DolphinViewContainer.
Diffstat (limited to 'src/dolphinviewcontainer.cpp')
-rw-r--r--src/dolphinviewcontainer.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp
index 3db6ca553..968919b63 100644
--- a/src/dolphinviewcontainer.cpp
+++ b/src/dolphinviewcontainer.cpp
@@ -149,10 +149,10 @@ DolphinViewContainer::DolphinViewContainer(const QUrl &url, QWidget *parent)
m_statusBar->setZoomLevel(m_view->zoomLevel());
connect(m_view, &DolphinView::urlChanged, m_statusBar, &DolphinStatusBar::setUrl);
connect(m_view, &DolphinView::zoomLevelChanged, m_statusBar, &DolphinStatusBar::setZoomLevel);
- connect(m_view, &DolphinView::infoMessage, m_statusBar, &DolphinStatusBar::setText);
- connect(m_view, &DolphinView::operationCompletedMessage, m_statusBar, &DolphinStatusBar::setText);
+ connect(m_view, &DolphinView::infoMessage, m_statusBar, &DolphinStatusBar::setTemporaryRichText);
+ connect(m_view, &DolphinView::operationCompletedMessage, m_statusBar, &DolphinStatusBar::setTemporaryRichText);
+ connect(m_view, &DolphinView::showTypeAheadFeedback, m_statusBar, &DolphinStatusBar::setTemporaryRichText);
connect(m_view, &DolphinView::statusBarTextChanged, m_statusBar, &DolphinStatusBar::setDefaultText);
- connect(m_view, &DolphinView::statusBarTextChanged, m_statusBar, &DolphinStatusBar::resetToDefaultText);
connect(m_view, &DolphinView::directoryLoadingProgress, m_statusBar, [this](int percent) {
m_statusBar->showProgress(i18nc("@info:progress", "Loading folder…"), percent);
});
@@ -696,7 +696,7 @@ void DolphinViewContainer::slotDirectoryLoadingCompleted()
if (isSearchUrl(url()) && m_view->itemsCount() == 0) {
// The dir lister has been completed on a Baloo-URI and no items have been found. Instead
// of showing the default status bar information ("0 items") a more helpful information is given:
- m_statusBar->setText(i18nc("@info:status", "No items found."));
+ m_statusBar->setDefaultText(i18nc("@info:status", "No items found."));
} else {
updateStatusBar();
}
@@ -720,7 +720,6 @@ void DolphinViewContainer::slotDirectoryLoadingCompleted()
void DolphinViewContainer::slotDirectoryLoadingCanceled()
{
m_statusBar->showProgress(QString(), 100);
- m_statusBar->setText(QString());
}
void DolphinViewContainer::slotUrlIsFileError(const QUrl &url)
@@ -839,9 +838,9 @@ void DolphinViewContainer::slotItemsActivated(const KFileItemList &items)
void DolphinViewContainer::showItemInfo(const KFileItem &item)
{
if (item.isNull()) {
- m_statusBar->resetToDefaultText();
+ m_statusBar->setHoveredItemText(QString());
} else {
- m_statusBar->setText(item.getStatusBarInfo());
+ m_statusBar->setHoveredItemText(item.getStatusBarInfo());
}
}