]>
cloud.milkyroute.net Git - dolphin.git/blob - src/dolphinpart_ext.cpp
1 /* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2012 Dawit Alemayehu <adawit@kde.org>
4 * SPDX-License-Identifier: LGPL-2.0-or-later
7 #include "dolphinpart_ext.h"
9 #include "dolphinpart.h"
10 #include "views/dolphinview.h"
12 DolphinPartBrowserExtension::DolphinPartBrowserExtension(DolphinPart
* part
)
13 :KParts::BrowserExtension( part
)
19 void DolphinPartBrowserExtension::restoreState(QDataStream
&stream
)
21 KParts::BrowserExtension::restoreState(stream
);
22 m_part
->view()->restoreState(stream
);
25 void DolphinPartBrowserExtension::saveState(QDataStream
&stream
)
27 KParts::BrowserExtension::saveState(stream
);
28 m_part
->view()->saveState(stream
);
31 void DolphinPartBrowserExtension::cut()
33 m_part
->view()->cutSelectedItemsToClipboard();
36 void DolphinPartBrowserExtension::copy()
38 m_part
->view()->copySelectedItemsToClipboard();
41 void DolphinPartBrowserExtension::paste()
43 m_part
->view()->paste();
46 void DolphinPartBrowserExtension::pasteTo(const QUrl
&)
48 m_part
->view()->pasteIntoFolder();
51 void DolphinPartBrowserExtension::reparseConfiguration()
53 m_part
->view()->readSettings();
57 DolphinPartFileInfoExtension::DolphinPartFileInfoExtension(DolphinPart
* part
)
58 :KParts::FileInfoExtension(part
)
63 bool DolphinPartFileInfoExtension::hasSelection() const
65 return m_part
->view()->selectedItemsCount() > 0;
68 KParts::FileInfoExtension::QueryModes
DolphinPartFileInfoExtension::supportedQueryModes() const
70 return (KParts::FileInfoExtension::AllItems
| KParts::FileInfoExtension::SelectedItems
);
73 KFileItemList
DolphinPartFileInfoExtension::queryFor(KParts::FileInfoExtension::QueryMode mode
) const
77 if (mode
== KParts::FileInfoExtension::None
)
80 if (!(supportedQueryModes() & mode
))
84 case KParts::FileInfoExtension::SelectedItems
:
86 return m_part
->view()->selectedItems();
88 case KParts::FileInfoExtension::AllItems
:
89 return m_part
->view()->items();
97 DolphinPartListingFilterExtension::DolphinPartListingFilterExtension(DolphinPart
* part
)
98 : KParts::ListingFilterExtension(part
)
103 KParts::ListingFilterExtension::FilterModes
DolphinPartListingFilterExtension::supportedFilterModes() const
105 return (KParts::ListingFilterExtension::MimeType
|
106 KParts::ListingFilterExtension::SubString
|
107 KParts::ListingFilterExtension::WildCard
);
110 bool DolphinPartListingFilterExtension::supportsMultipleFilters(KParts::ListingFilterExtension::FilterMode mode
) const
112 if (mode
== KParts::ListingFilterExtension::MimeType
)
118 QVariant
DolphinPartListingFilterExtension::filter(KParts::ListingFilterExtension::FilterMode mode
) const
123 case KParts::ListingFilterExtension::MimeType
:
124 result
= m_part
->view()->mimeTypeFilters();
126 case KParts::ListingFilterExtension::SubString
:
127 case KParts::ListingFilterExtension::WildCard
:
128 result
= m_part
->view()->nameFilter();
137 void DolphinPartListingFilterExtension::setFilter(KParts::ListingFilterExtension::FilterMode mode
, const QVariant
& filter
)
140 case KParts::ListingFilterExtension::MimeType
:
141 m_part
->view()->setMimeTypeFilters(filter
.toStringList());
143 case KParts::ListingFilterExtension::SubString
:
144 case KParts::ListingFilterExtension::WildCard
:
145 m_part
->view()->setNameFilter(filter
.toString());
154 DolphinPartListingNotificationExtension::DolphinPartListingNotificationExtension(DolphinPart
* part
)
155 : KParts::ListingNotificationExtension(part
)
159 KParts::ListingNotificationExtension::NotificationEventTypes
DolphinPartListingNotificationExtension::supportedNotificationEventTypes() const
161 return (KParts::ListingNotificationExtension::ItemsAdded
|
162 KParts::ListingNotificationExtension::ItemsDeleted
);
165 void DolphinPartListingNotificationExtension::slotNewItems(const KFileItemList
& items
)
167 emit
listingEvent(KParts::ListingNotificationExtension::ItemsAdded
, items
);
170 void DolphinPartListingNotificationExtension::slotItemsDeleted(const KFileItemList
& items
)
172 emit
listingEvent(KParts::ListingNotificationExtension::ItemsDeleted
, items
);