-rw-r--r-- | noncore/tools/clock/clock.h | 112 |
1 files changed, 58 insertions, 54 deletions
diff --git a/noncore/tools/clock/clock.h b/noncore/tools/clock/clock.h index 00d097d..c063a9b 100644 --- a/noncore/tools/clock/clock.h +++ b/noncore/tools/clock/clock.h @@ -1,112 +1,116 @@ /********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** -** This file is part of Qtopia Environment. +** This file is part of the 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 "clockbase.h" +#include "alarmdlgbase.h" #include <qdatetime.h> -#include <qvbox.h> -#include <qpixmap.h> -class QLCDNumber; -class QLabel; class QTimer; -class QRadioButton; -class QPushButton; -class QDateTime; +class QLabel; +class QDialog; +class AnalogClock; +class QBoxLayout; +class QToolButton; -class AnalogClock : public QFrame +class AlarmDlg: public AlarmDlgBase { Q_OBJECT public: - AnalogClock( QWidget * parent = 0, const char * name = 0 ); - - QSizePolicy sizePolicy() const; - - void display( const QTime& time ); - - -protected: - void drawContents( QPainter *p ); - -private: + AlarmDlg(QWidget *parent = 0, const char *name = 0, bool modal = TRUE, + const QString &txt = "Alarm"); - QPixmap bg; - QTime currTime; - QTime prevTime; - bool clear; + void setText(const QString &txt); - QPoint rotate( QPoint center, QPoint p, int angle ); - void drawPointers ( QPainter *, const QRect &r, const QColor &c, const QTime &t, const QTime *t2 = 0 ); +private slots: + void checkSnooze(void); + void changePrompt(int minutes); }; -class Clock : public QVBox +class Clock : public ClockBase { Q_OBJECT public: - Clock( QWidget * parent = 0, const char * name = 0, WFlags f=0 ); + Clock( QWidget *parent=0, const char *name=0, WFlags fl=0 ); ~Clock(); QDateTime when; bool bSound; int hour, minute, snoozeTime; static QString appName() { return QString::fromLatin1("clock"); } private slots: - void slotSet(); - void slotReset(); - void modeSelect(int); + void stopStartStopWatch(); + void resetStopWatch(); + void prevLap(); + void nextLap(); + void lapTimeout(); + void tabChanged(QWidget*); void updateClock(); void changeClock( bool ); - void slotSetAlarm(); - void slotSnooze(); - void slotToggleAlarm(); - void alarmOn(); - void alarmOff(); + void setDailyAmPm( int ); + void setDailyMinute( int ); + void dailyEdited(); + void enableDaily( bool ); void appMessage(const QCString& msg, const QByteArray& data); - void timerEvent( QTimerEvent *e ); - void slotAdjustTime(); + void alarmTimeout(); + void applyDailyAlarm(); + void scheduleApplyDailyAlarm(); + void slotBrowseMp3File(); + +protected: + QDateTime nextAlarm( int h, int m ); + int dayBtnIdx( int ) const; + void closeEvent( QCloseEvent *e ); + void updateLap(); + void setSwatchLcd( QLCDNumber *lcd, int ms, bool showMs ); + bool eventFilter( QObject *, QEvent * ); + bool spinBoxValid( QSpinBox *sb ); + bool validDaysSelected(void); - void slotStartTimer(); - void slotStopTimer(); - void slotResetTimer(); - void setSwatchMode( int ); private: - bool alarmBool; QTimer *t; - QLCDNumber *lcd; - QLabel *date; - QLabel *ampmLabel; - QPushButton *set, *reset, *alarmBtn, *snoozeBtn, *alarmOffBtn; - QRadioButton *clockRB, *swatchRB; - AnalogClock *aclock; + QTimer *alarmt; QTime swatch_start; int swatch_totalms; + QArray<int> swatch_splitms; bool swatch_running; + int swatch_currLap; + int swatch_dispLap; + QToolButton *prevLapBtn; + QToolButton *nextLapBtn; + QTimer *lapTimer; + AnalogClock* analogStopwatch; + QLCDNumber* stopwatchLcd; + QBoxLayout *swLayout; bool ampm; - void clearClock(); - void clearTimer(); - void startSWatch(); - void stopSWatch(); + bool onMonday; + int alarmCount; + AlarmDlg* alarmDlg; + QToolButton **dayBtn; + bool init; + QTimer *applyAlarmTimer; }; #endif |