diff options
Diffstat (limited to 'picturelistview.h')
-rw-r--r-- | picturelistview.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/picturelistview.h b/picturelistview.h new file mode 100644 index 0000000..9e86372 --- /dev/null +++ b/picturelistview.h @@ -0,0 +1,62 @@ +/* + 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. +*/ + +#ifndef PICTURELISTVIEW_H +#define PICTURELISTVIEW_H + +#include <QList> +#include <QSortFilterProxyModel> + +#include "smtreeview.h" +#include "picfilesmodel.h" +#include "pictureviewer2.h" +#include "hoverwindow.h" + +class PictureListView : public SmTreeView { + Q_OBJECT + public: + explicit PictureListView(QWidget *parent = 0); + QList<int> fileMappings() { return mFilesMappings; } + PicFilesModel *filesModel() { return mModel; } + QSortFilterProxyModel *proxy() { return mProxy; } + void setPV(PictureViewer2 *pv) { mPV = pv; } + PictureViewer2 *PV() { return mPV; } + + public slots: + void mappingChanged(int pMapId); + void deletePics(); + void refresh(); + void setPVData(int replace = false); + void setPVAll(); + void setHoverWinVisible(bool visible) const; + + protected: + virtual void hideEvent(QHideEvent *); + virtual bool event(QEvent *e); + virtual void contextMenuEvent(QContextMenuEvent *e); + + private slots: + void selectedFilesChanged(); + + signals: + void newMappings(QString); + void numSelected(int); + void selectedSize(qint64); + void editPicsMappings(); + + private: + HoverWindow *mHoverWin; + QModelIndex mCurHover; + QSortFilterProxyModel *mProxy; + PicFilesModel *mModel; + int mCursorOffset; + QList<int> mFilesMappings; + PictureViewer2 *mPV; + MappingTreeModel *mMappingTreeModel; +}; + +#endif // PICTURELISTVIEW_H |