summaryrefslogtreecommitdiffstats
path: root/picturelistview.h
diff options
context:
space:
mode:
Diffstat (limited to 'picturelistview.h')
-rw-r--r--picturelistview.h62
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