mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Enable/Disable toolbar element in freedive mode
Signed-off-by: Giorgio Marzano <marzano.giorgio@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
45b1d0d73d
commit
166d587197
2 changed files with 49 additions and 1 deletions
|
@ -114,7 +114,6 @@ MainWindow::MainWindow() : QMainWindow(),
|
||||||
toolBar->addAction(a);
|
toolBar->addAction(a);
|
||||||
toolBar->setOrientation(Qt::Vertical);
|
toolBar->setOrientation(Qt::Vertical);
|
||||||
toolBar->setIconSize(QSize(24,24));
|
toolBar->setIconSize(QSize(24,24));
|
||||||
|
|
||||||
QWidget *profileContainer = new QWidget();
|
QWidget *profileContainer = new QWidget();
|
||||||
QHBoxLayout *profLayout = new QHBoxLayout();
|
QHBoxLayout *profLayout = new QHBoxLayout();
|
||||||
profLayout->setSpacing(0);
|
profLayout->setSpacing(0);
|
||||||
|
@ -251,6 +250,7 @@ MainWindow::MainWindow() : QMainWindow(),
|
||||||
ui.actionFacebook->setEnabled(false);
|
ui.actionFacebook->setEnabled(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
ui.menubar->show();
|
ui.menubar->show();
|
||||||
set_git_update_cb(&updateProgress);
|
set_git_update_cb(&updateProgress);
|
||||||
}
|
}
|
||||||
|
@ -335,6 +335,48 @@ void MainWindow::recreateDiveList()
|
||||||
SuitsFilterModel::instance()->repopulate();
|
SuitsFilterModel::instance()->repopulate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::configureToolbar() {
|
||||||
|
if (selected_dive>0) {
|
||||||
|
if (current_dive->dc.divemode == FREEDIVE) {
|
||||||
|
ui.profCalcCeiling->setDisabled(true);
|
||||||
|
ui.profCalcAllTissues ->setDisabled(true);
|
||||||
|
ui.profIncrement3m->setDisabled(true);
|
||||||
|
ui.profDcCeiling->setDisabled(true);
|
||||||
|
ui.profPhe->setDisabled(true);
|
||||||
|
ui.profPn2->setDisabled(true); //TODO is the same as scuba?
|
||||||
|
ui.profPO2->setDisabled(true); //TODO is the same as scuba?
|
||||||
|
ui.profRuler->setDisabled(false);
|
||||||
|
ui.profScaled->setDisabled(false); // measuring and scaling
|
||||||
|
ui.profTogglePicture->setDisabled(false);
|
||||||
|
ui.profTankbar->setDisabled(true);
|
||||||
|
ui.profMod->setDisabled(true);
|
||||||
|
ui.profNdl_tts->setDisabled(true);
|
||||||
|
ui.profEad->setDisabled(true);
|
||||||
|
ui.profSAC->setDisabled(true);
|
||||||
|
ui.profHR->setDisabled(false);
|
||||||
|
ui.profTissues->setDisabled(true);
|
||||||
|
} else {
|
||||||
|
ui.profCalcCeiling->setDisabled(false);
|
||||||
|
ui.profCalcAllTissues ->setDisabled(false);
|
||||||
|
ui.profIncrement3m->setDisabled(false);
|
||||||
|
ui.profDcCeiling->setDisabled(false);
|
||||||
|
ui.profPhe->setDisabled(false);
|
||||||
|
ui.profPn2->setDisabled(false);
|
||||||
|
ui.profPO2->setDisabled(false); // partial pressure graphs
|
||||||
|
ui.profRuler->setDisabled(false);
|
||||||
|
ui.profScaled->setDisabled(false); // measuring and scaling
|
||||||
|
ui.profTogglePicture->setDisabled(false);
|
||||||
|
ui.profTankbar->setDisabled(false);
|
||||||
|
ui.profMod->setDisabled(false);
|
||||||
|
ui.profNdl_tts->setDisabled(false); // various values that a user is either interested in or not
|
||||||
|
ui.profEad->setDisabled(false);
|
||||||
|
ui.profSAC->setDisabled(false);
|
||||||
|
ui.profHR->setDisabled(false); // very few dive computers support this
|
||||||
|
ui.profTissues->setDisabled(false);; // maybe less frequently used
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::current_dive_changed(int divenr)
|
void MainWindow::current_dive_changed(int divenr)
|
||||||
{
|
{
|
||||||
if (divenr >= 0) {
|
if (divenr >= 0) {
|
||||||
|
@ -342,6 +384,7 @@ void MainWindow::current_dive_changed(int divenr)
|
||||||
}
|
}
|
||||||
graphics()->plotDive();
|
graphics()->plotDive();
|
||||||
information()->updateDiveInfo();
|
information()->updateDiveInfo();
|
||||||
|
configureToolbar();
|
||||||
GlobeGPS::instance()->reload();
|
GlobeGPS::instance()->reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -654,6 +697,7 @@ bool MainWindow::plannerStateClean()
|
||||||
void MainWindow::refreshProfile()
|
void MainWindow::refreshProfile()
|
||||||
{
|
{
|
||||||
showProfile();
|
showProfile();
|
||||||
|
configureToolbar();
|
||||||
graphics()->replot(get_dive(selected_dive));
|
graphics()->replot(get_dive(selected_dive));
|
||||||
DivePictureModel::instance()->updateDivePictures();
|
DivePictureModel::instance()->updateDivePictures();
|
||||||
}
|
}
|
||||||
|
@ -789,6 +833,7 @@ void MainWindow::on_actionAddDive_triggered()
|
||||||
|
|
||||||
graphics()->setAddState();
|
graphics()->setAddState();
|
||||||
DivePlannerPointsModel::instance()->createSimpleDive();
|
DivePlannerPointsModel::instance()->createSimpleDive();
|
||||||
|
configureToolbar();
|
||||||
graphics()->plotDive();
|
graphics()->plotDive();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -968,6 +1013,7 @@ void MainWindow::on_actionPreviousDC_triggered()
|
||||||
{
|
{
|
||||||
unsigned nrdc = number_of_computers(current_dive);
|
unsigned nrdc = number_of_computers(current_dive);
|
||||||
dc_number = (dc_number + nrdc - 1) % nrdc;
|
dc_number = (dc_number + nrdc - 1) % nrdc;
|
||||||
|
configureToolbar();
|
||||||
graphics()->plotDive();
|
graphics()->plotDive();
|
||||||
information()->updateDiveInfo();
|
information()->updateDiveInfo();
|
||||||
}
|
}
|
||||||
|
@ -976,6 +1022,7 @@ void MainWindow::on_actionNextDC_triggered()
|
||||||
{
|
{
|
||||||
unsigned nrdc = number_of_computers(current_dive);
|
unsigned nrdc = number_of_computers(current_dive);
|
||||||
dc_number = (dc_number + 1) % nrdc;
|
dc_number = (dc_number + 1) % nrdc;
|
||||||
|
configureToolbar();
|
||||||
graphics()->plotDive();
|
graphics()->plotDive();
|
||||||
information()->updateDiveInfo();
|
information()->updateDiveInfo();
|
||||||
}
|
}
|
||||||
|
|
|
@ -224,6 +224,7 @@ private:
|
||||||
|
|
||||||
bool plannerStateClean();
|
bool plannerStateClean();
|
||||||
void setupForAddAndPlan(const char *model);
|
void setupForAddAndPlan(const char *model);
|
||||||
|
void configureToolbar();
|
||||||
QDialog *survey;
|
QDialog *survey;
|
||||||
struct dive copyPasteDive;
|
struct dive copyPasteDive;
|
||||||
struct dive_components what;
|
struct dive_components what;
|
||||||
|
|
Loading…
Add table
Reference in a new issue