void MainWindow::on_actionAddDive_triggered() { if (DivePlannerPointsModel::instance()->currentMode() != DivePlannerPointsModel::NOTHING || ui.InfoWidget->isEditing()) { QMessageBox::warning(this, tr("Warning"), tr("Please save or cancel the current dive edit before trying to add a dive.")); return; } dive_list()->rememberSelection(); dive_list()->unselectDives(); disableDcShortcuts(); DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::ADD); // now cheat - create one dive that we use to store the info tab data in struct dive *dive = alloc_dive(); dive->when = QDateTime::currentMSecsSinceEpoch() / 1000L + gettimezoneoffset(); dive->dc.model = "manually added dive"; // don't translate! this is stored in the XML file dive->latitude.udeg = 0; dive->longitude.udeg = 0; record_dive(dive); // this isn't in the UI yet, so let's call the C helper function - we'll fix this up when // accepting the dive select_dive(get_divenr(dive)); ui.InfoWidget->setCurrentIndex(0); ui.InfoWidget->updateDiveInfo(selected_dive); ui.InfoWidget->addDiveStarted(); ui.stackedWidget->setCurrentIndex(PLANNERPROFILE); // Planner. ui.infoPane->setCurrentIndex(MAINTAB); DivePlannerPointsModel::instance()->clear(); DivePlannerPointsModel::instance()->createSimpleDive(); ui.ListWidget->reload(DiveTripModel::CURRENT); }
void MainWindow::current_dive_changed(int divenr) { if (divenr >= 0) { select_dive(divenr); ui->globe->centerOn(get_dive(selected_dive)); redrawProfile(); } ui->InfoWidget->updateDiveInfo(divenr); }
void MainWindow::current_dive_changed(int divenr) { if (divenr >= 0) { select_dive(divenr); globe()->centerOnCurrentDive(); } graphics()->plotDive(); information()->updateDiveInfo(); }
void MainWindow::current_dive_changed(int divenr) { if (divenr >= 0) { select_dive(divenr); ui.globe->centerOnCurrentDive(); } ui.newProfile->plotDive(); ui.InfoWidget->updateDiveInfo(); }
void MainWindow::current_dive_changed(int divenr) { if (divenr >= 0) { select_dive(divenr); globe()->centerOnCurrentDive(); } graphics()->plotDive(); information()->updateDiveInfo(); locationInformationWidget()->setLocationId(displayed_dive.dive_site_uuid); }
void MainWindow::current_dive_changed(int divenr) { if (divenr >= 0) { select_dive(divenr); ui.globe->centerOn(get_dive(selected_dive)); } /* It looks like it's a bit too cumberstone to send *one* dive using a QList, * but this is just futureproofness, it's the best way in the future to show more than * a single profile plot on the canvas. I know that we are using only one right now, * but let's keep like this so it's easy to change when we need? :) */ ui.newProfile->plotDives(QList<dive *>() << (current_dive)); ui.InfoWidget->updateDiveInfo(divenr); }
void MainWindow::planCreated() { // get the new dive selected and assign a number if reasonable ui.newProfile->setProfileState(); if (displayed_dive.id == 0) { // we might have added a new dive (so displayed_dive was cleared out by clone_dive() dive_list()->unselectDives(); select_dive(dive_table.nr - 1); dive_list()->selectDive(selected_dive); set_dive_nr_for_current_dive(); } // make sure our UI is in a consistent state ui.InfoWidget->updateDiveInfo(); showProfile(); refreshDisplay(); }
void MainWindow::on_actionAddDive_triggered() { // clear the selection for (int i = 0; i < dive_table.nr; i++) { struct dive *d = get_dive(i); if (d && d->selected) deselect_dive(i); } disableDcShortcuts(); DivePlannerPointsModel::instance()->setPlanMode(false); // now cheat - create one dive that we use to store the info tab data in struct dive *dive = alloc_dive(); dive->when = QDateTime::currentMSecsSinceEpoch() / 1000L; const char* model = strdup(tr("manually added dive").toLocal8Bit().constData()); dive->dc.model = model; // do not use tr here since it expects a char*. record_dive(dive); select_dive(get_divenr(dive)); ui.InfoWidget->updateDiveInfo(selected_dive); ui.stackedWidget->setCurrentIndex(PLANNERPROFILE); // Planner. ui.infoPane->setCurrentIndex(MAINTAB); DivePlannerPointsModel::instance()->createSimpleDive(); refreshDisplay(); ui.InfoWidget->addDiveStarted(); }