Tags for geo references: Nicer look, translations and warning message

For the geo references tags update the following:
- Nicer look w/o "Tags:" text and brackets when inside location UI
- Translation for "Tags:"
- Warning message when no dive site layout categories are set

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
This commit is contained in:
Stefan Fuchs 2017-10-16 15:52:13 +02:00 committed by Dirk Hohndel
parent ac7830ea91
commit 884e690049
4 changed files with 28 additions and 6 deletions

View file

@ -2,14 +2,32 @@
#include "divesite.h"
#include "pref.h"
QString constructLocationTags(struct dive_site *ds)
QString constructLocationTags(struct dive_site *ds, bool for_maintab)
{
QString locationTag;
if (!ds || !ds->taxonomy.nr)
return locationTag;
locationTag = "<small><small>(tags: ";
/* Check if the user set any of the 3 geocoding categories */
bool prefs_set = false;
for (int i = 0; i < 3; i++) {
if (prefs.geocoding.category[i] != TC_NONE)
prefs_set = true;
}
if (!prefs_set && !for_maintab) {
locationTag = QString("<small><small>") + QObject::tr("No dive site layout categories set in preferences!") +
QString("</small></small>");
return locationTag;
}
else if (!prefs_set)
return locationTag;
if (for_maintab)
locationTag = QString("<small><small>(") + QObject::tr("Tags") + QString(": ");
else
locationTag = QString("<small><small>");
QString connector;
for (int i = 0; i < 3; i++) {
if (prefs.geocoding.category[i] == TC_NONE)
@ -26,6 +44,9 @@ QString constructLocationTags(struct dive_site *ds)
}
}
locationTag += ")</small></small>";
if (for_maintab)
locationTag += ")</small></small>";
else
locationTag += "</small></small>";
return locationTag;
}

View file

@ -8,6 +8,7 @@
#ifdef __cplusplus
#include <QString>
#include <QObject>
extern "C" {
#else
#include <stdbool.h>
@ -76,7 +77,7 @@ void merge_dive_sites(uint32_t ref, uint32_t *uuids, int count);
#ifdef __cplusplus
}
QString constructLocationTags(struct dive_site *ds);
QString constructLocationTags(struct dive_site *ds, bool for_maintab);
#endif

View file

@ -114,7 +114,7 @@ void LocationInformationWidget::updateLabels()
ui.diveSiteCoordinates->clear();
}
ui.locationTags->setText(constructLocationTags(&displayed_dive_site));
ui.locationTags->setText(constructLocationTags(&displayed_dive_site, false));
}

View file

@ -458,7 +458,7 @@ void MainTab::updateDiveInfo(bool clear)
if (ds) {
ui.location->setCurrentDiveSiteUuid(ds->uuid);
ui.locationTags->setText(constructLocationTags(ds));
ui.locationTags->setText(constructLocationTags(ds, true));
} else {
ui.location->clear();
clear_dive_site(&displayed_dive_site);