diff options
-rw-r--r-- | qt-models/divelocationmodel.cpp | 4 | ||||
-rw-r--r-- | qt-models/divelocationmodel.h | 2 | ||||
-rw-r--r-- | qt-ui/locationinformation.cpp | 18 | ||||
-rw-r--r-- | qt-ui/maintab.cpp | 2 |
4 files changed, 18 insertions, 8 deletions
diff --git a/qt-models/divelocationmodel.cpp b/qt-models/divelocationmodel.cpp index 30b3f82ae..fca322dcf 100644 --- a/qt-models/divelocationmodel.cpp +++ b/qt-models/divelocationmodel.cpp @@ -53,7 +53,7 @@ QVariant LocationInformationModel::data(const QModelIndex &index, int role) cons // Special case to handle the 'create dive site' with name. if (index.row() < 2) { if (index.column() == UUID) - return 0; + return RECENTLY_ADDED_DIVESITE; switch(role) { case Qt::DisplayRole : { if (index.row() == 1) { @@ -92,7 +92,7 @@ QVariant LocationInformationModel::data(const QModelIndex &index, int role) cons case Qt::DisplayRole : switch(index.column()) { case UUID: return ds->uuid; - case NAME: return ds->name; + case NAME: return QString("%1, id:%2").arg(ds->name).arg(ds->uuid); case LATITUDE: return ds->latitude.udeg; case LONGITUDE: return ds->longitude.udeg; case COORDS: return "TODO"; diff --git a/qt-models/divelocationmodel.h b/qt-models/divelocationmodel.h index 77dbb7bca..3bf7161f5 100644 --- a/qt-models/divelocationmodel.h +++ b/qt-models/divelocationmodel.h @@ -7,6 +7,8 @@ class QLineEdit; +#define RECENTLY_ADDED_DIVESITE 1 + class LocationInformationModel : public QAbstractTableModel { Q_OBJECT public: diff --git a/qt-ui/locationinformation.cpp b/qt-ui/locationinformation.cpp index 2a52d6d7f..71d582e09 100644 --- a/qt-ui/locationinformation.cpp +++ b/qt-ui/locationinformation.cpp @@ -235,11 +235,19 @@ void LocationManagementEditHelper::handleActivation(const QModelIndex& activated activated.row(), LocationInformationModel::UUID); last_uuid = uuidIdx.data().toInt(); - // Special case: first two options: add dive site. - if (activated.row() < 2) { - qDebug() << "Setting to " << activated.data().toString(); - emit setLineEditText(activated.data().toString()); + /* if we are in 'recently added divesite mode, create a new divesite, + * and go to dive site edit edit mode. */ + if (last_uuid == RECENTLY_ADDED_DIVESITE) { + uint32_t ds_uuid = create_dive_site(qPrintable(activated.data().toString()), current_dive->when); + qDebug() << "ds_uuid" << ds_uuid; + struct dive_site *ds = get_dive_site_by_uuid(ds_uuid); + copy_dive_site(ds, &displayed_dive_site); + displayed_dive.dive_site_uuid = ds->uuid; + last_uuid = ds->uuid; + // Move this out of here later. + MainWindow::instance()->startDiveSiteEdit(); } + qDebug() << "Selected dive_site: " << last_uuid; } @@ -254,7 +262,7 @@ uint32_t LocationManagementEditHelper::diveSiteUuid() const { void LocationInformationWidget::reverseGeocode() { - qDebug() << "Chamou"; + qDebug() << "Chamou aqui"; ReverseGeoLookupThread *geoLookup = ReverseGeoLookupThread::instance(); geoLookup->lookup(&displayed_dive_site); updateLabels(); diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 960b7edf8..82ab7c7e7 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -868,7 +868,7 @@ void MainTab::updateDisplayedDiveSite() if(orig_uuid) { if (new_uuid && orig_uuid != new_uuid) { // the user picked a different site - qDebug() << "copy the dive site we picked into the displayed dive site"; + qDebug() << "copy the dive site we picked into the displayed dive site, id: " << new_uuid; displayed_dive.dive_site_uuid = new_uuid; copy_dive_site(get_dive_site_by_uuid(displayed_dive.dive_site_uuid), &displayed_dive_site); } else if (!new_name.isEmpty() && orig_name != new_name) { |