Due massive request. :)
From cb57ef13bdfe8d9c969c8e007b7c67e010c89c2d Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava <[email protected]> Date: Wed, 30 Mar 2016 20:36:44 -0300 Subject: [PATCH 3/3] Add signal to handle the button to add the dive
Signed-off-by: Tomaz Canabrava <[email protected]> --- profile-widget/profilewidget2.cpp | 8 ++++++++ profile-widget/profilewidget2.h | 1 + 2 files changed, 9 insertions(+) diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp index 3c3d00d..537b888 100644 --- a/profile-widget/profilewidget2.cpp +++ b/profile-widget/profilewidget2.cpp @@ -177,6 +177,7 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent), l->addWidget(addDiveDuration, 1, 1); l->addWidget(addDiveAccept, 2, 1); addDiveOverlay->setLayout(l); + connect(addDiveAccept, &QPushButton::clicked, this, &ProfileWidget2::addDiveAcceptClicked); #endif } @@ -216,6 +217,13 @@ ProfileWidget2::~ProfileWidget2() delete tankItem; } +#ifndef SUBSURFACE_MOBILE +void ProfileWidget2::addDiveAcceptClicked() +{ + qDebug() << "Clicked" << addDiveDepth->text() << addDiveDuration->text(); +} +#endif + #define SUBSURFACE_OBJ_DATA 1 #define SUBSURFACE_OBJ_DC_TEXT 0x42 diff --git a/profile-widget/profilewidget2.h b/profile-widget/profilewidget2.h index 4391116..aad9ac1 100644 --- a/profile-widget/profilewidget2.h +++ b/profile-widget/profilewidget2.h @@ -151,6 +151,7 @@ protected: void mouseDoubleClickEvent(QMouseEvent *event) Q_DECL_OVERRIDE; void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + void addDiveAcceptClicked(); #endif void dropEvent(QDropEvent *event) Q_DECL_OVERRIDE; void dragEnterEvent(QDragEnterEvent *event) Q_DECL_OVERRIDE; -- 2.7.4
From c465d7b03744f0e3c9f50f03373902ab924e32a4 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava <[email protected]> Date: Wed, 30 Mar 2016 20:10:54 -0300 Subject: [PATCH 2/3] Show the dialog to create the Dive This dialog is horrible, we need to find a way to make it look good. One of the biggest issues is that the subsurface UI is really hard to hack on - something that I plan to fix soon, as already discussed with Dirk. Signed-off-by: Tomaz Canabrava <[email protected]> --- profile-widget/profilewidget2.cpp | 32 +++++++++++++++++++------------- profile-widget/profilewidget2.h | 4 +++- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp index cd20c11..3c3d00d 100644 --- a/profile-widget/profilewidget2.cpp +++ b/profile-widget/profilewidget2.cpp @@ -19,6 +19,8 @@ #include "diveplanner.h" #include "simplewidgets.h" #include "divepicturewidget.h" +#include <QLineEdit> +#include <QPushButton> #endif #include <libdivecomputer/parser.h> @@ -118,10 +120,10 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent), mouseFollowerVertical(new DiveLineItem()), mouseFollowerHorizontal(new DiveLineItem()), rulerItem(new RulerItem2()), - addDivePanel(new QGraphicsProxyWidget()), + addDiveOverlay(new QWidget()), addDiveDuration(new QLineEdit()), addDiveDepth(new QLineEdit()), - addDiveAccept(new QPushButton()), + addDiveAccept(new QPushButton(tr("Create"))), #endif tankItem(new TankItem()), isGrayscale(false), @@ -167,19 +169,17 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent), diveDepthTableView->show(); #endif - QWidget *panel = new QWidget(); - QHBoxLayout *l = new QHBoxLayout(); - l->addWidget(new QLabel("Depth:")); - l->addWidget(addDiveDepth); - l->addWidget(new QLabel("Duration:"); - l->addWidget(addDiveDuration); - l->addWidget(addDiveAccept); - panel->setLayout(l); - addDivePanel->setWidget(panel); - addDivePanel->setVisible(false); +#ifndef SUBSURFACE_MOBILE + QGridLayout *l = new QGridLayout(); + l->addWidget(new QLabel("Depth:"), 0, 0); + l->addWidget(addDiveDepth, 0, 1); + l->addWidget(new QLabel("Duration:"), 1, 0); + l->addWidget(addDiveDuration, 1, 1); + l->addWidget(addDiveAccept, 2, 1); + addDiveOverlay->setLayout(l); +#endif } - ProfileWidget2::~ProfileWidget2() { delete background; @@ -1259,6 +1259,12 @@ void ProfileWidget2::setAddState() diveCeiling->setVisible(true); decoModelParameters->setVisible(true); setBackgroundBrush(QColor("#A7DCFF")); + + addDiveOverlay->setParent(this); + QRect r = addDiveOverlay->geometry(); + addDiveOverlay->setStyleSheet("QWidget { background: white } QLineEdit { background: white}"); + addDiveOverlay->setGeometry(0,geometry().bottom() - 100,250,100); + addDiveOverlay->setVisible(true); } void ProfileWidget2::setPlanState() diff --git a/profile-widget/profilewidget2.h b/profile-widget/profilewidget2.h index 31f15ef..4391116 100644 --- a/profile-widget/profilewidget2.h +++ b/profile-widget/profilewidget2.h @@ -47,6 +47,8 @@ class DiveHandler; class QGraphicsSimpleTextItem; class QModelIndex; class DivePictureItem; +class QLineEdit; +class QPushButton; class ProfileWidget2 : public QGraphicsView { Q_OBJECT @@ -213,7 +215,7 @@ private: DiveLineItem *mouseFollowerHorizontal; RulerItem2 *rulerItem; - QGraphicsProxyWidget *addDivePanel; + QWidget *addDiveOverlay; QLineEdit *addDiveDuration; QLineEdit *addDiveDepth; QPushButton *addDiveAccept; -- 2.7.4
_______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
