┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
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
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
-rw-r--r--src/panels/information/informationpanel.cpp25
-rw-r--r--src/panels/information/informationpanel.h7
2 files changed, 30 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);
diff --git a/src/panels/information/informationpanel.h b/src/panels/information/informationpanel.h
index 46f080507..76af6a66a 100644
--- a/src/panels/information/informationpanel.h
+++ b/src/panels/information/informationpanel.h
@@ -194,6 +194,13 @@ private:
void updatePhononWidget();
+ /**
+ * Temporary helper method for KDE 4.3 as we currently don't get
+ * translated labels for Nepmok literals: Replaces camelcase labels
+ * like "fileLocation" by "File Location:".
+ */
+ QString tunedLabel(const QString& label) const;
+
void init();
private: