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>
This commit is contained in:
Tomaz Canabrava 2015-10-07 19:34:02 -03:00 committed by Dirk Hohndel
parent ebf2407db6
commit 2eed9c0b9b
4 changed files with 36 additions and 22 deletions

31
divesite.cpp Normal file
View file

@ -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;
}