diff --git a/lib/contextmanager.cpp b/lib/contextmanager.cpp --- a/lib/contextmanager.cpp +++ b/lib/contextmanager.cpp @@ -178,6 +178,10 @@ { const QUrl url = _url.adjusted(QUrl::StripTrailingSlash); if (url == d->mCurrentDirUrl) { + // In case we are waiting for a new file for selectUrlToSelect(), + // force update to make sure we get a dirLister completed() signal. + d->mDirModel->dirLister()->updateDirectory(url); + d->mDirListerFinished = false; return; } @@ -348,7 +352,6 @@ // and manually set current URL d->mSelectionModel->clearSelection(); setCurrentUrl(d->mUrlToSelect); - d->mUrlToSelect.clear(); } } diff --git a/lib/document/document.cpp b/lib/document/document.cpp --- a/lib/document/document.cpp +++ b/lib/document/document.cpp @@ -321,6 +321,7 @@ d->mUrl = saveJob->newUrl(); d->mImageMetaInfoModel.setUrl(d->mUrl); saved(saveJob->oldUrl(), d->mUrl); + reload(); } } diff --git a/lib/documentview/documentview.cpp b/lib/documentview/documentview.cpp --- a/lib/documentview/documentview.cpp +++ b/lib/documentview/documentview.cpp @@ -464,6 +464,10 @@ d->setCurrentAdapter(new EmptyAdapter); setAcceptDrops(true); + + connect(DocumentFactory::instance(), &DocumentFactory::documentChanged, this, [this]() { + d->updateCaption(); + }); } DocumentView::~DocumentView()