]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/places/placespanel.h
Merge remote-tracking branch 'origin/KDE/4.10'
[dolphin.git] / src / panels / places / placespanel.h
index 80cb732f056528e8d686a204e07b93745db9d011..16112e8b24f333be0c812d9541376b28b20c15e6 100644 (file)
 #ifndef PLACESPANEL_H
 #define PLACESPANEL_H
 
+#include <KUrl>
 #include <panels/panel.h>
-#include <QSet>
 
-class KBookmarkManager;
 class KItemListController;
-class KStandardItemModel;
+class PlacesItemEditDialog;
+class PlacesItem;
+class PlacesItemModel;
+class PlacesView;
+class QGraphicsSceneDragDropEvent;
 
 /**
  * @brief Combines bookmarks and mounted devices as list.
@@ -42,24 +45,51 @@ public:
 signals:
     void placeActivated(const KUrl& url);
     void placeMiddleClicked(const KUrl& url);
+    void errorMessage(const QString& error);
 
 protected:
     virtual bool urlChanged();
     virtual void showEvent(QShowEvent* event);
 
+public slots:
+    virtual void readSettings();
+
 private slots:
     void slotItemActivated(int index);
     void slotItemMiddleClicked(int index);
+    void slotItemContextMenuRequested(int index, const QPointF& pos);
+    void slotViewContextMenuRequested(const QPointF& pos);
+    void slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event);
+    void slotItemDropEventStorageSetupDone(int index, bool success);
+    void slotAboveItemDropEvent(int index, QGraphicsSceneDragDropEvent* event);
     void slotUrlsDropped(const KUrl& dest, QDropEvent* event, QWidget* parent);
+    void slotTrashUpdated(KJob* job);
+    void slotStorageSetupDone(int index, bool success);
 
 private:
-    void loadBookmarks();
+    void emptyTrash();
+    void addEntry();
+    void editEntry(int index);
+
+    /**
+     * Selects the item that has the closest URL for the URL set
+     * for the panel (see Panel::setUrl()).
+     */
+    void selectClosestItem();
+
+    void triggerItem(int index, Qt::MouseButton button);
 
 private:
     KItemListController* m_controller;
-    KStandardItemModel* m_model;
-    QSet<QString> m_availableDevices;
-    KBookmarkManager* m_bookmarkManager;
+    PlacesItemModel* m_model;
+    PlacesView* m_view;
+
+    KUrl m_storageSetupFailedUrl;
+    Qt::MouseButton m_triggerStorageSetupButton;
+
+    int m_itemDropEventIndex;
+    QMimeData* m_itemDropEventMimeData;
+    QDropEvent* m_itemDropEvent;
 };
 
 #endif // PLACESPANEL_H