m_statusBar(0),
m_dirModel(0),
m_dirLister(0),
- m_proxyModel(0),
- m_previewJob(0)
+ m_proxyModel(0)
{
hide();
setFocusPolicy(Qt::StrongFocus);
DolphinView::~DolphinView()
{
- if (m_previewJob != 0) {
- m_previewJob->doKill();
- m_previewJob = 0;
- }
-
delete m_dirLister;
m_dirLister = 0;
}
{
ViewProperties props(m_urlNavigator->url());
props.setShowPreview(show);
- props.save();
m_controller->setShowPreview(show);
-
emit showPreviewChanged();
- reload();
+
+ startDirLister(m_urlNavigator->url(), true);
}
bool DolphinView::showPreview() const
ViewProperties props(m_urlNavigator->url());
props.setShowHiddenFiles(show);
- props.save();
m_dirLister->setShowingDotFiles(show);
emit showHiddenFilesChanged();
- reload();
+ startDirLister(m_urlNavigator->url(), true);
}
bool DolphinView::showHiddenFiles() const
m_fileItemDelegate->setAdditionalInformation(info);
emit additionalInfoChanged(info);
- reload();
+ startDirLister(m_urlNavigator->url(), true);
}
KFileItemDelegate::AdditionalInformation DolphinView::additionalInfo() const
default:
// the renaming operation has been canceled
- reload();
return;
}
} else {
} else {
m_statusBar->setMessage(i18n("Renaming of file '%1' to '%2' failed.", source.fileName(), destFileName),
DolphinStatusBar::Error);
- reload();
}
}
void DolphinView::generatePreviews(const KFileItemList& items)
{
if (m_controller->showPreview()) {
- if (m_previewJob != 0) {
- m_previewJob->doKill();
- }
- m_previewJob = KIO::filePreview(items, 128);
- connect(m_previewJob, SIGNAL(gotPreview(const KFileItem*, const QPixmap&)),
+ KIO::PreviewJob* job = KIO::filePreview(items, 128);
+ connect(job, SIGNAL(gotPreview(const KFileItem*, const QPixmap&)),
this, SLOT(showPreview(const KFileItem*, const QPixmap&)));
- connect(m_previewJob, SIGNAL(result(KJob*)),
- this, SLOT(slotPreviewResult(KJob*)));
}
}
void DolphinView::showPreview(const KFileItem* item, const QPixmap& pixmap)
{
Q_ASSERT(item != 0);
+ if (item->url().directory() != m_dirLister->url().path()) {
+ // the preview job is still working on items of an older URL, hence
+ // the item is not part of the directory model anymore
+ return;
+ }
+
const QModelIndex idx = m_dirModel->indexForItem(*item);
if (idx.isValid() && (idx.column() == 0)) {
const QMimeData* mimeData = QApplication::clipboard()->mimeData();
m_blockContentsMovedSignal = true;
m_dirLister->stop();
- if (m_previewJob != 0) {
- m_previewJob->doKill();
- m_previewJob = 0;
- }
-
bool openDir = true;
bool keepOldDirs = isColumnViewActive();
if (keepOldDirs) {
applyCutItemEffect();
}
-void DolphinView::slotPreviewResult(KJob* job)
-{
- Q_UNUSED(job);
- m_previewJob = 0;
-}
-
void DolphinView::createView()
{
// delete current view