[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdeplasma-addons/applets/comic
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2008-08-26 14:18:35
Message-ID: 1219760315.477902.26008.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 852753 by tokoe:

When day has changed or comic is not available, try to reload
it every 5 minutes.


 M  +14 -0     comic.cpp  
 M  +4 -0      comic.h  


--- trunk/KDE/kdeplasma-addons/applets/comic/comic.cpp #852752:852753
@@ -20,6 +20,7 @@
 
 #include "comic.h"
 
+#include <QtCore/QTimer>
 #include <QtGui/QGraphicsSceneMouseEvent>
 #include <QtGui/QPainter>
 
@@ -48,6 +49,11 @@
 {
     loadConfig();
 
+    mCurrentDay = QDate::currentDate();
+    mDateChangedTimer = new QTimer( this );
+    connect( mDateChangedTimer, SIGNAL( timeout() ), this, SLOT( checkDayChanged() ) );
+    mDateChangedTimer->setInterval( 5 * 60 * 1000 ); // every 5 minutes
+
     Solid::Networking::Status status = Solid::Networking::status();
     if ( status == Solid::Networking::Connected || status == Solid::Networking::Unknown )
         updateComic();
@@ -110,6 +116,14 @@
         updateComic();
 }
 
+void ComicApplet::checkDayChanged()
+{
+    if ( mCurrentDay != QDate::currentDate() || mImage.isNull() )
+        updateComic();
+
+    mCurrentDay = QDate::currentDate();
+}
+
 void ComicApplet::loadConfig()
 {
     KConfigGroup cg = config();
--- trunk/KDE/kdeplasma-addons/applets/comic/comic.h #852752:852753
@@ -30,6 +30,7 @@
 #include <solid/networking.h>
 
 class ConfigWidget;
+class QTimer;
 
 class ComicApplet : public Plasma::Applet
 {
@@ -51,6 +52,7 @@
         void slotPreviousDay();
         void applyConfig();
         void networkStatusChanged( Solid::Networking::Status );
+        void checkDayChanged();
 
     protected:
         void mousePressEvent( QGraphicsSceneMouseEvent* );
@@ -64,6 +66,7 @@
 
         QImage mImage;
         QDate mCurrentDate;
+        QDate mCurrentDay;
         QUrl mWebsiteUrl;
         QString mComicIdentifier;
         QString mNextIdentifierSuffix;
@@ -73,6 +76,7 @@
         bool mShowPreviousButton;
         bool mShowNextButton;
         bool mShowComicUrl;
+        QTimer *mDateChangedTimer;
 };
 
 K_EXPORT_PLASMA_APPLET(comic, ComicApplet)
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic