┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/panels/information/informationpanel.cpp9
-rw-r--r--src/panels/information/informationpanel.h2
2 files changed, 9 insertions, 2 deletions
diff --git a/src/panels/information/informationpanel.cpp b/src/panels/information/informationpanel.cpp
index 8adb64ff0..03e048ae7 100644
--- a/src/panels/information/informationpanel.cpp
+++ b/src/panels/information/informationpanel.cpp
@@ -60,11 +60,13 @@ void InformationPanel::setSelection(const KFileItemList &selection)
m_shownUrl = url();
showItemInfo();
}
+ m_isSelectionActive = false;
m_infoTimer->stop();
} else {
if ((count == 1) && !selection.first().url().isEmpty()) {
m_urlCandidate = selection.first().url();
}
+ m_isSelectionActive = true;
showItemInfo();
}
}
@@ -88,6 +90,8 @@ void InformationPanel::requestDelayedItemInfo(const KFileItem &item)
cancelRequest();
+ m_isSelectionActive = false;
+
m_hoveredItem = item;
m_infoTimer->start();
}
@@ -231,9 +235,10 @@ void InformationPanel::showItemInfo()
} else {
// The information for exactly one item should be shown
KFileItem item;
- if (!m_hoveredItem.isNull() && InformationPanelSettings::showHovered()) {
+
+ if (!m_isSelectionActive && !m_hoveredItem.isNull() && InformationPanelSettings::showHovered()) {
item = m_hoveredItem;
- } else if (!m_selection.isEmpty()) {
+ } else if (m_isSelectionActive && !m_selection.isEmpty()) {
Q_ASSERT(m_selection.count() == 1);
item = m_selection.first();
}
diff --git a/src/panels/information/informationpanel.h b/src/panels/information/informationpanel.h
index eda70759a..44425bc93 100644
--- a/src/panels/information/informationpanel.h
+++ b/src/panels/information/informationpanel.h
@@ -147,6 +147,8 @@ private:
KFileItem m_hoveredItem;
KFileItemList m_selection;
+ bool m_isSelectionActive = false;
+
KIO::Job *m_folderStatJob;
InformationPanelContent *m_content;