diff options
-rw-r--r-- | qt-ui/maintab.cpp | 40 | ||||
-rw-r--r-- | qt-ui/maintab.h | 2 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 2 |
3 files changed, 44 insertions, 0 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index e403e0b93..5002a2880 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -1173,3 +1173,43 @@ void MainTab::removeSelectedPhotos() QString fileUrl = photoIndex.data(Qt::DisplayPropertyRole).toString(); DivePictureModel::instance()->removePicture(fileUrl); } + +#define SHOW_SELECTIVE(_component) \ + if (what._component) \ + ui._component->setText(displayed_dive._component); + +void MainTab::showAndTriggerEditSelective(struct dive_components what) +{ + // take the data in our copyPasteDive and apply it to selected dives + enableEdition(); + SHOW_SELECTIVE(location); + SHOW_SELECTIVE(buddy); + SHOW_SELECTIVE(divemaster); + SHOW_SELECTIVE(suit); + if (what.notes) { + QString tmp(displayed_dive.notes); + if (tmp.contains("<table")) + ui.notes->setHtml(tmp); + else + ui.notes->setPlainText(tmp); + } + if (what.rating) + ui.rating->setCurrentStars(displayed_dive.rating); + if (what.visibility) + ui.visibility->setCurrentStars(displayed_dive.visibility); + if (what.gps) + updateGpsCoordinates(&displayed_dive); + if (what.tags) { + char buf[1024]; + taglist_get_tagstring(displayed_dive.tag_list, buf, 1024); + ui.tagWidget->setText(QString(buf)); + } + if (what.cylinders) { + cylindersModel->updateDive(); + cylindersModel->changed = true; + } + if (what.weights) { + weightModel->updateDive(); + weightModel->changed = true; + } +} diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h index f3aec5458..93bb1c949 100644 --- a/qt-ui/maintab.h +++ b/qt-ui/maintab.h @@ -49,6 +49,8 @@ public: bool isEditing(); void updateCoordinatesText(qreal lat, qreal lon); void nextInputField(QKeyEvent *event); + void showAndTriggerEditSelective(struct dive_components what); + signals: void addDiveFinished(); diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 29212564b..9912d60bd 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -1314,4 +1314,6 @@ void MainWindow::on_copy_triggered() void MainWindow::on_paste_triggered() { // take the data in our copyPasteDive and apply it to selected dives + selective_copy_dive(©PasteDive, &displayed_dive, what, false); + ui.InfoWidget->showAndTriggerEditSelective(what); } |