summaryrefslogtreecommitdiffstats
path: root/pictureswidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pictureswidget.cpp')
-rw-r--r--pictureswidget.cpp90
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();
}