1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-04 17:30:55 +00:00

DolphinView: Ensure to update the whole viewState after a job created files

BUG: 476670
This commit is contained in:
Méven Car 2023-12-16 13:14:17 +01:00 committed by Méven Car
parent b3fd75e44f
commit 3430ad1673
2 changed files with 6 additions and 4 deletions

View File

@ -1422,10 +1422,12 @@ void DolphinView::slotItemCreated(const QUrl &url)
}
}
void DolphinView::onDirectoryLoadingCompleted()
void DolphinView::onDirectoryLoadingCompletedAfterJob()
{
// the model should now contain all the items created by the job
updateSelectionState();
m_selectJobCreatedItems = true; // to make sure we overwrite selection
// update the view: scroll into View and selection
updateViewState();
m_selectJobCreatedItems = false;
m_selectedUrls.clear();
}
@ -1445,7 +1447,7 @@ void DolphinView::slotJobResult(KJob *job)
updateSelectionState();
if (!m_selectedUrls.isEmpty()) {
// not all urls were found, the model may not be up to date
connect(m_model, &KFileItemModel::directoryLoadingCompleted, this, &DolphinView::onDirectoryLoadingCompleted, Qt::UniqueConnection);
connect(m_model, &KFileItemModel::directoryLoadingCompleted, this, &DolphinView::onDirectoryLoadingCompletedAfterJob, Qt::SingleShotConnection);
} else {
m_selectJobCreatedItems = false;
m_selectedUrls.clear();

View File

@ -829,7 +829,7 @@ private Q_SLOTS:
void slotTwoClicksRenamingTimerTimeout();
void onDirectoryLoadingCompleted();
void onDirectoryLoadingCompletedAfterJob();
private:
void loadDirectory(const QUrl &url, bool reload = false);