From 2827b96d9817252c22ae6f788f4d073303178cea Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Thu, 8 Dec 2011 11:05:27 +0100 Subject: Fix "show hidden files" issues Use KFileItemModel instead of KDirLister for toggling the whether hidden files should be shown. This assures that the signal KFileItemModel::loadingCompleted() will be emitted. In the longterm Dolphin should only use the KFileItemModel, so that the KDirLister instance is used only internally as implementation detail in KFileItemModel. Although there are only a few cases left where KDirLister is used instead of KFileItemModel this cleanup will be postponed to after the 4.8 release... BUG: 287314 BUG: 288213 FIXED-IN: 4.8.0 --- src/panels/folders/folderspanel.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/panels/folders/folderspanel.cpp') diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp index 598d3054a..275cd7772 100644 --- a/src/panels/folders/folderspanel.cpp +++ b/src/panels/folders/folderspanel.cpp @@ -76,8 +76,7 @@ void FoldersPanel::setHiddenFilesShown(bool show) if (m_dirLister) { KFileItemModel* model = fileItemModel(); const QSet expandedUrls = model->expandedUrls(); - m_dirLister->setShowingDotFiles(show); - m_dirLister->openUrl(m_dirLister->url(), KDirLister::Reload); + model->setShowHiddenFiles(show); model->setExpanded(expandedUrls); } } @@ -146,7 +145,6 @@ void FoldersPanel::showEvent(QShowEvent* event) m_dirLister->setMainWindow(window()); m_dirLister->setDelayedMimeTypes(true); m_dirLister->setAutoErrorHandlingEnabled(false, this); - m_dirLister->setShowingDotFiles(FoldersPanelSettings::hiddenFilesShown()); KFileItemListView* view = new KFileItemListView(); view->setWidgetCreator(new KItemListWidgetCreator()); @@ -165,6 +163,7 @@ void FoldersPanel::showEvent(QShowEvent* event) view->setOpacity(0); KFileItemModel* model = new KFileItemModel(m_dirLister, this); + model->setShowHiddenFiles(FoldersPanelSettings::hiddenFilesShown()); // Use a QueuedConnection to give the view the possibility to react first on the // finished loading. connect(model, SIGNAL(loadingCompleted()), this, SLOT(slotLoadingCompleted()), Qt::QueuedConnection); -- cgit v1.3