diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2017-11-26 22:21:58 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-11-26 18:50:40 -0800 |
commit | 24c72cb359e98eb22418789f397bd72e0a29919b (patch) | |
tree | bff97ead133f4cf8747625bb95a877905375d096 /desktop-widgets | |
parent | f4bcdf46aa6498c449be8f63c052a7cbeaf8baa6 (diff) | |
download | subsurface-24c72cb359e98eb22418789f397bd72e0a29919b.tar.gz |
Inform LocationFilterModel of added dive site name
If the user implicitly adds a dive site by editing a dive, and
a location filter is active, check the new dive site in the
location filter.
This is done by informing the LocationFilterModel of the new
dive site name prior to repopulation. The LocationFilterModel
then adds a corresponding entry and marks it as checked.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets')
-rw-r--r-- | desktop-widgets/tab-widgets/maintab.cpp | 7 | ||||
-rw-r--r-- | desktop-widgets/tab-widgets/maintab.h | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/desktop-widgets/tab-widgets/maintab.cpp b/desktop-widgets/tab-widgets/maintab.cpp index adb73526c..244c6465a 100644 --- a/desktop-widgets/tab-widgets/maintab.cpp +++ b/desktop-widgets/tab-widgets/maintab.cpp @@ -21,8 +21,10 @@ #include "qt-models/weightmodel.h" #include "qt-models/divecomputerextradatamodel.h" #include "qt-models/divelocationmodel.h" +#include "qt-models/filtermodels.h" #include "core/divesite.h" #include "desktop-widgets/locationinformation.h" +#include "desktop-widgets/locationinformation.h" #include "TabDiveExtraInfo.h" #include "TabDiveInformation.h" @@ -201,6 +203,7 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent), connect(ui.diveNotesMessage, &KMessageWidget::showAnimationFinished, ui.location, &DiveLocationLineEdit::fixPopupPosition); + connect(this, SIGNAL(diveSiteAdded(const QString &)), LocationFilterModel::instance(), SLOT(addName(const QString &))); // enable URL clickability in notes: new TextHyperlinkEventFilter(ui.notes);//destroyed when ui.notes is destroyed @@ -703,8 +706,10 @@ uint32_t MainTab::updateDiveSite(uint32_t pickedUuid, int divenr) return origUuid; if (pickedUuid == RECENTLY_ADDED_DIVESITE) { - pickedUuid = create_dive_site(ui.location->text().isEmpty() ? qPrintable(tr("New dive site")) : qPrintable(ui.location->text()), displayed_dive.when); + QString name = ui.location->text().isEmpty() ? tr("New dive site") : ui.location->text(); + pickedUuid = create_dive_site(qPrintable(name), displayed_dive.when); createdNewDive = true; + emit diveSiteAdded(name); } newDs = get_dive_site_by_uuid(pickedUuid); diff --git a/desktop-widgets/tab-widgets/maintab.h b/desktop-widgets/tab-widgets/maintab.h index 03eb5f320..74872ea08 100644 --- a/desktop-widgets/tab-widgets/maintab.h +++ b/desktop-widgets/tab-widgets/maintab.h @@ -60,6 +60,7 @@ signals: void addDiveFinished(); void dateTimeChanged(); void diveSiteChanged(struct dive_site * ds); + void diveSiteAdded(const QString &); public slots: void addCylinder_clicked(); |