#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.
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