]> cloud.milkyroute.net Git - dolphin.git/blob - src/dolphinpart_ext.cpp
Overwrite the changed role value with an empty QVariant,
[dolphin.git] / src / dolphinpart_ext.cpp
1 /* This file is part of the KDE project
2 * Copyright (c) 2012 Dawit Alemayehu <adawit@kde.org>
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 */
19
20 #include "dolphinpart_ext.h"
21
22 #include "dolphinpart.h"
23 #include "views/dolphinview.h"
24
25 #include <QVariant>
26
27 #include <KFileItemList>
28
29 DolphinPartListingFilterExtension::DolphinPartListingFilterExtension(DolphinPart* part)
30 : KParts::ListingFilterExtension(part)
31 , m_part(part)
32 {
33 }
34
35 KParts::ListingFilterExtension::FilterModes DolphinPartListingFilterExtension::supportedFilterModes() const
36 {
37 return (KParts::ListingFilterExtension::MimeType |
38 KParts::ListingFilterExtension::SubString |
39 KParts::ListingFilterExtension::WildCard);
40 }
41
42 bool DolphinPartListingFilterExtension::supportsMultipleFilters(KParts::ListingFilterExtension::FilterMode mode) const
43 {
44 if (mode == KParts::ListingFilterExtension::MimeType)
45 return true;
46
47 return false;
48 }
49
50 QVariant DolphinPartListingFilterExtension::filter(KParts::ListingFilterExtension::FilterMode mode) const
51 {
52 QVariant result;
53
54 switch (mode) {
55 case KParts::ListingFilterExtension::MimeType:
56 result = m_part->view()->mimeTypeFilters();
57 break;
58 case KParts::ListingFilterExtension::SubString:
59 case KParts::ListingFilterExtension::WildCard:
60 result = m_part->view()->nameFilter();
61 break;
62 default:
63 break;
64 }
65
66 return result;
67 }
68
69 void DolphinPartListingFilterExtension::setFilter(KParts::ListingFilterExtension::FilterMode mode, const QVariant& filter)
70 {
71 switch (mode) {
72 case KParts::ListingFilterExtension::MimeType:
73 m_part->view()->setMimeTypeFilters(filter.toStringList());
74 break;
75 case KParts::ListingFilterExtension::SubString:
76 case KParts::ListingFilterExtension::WildCard:
77 m_part->view()->setNameFilter(filter.toString());
78 break;
79 default:
80 break;
81 }
82 }
83
84 ////
85
86 DolphinPartListingNotificationExtension::DolphinPartListingNotificationExtension(DolphinPart* part)
87 : KParts::ListingNotificationExtension(part)
88 {
89 }
90
91 KParts::ListingNotificationExtension::NotificationEventTypes DolphinPartListingNotificationExtension::supportedNotificationEventTypes() const
92 {
93 return (KParts::ListingNotificationExtension::ItemsAdded |
94 KParts::ListingNotificationExtension::ItemsDeleted);
95 }
96
97 void DolphinPartListingNotificationExtension::slotNewItems(const KFileItemList& items)
98 {
99 emit listingEvent(KParts::ListingNotificationExtension::ItemsAdded, items);
100 }
101
102 void DolphinPartListingNotificationExtension::slotItemsDeleted(const KFileItemList& items)
103 {
104 emit listingEvent(KParts::ListingNotificationExtension::ItemsDeleted, items);
105 }
106
107 #include "dolphinpart_ext.moc"