Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Libraries
KOSMIndoorMap
Commits
306d7012
Commit
306d7012
authored
Jan 07, 2022
by
Volker Krause
Browse files
Add basic translation for boolean-like tag values
parent
fa22eaba
Pipeline
#120096
passed with stage
in 1 minute and 42 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/map-quick/osmelementinformationmodel.cpp
View file @
306d7012
...
...
@@ -529,7 +529,7 @@ QVariant OSMElementInformationModel::valueForKey(Info info) const
}
return
l
.
join
(
QLatin1String
(
", "
));
}
case
Takeaway
:
return
QString
::
fromUtf8
(
m_element
.
tagValue
(
"takeaway"
));
// TODO decode (yes/only/no) and translate
case
Takeaway
:
return
translatedBoolValue
(
m_element
.
tagValue
(
"takeaway"
));
// TODO decode (yes/only/no) and translate
case
Socket
:
{
QStringList
l
;
...
...
@@ -629,9 +629,8 @@ QVariant OSMElementInformationModel::valueForKey(Info info) const
case
CapacityCharing
:
return
capacitryValue
(
"capacity:charging"
);
case
MaxStay
:
return
QString
::
fromUtf8
(
m_element
.
tagValue
(
"maxstay"
));
case
DiaperChangingTable
:
// TODO bool value translation
// TODO look for changing_table:location too
return
QString
::
fromUtf8
(
m_element
.
tagValue
(
"changing_table"
,
"diaper"
));
return
translatedBoolValue
(
m_element
.
tagValue
(
"changing_table"
,
"diaper"
));
case
Wikipedia
:
return
wikipediaUrl
(
m_element
.
tagValue
(
"wikipedia"
,
"brand:wikipedia"
,
QLocale
()));
case
Address
:
return
QVariant
::
fromValue
(
OSMAddress
(
m_element
));
case
Phone
:
return
QString
::
fromUtf8
(
m_element
.
tagValue
(
"contact:phone"
,
"phone"
,
"telephone"
,
"operator:phone"
));
...
...
@@ -642,7 +641,7 @@ QVariant OSMElementInformationModel::valueForKey(Info info) const
const
auto
coins
=
m_element
.
tagValue
(
"payment:coins"
);
const
auto
notes
=
m_element
.
tagValue
(
"payment:notes"
);
if
(
coins
.
isEmpty
()
&&
notes
.
isEmpty
())
{
return
m_element
.
tagValue
(
"payment:cash"
);
// TODO decode bool
return
translatedBoolValue
(
m_element
.
tagValue
(
"payment:cash"
)
)
;
}
if
(
coins
==
"yes"
&&
notes
==
"yes"
)
{
return
i18n
(
"yes"
);
...
...
@@ -783,11 +782,16 @@ QUrl OSMElementInformationModel::wikipediaUrl(const QByteArray &wp) const
QString
OSMElementInformationModel
::
capacitryValue
(
const
char
*
prop
)
const
{
const
auto
v
=
m_element
.
tagValue
(
prop
);
if
(
v
==
"yes"
)
{
return
translatedBoolValue
(
v
);
}
QString
OSMElementInformationModel
::
translatedBoolValue
(
const
QByteArray
&
value
)
const
{
if
(
value
==
"yes"
)
{
return
i18n
(
"yes"
);
}
if
(
v
==
"no"
)
{
if
(
v
alue
==
"no"
)
{
return
i18n
(
"no"
);
}
return
QString
::
fromUtf8
(
v
);
return
QString
::
fromUtf8
(
v
alue
);
}
src/map-quick/osmelementinformationmodel.h
View file @
306d7012
...
...
@@ -136,6 +136,7 @@ private:
QString
paymentMethodValue
(
Key
key
)
const
;
QUrl
wikipediaUrl
(
const
QByteArray
&
wp
)
const
;
QString
capacitryValue
(
const
char
*
prop
)
const
;
QString
translatedBoolValue
(
const
QByteArray
&
value
)
const
;
template
<
typename
KeyMapEntry
,
std
::
size_t
N
>
void
addEntryForKey
(
const
char
*
keyName
,
const
KeyMapEntry
(
&
map
)[
N
]);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment