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

List:       kde-commits
Subject:    kdebase/kdm/kfrontend
From:       Oswald Buddenhagen <ossi () kde ! org>
Date:       2005-02-09 14:44:38
Message-ID: 20050209144438.B1CD51D00B () office ! kde ! org
[Download RAW message or body]

CVS commit by ossi: 

logo stuff:
- animated pixmap support. QMovie sucks so much ... it took me hours to
  figure out, and is prolly quite fragile.
- don't add a frame to images with an alpha channel


  M +14 -5     kgreeter.cpp   1.135


--- kdebase/kdm/kfrontend/kgreeter.cpp  #1.134:1.135
@@ -44,4 +44,5 @@ Foundation, Inc., 59 Temple Place - Suit
 #include <qfile.h>
 #include <qimage.h>
+#include <qmovie.h>
 #include <qpopupmenu.h>
 #include <qtimer.h>
@@ -53,4 +54,5 @@ Foundation, Inc., 59 Temple Place - Suit
 #include <qtooltip.h>
 #include <qaccel.h>
+#include <qeventloop.h>
 
 #include <pwd.h>
@@ -631,12 +633,19 @@ KStdGreeter::KStdGreeter()
                 case LOGO_LOGO:
                         {
+                                QMovie movie( _logo );
+                                kapp->eventLoop()->processEvents( QEventLoop::ExcludeUserInput | \
QEventLoop::ExcludeSocketNotifiers, 100 );  QPixmap pixmap;
-                                if (pixmap.load( _logo )) {
+                                if (!movie.framePixmap().isNull() || pixmap.load( _logo )) {
                                         pixLabel = new QLabel( this );
-                                        pixLabel->setSizePolicy( QSizePolicy( QSizePolicy::Fixed, \
QSizePolicy::Fixed ) ); +                                        if (!movie.framePixmap().isNull()) {
+                                                pixLabel->setMovie( movie );
+                                                if (!movie.framePixmap().hasAlpha())
                                         pixLabel->setFrameStyle( QFrame::Panel | QFrame::Sunken );
-                                        pixLabel->setAutoResize( true );
-                                        pixLabel->setIndent( 0 );
+                                        } else {
                                         pixLabel->setPixmap( pixmap );
+                                                if (!pixmap.hasAlpha())
+                                                        pixLabel->setFrameStyle( QFrame::Panel | \
QFrame::Sunken ); +                                        }
+                                        pixLabel->setIndent( 0 );
                                 }
                         }


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

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