21 #ifndef FM_PLACESMODEL_H
22 #define FM_PLACESMODEL_H
24 #include "libfmqtglobals.h"
25 #include <QStandardItemModel>
26 #include <QStandardItem>
33 class PlacesModelItem;
34 class PlacesModelVolumeItem;
35 class PlacesModelMountItem;
36 class PlacesModelBookmarkItem;
46 ItemAction(
const QModelIndex& index, QString text, QObject* parent = 0):
47 QAction(text, parent),
51 QPersistentModelIndex& index() {
55 QPersistentModelIndex index_;
63 return trashItem_ != NULL;
65 void setShowTrash(
bool show);
67 bool showApplications() {
68 return showApplications_;
70 void setShowApplications(
bool show);
75 void setShowDesktop(
bool show);
83 PlacesModelItem* itemFromPath(FmPath* path);
84 PlacesModelItem* itemFromPath(QStandardItem* rootItem, FmPath* path);
85 PlacesModelVolumeItem* itemFromVolume(GVolume* volume);
86 PlacesModelMountItem* itemFromMount(GMount* mount);
87 PlacesModelBookmarkItem* itemFromBookmark(FmBookmarkItem* bkitem);
89 virtual Qt::ItemFlags flags(
const QModelIndex& index)
const;
90 virtual QStringList mimeTypes()
const;
91 virtual QMimeData* mimeData(
const QModelIndexList& indexes)
const;
92 virtual bool dropMimeData(
const QMimeData* data, Qt::DropAction action,
int row,
int column,
const QModelIndex& parent);
93 Qt::DropActions supportedDropActions()
const;
95 void createTrashItem();
100 static void onVolumeAdded(GVolumeMonitor* monitor, GVolume* volume, PlacesModel* pThis);
101 static void onVolumeRemoved(GVolumeMonitor* monitor, GVolume* volume, PlacesModel* pThis);
102 static void onVolumeChanged(GVolumeMonitor* monitor, GVolume* volume, PlacesModel* pThis);
103 static void onMountAdded(GVolumeMonitor* monitor, GMount* mount, PlacesModel* pThis);
104 static void onMountRemoved(GVolumeMonitor* monitor, GMount* mount, PlacesModel* pThis);
105 static void onMountChanged(GVolumeMonitor* monitor, GMount* mount, PlacesModel* pThis);
107 static void onBookmarksChanged(FmBookmarks* bookmarks, PlacesModel* pThis);
109 static void onTrashChanged(GFileMonitor *monitor, GFile *gf, GFile *other, GFileMonitorEvent evt, PlacesModel* pThis);
111 FmBookmarks* bookmarks;
112 GVolumeMonitor* volumeMonitor;
114 bool showApplications_;
116 QStandardItem* placesRoot;
117 QStandardItem* devicesRoot;
118 QStandardItem* bookmarksRoot;
119 PlacesModelItem* trashItem_;
120 GFileMonitor* trashMonitor_;
121 PlacesModelItem* desktopItem;
122 PlacesModelItem* homeItem;
123 PlacesModelItem* computerItem;
124 PlacesModelItem* networkItem;
125 PlacesModelItem* applicationsItem;
131 #endif // FM_PLACESMODEL_H
Definition: placesmodel.h:38
Definition: placesmodel.h:44
Definition: placesview.h:33