┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/panels/information/informationpanel.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-06-20 11:45:34 +0000
committerPeter Penz <[email protected]>2009-06-20 11:45:34 +0000
commit0a1048a445616b9c1347e2ed2fd15ed0f45e09df (patch)
treeeac5b6a658263ad979b0ec006d55b41593bd4338 /src/panels/information/informationpanel.cpp
parent35a0eca331f475e2751614f782c2710fc93cfebd (diff)
We won't get translated labels for Nepomuk literals in KDE 4.3.0... At least assure that camelcase labels like "fileLocation:" are replaced by "File location:" (thanks to Sebastian Trüg for the code)
svn path=/trunk/KDE/kdebase/apps/; revision=984190
Diffstat (limited to 'src/panels/information/informationpanel.cpp')
-rw-r--r--src/panels/information/informationpanel.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/panels/information/informationpanel.cpp b/src/panels/information/informationpanel.cpp
index 30a41fefc..1fa5565d7 100644
--- a/src/panels/information/informationpanel.cpp
+++ b/src/panels/information/informationpanel.cpp
@@ -583,9 +583,11 @@ void InformationPanel::showMetaInfo()
Nepomuk::Types::Property prop(it.key());
const QString label = prop.label();
if (settings.readEntry(label, true)) {
- // TODO: use Nepomuk::formatValue(res, prop) if available
+ // TODO #1: use Nepomuk::formatValue(res, prop) if available
// instead of it.value().toString()
- m_metaTextLabel->add(label, it.value().toString());
+ // TODO #2: using tunedLabel() is a workaround for KDE 4.3 until
+ // we get translated labels
+ m_metaTextLabel->add(tunedLabel(label), it.value().toString());
}
++it;
}
@@ -714,6 +716,25 @@ void InformationPanel::updatePhononWidget()
}
}
+QString InformationPanel::tunedLabel(const QString& label) const
+{
+ QString tunedLabel;
+ const int labelLength = label.length();
+ if (labelLength > 0) {
+ tunedLabel.reserve(labelLength);
+ tunedLabel = label[0].toUpper();
+ for (int i = 1; i < labelLength; ++i) {
+ if (label[i].isUpper() && !label[i - 1].isSpace() && !label[i - 1].isUpper()) {
+ tunedLabel += ' ';
+ tunedLabel += label[i].toLower();
+ } else {
+ tunedLabel += label[i];
+ }
+ }
+ }
+ return tunedLabel;
+}
+
void InformationPanel::init()
{
m_infoTimer = new QTimer(this);