21 #ifndef FM_FOLDERVIEW_H 22 #define FM_FOLDERVIEW_H 24 #include "libfmqtglobals.h" 28 #include <QMouseEvent> 30 #include "foldermodel.h" 31 #include "proxyfoldermodel.h" 40 class FolderViewStyle;
48 IconMode = FirstViewMode,
52 LastViewMode = ThumbnailMode,
53 NumViewModes = (LastViewMode - FirstViewMode + 1)
64 friend class FolderViewTreeView;
65 friend class FolderViewListView;
67 explicit FolderView(ViewMode _mode = IconMode, QWidget* parent = 0);
70 void setViewMode(ViewMode _mode);
71 ViewMode viewMode()
const;
73 void setIconSize(ViewMode mode, QSize size);
74 QSize iconSize(ViewMode mode)
const;
76 QAbstractItemView* childView()
const;
82 return model_ ?
static_cast<FolderModel*
>(model_->sourceModel())->folder() : NULL;
85 FmFileInfo* folderInfo() {
86 FmFolder* _folder = folder();
87 return _folder ? fm_folder_get_info(_folder) : NULL;
91 FmFolder* _folder = folder();
92 return _folder ? fm_folder_get_path(_folder) : NULL;
95 QItemSelectionModel* selectionModel()
const;
96 FmFileInfoList* selectedFiles()
const;
97 FmPathList* selectedFilePaths()
const;
101 void invertSelection();
104 fileLauncher_ = launcher;
108 return fileLauncher_;
111 int autoSelectionDelay()
const {
112 return autoSelectionDelay_;
115 void setAutoSelectionDelay(
int delay);
118 virtual bool event(QEvent* event);
119 virtual void contextMenuEvent(QContextMenuEvent* event);
120 virtual void childMousePressEvent(QMouseEvent* event);
121 virtual void childDragEnterEvent(QDragEnterEvent* event);
122 virtual void childDragMoveEvent(QDragMoveEvent* e);
123 virtual void childDragLeaveEvent(QDragLeaveEvent* e);
124 virtual void childDropEvent(QDropEvent* e);
126 void emitClickedAt(ClickType type,
const QPoint& pos);
128 QModelIndexList selectedRows (
int column = 0 )
const;
129 QModelIndexList selectedIndexes()
const;
134 virtual bool eventFilter(QObject* watched, QEvent* event);
136 void updateGridSize();
139 void onItemActivated(QModelIndex index);
140 void onSelectionChanged(
const QItemSelection & selected,
const QItemSelection & deselected);
141 virtual void onFileClicked(
int type, FmFileInfo* fileInfo);
144 void onAutoSelectionTimeout();
145 void onSelChangedTimeout();
148 void clicked(
int type, FmFileInfo* file);
150 void clickedForward();
151 void selChanged(
int n_sel);
156 QAbstractItemView* view;
159 QSize iconSize_[NumViewModes];
161 int autoSelectionDelay_;
162 QTimer* autoSelectionTimer_;
163 QModelIndex lastAutoSelectionIndex_;
164 QTimer* selChangedTimer_;
169 #endif // FM_FOLDERVIEW_H Definition: appchoosercombobox.cpp:26
Definition: foldermodel.h:37
Definition: proxyfoldermodel.h:43
Definition: folderview.h:42
Definition: filelauncher.h:30