diff --git a/dataengine.h b/dataengine.h index 2734bf0e7..0226f7f9f 100644 --- a/dataengine.h +++ b/dataengine.h @@ -38,6 +38,7 @@ class PLASMA_EXPORT DataEngine : public QObject public: typedef QHash Dict; typedef QHash Data; + typedef QHashIterator DataIterator; DataEngine(QObject* parent); virtual ~DataEngine(); diff --git a/widgets/checkbox.cpp b/widgets/checkbox.cpp index e8f8d756c..6bd4b7edd 100644 --- a/widgets/checkbox.cpp +++ b/widgets/checkbox.cpp @@ -111,8 +111,7 @@ void CheckBox::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, } - -void CheckBox::data(const DataEngine::Data&) +void CheckBox::updated(const DataEngine::Data&) { } diff --git a/widgets/checkbox.h b/widgets/checkbox.h index b80075eda..e34090840 100644 --- a/widgets/checkbox.h +++ b/widgets/checkbox.h @@ -59,7 +59,7 @@ class KDE_EXPORT CheckBox : public DataVisualization,public QGraphicsItem public Q_SLOTS: - void data(const DataEngine::Data&); + void updated(const DataEngine::Data&); Q_SIGNALS: void clicked(); protected: diff --git a/widgets/lineedit.cpp b/widgets/lineedit.cpp index 4e8f3ce8c..a0887c2cf 100644 --- a/widgets/lineedit.cpp +++ b/widgets/lineedit.cpp @@ -25,7 +25,7 @@ namespace Plasma LineEdit::LineEdit(QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsTextItem(parent, scene), - DataVisualization() + DataVisualization() { setTextInteractionFlags(Qt::TextEditorInteraction); } @@ -53,8 +53,19 @@ void LineEdit::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QGraphicsTextItem::paint(painter, style, widget); } -void LineEdit::data(const DataEngine::Data&) +void LineEdit::updated(const DataEngine::Data& data) { + DataEngine::DataIterator it(data); + + //TODO: this only shows the first possible data item. + // should it do more? + while (it.hasNext()) { + it.next(); + if (it.value().canConvert(QVariant::String)) { + setPlainText(it.value().toString()); + return; + } + } } } // namespace Plasma diff --git a/widgets/lineedit.h b/widgets/lineedit.h index dfe19ede4..a8f90f931 100644 --- a/widgets/lineedit.h +++ b/widgets/lineedit.h @@ -41,8 +41,7 @@ class KDE_EXPORT LineEdit : public QGraphicsTextItem, void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); public Q_SLOTS: - void data(const DataEngine::Data&); - + void updated(const DataEngine::Data&); }; } // namespace Plasma diff --git a/widgets/pushbutton.cpp b/widgets/pushbutton.cpp index c85584b82..2fb3ab290 100644 --- a/widgets/pushbutton.cpp +++ b/widgets/pushbutton.cpp @@ -82,7 +82,7 @@ PushButton::~PushButton() delete d; } -void PushButton::data(const DataEngine::Data &data) +void PushButton::updated(const DataEngine::Data &data) { Q_UNUSED(data) } diff --git a/widgets/pushbutton.h b/widgets/pushbutton.h index 1567a66ca..8d8ef2fd2 100644 --- a/widgets/pushbutton.h +++ b/widgets/pushbutton.h @@ -91,7 +91,7 @@ class KDE_EXPORT PushButton : public DataVisualization, void clicked(); public Q_SLOTS: - virtual void data(const DataEngine::Data &); + virtual void updated(const DataEngine::Data &); protected: bool isDown();