diff options
| author | Peter Penz <[email protected]> | 2012-04-17 22:19:18 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2012-04-17 22:21:55 +0200 |
| commit | beeb9078f543af84e6364f1f5fe214453388f1b9 (patch) | |
| tree | a233ca14a66e67896642e723b89870ed4ecb3181 /src/kitemviews | |
| parent | 9f94aac23f8b6519de4847063fa20f588f9797ea (diff) | |
Ensure authentication data is cached properly
The attached patch sets the main window on the main directory
lister in DolphinView and KIO jobs in DolphinMainWindow to ensure
that login data for remote protocols such as sftp, ftp are cached
properly for the duration of the application. Otherwise, the end
user is going to end up being unnecessarily re-prompted to enter
password login information.
Thanks to Dawit Alemayehu for the patch!
REVIEW: 104614
FIXED-IN: 4.9.0
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/kfileitemmodel.cpp | 2 | ||||
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index 8b6522c07..8710f4440 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -28,6 +28,7 @@ #include "private/kfileitemmodelsortalgorithm.h" #include "private/kfileitemmodeldirlister.h" +#include <QApplication> #include <QMimeData> #include <QTimer> @@ -58,6 +59,7 @@ KFileItemModel::KFileItemModel(QObject* parent) : m_dirLister = new KFileItemModelDirLister(this); m_dirLister->setAutoUpdate(true); m_dirLister->setDelayedMimeTypes(true); + m_dirLister->setMainWindow(qApp->activeWindow()); connect(m_dirLister, SIGNAL(started(KUrl)), this, SIGNAL(directoryLoadingStarted())); connect(m_dirLister, SIGNAL(canceled()), this, SLOT(slotCanceled())); diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 942db2bbd..e2e348f79 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -26,10 +26,12 @@ #include <KDebug> #include <KFileItem> #include <KGlobal> +#include <KIO/JobUiDelegate> #include <KIO/PreviewJob> #include "private/kpixmapmodifier.h" +#include <QApplication> #include <QPainter> #include <QPixmap> #include <QElapsedTimer> @@ -655,6 +657,9 @@ void KFileItemModelRolesUpdater::startPreviewJob(const KFileItemList& items) } KIO::PreviewJob* job = new KIO::PreviewJob(itemSubSet, cacheSize, &m_enabledPlugins); job->setIgnoreMaximumSize(items.first().isLocalFile()); + if (job->ui()) { + job->ui()->setWindow(qApp->activeWindow()); + } connect(job, SIGNAL(gotPreview(KFileItem,QPixmap)), this, SLOT(slotGotPreview(KFileItem,QPixmap))); |
