diff options
| author | Dawit Alemayehu <[email protected]> | 2010-11-01 16:56:47 +0000 |
|---|---|---|
| committer | Dawit Alemayehu <[email protected]> | 2010-11-01 16:56:47 +0000 |
| commit | 0ad893ae2b2bcc88c56587b57d227d65e593d2db (patch) | |
| tree | b05a871175bfddb9d9fd2d3f9bf108875ddd1909 /src/dolphinpart.cpp | |
| parent | 3aa13c7a247af8959c87121ad142662440300a13 (diff) | |
Added implementation of the FileInfoExtension to allow KPart plugins to obtain such information
svn path=/trunk/KDE/kdebase/apps/; revision=1191993
Diffstat (limited to 'src/dolphinpart.cpp')
| -rw-r--r-- | src/dolphinpart.cpp | 127 |
1 files changed, 87 insertions, 40 deletions
diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index a01e07265..0691791a5 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -38,6 +38,7 @@ #include <knewfilemenu.h> #include <kmenu.h> #include <kinputdialog.h> +#include <kprotocolinfo.h> #include "settings/dolphinsettings.h" #include "views/dolphinview.h" @@ -61,6 +62,7 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL Q_UNUSED(args) setComponentData(DolphinPartFactory::componentData(), false); m_extension = new DolphinPartBrowserExtension(this); + new DolphinPartFileInfoExtension(this); // make sure that other apps using this part find Dolphin's view-file-columns icons KIconLoader::global()->addAppDir("dolphin"); @@ -465,46 +467,6 @@ void DolphinPart::slotRedirection(const KUrl& oldUrl, const KUrl& newUrl) } } -//// - -void DolphinPartBrowserExtension::restoreState(QDataStream &stream) -{ - KParts::BrowserExtension::restoreState(stream); - m_part->view()->restoreState(stream); -} - -void DolphinPartBrowserExtension::saveState(QDataStream &stream) -{ - KParts::BrowserExtension::saveState(stream); - m_part->view()->saveState(stream); -} - -void DolphinPartBrowserExtension::cut() -{ - m_part->view()->cutSelectedItems(); -} - -void DolphinPartBrowserExtension::copy() -{ - m_part->view()->copySelectedItems(); -} - -void DolphinPartBrowserExtension::paste() -{ - m_part->view()->paste(); -} - -void DolphinPartBrowserExtension::pasteTo(const KUrl&) -{ - m_part->view()->pasteIntoFolder(); -} - -void DolphinPartBrowserExtension::reparseConfiguration() -{ - m_part->view()->refresh(); -} - -//// void DolphinPart::slotEditMimeType() { @@ -630,4 +592,89 @@ void DolphinPart::setFilesToSelect(const KUrl::List& files) m_view->markUrlsAsSelected(files); } +//// + +void DolphinPartBrowserExtension::restoreState(QDataStream &stream) +{ + KParts::BrowserExtension::restoreState(stream); + m_part->view()->restoreState(stream); +} + +void DolphinPartBrowserExtension::saveState(QDataStream &stream) +{ + KParts::BrowserExtension::saveState(stream); + m_part->view()->saveState(stream); +} + +void DolphinPartBrowserExtension::cut() +{ + m_part->view()->cutSelectedItems(); +} + +void DolphinPartBrowserExtension::copy() +{ + m_part->view()->copySelectedItems(); +} + +void DolphinPartBrowserExtension::paste() +{ + m_part->view()->paste(); +} + +void DolphinPartBrowserExtension::pasteTo(const KUrl&) +{ + m_part->view()->pasteIntoFolder(); +} + +void DolphinPartBrowserExtension::reparseConfiguration() +{ + m_part->view()->refresh(); +} + +//// + +DolphinPartFileInfoExtension::DolphinPartFileInfoExtension(DolphinPart* part) + : KParts::FileInfoExtension(part) +{ +} + +DolphinPart* DolphinPartFileInfoExtension::part() const +{ + return static_cast<DolphinPart*>(parent()); +} + +bool DolphinPartFileInfoExtension::hasSelection() const +{ + return part()->view()->hasSelection(); +} + +KParts::FileInfoExtension::QueryModes DolphinPartFileInfoExtension::supportedQueryModes() const +{ + return (KParts::FileInfoExtension::AllItems | KParts::FileInfoExtension::SelectedItems); +} + +KFileItemList DolphinPartFileInfoExtension::queryFor(KParts::FileInfoExtension::QueryMode mode) const +{ + KFileItemList list; + + if (mode == KParts::FileInfoExtension::None) + return list; + + if (!(supportedQueryModes() & mode)) + return list; + + switch (mode) { + case KParts::FileInfoExtension::SelectedItems: + if (hasSelection()) + return part()->view()->selectedItems(); + break; + case KParts::FileInfoExtension::AllItems: + return part()->view()->allItems(); + default: + break; + } + + return list; +} + #include "dolphinpart.moc" |
