summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/maintab.cpp17
-rw-r--r--qt-ui/mainwindow.cpp28
-rw-r--r--qt-ui/mainwindow.h12
3 files changed, 51 insertions, 6 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index 63e4a33d2..c33ad717b 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -8,8 +8,10 @@
#include "ui_maintab.h"
#include "addcylinderdialog.h"
#include "addweightsystemdialog.h"
+#include "mainwindow.h"
#include "../helpers.h"
#include "../statistics.h"
+#include "divelistview.h"
#include <QLabel>
#include <QDebug>
@@ -218,6 +220,8 @@ void MainTab::on_editNotes_clicked(bool edit)
ui->notes->setReadOnly(!edit);
ui->rating->setReadOnly(!edit);
+ mainWindow()->dive_list()->setEnabled(!edit);
+
if (edit){
ui->diveNotesMessage->setText("This dive is being edited. click on finish / reset when ready.");
ui->diveNotesMessage->animatedShow();
@@ -247,12 +251,13 @@ void MainTab::on_resetNotes_clicked()
ui->editNotes->setChecked(false);
ui->diveNotesMessage->animatedHide();
- ui->location->setReadOnly(false);
- ui->divemaster->setReadOnly(false);
- ui->buddy->setReadOnly(false);
- ui->suit->setReadOnly(false);
- ui->notes->setReadOnly(false);
- ui->rating->setReadOnly(false);
+ ui->location->setReadOnly(true);
+ ui->divemaster->setReadOnly(true);
+ ui->buddy->setReadOnly(true);
+ ui->suit->setReadOnly(true);
+ ui->notes->setReadOnly(true);
+ ui->rating->setReadOnly(true);
+ mainWindow()->dive_list()->setEnabled(true);
}
#define EDIT_NOTES(what, text) \
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 1eb741244..b60f668e2 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -26,6 +26,13 @@
#include "modeldelegates.h"
#include "models.h"
+static MainWindow* instance = 0;
+
+MainWindow* mainWindow()
+{
+ return instance;
+}
+
MainWindow::MainWindow() : ui(new Ui::MainWindow())
{
ui->setupUi(this);
@@ -39,6 +46,7 @@ MainWindow::MainWindow() : ui(new Ui::MainWindow())
ui->ListWidget->reload();
ui->ListWidget->setFocus();
ui->globe->reload();
+ instance = this;
}
void MainWindow::current_dive_changed(int divenr)
@@ -465,3 +473,23 @@ void MainWindow::closeEvent(QCloseEvent *event)
event->accept();
writeSettings();
}
+
+DiveListView* MainWindow::dive_list()
+{
+ return ui->ListWidget;
+}
+
+GlobeGPS* MainWindow::globe()
+{
+ return ui->globe;
+}
+
+ProfileGraphicsView* MainWindow::graphics()
+{
+ return ui->ProfileWidget;
+}
+
+MainTab* MainWindow::information()
+{
+ return ui->InfoWidget;
+}
diff --git a/qt-ui/mainwindow.h b/qt-ui/mainwindow.h
index 60f0d4609..ea0ec015e 100644
--- a/qt-ui/mainwindow.h
+++ b/qt-ui/mainwindow.h
@@ -11,6 +11,7 @@
#include <QModelIndex>
#include <QAction>
+struct DiveList;
class QSortFilterProxyModel;
class DiveTripModel;
@@ -24,15 +25,24 @@ class DiveNotes;
class Stats;
class Equipment;
class QItemSelection;
+class DiveListView;
+class GlobeGPS;
+class MainTab;
+class ProfileGraphicsView;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
+ ProfileGraphicsView *graphics();
+ MainTab *information();
+ DiveListView *dive_list();
+ GlobeGPS *globe();
private Q_SLOTS:
+
/* file menu action */
void on_actionNew_triggered();
void on_actionOpen_triggered();
@@ -86,4 +96,6 @@ private:
void redrawProfile();
};
+MainWindow *mainWindow();
+
#endif