summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-09-16 11:38:41 -0300
committerGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-09-16 11:38:41 -0300
commitbfe1ea0cb23c0f072caae0ec61b072280fe2b1d7 (patch)
treef7ee5b125c17bf2a49a9b3a0b723c8e7295dfd7d /qt-ui
parent4e06c52f683abe426589035ce472d00b495e2eab (diff)
downloadsubsurface-bfe1ea0cb23c0f072caae0ec61b072280fe2b1d7.tar.gz
Plug the Cancel action on the Dive Planner Table and start the 'ok' code.
Plug the cancel action on the dive planner ( before that, only by hitting the 'ESC' button things worked, so now you can also click on the Cancel box that's on the right of the planner profile window. Also, the beginning of the 'ok' code is also at place. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/diveplanner.cpp36
-rw-r--r--qt-ui/diveplanner.h6
-rw-r--r--qt-ui/mainwindow.cpp2
3 files changed, 29 insertions, 15 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index 5d0299c88..f2e3c9462 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -317,7 +317,7 @@ void DivePlannerGraphics::keyEscAction()
scene()->clearSelection();
return;
}
- cancelPlan();
+ plannerModel->cancelPlan();
}
qreal DivePlannerGraphics::fromPercent(qreal percent, Qt::Orientation orientation)
@@ -327,18 +327,6 @@ qreal DivePlannerGraphics::fromPercent(qreal percent, Qt::Orientation orientatio
return result;
}
-void DivePlannerGraphics::cancelPlan()
-{
- if (handles.size()){
- if (QMessageBox::warning(mainWindow(), tr("Save the Plan?"),
- tr("You have a working plan, \n are you sure that you wanna cancel it?"),
- QMessageBox::Ok | QMessageBox::Cancel) != QMessageBox::Ok){
- return;
- }
- }
- mainWindow()->showProfile();
-}
-
void DivePlannerGraphics::increaseDepth()
{
if (depthLine->maximum() + 10 > MAX_DEEPNESS)
@@ -857,6 +845,12 @@ DivePlannerWidget::DivePlannerWidget(QWidget* parent, Qt::WindowFlags f): QWidge
connect(ui->highGF, SIGNAL(textChanged(QString)), this, SLOT(gfhighChanged(QString)));
connect(ui->lastStop, SIGNAL(toggled(bool)), this, SLOT(lastStopChanged(bool)));
+ // Creating the plan
+ connect(ui->buttonBox, SIGNAL(accepted()), plannerModel, SLOT(createPlan()));
+ connect(ui->buttonBox, SIGNAL(rejected()), plannerModel, SLOT(cancelPlan()));
+ connect(plannerModel, SIGNAL(planCreated()), mainWindow(), SLOT(showProfile()));
+ connect(plannerModel, SIGNAL(planCanceled()), mainWindow(), SLOT(showProfile()));
+
/* set defaults. */
ui->startTime->setTime( QTime(1, 0) );
ui->ATMPressure->setText( "1013" );
@@ -1111,3 +1105,19 @@ struct diveplan DivePlannerPointsModel::getDiveplan()
{
return diveplan;
}
+
+void DivePlannerPointsModel::cancelPlan()
+{
+ if(rowCount()){
+ if (QMessageBox::warning(mainWindow(), tr("Save the Plan?"),
+ tr("You have a working plan, \n are you sure that you wanna cancel it?"),
+ QMessageBox::Ok | QMessageBox::Cancel) != QMessageBox::Ok){
+ return;
+ }
+ }
+
+ beginRemoveRows(QModelIndex(), 0, rowCount()-1);
+ divepoints.clear();
+ endRemoveRows();
+ emit planCanceled();
+}
diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h
index 1bcea0c27..05191ec85 100644
--- a/qt-ui/diveplanner.h
+++ b/qt-ui/diveplanner.h
@@ -50,6 +50,11 @@ public slots:
void setLastStop6m(bool value);
void createPlan();
void remove(const QModelIndex& index);
+ void cancelPlan();
+
+signals:
+ void planCreated();
+ void planCanceled();
private:
explicit DivePlannerPointsModel(QObject* parent = 0);
@@ -135,7 +140,6 @@ private slots:
void decreaseTime();
void decreaseDepth();;
void createDecoStops();
- void cancelPlan();
void prepareSelectGas();
void selectGas(const QModelIndex& index);
void pointInserted(const QModelIndex&, int start, int end);
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index f2f95897a..740849033 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -45,6 +45,7 @@ MainWindow* mainWindow()
MainWindow::MainWindow() : ui(new Ui::MainWindow()), helpView(0)
{
+ instance = this;
ui->setupUi(this);
setWindowIcon(QIcon(":subsurface-icon"));
connect(ui->ListWidget, SIGNAL(currentDiveChanged(int)), this, SLOT(current_dive_changed(int)));
@@ -59,7 +60,6 @@ MainWindow::MainWindow() : ui(new Ui::MainWindow()), helpView(0)
ui->ListWidget->reloadHeaderActions();
ui->ListWidget->setFocus();
ui->globe->reload();
- instance = this;
}
// this gets called after we download dives from a divecomputer