[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