m_shownUrl = url();
showItemInfo();
}
+ m_infoTimer->stop();
} else {
if ((count == 1) && !selection.first().url().isEmpty()) {
m_urlCandidate = selection.first().url();
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);
connect(m_folderStatJob, &KIO::Job::result,
this, &InformationPanel::slotFolderStatFinished);
} else {
+ m_shownUrl = item.url();
m_content->showItem(item);
}
}
}
}
+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) {
m_content = new InformationPanelContent(this);
connect(m_content, &InformationPanelContent::urlActivated, this, &InformationPanel::urlActivated);
connect(m_content, &InformationPanelContent::configurationFinished, this, [this]() { m_inConfigurationMode = false; });
+ connect(m_content, &InformationPanelContent::contextMenuRequested, this, &InformationPanel::showContextMenu);
QVBoxLayout* layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);