]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/places/placesitemmodel.h
Build with QT_NO_KEYWORDS
[dolphin.git] / src / panels / places / placesitemmodel.h
index a1b23b220190bc6cce7a930c5f553a6041aea62d..cd4079a73a0adcd9ebe47d2d2ca9fae9a9e3d7eb 100644 (file)
@@ -1,47 +1,31 @@
-/***************************************************************************
- *   Copyright (C) 2012 by Peter Penz <peter.penz19@gmail.com>             *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program 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 General Public License for more details.                          *
- *                                                                         *
- *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
- ***************************************************************************/
+/*
+ * SPDX-FileCopyrightText: 2012 Peter Penz <peter.penz19@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
 
 #ifndef PLACESITEMMODEL_H
 #define PLACESITEMMODEL_H
 
-#include <kitemviews/kstandarditemmodel.h>
+#include "kitemviews/kstandarditemmodel.h"
+
 #include <KFilePlacesModel>
+#include <Solid/Predicate>
+#include <Solid/StorageAccess>
 
-#include <QUrl>
 #include <QHash>
 #include <QList>
 #include <QSet>
-#include <Solid/Predicate>
-#include <Solid/StorageAccess>
+#include <QUrl>
 
 class KBookmark;
-class KBookmarkManager;
 class PlacesItem;
 class QAction;
 
-// #define PLACESITEMMODEL_DEBUG
-
 /**
  * @brief Model for maintaining the bookmarks of the places panel.
  *
- * It is compatible to the KFilePlacesModel from kdelibs but adds
- * the ability to have groups for places.
+ * It is based on KFilePlacesModel from KIO.
  */
 class PlacesItemModel: public KStandardItemModel
 {
@@ -55,15 +39,13 @@ public:
      * @brief Create a new place entry in the bookmark file
      * and add it to the model
      */
-    void createPlacesItem(const QString& text,
-                          const QUrl& url,
-                          const QString& iconName = QString(),
-                          int after = -1);
+    void createPlacesItem(const QString& text, const QUrl& url, const QString& iconName = {}, const QString& appName = {});
+    void createPlacesItem(const QString& text, const QUrl& url, const QString& iconName, const QString& appName, int after);
 
     PlacesItem* placesItem(int index) const;
 
     /**
-     * @brief Mark an item as hiden
+     * @brief Mark an item as hidden
      * @param index of the item to be hidden
      */
     void hideItem(int index);
@@ -143,18 +125,19 @@ public:
     bool isGroupHidden(KFilePlacesModel::GroupType type) const;
     void setGroupHidden(KFilePlacesModel::GroupType type, bool hidden);
 
-signals:
+Q_SIGNALS:
     void errorMessage(const QString& message);
     void storageSetupDone(int index, bool success);
     void storageTearDownRequested(const QString& mountPath);
     void storageTearDownExternallyRequested(const QString& mountPath);
+    void storageTearDownSuccessful();
 
 protected:
     void onItemInserted(int index) override;
     void onItemRemoved(int index, KStandardItem* removedItem) override;
     void onItemChanged(int index, const QSet<QByteArray>& changedRoles) override;
 
-private slots:
+private Q_SLOTS:
     void slotStorageTearDownDone(Solid::ErrorType error, const QVariant& errorData);
     void slotStorageSetupDone(Solid::ErrorType error, const QVariant& errorData, const QString& udi);
 
@@ -203,10 +186,6 @@ private:
      */
     void insertSortedItem(PlacesItem* item);
 
-#ifdef PLACESITEMMODEL_DEBUG
-    void showModelState();
-#endif
-
     PlacesItem *itemFromBookmark(const KBookmark &bookmark) const;
 
     void addItemFromSourceModel(const QModelIndex &index);
@@ -227,7 +206,7 @@ private:
 
     QHash<QObject*, int> m_storageSetupInProgress;
 
-    QScopedPointer<KFilePlacesModel> m_sourceModel;
+    KFilePlacesModel *m_sourceModel;
 
     QVector<QPersistentModelIndex> m_indexMap;
 };