mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
57c01f7a66
There were two catch-all classes for translations outside of class context. gettextFromC was used exclusively from C, but C++ used both, gettextFromC and QObject. Some of the string were even present in both. Therefore, unify to gettextFromC throughout the code base. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
53 lines
1.3 KiB
C++
53 lines
1.3 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#include "divesite.h"
|
|
#include "pref.h"
|
|
#include "gettextfromc.h"
|
|
|
|
QString constructLocationTags(struct dive_site *ds, bool for_maintab)
|
|
{
|
|
QString locationTag;
|
|
|
|
if (!ds || !ds->taxonomy.nr)
|
|
return locationTag;
|
|
|
|
/* 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>") + gettextFromC::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>(") + gettextFromC::tr("Tags") + QString(": ");
|
|
else
|
|
locationTag = QString("<small><small>");
|
|
QString connector;
|
|
for (int i = 0; i < 3; i++) {
|
|
if (prefs.geocoding.category[i] == TC_NONE)
|
|
continue;
|
|
for (int j = 0; j < ds->taxonomy.nr; 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;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (for_maintab)
|
|
locationTag += ")</small></small>";
|
|
else
|
|
locationTag += "</small></small>";
|
|
return locationTag;
|
|
}
|