From 91e0b30ac38cec6ab7c8477615c0df129efed216 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 14 Jul 2018 18:44:48 +0200 Subject: Remove the menuBar() from picture archive The journey started innocent enough, but turned out to be a commit that should have been severals. In the end, the picture archive has no menuBar() any more, as expected, but it's also impossible to call the slide dialog. Will fix that soon. --- pictureswidget.cpp | 90 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 58 insertions(+), 32 deletions(-) (limited to 'pictureswidget.cpp') diff --git a/pictureswidget.cpp b/pictureswidget.cpp index 7cbf288..49a86ec 100644 --- a/pictureswidget.cpp +++ b/pictureswidget.cpp @@ -9,54 +9,82 @@ #include #include #include -#include -#include -#include -#include -#include -#include #include -#include -#include #include -#include -#include -#include +#include +#include #include "pictureswidget.h" #include "picturelistview.h" -#include "picfilesmodel.h" #include "mappingtreewidget.h" -#include "smtreeitem.h" -#include "helper.h" -#include "hoverwindow.h" -#include "mappingtreemodel.h" #include "delegates.h" #include "smglobals.h" +#include "helper.h" PicturesWidget::PicturesWidget(QWidget *parent) : QWidget(parent), mWindowTitleBase(tr("Picture archive")), mPicViewerA(0) { - //setup gui - QSplitter *splitter = new QSplitter; mMappingTree = new MappingTreeWidget; 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(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(mPictureListView); - splitter->setStretchFactor(0, 1); - splitter->setStretchFactor(1, 3); + connect(mMappingTree, &MappingTreeWidget::mappingChanged, mPictureListView, &PictureListView::mappingChanged); + connect(mMappingTree, &MappingTreeWidget::mappingChanged, this, &PicturesWidget::constructWindowTitle); + connect(mPictureListView, &PictureListView::doubleClicked, this, &PicturesWidget::showInPicViewer); + connect(this, &PicturesWidget::editMappingsDone, mPictureListView, &PictureListView::refresh); //misc mEditDialog = new MappingEditDialog(this); mPicViewer = SmGlobals::instance()->pictureViewer(); mPictureListView->setPV(mPicViewer); - //put it all togehter + setupWidget(); +} + +void PicturesWidget::setupWidget(){ + QToolBar *toolBar = new QToolBar; + QAction *showInPicViewerA = new QAction(QIcon(":/snapshot.png"), tr("Show"), this); + connect(showInPicViewerA, &QAction::triggered, [=] { + QModelIndexList r = mPictureListView->selectionModel()->selectedRows(); + if(!r.isEmpty()){ + showInPicViewer(r.first()); + } + }); + QWidget *spacer1 = new QWidget; + spacer1->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); + toolBar->addWidget(spacer1); + toolBar->addAction(showInPicViewerA); + mPictureListView->addAction(showInPicViewerA); + QAction *deleteA = new QAction(QIcon(":/delete.png"), tr("Delete"), this); + connect(deleteA, &QAction::triggered, mPictureListView, &PictureListView::deletePics); + toolBar->addAction(deleteA); + mPictureListView->addAction(deleteA); + toolBar->addSeparator(); + mPictureListView->addAction(Helper::createSeparator(mPictureListView)); + QAction *editMappingsA = new QAction(QIcon(":/squirting_nipple.png"), tr("Edit mappings..."), this); + connect(editMappingsA, &QAction::triggered, this, &PicturesWidget::editMappings); + toolBar->addAction(editMappingsA); + mPictureListView->addAction(editMappingsA); + QAction *refreshA = new QAction(QIcon(":/refresh.png"), tr("Refresh"), this); + connect(refreshA, &QAction::triggered, mPictureListView, &PictureListView::refresh); + toolBar->addAction(refreshA); + mPictureListView->addAction(refreshA); + toolBar->addSeparator(); + toolBar->addAction(SmGlobals::instance()->globalAction()); + QWidget *spacer2 = new QWidget; + spacer2->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); + toolBar->addWidget(spacer2); + + QWidget *leftWidget = new QWidget; + QVBoxLayout *leftWidgetL = new QVBoxLayout; + leftWidgetL->setSpacing(2); + leftWidgetL->addWidget(toolBar); + leftWidgetL->addWidget(mPictureListView); + leftWidget->setLayout(leftWidgetL); + + QSplitter *splitter = new QSplitter; + splitter->addWidget(mMappingTree); + splitter->addWidget(leftWidget); + splitter->setStretchFactor(0, 1); + splitter->setStretchFactor(1, 3); + QHBoxLayout *mainLayout = new QHBoxLayout; mainLayout->addWidget(splitter); setLayout(mainLayout); @@ -136,7 +164,5 @@ void PicturesWidget::showInPicViewer(const QModelIndex &idx){ mPicViewer->setShowMarkItem(false); mPicViewer->setFile(pData); mPictureListView->setPVAll(); - if(mPicViewerA){ - mPicViewerA->setChecked(true); - } + mPicViewer->show(); } -- cgit v1.2.3-70-g09d2