summaryrefslogtreecommitdiff
authorhakan <hakan>2002-03-10 18:31:30 (UTC)
committer hakan <hakan>2002-03-10 18:31:30 (UTC)
commitaeb745907f05b7d0729d273f72b5641e890a4c27 (patch) (unidiff)
treea1ebe151c5112e56c1caabcbb9e6b92d320ef8e3
parent1800f044e7d123247cd05a4fd934675b5fcdd97b (diff)
downloadopie-aeb745907f05b7d0729d273f72b5641e890a4c27.zip
opie-aeb745907f05b7d0729d273f72b5641e890a4c27.tar.gz
opie-aeb745907f05b7d0729d273f72b5641e890a4c27.tar.bz2
Added option to show date as well as time in the clockapplet in the taskbar
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/clockapplet/clock.cpp29
-rw-r--r--core/applets/clockapplet/clock.h2
2 files changed, 24 insertions, 7 deletions
diff --git a/core/applets/clockapplet/clock.cpp b/core/applets/clockapplet/clock.cpp
index 178dcbe..fa76eb0 100644
--- a/core/applets/clockapplet/clock.cpp
+++ b/core/applets/clockapplet/clock.cpp
@@ -1,97 +1,112 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "clock.h" 21#include "clock.h"
22 22
23#include <qpe/global.h> 23#include <qpe/global.h>
24#include <qpe/qpeapplication.h> 24#include <qpe/qpeapplication.h>
25#include <qpe/config.h> 25#include <qpe/config.h>
26 26
27#include <qmainwindow.h> 27#include <qmainwindow.h>
28#include <qlayout.h> 28#include <qlayout.h>
29#include <qpushbutton.h> 29#include <qpushbutton.h>
30#include <qmessagebox.h> 30#include <qmessagebox.h>
31#include <qdatetime.h> 31#include <qdatetime.h>
32#include <qtimer.h> 32#include <qtimer.h>
33#include <qpopupmenu.h> 33#include <qpopupmenu.h>
34#include <stdlib.h> 34#include <stdlib.h>
35 35
36 36
37LauncherClock::LauncherClock( QWidget *parent ) : QLabel( parent ) 37LauncherClock::LauncherClock( QWidget *parent ) : QLabel( parent )
38{ 38{
39 // If you want a sunken border around the clock do this: 39 // If you want a sunken border around the clock do this:
40 // setFrameStyle( QFrame::Panel | QFrame::Sunken ); 40 // setFrameStyle( QFrame::Panel | QFrame::Sunken );
41 setFont( QFont( "Helvetica", 10, QFont::Normal ) ); 41 setFont( QFont( "Helvetica", 10, QFont::Normal ) );
42 connect( qApp, SIGNAL( timeChanged() ), this, SLOT( updateTime( ) ) ); 42 connect( qApp, SIGNAL( timeChanged() ), this, SLOT( updateTime( ) ) );
43 connect( qApp, SIGNAL( clockChanged( bool ) ), 43 connect( qApp, SIGNAL( clockChanged( bool ) ),
44 this, SLOT( slotClockChanged( bool ) ) ); 44 this, SLOT( slotClockChanged( bool ) ) );
45 Config config( "qpe" ); 45 readConfig();
46 config.setGroup( "Time" );
47 ampmFormat = config.readBoolEntry( "AMPM", TRUE );
48 timerId = 0; 46 timerId = 0;
49 timerEvent( 0 ); 47 timerEvent( 0 );
50 show(); 48 show();
51} 49}
52 50
51void LauncherClock::readConfig() {
52 Config config( "qpe" );
53 config.setGroup( "Time" );
54 ampmFormat = config.readBoolEntry( "AMPM", TRUE );
55 config.setGroup( "Date" );
56 format = config.readNumEntry("ClockApplet",0);
57}
58
53void LauncherClock::mouseReleaseEvent( QMouseEvent * ) 59void LauncherClock::mouseReleaseEvent( QMouseEvent * )
54{ 60{
55 Global::execute( "systemtime" ); 61 Global::execute( "systemtime" );
56} 62}
57 63
58 64
59void LauncherClock::timerEvent( QTimerEvent *e ) 65void LauncherClock::timerEvent( QTimerEvent *e )
60{ 66{
61 if ( !e || e->timerId() == timerId ) { 67 if ( !e || e->timerId() == timerId ) {
62 killTimer( timerId ); 68 killTimer( timerId );
63 changeTime(); 69 changeTime();
64 QTime t = QTime::currentTime(); 70 QTime t = QTime::currentTime();
65 int ms = (60 - t.second())*1000 - t.msec(); 71 int ms = (60 - t.second())*1000 - t.msec();
66 timerId = startTimer( ms ); 72 timerId = startTimer( ms );
67 } else { 73 } else {
68 QLabel::timerEvent( e ); 74 QLabel::timerEvent( e );
69 } 75 }
70} 76}
71 77
72void LauncherClock::updateTime( void ) 78void LauncherClock::updateTime( void )
73{ 79{
74 changeTime(); 80 changeTime();
75} 81}
76 82
77void LauncherClock::changeTime( void ) 83void LauncherClock::changeTime( void )
78{ 84{
79 QTime tm = QDateTime::currentDateTime().time(); 85 QTime tm = QDateTime::currentDateTime().time();
80 QString s; 86 QString s;
81 if( ampmFormat ) { 87 if( ampmFormat ) {
82 int hour = tm.hour(); 88 int hour = tm.hour();
83 if (hour == 0) 89 if (hour == 0)
84 hour = 12; 90 hour = 12;
85 if (hour > 12) 91 if (hour > 12)
86 hour -= 12; 92 hour -= 12;
87 s.sprintf( "%2d%c%02d %s", hour, ':', tm.minute(), (tm.hour() >= 12) ? "PM" : "AM" ); 93 s.sprintf( "%2d:%02d %s", hour, tm.minute(),
94 (tm.hour() >= 12) ? "PM" : "AM" );
88 } else 95 } else
89 s.sprintf( "%2d%c%02d", tm.hour(), ':', tm.minute() ); 96 s.sprintf( "%2d:%02d", tm.hour(), tm.minute() );
90 setText( s ); 97
98 if (format==1) {
99 QDate dm = QDate::currentDate();
100 QString d;
101 d.sprintf("%d/%d ", dm.day(), dm.month());
102 setText( d+s );
103 } else {
104 setText( s );
105 }
91} 106}
92 107
93void LauncherClock::slotClockChanged( bool pm ) 108void LauncherClock::slotClockChanged( bool pm )
94{ 109{
95 ampmFormat = pm; 110 readConfig();
96 updateTime(); 111 updateTime();
97} 112}
diff --git a/core/applets/clockapplet/clock.h b/core/applets/clockapplet/clock.h
index 9670d90..caa0c5f 100644
--- a/core/applets/clockapplet/clock.h
+++ b/core/applets/clockapplet/clock.h
@@ -1,46 +1,48 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#ifndef __LAUNCHER_CLOCK_H__ 20#ifndef __LAUNCHER_CLOCK_H__
21#define __LAUNCHER_CLOCK_H__ 21#define __LAUNCHER_CLOCK_H__
22 22
23 23
24#include <qlabel.h> 24#include <qlabel.h>
25#include <qdatetime.h> 25#include <qdatetime.h>
26 26
27class LauncherClock : public QLabel 27class LauncherClock : public QLabel
28{ 28{
29 Q_OBJECT 29 Q_OBJECT
30public: 30public:
31 LauncherClock( QWidget *parent ); 31 LauncherClock( QWidget *parent );
32 32
33protected slots: 33protected slots:
34 void updateTime( void ); 34 void updateTime( void );
35 void slotClockChanged( bool pm ); 35 void slotClockChanged( bool pm );
36 36
37protected: 37protected:
38 void mouseReleaseEvent( QMouseEvent * ); 38 void mouseReleaseEvent( QMouseEvent * );
39 void timerEvent( QTimerEvent * ); 39 void timerEvent( QTimerEvent * );
40 void changeTime( void ); 40 void changeTime( void );
41 void readConfig();
41 bool ampmFormat; 42 bool ampmFormat;
42 int timerId; 43 int timerId;
44 int format;
43}; 45};
44 46
45 47
46#endif // __LAUNCHER_CLOCK_H__ 48#endif // __LAUNCHER_CLOCK_H__