diff options
Diffstat (limited to 'pictureswidget.cpp')
-rw-r--r-- | pictureswidget.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/pictureswidget.cpp b/pictureswidget.cpp index 907b33f..2d56571 100644 --- a/pictureswidget.cpp +++ b/pictureswidget.cpp @@ -27,16 +27,17 @@ #include "mappingtreemodel.h" #include "smglobals.h" -PicturesWidget::PicturesWidget(QWidget *parent) : QWidget(parent), mWindowTitleBase(tr("Picture archive")) { +PicturesWidget::PicturesWidget(QWidget *parent) : QWidget(parent), mWindowTitleBase(tr("Picture archive")), mPicViewerA(0) { //setup gui QSplitter *splitter = new QSplitter; mMappingTree = new MappingTreeWidget; mPictureView = new PictureView; connect(mMappingTree, SIGNAL(mappingChanged(int)), mPictureView, SLOT(mappingChanged(int))); - //emit needWindowtitleChange(QString) when mapping selection changes + //change window title when mapping selection changes connect(mMappingTree, SIGNAL(mappingChanged(int)), this, SLOT(constructWindowTitle())); connect(mPictureView, SIGNAL(newFileMappigs()), this, SLOT(setMappingColors())); connect(mPictureView, SIGNAL(editPicsMappings()), this, SLOT(editMappings())); + connect(mPictureView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(showInPicViewer(QModelIndex))); splitter->addWidget(mMappingTree); splitter->addWidget(mPictureView); splitter->setStretchFactor(0, 1); @@ -89,6 +90,16 @@ void PicturesWidget::constructWindowTitle(){ emit needWindowTitleChange(windowTitle); } +void PicturesWidget::showInPicViewer(const QModelIndex &idx){ + if(!idx.isValid()){ + return; + } + mPicViewer->setFile(idx.data(PicFilesModel::FullPathRole).toString()); + if(mPicViewerA){ + mPicViewerA->setChecked(true); + } +} + PictureView::PictureView(QWidget *parent) : QTreeView(parent) { //setup model mModel = new PicFilesModel(QStringList() << tr("Filename") << tr("SizeNum") << tr("Format") << tr("Full Path") << tr("Id") << tr("Added") << tr("Md5Sum") << tr("Size"), this); |