diff options
| author | Dawit Alemayehu <[email protected]> | 2012-09-12 15:54:37 -0400 |
|---|---|---|
| committer | Dawit Alemayehu <[email protected]> | 2012-09-15 14:41:06 -0400 |
| commit | 399c4b22ea9947047c7d2777d7f361df6b5e9636 (patch) | |
| tree | f8bbba41409c143f7b9a70f54307ca8218e66e44 /src/dolphinpart_ext.cpp | |
| parent | 186141f4d377cf27485f4fb4bd3286a578e7cbc1 (diff) | |
Corrected the compile fix commit, rev 965fc6b3.
(cherry picked from commit 1e45cb9019e08ca574a997f2e41da5e3e47928b4)
Diffstat (limited to 'src/dolphinpart_ext.cpp')
| -rw-r--r-- | src/dolphinpart_ext.cpp | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/src/dolphinpart_ext.cpp b/src/dolphinpart_ext.cpp new file mode 100644 index 000000000..e98c0648e --- /dev/null +++ b/src/dolphinpart_ext.cpp @@ -0,0 +1,107 @@ +/* This file is part of the KDE project + * Copyright (c) 2012 Dawit Alemayehu <[email protected]> + * + * 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_ext.h" + +#include "dolphinpart.h" +#include "views/dolphinview.h" + +#include <QVariant> + +#include <KFileItemList> + +DolphinPartListingFilterExtension::DolphinPartListingFilterExtension(DolphinPart* part) + : KParts::ListingFilterExtension(part) + , m_part(part) +{ +} + +KParts::ListingFilterExtension::FilterModes DolphinPartListingFilterExtension::supportedFilterModes() const +{ + return (KParts::ListingFilterExtension::MimeType | + KParts::ListingFilterExtension::SubString | + KParts::ListingFilterExtension::WildCard); +} + +bool DolphinPartListingFilterExtension::supportsMultipleFilters(KParts::ListingFilterExtension::FilterMode mode) const +{ + if (mode == KParts::ListingFilterExtension::MimeType) + return true; + + return false; +} + +QVariant DolphinPartListingFilterExtension::filter(KParts::ListingFilterExtension::FilterMode mode) const +{ + QVariant result; + + switch (mode) { + case KParts::ListingFilterExtension::MimeType: + result = m_part->view()->mimeTypeFilters(); + break; + case KParts::ListingFilterExtension::SubString: + case KParts::ListingFilterExtension::WildCard: + result = m_part->view()->nameFilter(); + break; + default: + break; + } + + return result; +} + +void DolphinPartListingFilterExtension::setFilter(KParts::ListingFilterExtension::FilterMode mode, const QVariant& filter) +{ + switch (mode) { + case KParts::ListingFilterExtension::MimeType: + m_part->view()->setMimeTypeFilters(filter.toStringList()); + break; + case KParts::ListingFilterExtension::SubString: + case KParts::ListingFilterExtension::WildCard: + m_part->view()->setNameFilter(filter.toString()); + break; + default: + break; + } +} + +//// + +DolphinPartListingNotificationExtension::DolphinPartListingNotificationExtension(DolphinPart* part) + : KParts::ListingNotificationExtension(part) +{ +} + +KParts::ListingNotificationExtension::NotificationEventTypes DolphinPartListingNotificationExtension::supportedNotificationEventTypes() const +{ + return (KParts::ListingNotificationExtension::ItemsAdded | + KParts::ListingNotificationExtension::ItemsDeleted); +} + +void DolphinPartListingNotificationExtension::slotNewItems(const KFileItemList& items) +{ + emit listingEvent(KParts::ListingNotificationExtension::ItemsAdded, items); +} + +void DolphinPartListingNotificationExtension::slotItemsDeleted(const KFileItemList& items) +{ + emit listingEvent(KParts::ListingNotificationExtension::ItemsDeleted, items); +} + +#include "dolphinpart_ext.moc" |
