X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/772a55aafc2e558302d042eb65026b9b50302ccc..b5eca6dc2aaa6f90d7dc2fe27ab9ccc45aee77f2:/src/dolphinviewcontainer.cpp diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index 9a358b2ff..65e587fb2 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -94,11 +94,10 @@ DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow, m_dirLister->setMainWindow(this); m_dirLister->setDelayedMimeTypes(true); - m_dolphinModel = new DolphinModel(); + m_dolphinModel = new DolphinModel(this); m_dolphinModel->setDirLister(m_dirLister); m_dolphinModel->setDropsAllowed(DolphinModel::DropOnDirectory); - m_proxyModel = new DolphinSortFilterProxyModel(this); m_proxyModel->setSourceModel(m_dolphinModel); @@ -106,7 +105,7 @@ DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow, this, SLOT(updateStatusBar())); connect(m_dirLister, SIGNAL(percent(int)), this, SLOT(updateProgress(int))); - connect(m_dirLister, SIGNAL(deleteItem(KFileItem*)), + connect(m_dirLister, SIGNAL(deleteItem(const KFileItem&)), this, SLOT(updateStatusBar())); connect(m_dirLister, SIGNAL(completed()), this, SLOT(updateItemCount())); @@ -136,8 +135,8 @@ DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow, this, SLOT(showInfoMessage(const QString&))); connect(m_view, SIGNAL(itemTriggered(KFileItem)), this, SLOT(slotItemTriggered(KFileItem))); - connect(m_view, SIGNAL(rootUrlChanged(const KUrl&)), - m_urlNavigator, SLOT(saveRootUrl(const KUrl&))); + connect(m_view, SIGNAL(startedPathLoading(const KUrl&)), + this, SLOT(saveRootUrl(const KUrl&))); connect(m_urlNavigator, SIGNAL(urlChanged(const KUrl&)), this, SLOT(restoreView(const KUrl&))); @@ -190,7 +189,7 @@ bool DolphinViewContainer::isActive() const void DolphinViewContainer::renameSelectedItems() { DolphinViewContainer* view = m_mainWindow->activeViewContainer(); - const QList items = m_view->selectedItems(); + const KFileItemList items = m_view->selectedItems(); if (items.count() > 1) { // More than one item has been selected for renaming. Open // a rename dialog and rename all items afterwards. @@ -213,8 +212,8 @@ void DolphinViewContainer::renameSelectedItems() Q_ASSERT(replaceIndex >= 0); int index = 1; - QList::const_iterator it = items.begin(); - QList::const_iterator end = items.end(); + KFileItemList::const_iterator it = items.begin(); + KFileItemList::const_iterator end = items.end(); while (it != end) { const KUrl& oldUrl = (*it).url(); QString number; @@ -309,8 +308,8 @@ void DolphinViewContainer::updateItemCount() m_folderCount = 0; while (it != end) { - KFileItem* item = *it; - if (item->isDir()) { + const KFileItem item = *it; + if (item.isDir()) { ++m_folderCount; } else { ++m_fileCount; @@ -374,7 +373,7 @@ QString DolphinViewContainer::defaultStatusBarText() const QString DolphinViewContainer::selectionStatusBarText() const { QString text; - const QList list = m_view->selectedItems(); + const KFileItemList list = m_view->selectedItems(); if (list.isEmpty()) { // when an item is triggered, it is temporary selected but selectedItems() // will return an empty list @@ -384,8 +383,8 @@ QString DolphinViewContainer::selectionStatusBarText() const int fileCount = 0; int folderCount = 0; KIO::filesize_t byteSize = 0; - QList::const_iterator it = list.begin(); - const QList::const_iterator end = list.end(); + KFileItemList::const_iterator it = list.begin(); + const KFileItemList::const_iterator end = list.end(); while (it != end) { const KFileItem& item = *it; if (item.isDir()) { @@ -452,18 +451,8 @@ void DolphinViewContainer::changeNameFilter(const QString& nameFilter) adjustedFilter.insert(0, '*'); adjustedFilter.append('*'); - // Use the ProxyModel to filter: - // This code is #ifdefed as setNameFilter behaves - // slightly different than the QSortFilterProxyModel - // as it will not remove directories. I will ask - // our beloved usability experts for input - // -- z. -#if 0 m_dirLister->setNameFilter(adjustedFilter); m_dirLister->emitChanges(); -#else - m_proxyModel->setFilterRegExp(nameFilter); -#endif updateStatusBar(); } @@ -495,8 +484,13 @@ void DolphinViewContainer::activate() void DolphinViewContainer::restoreView(const KUrl& url) { - m_view->setRootUrl(m_urlNavigator->savedRootUrl()); - m_view->setUrl(url); + m_view->updateView(url, m_urlNavigator->savedRootUrl()); +} + +void DolphinViewContainer::saveRootUrl(const KUrl& url) +{ + Q_UNUSED(url); + m_urlNavigator->saveRootUrl(m_view->rootUrl()); } void DolphinViewContainer::slotItemTriggered(const KFileItem& item)