X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d7b33b76a18b14e9f286e4d8326b00910b9ea02a..d3839617:/src/panels/information/informationpanel.cpp diff --git a/src/panels/information/informationpanel.cpp b/src/panels/information/informationpanel.cpp index f843e7f46..12feb8608 100644 --- a/src/panels/information/informationpanel.cpp +++ b/src/panels/information/informationpanel.cpp @@ -59,6 +59,7 @@ void InformationPanel::setSelection(const KFileItemList& selection) m_shownUrl = url(); showItemInfo(); } + m_infoTimer->stop(); } else { if ((count == 1) && !selection.first().url().isEmpty()) { m_urlCandidate = selection.first().url(); @@ -235,6 +236,7 @@ void InformationPanel::showItemInfo() if (item.isNull()) { // No item is hovered and no selection has been done: provide // an item for the currently shown directory. + m_shownUrl = url(); m_folderStatJob = KIO::statDetails(url(), KIO::StatJob::SourceSide, KIO::StatDefaultDetails | KIO::StatRecursiveSize, KIO::HideProgressInfo); if (m_folderStatJob->uiDelegate()) { KJobWidgets::setWindow(m_folderStatJob, this); @@ -242,6 +244,7 @@ void InformationPanel::showItemInfo() connect(m_folderStatJob, &KIO::Job::result, this, &InformationPanel::slotFolderStatFinished); } else { + m_shownUrl = item.url(); m_content->showItem(item); } } @@ -303,6 +306,15 @@ void InformationPanel::slotFilesAdded(const QString& directory) } } +void InformationPanel::slotFilesItemChanged(const KFileItemList &changedFileItems) +{ + const auto item = changedFileItems.findByUrl(m_shownUrl); + if (!item.isNull()) { + m_fileItem = item; + showItemInfo(); + } +} + void InformationPanel::slotFilesChanged(const QStringList& files) { for (const QString& fileName : files) {