summaryrefslogtreecommitdiff
authorzecke <zecke>2002-05-21 14:21:59 (UTC)
committer zecke <zecke>2002-05-21 14:21:59 (UTC)
commitd65dc25caec62d4c554c99fbc151bf4d07c63b72 (patch) (side-by-side diff)
tree37485591f8cd642df0177ea77b860f8d4432e9ef
parent3eb1e88e5915c9dbd521a150cc5dd7eb7dbb3663 (diff)
downloadopie-d65dc25caec62d4c554c99fbc151bf4d07c63b72.zip
opie-d65dc25caec62d4c554c99fbc151bf4d07c63b72.tar.gz
opie-d65dc25caec62d4c554c99fbc151bf4d07c63b72.tar.bz2
usbaility updates a clock should be able to set the time
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/tools/clock/clock.cpp14
-rw-r--r--noncore/tools/clock/clock.h1
-rw-r--r--noncore/tools/clock/clock.pro2
3 files changed, 15 insertions, 2 deletions
diff --git a/noncore/tools/clock/clock.cpp b/noncore/tools/clock/clock.cpp
index a21a061..ea8e8ca 100644
--- a/noncore/tools/clock/clock.cpp
+++ b/noncore/tools/clock/clock.cpp
@@ -10,48 +10,50 @@
**
** 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.
**
**********************************************************************/
#include "clock.h"
#include "setAlarm.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 <qpe/resource.h>
#include <qsound.h>
#include <qtimer.h>
+#include <opie/oclickablelabel.h>
+
#include <qlcdnumber.h>
#include <qslider.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qtimer.h>
#include <qpushbutton.h>
#include <qradiobutton.h>
#include <qbuttongroup.h>
#include <qpainter.h>
#include <qmessagebox.h>
#include <qdatetime.h>
#include <math.h>
const double deg2rad = 0.017453292519943295769; // pi/180
const int sw_prec = 2;
static void toggleScreenSaver( bool on )
{
QCopEnvelope e("QPE/System", "setScreenSaverMode(int)" );
e << (on ? QPEApplication::Enable: QPEApplication::DisableSuspend );
}
Clock::Clock( QWidget * parent, const char * name, WFlags f )
@@ -71,87 +73,92 @@ Clock::Clock( QWidget * parent, const char * name, WFlags f )
aclock->display( QTime::currentTime() );
aclock->setLineWidth( 2 );
QHBox *hb = new QHBox( this );
hb->setMargin( 0 );
QWidget *space = new QWidget( hb );
lcd = new QLCDNumber( hb );
lcd->setSegmentStyle( QLCDNumber::Flat );
lcd->setFrameStyle( QFrame::NoFrame );
lcd->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ) );
lcd->setFixedHeight( 23 );
ampmLabel = new QLabel( tr("PM"), hb );
ampmLabel->setFont( QFont( "Helvetica", 14, QFont::Bold ) );
ampmLabel->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Preferred ) );
ampmLabel->setAlignment( AlignLeft | AlignBottom );
space = new QWidget( hb );
date = new QLabel( this );
date->setAlignment( AlignHCenter | AlignVCenter );
date->setFont( QFont( "Helvetica", 14, QFont::Bold ) );
date->setText( TimeString::longDateString( QDate::currentDate() ) );
QWidget *controls = new QWidget( this );
- QGridLayout *gl = new QGridLayout( controls, 2, 2, 6, 4 );
+ QGridLayout *gl = new QGridLayout( controls, 3, 2, 6, 4 );
QButtonGroup *grp = new QButtonGroup( controls );
grp->setRadioButtonExclusive( true );
grp->hide();
clockRB = new QRadioButton ( tr( "Clock" ), controls );
gl->addWidget( clockRB, 0, 0 );
grp->insert( clockRB );
swatchRB = new QRadioButton ( tr( "Stopwatch" ), controls );
gl->addWidget( swatchRB, 1, 0 );
grp->insert( swatchRB );
connect( grp, SIGNAL(clicked(int)), this, SLOT(modeSelect(int)) );
grp->setButton( 0 );
set = new QPushButton ( controls );
set->setMaximumSize(50,30);
gl->addWidget( set, 0, 1 );
set->setText( tr( "Start" ) );
set->setEnabled( FALSE );
grp->insert( set );
reset = new QPushButton ( controls );
gl->addWidget( reset, 1, 1 );
reset->setText( tr( "Reset" ) );
reset->setEnabled( FALSE );
grp->insert( reset );
alarmOffBtn = new QPushButton ( controls );
// alarmOffBtn->setMaximumSize(60,30);
gl->addWidget( alarmOffBtn, 0, 2 );
alarmBtn = new QPushButton ( controls );
// alarmBtn->setMaximumSize(60,30);
gl->addWidget( alarmBtn, 1, 2 );
alarmBtn->setText( tr( "Set Alarm" ) );
+ OClickableLabel *click = new OClickableLabel(controls, "label" );
+ click->setText(tr("Set date and time." ) );
+ gl->addMultiCellWidget( click, 3, 3, 0, 2, AlignHCenter);
+ connect( click, SIGNAL(clicked() ), this, SLOT(slotAdjustTime() ) );
+
connect( set, SIGNAL( pressed() ), SLOT( slotSet() ) );
connect( reset, SIGNAL( clicked() ), SLOT( slotReset() ) );
connect( alarmBtn, SIGNAL( clicked() ), SLOT( slotSetAlarm() ) );
connect( snoozeBtn, SIGNAL( clicked() ), SLOT( slotSnooze() ) );
connect( alarmOffBtn, SIGNAL( clicked() ), SLOT( slotToggleAlarm() ) );
connect( qApp, SIGNAL(appMessage(const QCString&, const QByteArray&)),
this, SLOT(appMessage(const QCString&, const QByteArray&)) );
t = new QTimer( this );
connect( t, SIGNAL( timeout() ), SLOT( updateClock() ) );
t->start( 1000 );
connect( qApp, SIGNAL( timeChanged() ), SLOT( updateClock() ) );
swatch_running = FALSE;
swatch_totalms = 0;
connect( qApp, SIGNAL(clockChanged(bool)), this, SLOT(changeClock(bool)) );
QString tmp = config.readEntry("clockAlarmHour", "");
bool ok;
hour = tmp.toInt(&ok,10);
@@ -453,24 +460,29 @@ void AnalogClock::drawContents( QPainter *p )
p->drawLine( s1, s2 );
if ( !clear )
prevTime = currTime;
}
void AnalogClock::display( const QTime& t )
{
currTime = t;
clear = true;
repaint( false );
clear = false;
repaint( false );
}
QPoint AnalogClock::rotate( QPoint c, QPoint p, int a )
{
double angle = deg2rad * ( - a + 180 );
double nx = c.x() - ( p.x() - c.x() ) * cos( angle ) -
( p.y() - c.y() ) * sin( angle );
double ny = c.y() - ( p.y() - c.y() ) * cos( angle ) +
( p.x() - c.x() ) * sin( angle );
return QPoint( nx, ny );
}
+void Clock::slotAdjustTime()
+{
+ QCopEnvelope e("QPE/System", "execute(QString)");
+ e << QString("systemtime");
+}
diff --git a/noncore/tools/clock/clock.h b/noncore/tools/clock/clock.h
index 9b756b5..024dd28 100644
--- a/noncore/tools/clock/clock.h
+++ b/noncore/tools/clock/clock.h
@@ -55,44 +55,45 @@ private:
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();
void changeClock( bool );
void slotSetAlarm();
void slotSnooze();
void slotToggleAlarm();
void alarmOn();
void alarmOff();
void appMessage(const QCString& msg, const QByteArray& data);
void timerEvent( QTimerEvent *e );
+ void slotAdjustTime();
private:
void clearClock();
bool alarmBool;
QTimer *t;
QLCDNumber *lcd;
QLabel *date;
QLabel *ampmLabel;
QPushButton *set, *reset, *alarmBtn, *snoozeBtn, *alarmOffBtn;
QRadioButton *clockRB, *swatchRB;
AnalogClock *aclock;
QTime swatch_start;
int swatch_totalms;
bool swatch_running;
bool ampm;
};
#endif
diff --git a/noncore/tools/clock/clock.pro b/noncore/tools/clock/clock.pro
index 5373515..7eecce1 100644
--- a/noncore/tools/clock/clock.pro
+++ b/noncore/tools/clock/clock.pro
@@ -1,24 +1,24 @@
TEMPLATE = app
CONFIG = qt warn_on release
DESTDIR = $(OPIEDIR)/bin
HEADERS = clock.h setAlarm.h
SOURCES = clock.cpp setAlarm.cpp \
main.cpp
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
-LIBS += -lqpe
+LIBS += -lqpe -lopie
INTERFACES =
TARGET = clock
TRANSLATIONS = ../i18n/de/clock.ts
TRANSLATIONS += ../i18n/pt_BR/clock.ts
TRANSLATIONS += ../i18n/en/clock.ts
TRANSLATIONS += ../i18n/hu/clock.ts
TRANSLATIONS += ../i18n/sl/clock.ts
TRANSLATIONS += ../i18n/ja/clock.ts
TRANSLATIONS += ../i18n/ko/clock.ts
TRANSLATIONS += ../i18n/fr/clock.ts
TRANSLATIONS += ../i18n/pl/clock.ts
TRANSLATIONS += ../i18n/no/clock.ts
TRANSLATIONS += ../i18n/zh_CN/clock.ts
TRANSLATIONS += ../i18n/zh_TW/clock.ts