summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--picturelistview.cpp170
-rw-r--r--picturelistview.h62
-rw-r--r--pictureswidget.cpp191
-rw-r--r--pictureswidget.h59
-rw-r--r--shemov.cpp15
-rw-r--r--shemov.pro6
6 files changed, 266 insertions, 237 deletions
diff --git a/picturelistview.cpp b/picturelistview.cpp
new file mode 100644
index 0000000..22e27af
--- /dev/null
+++ b/picturelistview.cpp
@@ -0,0 +1,170 @@
+/*
+ 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.
+*/
+
+#include <QSettings>
+#include <QHeaderView>
+#include <QApplication>
+#include <QMessageBox>
+#include <QMenu>
+
+#include "picturelistview.h"
+#include "smglobals.h"
+
+PictureListView::PictureListView(QWidget *parent) : SmTreeView("ui/picheaderpos", parent) {
+ //setup models
+ mModel = static_cast<PicFilesModel*>(SmGlobals::instance()->model("PicFiles"));
+ mProxy = new QSortFilterProxyModel(this);
+ mProxy->setSourceModel(mModel);
+ setModel(mProxy);
+ connect(selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(selectedFilesChanged()));
+ mMappingTreeModel = static_cast<MappingTreeModel*>(SmGlobals::instance()->model("MappingTree"));
+
+ //read settings
+ QSettings s;
+ QByteArray pvHeader = s.value("ui/pvheader").toByteArray();
+ mCursorOffset = s.value("ui/cursoroffset").toInt();
+ if(!pvHeader.isEmpty()){
+ header()->restoreState(pvHeader);
+ }
+
+ //hover window
+ mHoverWin = new HoverWindow(this);
+
+ //misc settings
+ setSortingEnabled(true);
+ setAttribute(Qt::WA_Hover);
+ setSelectionMode(QAbstractItemView::ExtendedSelection);
+ setAlternatingRowColors(true);
+ setColumnHidden(1, true);
+ setColumnHidden(4, true);
+}
+
+void PictureListView::mappingChanged(int pMapId){
+ mModel->setMapping(pMapId);
+ qApp->setOverrideCursor(Qt::WaitCursor);
+ mModel->populate();
+ for(int i = 0; i < PicFilesModel::NumFields; ++i){
+ resizeColumnToContents(i);
+ }
+ qApp->restoreOverrideCursor();
+}
+
+void PictureListView::deletePics(){
+ QModelIndexList sel = selectionModel()->selectedRows();
+ if(sel.isEmpty()){
+ return;
+ }
+ QString msg = QString(tr("Really delete %1 pics from archive?")).arg(sel.count());
+ int retval = QMessageBox::question(this, tr("Question"), msg, QMessageBox::Yes | QMessageBox::No);
+ if(retval == QMessageBox::No){
+ return;
+ }
+ QList<QPair<int, QString> > files;
+ foreach(QModelIndex i, sel){
+ files << qMakePair(i.data(PicFilesModel::IdRole).toInt(), i.data(PicFilesModel::FullPathRole).toString());
+ }
+ mModel->removeFiles(files);
+}
+
+void PictureListView::refresh(){
+ mModel->populate();
+}
+
+void PictureListView::setPVData(int replace){
+ QModelIndexList sel = selectionModel()->selectedRows();
+ PicDataList pics;
+ foreach(QModelIndex i, sel){
+ QModelIndex real = mProxy->mapToSource(i);
+ pics << mModel->dataList(real);
+ }
+ mPV->addFiles(pics, replace);
+}
+
+void PictureListView::setPVAll(){
+ PicDataList data = mModel->allFiles();
+ mPV->addFiles(data, true);
+}
+
+void PictureListView::setHoverWinVisible(bool visible) const {
+ mHoverWin->setVisible(visible);
+}
+
+void PictureListView::hideEvent(QHideEvent *){
+ QByteArray pvHeader = header()->saveState();
+ QSettings s;
+ s.setValue("ui/pvheader", pvHeader);
+}
+
+bool PictureListView::event(QEvent *e){
+ if(e->type() == QEvent::Leave){
+ mHoverWin->setVisible(false);
+ return SmTreeView::event(e);
+ }
+ QHoverEvent *hEvent = static_cast<QHoverEvent*>(e);
+ if(!hEvent){
+ return SmTreeView::event(e);
+ }
+ QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() + mCursorOffset);
+ QModelIndex curIdx = indexAt(hotSpot);
+ if(e->type() == QEvent::HoverEnter || e->type() == QEvent::HoverMove){
+ if(!curIdx.isValid() || curIdx.column() != PicFilesModel::FileName){
+ mHoverWin->setVisible(false);
+ mCurHover = QModelIndex();
+ return true;
+ }
+ }
+ if(e->type() == QEvent::HoverEnter){
+ mCurHover = curIdx;
+ QPixmap pm;
+ pm.load(mCurHover.data(PicFilesModel::FullPathRole).toString());
+ mHoverWin->setPixmap(pm);
+ mHoverWin->setPos();
+ mHoverWin->setCaption(mCurHover.data().toString());
+ mHoverWin->setVisible(true);
+ return true;
+ }
+ if(e->type() == QEvent::HoverMove){
+ if(curIdx != mCurHover){
+ mCurHover = curIdx;
+ QPixmap pm;
+ pm.load(mCurHover.data(PicFilesModel::FullPathRole).toString());
+ mHoverWin->setPixmap(pm);
+ mHoverWin->setPos();
+ mHoverWin->setVisible(true);
+ mHoverWin->setCaption(mCurHover.data().toString());
+ return true;
+ }
+ }
+ return SmTreeView::event(e);
+}
+
+void PictureListView::contextMenuEvent(QContextMenuEvent *e){
+ QMenu ctxMenu;
+ for(int i = 0; i < actions().count(); ++i){
+ if(actions().at(i)->text() == "Refresh"){
+ ctxMenu.addSeparator();
+ }
+ ctxMenu.addAction(actions().at(i));
+ }
+ ctxMenu.exec(e->globalPos());
+}
+
+void PictureListView::selectedFilesChanged(){
+ QModelIndexList sel = selectionModel()->selectedRows();
+ if(sel.isEmpty()){
+ return;
+ }
+ QList<QVariant> fileIds;
+ qint64 selSize = 0;
+ foreach(QModelIndex i, sel){
+ fileIds << i.data(PicFilesModel::IdRole);
+ selSize += i.data(PicFilesModel::SizeRole).toInt();
+ }
+ emit numSelected(sel.size());
+ emit selectedSize(selSize);
+}
+
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
diff --git a/pictureswidget.cpp b/pictureswidget.cpp
index 59007ca..7cbf288 100644
--- a/pictureswidget.cpp
+++ b/pictureswidget.cpp
@@ -24,6 +24,7 @@
#include <QApplication>
#include "pictureswidget.h"
+#include "picturelistview.h"
#include "picfilesmodel.h"
#include "mappingtreewidget.h"
#include "smtreeitem.h"
@@ -37,23 +38,23 @@ PicturesWidget::PicturesWidget(QWidget *parent) : QWidget(parent), mWindowTitleB
//setup gui
QSplitter *splitter = new QSplitter;
mMappingTree = new MappingTreeWidget;
- mPictureView = new PictureView;
- mPictureView->setItemDelegateForColumn(PicFilesModel::Size, new SizeDelegate(this));
- connect(mMappingTree, SIGNAL(mappingChanged(int)), mPictureView, SLOT(mappingChanged(int)));
+ mPictureListView = new PictureListView;
+ mPictureListView->setItemDelegateForColumn(PicFilesModel::Size, new SizeDelegate(this));
+ connect(mMappingTree, SIGNAL(mappingChanged(int)), mPictureListView, SLOT(mappingChanged(int)));
//change window title when mapping selection changes
connect(mMappingTree, SIGNAL(mappingChanged(int)), this, SLOT(constructWindowTitle()));
- connect(mPictureView, SIGNAL(editPicsMappings()), this, SLOT(editMappings()));
- connect(mPictureView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(showInPicViewer(QModelIndex)));
- connect(this, SIGNAL(editMappingsDone()), mPictureView, SLOT(refresh()));
+ connect(mPictureListView, SIGNAL(editPicsMappings()), this, SLOT(editMappings()));
+ connect(mPictureListView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(showInPicViewer(QModelIndex)));
+ connect(this, SIGNAL(editMappingsDone()), mPictureListView, SLOT(refresh()));
splitter->addWidget(mMappingTree);
- splitter->addWidget(mPictureView);
+ splitter->addWidget(mPictureListView);
splitter->setStretchFactor(0, 1);
splitter->setStretchFactor(1, 3);
//misc
mEditDialog = new MappingEditDialog(this);
mPicViewer = SmGlobals::instance()->pictureViewer();
- mPictureView->setPV(mPicViewer);
+ mPictureListView->setPV(mPicViewer);
//put it all togehter
QHBoxLayout *mainLayout = new QHBoxLayout;
@@ -75,7 +76,7 @@ void PicturesWidget::writeSettings(){
}
s.setValue("ui/selectedmapping", v.join(","));
}
- mPictureView->writeHeaderConfig();
+ mPictureListView->writeHeaderConfig();
}
void PicturesWidget::readSettings(){
@@ -85,16 +86,16 @@ void PicturesWidget::readSettings(){
for(int i = 0; i < ps.count(); ++i){
path << ps.at(i).toInt();
}
- mPictureView->readHeaderConfig();
+ mPictureListView->readHeaderConfig();
}
void PicturesWidget::editMappings(){
- QModelIndexList selectedFids = mPictureView->selectionModel()->selectedRows(PicFilesModel::Id);
+ QModelIndexList selectedFids = mPictureListView->selectionModel()->selectedRows(PicFilesModel::Id);
QList<int> fileIds;
foreach(QModelIndex idx, selectedFids){
fileIds << idx.data().toInt();
}
- QList<MappingData> mappings = mPictureView->filesModel()->mappingDataFromFiles(fileIds);
+ QList<MappingData> mappings = mPictureListView->filesModel()->mappingDataFromFiles(fileIds);
mEditDialog->editWidget()->setMappings(mappings);
int retval = mEditDialog->exec();
if(retval == QDialog::Accepted){
@@ -103,12 +104,12 @@ void PicturesWidget::editMappings(){
QMessageBox::critical(this, tr("Error"), tr("No mappings selected! Cowardly bailing out."));
return;
}
- QModelIndexList selectedFids = mPictureView->selectionModel()->selectedRows(PicFilesModel::Id);
+ QModelIndexList selectedFids = mPictureListView->selectionModel()->selectedRows(PicFilesModel::Id);
QList<int> fileIds;
foreach(QModelIndex idx, selectedFids){
fileIds << idx.data().toInt();
}
- mPictureView->filesModel()->changeMappings(fileIds, selMappings);
+ mPictureListView->filesModel()->changeMappings(fileIds, selMappings);
}
emit editMappingsDone();
}
@@ -118,178 +119,24 @@ void PicturesWidget::constructWindowTitle(){
MappingData selected = mMappingTree->selectedItem();
if(!selected.path.isEmpty()){
windowTitle = QString("%1 - [%2]").arg(mWindowTitleBase).arg(selected.path.join("/"));
- mPictureView->setHoverWinVisible(false);
+ mPictureListView->setHoverWinVisible(false);
}
emit needWindowTitleChange(windowTitle);
}
void PicturesWidget::showInPicViewer(const QModelIndex &idx){
- QModelIndex real = mPictureView->proxy()->mapToSource(idx);
+ QModelIndex real = mPictureListView->proxy()->mapToSource(idx);
if(!real.isValid()){
return;
}
- PicData pData = mPictureView->filesModel()->dataList(real);
+ PicData pData = mPictureListView->filesModel()->dataList(real);
mPicViewer->setShowInfoItem(true);
mPicViewer->setShowMappingItem(true);
mPicViewer->setShowMarkItem(false);
mPicViewer->setFile(pData);
- mPictureView->setPVAll();
+ mPictureListView->setPVAll();
if(mPicViewerA){
mPicViewerA->setChecked(true);
}
}
-
-PictureView::PictureView(QWidget *parent) : SmTreeView("ui/picheaderpos", parent) {
- //setup models
- mModel = static_cast<PicFilesModel*>(SmGlobals::instance()->model("PicFiles"));
- mProxy = new QSortFilterProxyModel(this);
- mProxy->setSourceModel(mModel);
- setModel(mProxy);
- connect(selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(selectedFilesChanged()));
- mMappingTreeModel = static_cast<MappingTreeModel*>(SmGlobals::instance()->model("MappingTree"));
-
- //read settings
- QSettings s;
- QByteArray pvHeader = s.value("ui/pvheader").toByteArray();
- mCursorOffset = s.value("ui/cursoroffset").toInt();
- if(!pvHeader.isEmpty()){
- header()->restoreState(pvHeader);
- }
-
- //hover window
- mHoverWin = new HoverWindow(this);
-
- //misc settings
- setSortingEnabled(true);
- setAttribute(Qt::WA_Hover);
- setSelectionMode(QAbstractItemView::ExtendedSelection);
- setAlternatingRowColors(true);
- setColumnHidden(1, true);
- setColumnHidden(4, true);
-}
-
-void PictureView::mappingChanged(int pMapId){
- mModel->setMapping(pMapId);
- qApp->setOverrideCursor(Qt::WaitCursor);
- mModel->populate();
- for(int i = 0; i < PicFilesModel::NumFields; ++i){
- resizeColumnToContents(i);
- }
- qApp->restoreOverrideCursor();
-}
-
-void PictureView::deletePics(){
- QModelIndexList sel = selectionModel()->selectedRows();
- if(sel.isEmpty()){
- return;
- }
- QString msg = QString(tr("Really delete %1 pics from archive?")).arg(sel.count());
- int retval = QMessageBox::question(this, tr("Question"), msg, QMessageBox::Yes | QMessageBox::No);
- if(retval == QMessageBox::No){
- return;
- }
- QList<QPair<int, QString> > files;
- foreach(QModelIndex i, sel){
- files << qMakePair(i.data(PicFilesModel::IdRole).toInt(), i.data(PicFilesModel::FullPathRole).toString());
- }
- mModel->removeFiles(files);
-}
-
-void PictureView::refresh(){
- mModel->populate();
-}
-
-void PictureView::setPVData(int replace){
- QModelIndexList sel = selectionModel()->selectedRows();
- PicDataList pics;
- foreach(QModelIndex i, sel){
- QModelIndex real = mProxy->mapToSource(i);
- pics << mModel->dataList(real);
- }
- mPV->addFiles(pics, replace);
-}
-
-void PictureView::setPVAll(){
- PicDataList data = mModel->allFiles();
- mPV->addFiles(data, true);
-}
-
-void PictureView::setHoverWinVisible(bool visible) const {
- mHoverWin->setVisible(visible);
-}
-
-void PictureView::hideEvent(QHideEvent *){
- QByteArray pvHeader = header()->saveState();
- QSettings s;
- s.setValue("ui/pvheader", pvHeader);
-}
-
-bool PictureView::event(QEvent *e){
- if(e->type() == QEvent::Leave){
- mHoverWin->setVisible(false);
- return SmTreeView::event(e);
- }
- QHoverEvent *hEvent = static_cast<QHoverEvent*>(e);
- if(!hEvent){
- return SmTreeView::event(e);
- }
- QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() + mCursorOffset);
- QModelIndex curIdx = indexAt(hotSpot);
- if(e->type() == QEvent::HoverEnter || e->type() == QEvent::HoverMove){
- if(!curIdx.isValid() || curIdx.column() != PicFilesModel::FileName){
- mHoverWin->setVisible(false);
- mCurHover = QModelIndex();
- return true;
- }
- }
- if(e->type() == QEvent::HoverEnter){
- mCurHover = curIdx;
- QPixmap pm;
- pm.load(mCurHover.data(PicFilesModel::FullPathRole).toString());
- mHoverWin->setPixmap(pm);
- mHoverWin->setPos();
- mHoverWin->setCaption(mCurHover.data().toString());
- mHoverWin->setVisible(true);
- return true;
- }
- if(e->type() == QEvent::HoverMove){
- if(curIdx != mCurHover){
- mCurHover = curIdx;
- QPixmap pm;
- pm.load(mCurHover.data(PicFilesModel::FullPathRole).toString());
- mHoverWin->setPixmap(pm);
- mHoverWin->setPos();
- mHoverWin->setVisible(true);
- mHoverWin->setCaption(mCurHover.data().toString());
- return true;
- }
- }
- return SmTreeView::event(e);
-}
-
-void PictureView::contextMenuEvent(QContextMenuEvent *e){
- QMenu ctxMenu;
- for(int i = 0; i < actions().count(); ++i){
- if(actions().at(i)->text() == "Refresh"){
- ctxMenu.addSeparator();
- }
- ctxMenu.addAction(actions().at(i));
- }
- ctxMenu.exec(e->globalPos());
-}
-
-void PictureView::selectedFilesChanged(){
- QModelIndexList sel = selectionModel()->selectedRows();
- if(sel.isEmpty()){
- return;
- }
- QList<QVariant> fileIds;
- qint64 selSize = 0;
- foreach(QModelIndex i, sel){
- fileIds << i.data(PicFilesModel::IdRole);
- selSize += i.data(PicFilesModel::SizeRole).toInt();
- }
- emit numSelected(sel.size());
- emit selectedSize(selSize);
-}
diff --git a/pictureswidget.h b/pictureswidget.h
index 8d17a10..d1cdd36 100644
--- a/pictureswidget.h
+++ b/pictureswidget.h
@@ -15,27 +15,17 @@
#include "pictureviewer2.h"
#include "smtreeview.h"
-class PictureView;
+class PictureListView;
class MappingTreeWidget;
-class MappingEditWidget;
class MappingEditDialog;
-class MappingTreeModel;
-class QSqlQuery;
-class PicFilesModel;
-class QSortFilterProxyModel;
-class QHideEvent;
-class QEvent;
-class HoverWindow;
class PictureViewer2;
class QAction;
-class QActionGroup;
-struct MappingData;
class PicturesWidget : public QWidget {
Q_OBJECT
public:
explicit PicturesWidget(QWidget *parent = 0);
- PictureView *picView() { return mPictureView; }
+ PictureListView *picView() { return mPictureListView; }
void setPicViewerAction(QAction *action) { mPicViewerA = action; }
PictureViewer2 *picViewer2() { return mPicViewer; }
@@ -55,54 +45,11 @@ class PicturesWidget : public QWidget {
private:
MappingTreeWidget *mMappingTree;
- PictureView *mPictureView;
+ PictureListView *mPictureListView;
PictureViewer2 *mPicViewer;
MappingEditDialog *mEditDialog;
const QString mWindowTitleBase;
QAction *mPicViewerA;
};
-class PictureView : public SmTreeView {
- Q_OBJECT
- public:
- explicit PictureView(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 // PICTURESWIDGET_H
diff --git a/shemov.cpp b/shemov.cpp
index 28a6cb6..1168fc0 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -29,6 +29,7 @@
#include "dbanalyzer.h"
#include "newpicsdialog.h"
#include "pictureswidget.h"
+#include "picturelistview.h"
#include "archiveview.h"
#include "archivebrowser.h"
#include "searchdialog.h"
@@ -129,9 +130,9 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
mPicWidget = new PicturesWidget;
mTab->addTab(mPicWidget, tr("Pictures"));
connect(mPicWidget, &PicturesWidget::needWindowTitleChange, this, &SheMov::setWindowTitle);
- connect(mPicWidget->picView(), &PictureView::newMappings, this, &SheMov::statusbarMessage);
- connect(mPicWidget->picView(), &PictureView::numSelected, this, &SheMov::updateSelectedCount);
- connect(mPicWidget->picView(), &PictureView::selectedSize, this, &SheMov::setSize);
+ connect(mPicWidget->picView(), &PictureListView::newMappings, this, &SheMov::statusbarMessage);
+ connect(mPicWidget->picView(), &PictureListView::numSelected, this, &SheMov::updateSelectedCount);
+ connect(mPicWidget->picView(), &PictureListView::selectedSize, this, &SheMov::setSize);
PictureViewer2 *picViewer = SmGlobals::instance()->pictureViewer();
//archivebrower
@@ -232,7 +233,7 @@ void SheMov::tabChanged(int newTab){
setWindowTitle(mMovieWidget->wTitle);
break;
case Pictures:
- connect(mPVSelectAllA, &QAction::triggered, mPicWidget->picView(), &PictureView::setPVAll);
+ connect(mPVSelectAllA, &QAction::triggered, mPicWidget->picView(), &PictureListView::setPVAll);
mPicWidget->constructWindowTitle();
setDuration(0x0, false);
break;
@@ -382,10 +383,10 @@ void SheMov::createActions(){
// Delete... + Edit Mappings...
mPWDeletePicFromA = new QAction(QIcon(":/huge_balls_pierced.png"), tr("Delete..."), this);
mPicWidget->picView()->addAction(mPWDeletePicFromA);
- connect(mPWDeletePicFromA, &QAction::triggered, mPicWidget->picView(), &PictureView::deletePics);
+ connect(mPWDeletePicFromA, &QAction::triggered, mPicWidget->picView(), &PictureListView::deletePics);
mPWEditPicMappingsA = new QAction(QIcon(":/squirting_nipple.png"), tr("Edit mappings..."), this);
mPicWidget->picView()->addAction(mPWEditPicMappingsA);
- connect(mPWEditPicMappingsA, &QAction::triggered, mPicWidget->picView(), &PictureView::editPicsMappings);
+ connect(mPWEditPicMappingsA, &QAction::triggered, mPicWidget->picView(), &PictureListView::editPicsMappings);
mPicWidget->picView()->addAction(createSeparator());
// Show slide dialog
@@ -416,7 +417,7 @@ void SheMov::createActions(){
mPicWidget->picView()->addAction(createSeparator());
mPWRefreshA = new QAction(QIcon(":/huge_bra.png"), tr("Refresh"), this);
mPicWidget->picView()->addAction(mPWRefreshA);
- connect(mPWRefreshA, &QAction::triggered, mPicWidget->picView(), &PictureView::refresh);
+ connect(mPWRefreshA, &QAction::triggered, mPicWidget->picView(), &PictureListView::refresh);
mPicWidget->setPicViewerAction(mPVToggleA);
/* Now the context menu for the actual Viewer
diff --git a/shemov.pro b/shemov.pro
index 38916a6..075b300 100644
--- a/shemov.pro
+++ b/shemov.pro
@@ -48,7 +48,8 @@ SOURCES = main.cpp \
smview.cpp \
moviepropertiesdialog.cpp \
sminputdialog.cpp \
- editfiledialog.cpp
+ editfiledialog.cpp \
+ picturelistview.cpp
HEADERS = \
shemov.h \
helper.h \
@@ -91,7 +92,8 @@ HEADERS = \
smview.h \
moviepropertiesdialog.h \
sminputdialog.h \
- editfiledialog.h
+ editfiledialog.h \
+ picturelistview.h
LIBS += -lmagic -lXfixes -lX11 -lMagick++-6.Q16HDRI
INCLUDEPATH += /usr/include/ImageMagick-6/
RESOURCES = shemov.qrc