From e9ae80694875f869892f13f4fcaf1170a00dea41 Mon Sep 17 00:00:00 2001
From: toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>
Date: Wed, 25 Nov 2009 17:56:58 +0000
Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
 BUG:215923

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdewebdev@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
---
 kommander/widgets/label.cpp | 127 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 127 insertions(+)
 create mode 100644 kommander/widgets/label.cpp

(limited to 'kommander/widgets/label.cpp')

diff --git a/kommander/widgets/label.cpp b/kommander/widgets/label.cpp
new file mode 100644
index 00000000..a9a24e3b
--- /dev/null
+++ b/kommander/widgets/label.cpp
@@ -0,0 +1,127 @@
+/***************************************************************************
+                         label.cpp - label widget 
+                          -------------------
+    copyright            : (C) 2004      Michal Rudolf <mrudolf@kdewebdev.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+/* QT INCLUDES */
+#include <qobject.h>
+#include <qstring.h>
+#include <qwidget.h>
+#include <qstringlist.h>
+#include <qevent.h>
+
+/* OTHER INCLUDES */
+#include <kommanderwidget.h>
+#include <specials.h>
+#include "label.h"
+
+Label::Label(QWidget *a_parent, const char *a_name)
+  : QLabel(a_parent, a_name), KommanderWidget(this)
+{
+  QStringList states;
+  states << "default";
+  setStates(states);
+  setDisplayStates(states);
+  if (KommanderWidget::inEditor && a_name)
+    setText(a_name);
+}
+
+Label::~Label()
+{
+}
+
+QString Label::currentState() const
+{
+  return QString("default");
+}
+
+bool Label::isKommanderWidget() const
+{
+  return true;
+}
+
+QStringList Label::associatedText() const
+{
+  return KommanderWidget::associatedText();
+}
+
+void Label::setAssociatedText(const QStringList& a_at)
+{
+  KommanderWidget::setAssociatedText(a_at);
+}
+
+void Label::setPopulationText(const QString& a_text)
+{
+  KommanderWidget::setPopulationText(a_text);
+}
+
+QString Label::populationText() const
+{
+  return KommanderWidget::populationText();
+}
+
+void Label::populate()
+{
+  setWidgetText(KommanderWidget::evalAssociatedText(populationText()));
+}
+
+void Label::setWidgetText(const QString& a_text)
+{
+  setText(a_text);
+}
+
+void Label::showEvent(QShowEvent *e)
+{
+  QLabel::showEvent(e);
+  emit widgetOpened();
+}
+
+bool Label::isFunctionSupported(int f)
+{
+  return f == DCOP::text || f == DCOP::setText || f == DCOP::clear || f == DCOP::geometry || f == DCOP::getBackgroundColor || f == DCOP::setBackgroundColor;
+}
+
+QString Label::handleDCOP(int function, const QStringList& args)
+{
+  switch (function) {
+    case DCOP::text:
+      return text();
+    case DCOP::setText:
+      setWidgetText(args[0]);
+      break;
+    case DCOP::clear:
+      setWidgetText("");
+      break;
+    case DCOP::geometry:
+    {
+      QString geo = QString::number(this->x())+" "+QString::number(this->y())+" "+QString::number(this->width())+" "+QString::number(this->height());
+      return geo;
+      break;
+    }
+    case DCOP::getBackgroundColor:
+      return this->paletteBackgroundColor().name();
+      break;
+    case DCOP::setBackgroundColor:
+    {
+      QColor color;
+      color.setNamedColor(args[0]);
+      this->setPaletteBackgroundColor(color);
+      break;
+    }
+    default:
+      return KommanderWidget::handleDCOP(function, args);
+  }
+  return QString();  
+}
+
+#include "label.moc"
-- 
cgit v1.2.3