diff options
author | Arno <arno@disconnect.de> | 2018-07-14 18:44:48 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2018-07-14 18:44:48 +0200 |
commit | 91e0b30ac38cec6ab7c8477615c0df129efed216 (patch) | |
tree | 881dc3b24dd3bca95ccc0ad2a1146db400d0f653 /pictureswidget.cpp | |
parent | f6eb9eb58568b5fde537cc8119914dc77b25b46a (diff) | |
download | SheMov-91e0b30ac38cec6ab7c8477615c0df129efed216.tar.gz SheMov-91e0b30ac38cec6ab7c8477615c0df129efed216.tar.bz2 SheMov-91e0b30ac38cec6ab7c8477615c0df129efed216.zip |
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.
Diffstat (limited to 'pictureswidget.cpp')
-rw-r--r-- | pictureswidget.cpp | 90 |
1 files changed, 58 insertions, 32 deletions
diff --git a/pictureswidget.cpp b/pictureswidget.cpp index 7cbf288..49a86ec 100644 --- a/pictureswidget.cpp +++ b/pictureswidget.cpp @@ -9,54 +9,82 @@ #include <QHBoxLayout> #include <QSqlQuery> #include <QSortFilterProxyModel> -#include <QLocale> -#include <QHideEvent> -#include <QHoverEvent> -#include <QEvent> -#include <QHeaderView> -#include <QSettings> #include <QMessageBox> -#include <QMenu> -#include <QFile> #include <QSettings> -#include <QActionGroup> -#include <QHash> -#include <QApplication> +#include <QAction> +#include <QToolBar> #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(); } |