summaryrefslogtreecommitdiff
path: root/noncore/tools
authorkergoth <kergoth>2003-04-24 21:04:40 (UTC)
committer kergoth <kergoth>2003-04-24 21:04:40 (UTC)
commitf7ed0f1e02fa05b330d94b2a4928f3e249edb98f (patch) (side-by-side diff)
tree300a828ddf7f4d8c7441f394c0cd828cd5200be2 /noncore/tools
parentb59b200a00486bc68810317eb7f14c565604a475 (diff)
downloadopie-f7ed0f1e02fa05b330d94b2a4928f3e249edb98f.zip
opie-f7ed0f1e02fa05b330d94b2a4928f3e249edb98f.tar.gz
opie-f7ed0f1e02fa05b330d94b2a4928f3e249edb98f.tar.bz2
Add background to the clock.
Diffstat (limited to 'noncore/tools') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/clock/clock.cpp6
-rw-r--r--noncore/tools/clock/clock.h5
2 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();