Accept / Cancel location edit

Make it possible to cancel or accept the location edit and
get back to the mainwindow default state.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2015-02-11 13:58:23 -02:00 committed by Dirk Hohndel
parent 7d66dcd12d
commit 68691c9d6d
5 changed files with 45 additions and 3 deletions

View file

@ -57,12 +57,11 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
action = new QAction(tr("Discard changes"), this);
connect(action, SIGNAL(triggered(bool)), this, SLOT(rejectChanges()));
addMessageAction(action);
QShortcut *closeKey = new QShortcut(QKeySequence(Qt::Key_Escape), this);
connect(closeKey, SIGNAL(activated()), this, SLOT(escDetected()));
addMessageAction(action);
if (qApp->style()->objectName() == "oxygen")
setDocumentMode(true);
else

View file

@ -112,6 +112,7 @@ MainWindow::MainWindow() : QMainWindow(),
connect(DivePlannerPointsModel::instance(), SIGNAL(planCanceled()), this, SLOT(planCanceled()));
connect(plannerDetails->printPlan(), SIGNAL(pressed()), divePlannerWidget(), SLOT(printDecoPlan()));
connect(mainTab, SIGNAL(requestDiveSiteEdit()), this, SLOT(enableDiveSiteEdit()));
connect(locationInformation, SIGNAL(informationManagementEnded()), this, SLOT(setDefaultState()));
#ifdef NO_PRINTING
ui.printPlan->hide();
ui.menuFile->removeAction(ui.actionPrint);
@ -217,6 +218,10 @@ void MainWindow::enableDiveSiteEdit() {
setApplicationState("EditDiveSite");
}
void MainWindow::setDefaultState() {
setApplicationState("Default");
}
void MainWindow::setLoadedWithFiles(bool f)
{
filesAsArguments = f;

View file

@ -160,6 +160,7 @@ slots:
void on_actionFilterTags_triggered();
void on_actionConfigure_Dive_Computer_triggered();
void enableDiveSiteEdit();
void setDefaultState();
protected:
void closeEvent(QCloseEvent *);

View file

@ -6,6 +6,7 @@
#include <QShortcut>
#include <QCalendarWidget>
#include <QKeyEvent>
#include <QAction>
#include "file.h"
#include "mainwindow.h"
@ -646,7 +647,34 @@ void MultiFilter::closeFilter()
MultiFilterSortModel::instance()->clearFilter();
hide();
}
#include <QDebug>
#include <QShowEvent>
LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBox(parent) {
LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBox(parent)
{
ui.setupUi(this);
ui.diveSiteMessage->setText("You are editing the Dive Site");
ui.diveSiteMessage->setCloseButtonVisible(false);
QAction *action = new QAction(tr("Apply changes"), this);
connect(action, SIGNAL(triggered(bool)), this, SLOT(acceptChanges()));
ui.diveSiteMessage->addAction(action);
action = new QAction(tr("Discard changes"), this);
connect(action, SIGNAL(triggered(bool)), this, SLOT(rejectChanges()));
ui.diveSiteMessage->addAction(action);
}
void LocationInformationWidget::acceptChanges()
{
emit informationManagementEnded();
}
void LocationInformationWidget::rejectChanges()
{
emit informationManagementEnded();
}
void LocationInformationWidget::showEvent(QShowEvent *ev) {
ui.diveSiteMessage->setCloseButtonVisible(false);
}

View file

@ -221,6 +221,15 @@ class LocationInformationWidget : public QGroupBox {
Q_OBJECT
public:
LocationInformationWidget(QWidget *parent = 0);
public slots:
void acceptChanges();
void rejectChanges();
void showEvent(QShowEvent *);
signals:
void informationManagementEnded();
private:
Ui::LocationInformation ui;
};