diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2015-10-07 19:34:02 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-10-08 06:27:38 +0100 |
commit | 2eed9c0b9b56a507cfeb6f387176f675643dd436 (patch) | |
tree | b178a86ddee295d791dd8230caaaaab4d5d4a44e /divesite.cpp | |
parent | ebf2407db670e78d1a503cabf27d823da31ecabf (diff) | |
download | subsurface-2eed9c0b9b56a507cfeb6f387176f675643dd436.tar.gz |
Move the algorithm to divesite.cpp file
This shouldn't be on the maintab.cpp, this file is already too convoluted.
[Dirk Hohndel: slightly refactored this commit and the next one to make
the code actually work and make the split across the two
commits more reasonable]
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'divesite.cpp')
-rw-r--r-- | divesite.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/divesite.cpp b/divesite.cpp new file mode 100644 index 000000000..ae102a14b --- /dev/null +++ b/divesite.cpp @@ -0,0 +1,31 @@ +#include "divesite.h" +#include "pref.h" + +QString constructLocationTags(uint32_t ds_uuid) +{ + QString locationTag; + struct dive_site *ds = get_dive_site_by_uuid(ds_uuid); + + if (!ds || !ds->taxonomy.nr) + return locationTag; + + locationTag = "<small><small>(tags: "; + QString connector; + for (int i = 0; i < 3; i++) { + if (prefs.geocoding.category[i] == TC_NONE) + continue; + for (int j = 0; j < TC_NR_CATEGORIES; j++) { + if (ds->taxonomy.category[j].category == prefs.geocoding.category[i]) { + QString tag = ds->taxonomy.category[j].value; + if (!tag.isEmpty()) { + locationTag += connector + tag; + connector = " / "; + } + break; + } + } + } + + locationTag += ")</small></small>"; + return locationTag; +} |