-rw-r--r-- | noncore/tools/clock/clock.cpp | 6 | ||||
-rw-r--r-- | noncore/tools/clock/clock.h | 5 | ||||
-rw-r--r-- | pics/clock/bg.png | bin | 0 -> 14019 bytes |
3 files changed, 9 insertions, 2 deletions
diff --git a/noncore/tools/clock/clock.cpp b/noncore/tools/clock/clock.cpp index 74b7147..41c99a8 100644 --- a/noncore/tools/clock/clock.cpp +++ b/noncore/tools/clock/clock.cpp @@ -495,59 +495,65 @@ void Clock::appMessage( const QCString& msg, const QByteArray& /*data*/ ) show(); raise(); QPEApplication::setKeepRunning(); setActiveWindow(); } void Clock::timerEvent( QTimerEvent *e ) { static int stop = 0; if ( stop < 120 && bSound ) { Sound::soundAlarm(); stop++; } else { stop = 0; killTimer( e->timerId() ); clearTimer(); setCaption( tr( "Clock: Alarm was missed." ) ); } } +AnalogClock::AnalogClock(QWidget * parent, const char * name) : QFrame( parent, name ), clear(true) +{ + bg = Resource::loadPixmap("clock/bg"); +} QSizePolicy AnalogClock::sizePolicy() const { return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); } void AnalogClock::drawContents( QPainter *p ) { QRect r = contentsRect(); QRect fr; + p->drawPixmap(QPoint(0, 0), bg, r); + if ( r. width ( ) > r. height ( )) fr. setRect (( r. width ( ) - r. height ( )) / 2, r. y ( ), r. height ( ), r. height ( )); else fr. setRect ( r. x ( ), ( r. height ( ) - r. width ( )) / 2, r. width ( ), r. width ( )); QPoint center = fr. center ( ); // ( fr.x() + fr.width() / 2, fr.y() + fr.height() / 2 ); QPoint l1 ( center. x ( ), fr. y ( ) + 2 ); QPoint l2 ( center. x ( ), fr. y ( ) + 8 ); if ( clear ) { erase ( r ); p-> setPen ( NoPen ); p-> setBrush ( colorGroup ( ). color ( QColorGroup::Base )); p-> drawEllipse ( fr ); p-> setBrush ( NoBrush ); // draw ticks p->setPen( QPen( colorGroup ( ). color ( QColorGroup::Text ), 1 ) ); for ( int i = 0; i < 12; i++ ) p->drawLine( rotate( center, l1, i * 30 ), rotate( center, l2, i * 30 ) ); } diff --git a/noncore/tools/clock/clock.h b/noncore/tools/clock/clock.h index 1e5aa2c..fa12b61 100644 --- a/noncore/tools/clock/clock.h +++ b/noncore/tools/clock/clock.h @@ -1,73 +1,74 @@ /********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef CLOCK_H #define CLOCK_H #include <qdatetime.h> #include <qvbox.h> +#include <qpixmap.h> class QLCDNumber; class QLabel; class QTimer; class QRadioButton; class QPushButton; class QDateTime; class AnalogClock : public QFrame { Q_OBJECT public: - AnalogClock( QWidget * parent = 0, const char * name = 0 ) - : QFrame( parent, name ), clear(true) {} + AnalogClock( QWidget * parent = 0, const char * name = 0 ); QSizePolicy sizePolicy() const; void display( const QTime& time ); protected: void drawContents( QPainter *p ); private: + QPixmap bg; QTime currTime; QTime prevTime; bool clear; QPoint rotate( QPoint center, QPoint p, int angle ); void drawPointers ( QPainter *, const QRect &r, const QColor &c, const QTime &t, const QTime *t2 = 0 ); }; class Clock : public QVBox { Q_OBJECT public: Clock( QWidget * parent = 0, const char * name = 0, WFlags f=0 ); ~Clock(); QDateTime when; bool bSound; int hour, minute, snoozeTime; private slots: void slotSet(); void slotReset(); void modeSelect(int); void updateClock(); diff --git a/pics/clock/bg.png b/pics/clock/bg.png Binary files differnew file mode 100644 index 0000000..0954ca6 --- a/dev/null +++ b/pics/clock/bg.png |