From ab3d8b100385fabaa612683f527d2e4ebd5c1086 Mon Sep 17 00:00:00 2001 From: David Faure Date: Sun, 1 Jul 2007 14:25:21 +0000 Subject: Here comes dolphinpart, to use dolphin as the file management view in konqueror. Embeds nicely, now all the integration needs to be done. Thanks to Peter for the nice DolphinView/DolphinViewContainer separation which made writing the part very very easy! CCMAIL: peter.penz@gmx.at svn path=/trunk/KDE/kdebase/apps/; revision=682079 --- src/dolphinpart.cpp | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/dolphinpart.cpp (limited to 'src/dolphinpart.cpp') diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp new file mode 100644 index 000000000..3a7c9b11b --- /dev/null +++ b/src/dolphinpart.cpp @@ -0,0 +1,72 @@ +/* This file is part of the KDE project + Copyright (c) 2007 David Faure + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "dolphinpart.h" +#include +#include "dolphinview.h" +#include "dolphinsortfilterproxymodel.h" +#include +#include + +typedef KParts::GenericFactory DolphinPartFactory; +K_EXPORT_COMPONENT_FACTORY(dolphinpart, DolphinPartFactory) + +DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QStringList& args) + : KParts::ReadOnlyPart(parent) +{ + Q_UNUSED(args) + setComponentData( DolphinPartFactory::componentData() ); + //setBrowserExtension( new DolphinPartBrowserExtension( this ) ); + + m_dirLister = new KDirLister; + m_dirLister->setAutoUpdate(true); + m_dirLister->setMainWindow(parentWidget->topLevelWidget()); + m_dirLister->setDelayedMimeTypes(true); + + m_dirModel = new KDirModel(this); + m_dirModel->setDirLister(m_dirLister); + + m_proxyModel = new DolphinSortFilterProxyModel(this); + m_proxyModel->setSourceModel(m_dirModel); + + m_view = new DolphinView(parentWidget, + KUrl(), + m_dirLister, + m_dirModel, + m_proxyModel); + setWidget(m_view); +} + +DolphinPart::~DolphinPart() +{ + delete m_dirLister; +} + +KAboutData* DolphinPart::createAboutData() +{ + return new KAboutData("dolphinpart", I18N_NOOP( "Dolphin Part" ), "0.1"); +} + +bool DolphinPart::openUrl(const KUrl& url) +{ + m_view->setUrl(url); + return true; +} + +#include "dolphinpart.moc" -- cgit v1.3