From a4ba7d48f21b22362628b6ac84012be079b05f72 Mon Sep 17 00:00:00 2001 From: "Aaron J. Seigo" Date: Mon, 30 Jun 2008 22:05:11 +0000 Subject: [PATCH] put dataUpdated magic back into the text displayers svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=826536 --- widgets/label.cpp | 14 ++++++++++++++ widgets/label.h | 4 +++- widgets/textedit.cpp | 14 ++++++++++++++ widgets/textedit.h | 4 ++++ 4 files changed, 35 insertions(+), 1 deletion(-) diff --git a/widgets/label.cpp b/widgets/label.cpp index 38146332a..41f4eb179 100644 --- a/widgets/label.cpp +++ b/widgets/label.cpp @@ -157,6 +157,20 @@ QLabel* Label::nativeWidget() const return static_cast(widget()); } +void Label::dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data) +{ + Q_UNUSED(sourceName) + + QStringList texts; + foreach (const QVariant& v, data) { + if (v.canConvert(QVariant::String)) { + texts << v.toString(); + } + } + + setText(texts.join(" ")); +} + void Label::resizeEvent(QGraphicsSceneResizeEvent *event) { d->setPixmap(this); diff --git a/widgets/label.h b/widgets/label.h index 8c5a42297..91b96fd7e 100644 --- a/widgets/label.h +++ b/widgets/label.h @@ -24,6 +24,7 @@ #include #include +#include class QLabel; @@ -85,7 +86,8 @@ public: */ QLabel* nativeWidget() const; -Q_SIGNALS: +public Q_SLOTS: + void dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data); protected: void resizeEvent(QGraphicsSceneResizeEvent *event); diff --git a/widgets/textedit.cpp b/widgets/textedit.cpp index 251bdd931..3e029ca5f 100644 --- a/widgets/textedit.cpp +++ b/widgets/textedit.cpp @@ -83,6 +83,20 @@ KTextEdit* TextEdit::nativeWidget() const return static_cast(widget()); } +void TextEdit::dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data) +{ + Q_UNUSED(sourceName) + + KTextEdit * te = nativeWidget(); + te->clear(); + + foreach (const QVariant& v, data) { + if (v.canConvert(QVariant::String)) { + te->append(v.toString() + "\n"); + } + } +} + void TextEdit::resizeEvent(QGraphicsSceneResizeEvent *event) { QGraphicsProxyWidget::resizeEvent(event); diff --git a/widgets/textedit.h b/widgets/textedit.h index 79e077d3b..1c43353be 100644 --- a/widgets/textedit.h +++ b/widgets/textedit.h @@ -26,6 +26,7 @@ class KTextEdit; #include +#include namespace Plasma { @@ -72,6 +73,9 @@ public: */ KTextEdit* nativeWidget() const; +public Q_SLOTS: + void dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data); + Q_SIGNALS: void textChanged();