/*************************************************************************** copyright : (C) 2008 by Carsten Niehaus email : cniehaus@kde.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. * * * ***************************************************************************/ #include "didyouknow.h" #include #include #include KalziumDidyouknow::KalziumDidyouknow(QObject *parent, const QVariantList &args) : Plasma::Applet(parent, args) { m_theme.setImagePath("widgets/chalkboard"); // init random sequence m_random = new KRandomSequence( QDateTime::currentDateTime().toTime_t() ); m_engine = dataEngine("kalzium"); m_label1 = 0; setHasConfigurationInterface(false); setAcceptDrops(false); setAcceptsHoverEvents(true); // setDrawStandardBackground(false); resize(512,256); } void KalziumDidyouknow::init() { qDebug() << "initializing DidYouKnow-Applet"; m_engine->connectSource( "Fact" , this, 1000); m_theme.setContainsMultipleImages(false); m_label1 = new QGraphicsTextItem(this); m_label1->setPos( m_theme.elementRect( "canvas" ).topLeft() ); m_label1->setDefaultTextColor( Qt::white ); } void KalziumDidyouknow::constraintsUpdated(Plasma::Constraints constraints) { // setDrawStandardBackground(false); prepareGeometryChange(); if (constraints & Plasma::SizeConstraint) { m_theme.resize(size()); } m_label1->setPos( m_theme.elementRect( "canvas" ).topLeft() ); } KalziumDidyouknow::~KalziumDidyouknow() { delete m_random; } void KalziumDidyouknow::dataUpdated(const QString& source, const Plasma::DataEngine::Data &data) { qDebug() << "entering dataUpdated()"; Q_UNUSED(source) if (m_label1) { // m_label1->setAlignment(Qt::AlignLeft); m_label1->setPlainText( data["fact"].toString() ); } } void KalziumDidyouknow::paintInterface(QPainter *p, const QStyleOptionGraphicsItem *option, const QRect &contentsRect) { Q_UNUSED(option) Q_UNUSED(contentsRect) p->setRenderHint(QPainter::SmoothPixmapTransform); p->setRenderHint(QPainter::Antialiasing); // Now we draw the applet, starting with our svg m_theme.resize(size()); m_theme.paint(p, 0, 0 ); } #include "didyouknow.moc"