summaryrefslogtreecommitdiff
authorpaule <paule>2007-01-13 07:42:23 (UTC)
committer paule <paule>2007-01-13 07:42:23 (UTC)
commita1360b0af73518d97ebe63ad3cd156cd8b57c8b5 (patch) (side-by-side diff)
tree2630d54134a775f48254624273a8b381e77e39c0
parentb1075202780c1d807c9d9f5286a2ffa7714bae51 (diff)
downloadopie-a1360b0af73518d97ebe63ad3cd156cd8b57c8b5.zip
opie-a1360b0af73518d97ebe63ad3cd156cd8b57c8b5.tar.gz
opie-a1360b0af73518d97ebe63ad3cd156cd8b57c8b5.tar.bz2
* Increase font size (fixes bug #1597)
* Improve usability of snooze function (fixes bug #1598) * Fix stretched icon (fixes bug #1616)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/clock/alarmdlgbase.ui490
-rw-r--r--noncore/tools/clock/clock.cpp19
-rw-r--r--noncore/tools/clock/clock.h1
3 files changed, 494 insertions, 16 deletions
diff --git a/noncore/tools/clock/alarmdlgbase.ui b/noncore/tools/clock/alarmdlgbase.ui
index 63759f3..944f532 100644
--- a/noncore/tools/clock/alarmdlgbase.ui
+++ b/noncore/tools/clock/alarmdlgbase.ui
@@ -1,154 +1,636 @@
<!DOCTYPE UI><UI>
<class>AlarmDlgBase</class>
<widget>
<class>QDialog</class>
<property stdset="1">
<name>name</name>
<cstring>AlarmDlgBase</cstring>
</property>
<property stdset="1">
<name>geometry</name>
<rect>
<x>0</x>
<y>0</y>
- <width>124</width>
- <height>92</height>
+ <width>199</width>
+ <height>243</height>
</rect>
</property>
<property stdset="1">
<name>caption</name>
<string>Form1</string>
</property>
<property>
<name>layoutMargin</name>
</property>
<vbox>
<property stdset="1">
<name>margin</name>
- <number>6</number>
+ <number>11</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
<widget>
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout1</cstring>
</property>
<hbox>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>pixmap</cstring>
</property>
<property stdset="1">
<name>scaledContents</name>
- <bool>true</bool>
+ <bool>false</bool>
</property>
</widget>
<spacer>
<property>
<name>name</name>
<cstring>Spacer1</cstring>
</property>
<property stdset="1">
<name>orientation</name>
<enum>Horizontal</enum>
</property>
<property stdset="1">
<name>sizeType</name>
<enum>Expanding</enum>
</property>
<property>
<name>sizeHint</name>
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>alarmDlgLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>TextLabel1</string>
</property>
+ <property stdset="1">
+ <name>scaledContents</name>
+ <bool>false</bool>
+ </property>
</widget>
</hbox>
</widget>
<widget>
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout2</cstring>
</property>
<hbox>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>TextLabel2</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Snooze</string>
</property>
</widget>
<widget>
<class>QSpinBox</class>
<property stdset="1">
<name>name</name>
<cstring>snoozeTime</cstring>
</property>
<property stdset="1">
+ <name>caption</name>
+ <string></string>
+ </property>
+ <property stdset="1">
<name>suffix</name>
<string> mins</string>
</property>
<property stdset="1">
<name>maxValue</name>
<number>60</number>
</property>
<property stdset="1">
<name>lineStep</name>
<number>5</number>
</property>
+ <property stdset="1">
+ <name>value</name>
+ <number>5</number>
+ </property>
+ <property>
+ <name>layoutMargin</name>
+ </property>
</widget>
</hbox>
</widget>
<widget>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
+ <cstring>cmdSnooze</cstring>
+ </property>
+ <property stdset="1">
+ <name>minimumSize</name>
+ <size>
+ <width>0</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property stdset="1">
+ <name>palette</name>
+ <palette>
+ <active>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>191</green>
+ <blue>191</blue>
+ </color>
+ <color>
+ <red>127</red>
+ <green>64</green>
+ <blue>64</blue>
+ </color>
+ <color>
+ <red>170</red>
+ <green>85</green>
+ <blue>85</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>238</red>
+ <green>238</green>
+ <blue>230</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>221</green>
+ <blue>118</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </active>
+ <disabled>
+ <color>
+ <red>128</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>166</green>
+ <blue>166</blue>
+ </color>
+ <color>
+ <red>127</red>
+ <green>64</green>
+ <blue>64</blue>
+ </color>
+ <color>
+ <red>170</red>
+ <green>85</green>
+ <blue>85</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>128</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>238</red>
+ <green>238</green>
+ <blue>230</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>221</green>
+ <blue>118</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </disabled>
+ <inactive>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>166</green>
+ <blue>166</blue>
+ </color>
+ <color>
+ <red>127</red>
+ <green>64</green>
+ <blue>64</blue>
+ </color>
+ <color>
+ <red>170</red>
+ <green>85</green>
+ <blue>85</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>238</red>
+ <green>238</green>
+ <blue>230</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>221</green>
+ <blue>118</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </inactive>
+ </palette>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Snooze</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
<cstring>cmdOk</cstring>
</property>
<property stdset="1">
+ <name>minimumSize</name>
+ <size>
+ <width>0</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property stdset="1">
+ <name>palette</name>
+ <palette>
+ <active>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>192</red>
+ <green>255</green>
+ <blue>192</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>223</red>
+ <green>255</green>
+ <blue>223</blue>
+ </color>
+ <color>
+ <red>96</red>
+ <green>127</green>
+ <blue>96</blue>
+ </color>
+ <color>
+ <red>128</red>
+ <green>170</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>238</red>
+ <green>238</green>
+ <blue>230</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>221</green>
+ <blue>118</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </active>
+ <disabled>
+ <color>
+ <red>128</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>192</red>
+ <green>255</green>
+ <blue>192</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>230</red>
+ <green>255</green>
+ <blue>230</blue>
+ </color>
+ <color>
+ <red>96</red>
+ <green>127</green>
+ <blue>96</blue>
+ </color>
+ <color>
+ <red>128</red>
+ <green>170</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>128</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>238</red>
+ <green>238</green>
+ <blue>230</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>221</green>
+ <blue>118</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </disabled>
+ <inactive>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>192</red>
+ <green>255</green>
+ <blue>192</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>230</red>
+ <green>255</green>
+ <blue>230</blue>
+ </color>
+ <color>
+ <red>96</red>
+ <green>127</green>
+ <blue>96</blue>
+ </color>
+ <color>
+ <red>128</red>
+ <green>170</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>238</red>
+ <green>238</green>
+ <blue>230</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>221</green>
+ <blue>118</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </inactive>
+ </palette>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Close</string>
</property>
</widget>
</vbox>
</widget>
</UI>
diff --git a/noncore/tools/clock/clock.cpp b/noncore/tools/clock/clock.cpp
index 9b324e0..325a307 100644
--- a/noncore/tools/clock/clock.cpp
+++ b/noncore/tools/clock/clock.cpp
@@ -9,242 +9,239 @@
** 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.
**
**********************************************************************/
// changes added and Copyright (C) by L. J. Potter <ljp@llornkcor.com> 2002
// changes added and Copyright (C) by Holger Freyther 2004,2005
#include "clock.h"
#include "analogclock.h"
#include <qtabwidget.h>
#include <opie2/ofiledialog.h>
#include <opie2/oresource.h>
#include <qpe/qpeapplication.h>
#include <qpe/qcopenvelope_qws.h>
#include <qpe/config.h>
#include <qpe/timestring.h>
#include <qpe/alarmserver.h>
#include <qpe/sound.h>
#include <qsound.h>
#include <qtimer.h>
#include <qlcdnumber.h>
#include <qslider.h>
#include <qlabel.h>
#include <qtimer.h>
#include <qpushbutton.h>
#include <qtoolbutton.h>
#include <qpainter.h>
#include <qmessagebox.h>
#include <qdatetime.h>
#include <qspinbox.h>
#include <qcombobox.h>
#include <qcheckbox.h>
#include <qgroupbox.h>
#include <qlayout.h>
#include <qhbox.h>
#include <qlineedit.h>
static const int sw_prec = 2;
static const int magic_daily = 2292922;
static const int magic_countdown = 2292923;
static const int magic_snooze = 2292924;
static const int magic_playmp = 2292925;
static const char ALARM_CLOCK_CHANNEL [] = "QPE/Application/clock";
static const char ALARM_CLOCK_MESSAGE [] = "alarm(QDateTime,int)";
#include <math.h>
#include <unistd.h>
#include <sys/types.h>
#include <pthread.h>
static void toggleScreenSaver( bool on )
{
QCopEnvelope e( "QPE/System", "setScreenSaverMode(int)" );
e << ( on ? QPEApplication::Enable : QPEApplication::DisableSuspend );
}
static void startPlayer()
{
Config config( "qpe" );
config.setGroup( "Time" );
sleep(15);
QCopEnvelope e( "QPE/Application/opieplayer", "setDocument(QString)" );
e << config.readEntry( "mp3File", "" );
}
class MySpinBox : public QSpinBox
{
public:
QLineEdit *lineEdit() const {
return editor();
}
};
//
//
//
AlarmDlg::AlarmDlg(QWidget *parent, const char *name, bool modal,
const QString &txt) :
AlarmDlgBase(parent, name, modal)
{
+ // Increase font size to make it a little more readable
+ QFont f(font());
+ f.setPointSize((int)(f.pointSize() * 1.7));
+ setFont(f);
+
setCaption( tr("Clock") );
pixmap->setPixmap( Opie::Core::OResource::loadPixmap("clock/alarmbell") );
alarmDlgLabel->setText(txt);
- connect(snoozeTime, SIGNAL(valueChanged(int)), this,
- SLOT(changePrompt(int)));
- connect(cmdOk, SIGNAL(clicked()), this, SLOT(checkSnooze()));
+ connect(cmdSnooze, SIGNAL(clicked()), this, SLOT(checkSnooze()));
+ connect(cmdOk, SIGNAL(clicked()), this, SLOT(accept()));
}
+
//
//
//
void
AlarmDlg::setText(const QString &txt)
{
alarmDlgLabel->setText(txt);
}
//
//
//
void
AlarmDlg::checkSnooze(void)
{
//
// Ensure we have only one snooze alarm.
//
AlarmServer::deleteAlarm(QDateTime(), ALARM_CLOCK_CHANNEL,
ALARM_CLOCK_MESSAGE, magic_snooze);
if (snoozeTime->value() > 0) {
QDateTime wake = QDateTime::currentDateTime();
wake = wake.addSecs(snoozeTime->value() * 60); // snoozeTime in minutes
AlarmServer::addAlarm(wake, ALARM_CLOCK_CHANNEL,
ALARM_CLOCK_MESSAGE, magic_snooze);
}
accept();
}
-void
-AlarmDlg::changePrompt(int mins)
-{
- cmdOk->setText(mins > 0 ? tr("Snooze") : tr("Close") );
-}
-
-
-
Clock::Clock( QWidget * parent, const char *, WFlags f )
: ClockBase( parent, "clock", f ), swatch_splitms(99), init(FALSE) // No tr
{
alarmDlg = 0;
swLayout = 0;
dayBtn = new QToolButton * [7];
Config config( "qpe" );
config.setGroup("Time");
ampm = config.readBoolEntry( "AMPM", TRUE );
onMonday = config.readBoolEntry( "MONDAY" );
connect( tabs, SIGNAL(currentChanged(QWidget*)),
this, SLOT(tabChanged(QWidget*)) );
analogStopwatch = new AnalogClock( swFrame );
stopwatchLcd = new QLCDNumber( swFrame );
stopwatchLcd->setFrameStyle( QFrame::NoFrame );
stopwatchLcd->setSegmentStyle( QLCDNumber::Flat );
stopwatchLcd->setSizePolicy( QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred) );
analogClock->display( QTime::currentTime() );
clockLcd->setNumDigits( 5 );
clockLcd->setFixedWidth( clockLcd->sizeHint().width() );
date->setText( TimeString::dateString( QDate::currentDate(), TimeString::currentDateFormat() ) );
if ( qApp->desktop()->width() < 200 )
date->setFont( QFont(date->font().family(), 14, QFont::Bold) );
if ( qApp->desktop()->height() > 240 ) {
clockLcd->setFixedHeight( 30 );
stopwatchLcd->setFixedHeight( 30 );
}
connect( stopStart, SIGNAL(pressed()), SLOT(stopStartStopWatch()) );
connect( reset, SIGNAL(pressed()), SLOT(resetStopWatch()) );
t = new QTimer( this );
connect( t, SIGNAL(timeout()), SLOT(updateClock()) );
t->start( 1000 );
applyAlarmTimer = new QTimer( this );
connect( applyAlarmTimer, SIGNAL(timeout()),
this, SLOT(applyDailyAlarm()) );
alarmt = new QTimer( this );
connect( alarmt, SIGNAL(timeout()), SLOT(alarmTimeout()) );
connect( qApp, SIGNAL(timeChanged()), SLOT(updateClock()) );
connect( qApp, SIGNAL(timeChanged()), SLOT(applyDailyAlarm()) );
swatch_running = FALSE;
swatch_totalms = 0;
swatch_currLap = 0;
swatch_dispLap = 0;
stopwatchLcd->setNumDigits( 8+1+sw_prec );
stopwatchLcd->display( "00:00:00.00" );
QVBoxLayout *lvb = new QVBoxLayout( lapFrame );
nextLapBtn = new QToolButton( UpArrow, lapFrame );
connect( nextLapBtn, SIGNAL(clicked()), this, SLOT(nextLap()) );
nextLapBtn->setAccel( Key_Up );
lvb->addWidget( nextLapBtn );
prevLapBtn = new QToolButton( DownArrow, lapFrame );
connect( prevLapBtn, SIGNAL(clicked()), this, SLOT(prevLap()) );
prevLapBtn->setAccel( Key_Down );
prevLapBtn->setMinimumWidth( 15 );
lvb->addWidget( prevLapBtn );
prevLapBtn->setEnabled( FALSE );
nextLapBtn->setEnabled( FALSE );
reset->setEnabled( FALSE );
lapLcd->setNumDigits( 8+1+sw_prec );
lapLcd->display( "00:00:00.00" );
splitLcd->setNumDigits( 8+1+sw_prec );
splitLcd->display( "00:00:00.00" );
lapNumLcd->display( 1 );
lapTimer = new QTimer( this );
connect( lapTimer, SIGNAL(timeout()), this, SLOT(lapTimeout()) );
for (uint s = 0; s < swatch_splitms.count(); s++ )
swatch_splitms[(int)s] = 0;
connect( qApp, SIGNAL(clockChanged(bool)), this, SLOT(changeClock(bool)) );
cdGroup->hide(); // XXX implement countdown timer.
connect( dailyHour, SIGNAL(valueChanged(int)), this, SLOT(scheduleApplyDailyAlarm()) );
connect( dailyMinute, SIGNAL(valueChanged(int)), this, SLOT(setDailyMinute(int)) );
connect( dailyAmPm, SIGNAL(activated(int)), this, SLOT(setDailyAmPm(int)) );
connect( dailyEnabled, SIGNAL(toggled(bool)), this, SLOT(enableDaily(bool)) );
cdLcd->display( "00:00" );
dailyMinute->setValidator(0);
diff --git a/noncore/tools/clock/clock.h b/noncore/tools/clock/clock.h
index c063a9b..10bbfef 100644
--- a/noncore/tools/clock/clock.h
+++ b/noncore/tools/clock/clock.h
@@ -1,116 +1,115 @@
/**********************************************************************
** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** 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>
class QTimer;
class QLabel;
class QDialog;
class AnalogClock;
class QBoxLayout;
class QToolButton;
class AlarmDlg: public AlarmDlgBase
{
Q_OBJECT
public:
AlarmDlg(QWidget *parent = 0, const char *name = 0, bool modal = TRUE,
const QString &txt = "Alarm");
void setText(const QString &txt);
private slots:
void checkSnooze(void);
- void changePrompt(int minutes);
};
class Clock : public ClockBase
{
Q_OBJECT
public:
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 stopStartStopWatch();
void resetStopWatch();
void prevLap();
void nextLap();
void lapTimeout();
void tabChanged(QWidget*);
void updateClock();
void changeClock( bool );
void setDailyAmPm( int );
void setDailyMinute( int );
void dailyEdited();
void enableDaily( bool );
void appMessage(const QCString& msg, const QByteArray& data);
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);
private:
QTimer *t;
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;
bool onMonday;
int alarmCount;
AlarmDlg* alarmDlg;
QToolButton **dayBtn;
bool init;
QTimer *applyAlarmTimer;
};
#endif