-rw-r--r-- | libopie/owait.cpp | 7 | ||||
-rw-r--r-- | libopie/owait.h | 1 |
2 files changed, 5 insertions, 3 deletions
diff --git a/libopie/owait.cpp b/libopie/owait.cpp index 7ed66eb..c90bb72 100644 --- a/libopie/owait.cpp +++ b/libopie/owait.cpp @@ -1,82 +1,83 @@ /* This file is part of the OPIE libraries Copyright (C) 2003 Maximilian Reiss (harlekin@handhelds.org) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <qlabel.h> #include <qlayout.h> #include <qtimer.h> #include <qpe/qpeapplication.h> #include <qpainter.h> #include "owait.h" #include <qpe/resource.h> static int frame = 0; OWait::OWait(QWidget *parent, const char* msg, bool dispIcon ) :QDialog(parent, QObject::tr("Wait"), TRUE,WStyle_Customize) { QHBoxLayout *hbox = new QHBoxLayout( this ); m_lb = new QLabel( this ); m_lb->setBackgroundMode ( NoBackground ); hbox->addWidget( m_lb ); hbox->activate(); m_pix = Resource::loadPixmap( "BigBusy" ); - resize( 48, 48 ); + m_aniSize = m_pix.height(); + resize( m_aniSize, m_aniSize ); m_timerLength = 10; m_waitTimer = new QTimer( this ); connect( m_waitTimer, SIGNAL( timeout() ), this, SLOT( hide() ) ); } void OWait::timerEvent( QTimerEvent * ) { frame = (++frame) % 4; repaint(); } void OWait::paintEvent( QPaintEvent * ) { QPainter p( m_lb ); - p.drawPixmap( 0, 0, m_pix, 48 * frame, 0, 48, 48 ); + p.drawPixmap( 0, 0, m_pix, m_aniSize * frame, 0, m_aniSize, m_aniSize ); } void OWait::show() { - move( ( ( qApp->desktop()->width() ) / 2 ) - 24, ( ( qApp->desktop()->height() ) / 2 ) - 24 ); + move( ( ( qApp->desktop()->width() ) / 2 ) - ( m_aniSize / 2 ), ( ( qApp->desktop()->height() ) / 2 ) - ( m_aniSize / 2 ) ); startTimer( 300 ); m_waitTimer->start( m_timerLength * 1000, true ); QDialog::show(); } void OWait::hide() { killTimers(); m_waitTimer->stop(); frame = 0; QDialog::hide(); } void OWait::setTimerLength( int length ) { m_timerLength = length; } OWait::~OWait() { } diff --git a/libopie/owait.h b/libopie/owait.h index 98409cf..d22e141 100644 --- a/libopie/owait.h +++ b/libopie/owait.h @@ -18,51 +18,52 @@ */ #ifndef WAITPOPUP_H #define WAITPOPUP_H #include <qdialog.h> #include <qpixmap.h> #include <qlabel.h> #include <qtimer.h> /** * This class displays a animated waiting icon in the middle of the screen. */ class OWait : public QDialog { Q_OBJECT public: OWait(QWidget *parent=0,const char* msg=0,bool dispIcon=TRUE); ~OWait(); /** * reimplemented for control reasons */ void show(); /** * Set the time before the icon will be automaticly hidden * @param length - time in seconds */ void setTimerLength( int length ); public slots: /** * reimplemented for control reasons */ void hide(); private: void timerEvent( QTimerEvent * ) ; void paintEvent( QPaintEvent * ); QPixmap m_pix; QLabel *m_lb; QTimer *m_waitTimer; int m_timerLength; + int m_aniSize; }; #endif |