diff options
-rw-r--r-- | qt-ui/maintab.cpp | 17 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 28 | ||||
-rw-r--r-- | qt-ui/mainwindow.h | 12 |
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 |