]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinpart_ext.h
Emit "itemMiddleClicked" when Ctrl-clicking a view in single selection mode
[dolphin.git] / src / dolphinpart_ext.h
index 423e79efedbd11568194887e4017c32e6ff95398..009bba9fe28ad60dc5d1d1bb6f0bb8e257e1ec51 100644 (file)
@@ -1,40 +1,66 @@
 /* This file is part of the KDE project
- * Copyright (c) 2012 Dawit Alemayehu <adawit@kde.org>
+ * SPDX-FileCopyrightText: 2012 Dawit Alemayehu <adawit@kde.org>
  *
- * 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.
+ * SPDX-License-Identifier: LGPL-2.0-or-later
  */
 
 #ifndef DOLPHINPART_EXT_H
 #define DOLPHINPART_EXT_H
 
+#include <kparts/browserextension.h>
+#include <kparts/fileinfoextension.h>
+#include <kparts/listingfilterextension.h>
+#include <kparts/listingnotificationextension.h>
 
-#include <kparts/listingextension.h>
+#include <QUrl>
 
 class DolphinPart;
 
+class DolphinPartBrowserExtension : public KParts::BrowserExtension
+{
+    Q_OBJECT
+public:
+    explicit DolphinPartBrowserExtension( DolphinPart* part );
+    void restoreState(QDataStream &stream) override;
+    void saveState(QDataStream &stream) override;
+
+public Q_SLOTS:
+    void cut();
+    void copy();
+    void paste();
+    void pasteTo(const QUrl &);
+    void reparseConfiguration();
+
+private:
+    DolphinPart* m_part;
+};
+
+class DolphinPartFileInfoExtension : public KParts::FileInfoExtension
+{
+    Q_OBJECT
+
+public:
+    explicit DolphinPartFileInfoExtension(DolphinPart* part);
+
+    QueryModes supportedQueryModes() const override;
+    bool hasSelection() const override;
+
+    KFileItemList queryFor(QueryMode mode) const override;
+
+private:
+    DolphinPart* m_part;
+};
+
 class DolphinPartListingFilterExtension : public KParts::ListingFilterExtension
 {
     Q_OBJECT
 
 public:
-    DolphinPartListingFilterExtension(DolphinPart* part);
-    virtual FilterModes supportedFilterModes() const;
-    virtual bool supportsMultipleFilters(FilterMode mode) const;
-    virtual QVariant filter(FilterMode mode) const;
-    virtual void setFilter(FilterMode mode, const QVariant& filter);
+    explicit DolphinPartListingFilterExtension(DolphinPart* part);
+    FilterModes supportedFilterModes() const override;
+    bool supportsMultipleFilters(FilterMode mode) const override;
+    QVariant filter(FilterMode mode) const override;
+    void setFilter(FilterMode mode, const QVariant& filter) override;
 
 private:
     DolphinPart* m_part;
@@ -45,8 +71,8 @@ class DolphinPartListingNotificationExtension : public KParts::ListingNotificati
     Q_OBJECT
 
 public:
-    DolphinPartListingNotificationExtension(DolphinPart* part);
-    virtual NotificationEventTypes supportedNotificationEventTypes() const;
+    explicit DolphinPartListingNotificationExtension(DolphinPart* part);
+    NotificationEventTypes supportedNotificationEventTypes() const override;
 
 public Q_SLOTS:
     void slotNewItems(const KFileItemList&);