/***************************************************************************
- * Copyright (C) 2007 by Peter Penz <peter.penz@gmx.at> *
+ * Copyright (C) 2007 by Peter Penz <peter.penz19@gmail.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
***************************************************************************/
#include "dolphinviewcontainer.h"
-#include <kprotocolmanager.h>
-
-#include <QtGui/QApplication>
-#include <QtGui/QKeyEvent>
-#include <QtGui/QItemSelection>
-#include <QtGui/QBoxLayout>
-#include <QtCore/QTimer>
-#include <QtGui/QScrollBar>
-
-#include <kdesktopfile.h>
-#include <kfileitemdelegate.h>
-#include <kfileplacesmodel.h>
-#include <kglobalsettings.h>
-#include <klocale.h>
-#include <kiconeffect.h>
-#include <kio/netaccess.h>
-#include <kio/previewjob.h>
-#include <kmenu.h>
-#include <knewmenu.h>
+#include <KProtocolManager>
+
+#include <QApplication>
+#include <QKeyEvent>
+#include <QItemSelection>
+#include <QBoxLayout>
+#include <QTimer>
+#include <QScrollBar>
+
+#include <KDesktopFile>
+#include <KFileItemDelegate>
+#include <KFilePlacesModel>
+#include <KGlobalSettings>
+#include <KLocale>
+#include <KIconEffect>
+#include <KIO/NetAccess>
+#include <KIO/PreviewJob>
+#include <KMenu>
+#include <KNewFileMenu>
#include <konqmimedata.h>
#include <konq_operations.h>
-#include <kshell.h>
-#include <kurl.h>
-#include <kurlcombobox.h>
-#include <kurlnavigator.h>
-#include <krun.h>
+#include <KShell>
+#include <KUrl>
+#include <KUrlComboBox>
+#include <KUrlNavigator>
+#include <KRun>
#include "dolphin_generalsettings.h"
#include "dolphinmainwindow.h"
#include "statusbar/dolphinstatusbar.h"
#include "views/dolphincolumnview.h"
#include "views/dolphindetailsview.h"
-#include "views/dolphindirlister.h"
-#include "views/dolphinsortfilterproxymodel.h"
#include "views/draganddrophelper.h"
#include "views/dolphiniconsview.h"
#include "views/dolphinmodel.h"
connect(m_searchBox, SIGNAL(search(QString)), this, SLOT(startSearching(QString)));
connect(m_searchBox, SIGNAL(returnPressed(QString)), this, SLOT(requestFocus()));
- DolphinDirLister* dirLister = new DolphinDirLister();
- dirLister->setAutoUpdate(true);
- dirLister->setMainWindow(window());
- dirLister->setDelayedMimeTypes(true);
-
- DolphinModel* dolphinModel = new DolphinModel(this);
- dolphinModel->setDirLister(dirLister); // dolphinModel takes ownership of dirLister
- dolphinModel->setDropsAllowed(DolphinModel::DropOnDirectory);
-
- DolphinSortFilterProxyModel* proxyModel = new DolphinSortFilterProxyModel(this);
- proxyModel->setSourceModel(dolphinModel);
- proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
-
- // TODO: In the case of the column view the directory lister changes. Let the DolphinView
- // inform the container about this information for KDE SC 4.7
- connect(dirLister, SIGNAL(clear()),
- this, SLOT(delayedStatusBarUpdate()));
- connect(dirLister, SIGNAL(percent(int)),
- this, SLOT(updateProgress(int)));
- connect(dirLister, SIGNAL(itemsDeleted(const KFileItemList&)),
- this, SLOT(delayedStatusBarUpdate()));
- connect(dirLister, SIGNAL(newItems(KFileItemList)),
- this, SLOT(delayedStatusBarUpdate()));
- connect(dirLister, SIGNAL(infoMessage(const QString&)),
- this, SLOT(showInfoMessage(const QString&)));
- connect(dirLister, SIGNAL(errorMessage(const QString&)),
- this, SLOT(showErrorMessage(const QString&)));
- connect(dirLister, SIGNAL(urlIsFileError(const KUrl&)),
- this, SLOT(openFile(const KUrl&)));
-
- m_view = new DolphinView(this, url, proxyModel);
- connect(m_view, SIGNAL(urlChanged(const KUrl&)),
- m_urlNavigator, SLOT(setUrl(const KUrl&)));
- connect(m_view, SIGNAL(requestItemInfo(KFileItem)),
- this, SLOT(showItemInfo(KFileItem)));
- connect(m_view, SIGNAL(errorMessage(const QString&)),
- this, SLOT(showErrorMessage(const QString&)));
- connect(m_view, SIGNAL(infoMessage(const QString&)),
- this, SLOT(showInfoMessage(const QString&)));
- connect(m_view, SIGNAL(operationCompletedMessage(const QString&)),
- this, SLOT(showOperationCompletedMessage(const QString&)));
- connect(m_view, SIGNAL(itemTriggered(KFileItem)),
- this, SLOT(slotItemTriggered(KFileItem)));
- connect(m_view, SIGNAL(redirection(KUrl, KUrl)),
- this, SLOT(redirect(KUrl, KUrl)));
- connect(m_view, SIGNAL(selectionChanged(const KFileItemList&)),
- this, SLOT(delayedStatusBarUpdate()));
- connect(m_view, SIGNAL(startedPathLoading(KUrl)),
- this, SLOT(slotStartedPathLoading()));
- connect(m_view, SIGNAL(finishedPathLoading(KUrl)),
- this, SLOT(slotFinishedPathLoading()));
- connect(m_view, SIGNAL(writeStateChanged(bool)),
- this, SIGNAL(writeStateChanged(bool)));
+ m_view = new DolphinView(url, this);
+ connect(m_view, SIGNAL(urlChanged(const KUrl&)), m_urlNavigator, SLOT(setUrl(const KUrl&)));
+ connect(m_view, SIGNAL(writeStateChanged(bool)), this, SIGNAL(writeStateChanged(bool)));
+ connect(m_view, SIGNAL(requestItemInfo(KFileItem)), this, SLOT(showItemInfo(KFileItem)));
+ connect(m_view, SIGNAL(errorMessage(const QString&)), this, SLOT(showErrorMessage(const QString&)));
+ connect(m_view, SIGNAL(infoMessage(const QString&)), this, SLOT(showInfoMessage(const QString&)));
+ connect(m_view, SIGNAL(itemTriggered(KFileItem)), this, SLOT(slotItemTriggered(KFileItem)));
+ connect(m_view, SIGNAL(redirection(KUrl, KUrl)), this, SLOT(redirect(KUrl, KUrl)));
+ connect(m_view, SIGNAL(startedPathLoading(KUrl)), this, SLOT(slotStartedPathLoading()));
+ connect(m_view, SIGNAL(finishedPathLoading(KUrl)), this, SLOT(slotFinishedPathLoading()));
+ connect(m_view, SIGNAL(itemCountChanged()), this, SLOT(delayedStatusBarUpdate()));
+ connect(m_view, SIGNAL(pathLoadingProgress(int)), this, SLOT(updateProgress(int)));
+ connect(m_view, SIGNAL(infoMessage(const QString&)), this, SLOT(showInfoMessage(const QString&)));
+ connect(m_view, SIGNAL(errorMessage(const QString&)), this, SLOT(showErrorMessage(const QString&)));
+ connect(m_view, SIGNAL(urlIsFileError(const KUrl&)), this, SLOT(openFile(const KUrl&)));
+ connect(m_view, SIGNAL(selectionChanged(const KFileItemList&)), this, SLOT(delayedStatusBarUpdate()));
+ connect(m_view, SIGNAL(operationCompletedMessage(const QString&)), this, SLOT(showOperationCompletedMessage(const QString&)));
connect(m_urlNavigator, SIGNAL(urlChanged(const KUrl&)),
this, SLOT(slotUrlNavigatorLocationChanged(const KUrl&)));
m_urlNavigator->setVisible(!enabled);
if (enabled) {
+ KUrl url = m_urlNavigator->locationUrl();
+ m_searchBox->setText(QString());
+ m_searchBox->setReadOnly(isSearchUrl(url));
+
// Remember the most recent non-search URL as search path
// of the search-box, so that it can be restored
// when switching back to the URL navigator.
- KUrl url = m_urlNavigator->locationUrl();
-
int index = m_urlNavigator->historyIndex();
const int historySize = m_urlNavigator->historySize();
while (isSearchUrl(url) && (index < historySize)) {
void DolphinViewContainer::setFilterBarVisible(bool visible)
{
- Q_ASSERT(m_filterBar != 0);
+ Q_ASSERT(m_filterBar);
if (visible) {
m_filterBar->show();
m_filterBar->setFocus();
m_statusBar->setProgress(100);
}
- if (isSearchUrl(url()) && (m_view->items().count() == 0)) {
+ if (isSearchUrl(url()) && m_view->items().isEmpty()) {
// The dir lister has been completed on a Nepomuk-URI and no items have been found. Instead
// of showing the default status bar information ("0 items") a more helpful information is given:
m_statusBar->setMessage(i18nc("@info:status", "No items found."), DolphinStatusBar::Information);