-rw-r--r-- | core/applets/clockapplet/clock.cpp | 46 | ||||
-rw-r--r-- | core/applets/clockapplet/clock.h | 2 |
2 files changed, 42 insertions, 6 deletions
diff --git a/core/applets/clockapplet/clock.cpp b/core/applets/clockapplet/clock.cpp index 7d396e7..d7d326d 100644 --- a/core/applets/clockapplet/clock.cpp +++ b/core/applets/clockapplet/clock.cpp | |||
@@ -1,40 +1,47 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. |
3 | ** Copyright (C) 2002 Trolltech AS. All rights reserved. | ||
3 | ** | 4 | ** |
4 | ** This file is part of Qtopia Environment. | 5 | ** This file is part of Qtopia Environment. |
5 | ** | 6 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 7 | ** 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 | 8 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 9 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 10 | ** packaging of this file. |
10 | ** | 11 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 12 | ** 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. | 13 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 14 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 15 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 16 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 17 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 18 | ** not clear to you. |
18 | ** | 19 | ** |
19 | **********************************************************************/ | 20 | **********************************************************************/ |
21 | // merged in the StyleFix. Applets should raise Popup! | ||
22 | // by zecke@handhelds.org 6th of may 2004 | ||
20 | 23 | ||
21 | #include "clock.h" | 24 | #include "clock.h" |
22 | 25 | ||
23 | /* OPIE */ | 26 | /* OPIE */ |
24 | #include <opie2/odebug.h> | 27 | #include <opie2/odebug.h> |
25 | #include <opie2/otaskbarapplet.h> | 28 | #include <opie2/otaskbarapplet.h> |
29 | |||
26 | #include <qpe/qpeapplication.h> | 30 | #include <qpe/qpeapplication.h> |
27 | #include <qpe/qcopenvelope_qws.h> | 31 | #include <qpe/qcopenvelope_qws.h> |
28 | #include <qpe/config.h> | 32 | #include <qpe/config.h> |
33 | #include <qpe/resource.h> | ||
34 | |||
35 | #include <qpopupmenu.h> | ||
29 | 36 | ||
30 | using namespace Opie::Core; | 37 | using namespace Opie::Core; |
31 | using namespace Opie::Ui; | 38 | using namespace Opie::Ui; |
32 | 39 | ||
33 | LauncherClock::LauncherClock( QWidget *parent ) : QLabel( parent ) | 40 | LauncherClock::LauncherClock( QWidget *parent ) : QLabel( parent ) |
34 | { | 41 | { |
35 | // If you want a sunken border around the clock do this: | 42 | // If you want a sunken border around the clock do this: |
36 | // setFrameStyle( QFrame::Panel | QFrame::Sunken ); | 43 | // setFrameStyle( QFrame::Panel | QFrame::Sunken ); |
37 | //setFont( QFont( "Helvetica", , QFont::Normal ) ); | 44 | //setFont( QFont( "Helvetica", , QFont::Normal ) ); |
38 | connect( qApp, SIGNAL( timeChanged() ), this, SLOT( updateTime() ) ); | 45 | connect( qApp, SIGNAL( timeChanged() ), this, SLOT( updateTime() ) ); |
39 | connect( qApp, SIGNAL( clockChanged(bool) ), | 46 | connect( qApp, SIGNAL( clockChanged(bool) ), |
40 | this, SLOT( slotClockChanged(bool) ) ); | 47 | this, SLOT( slotClockChanged(bool) ) ); |
@@ -48,29 +55,58 @@ int LauncherClock::position() | |||
48 | { | 55 | { |
49 | return 10; | 56 | return 10; |
50 | } | 57 | } |
51 | 58 | ||
52 | void LauncherClock::readConfig() { | 59 | void LauncherClock::readConfig() { |
53 | Config config( "qpe" ); | 60 | Config config( "qpe" ); |
54 | config.setGroup( "Time" ); | 61 | config.setGroup( "Time" ); |
55 | ampmFormat = config.readBoolEntry( "AMPM", TRUE ); | 62 | ampmFormat = config.readBoolEntry( "AMPM", TRUE ); |
56 | config.setGroup( "Date" ); | 63 | config.setGroup( "Date" ); |
57 | format = config.readNumEntry("ClockApplet",0); | 64 | format = config.readNumEntry("ClockApplet",0); |
58 | } | 65 | } |
59 | 66 | ||
60 | void LauncherClock::mouseReleaseEvent( QMouseEvent * ) | 67 | void LauncherClock::mousePressEvent( QMouseEvent * ) |
61 | { | 68 | { |
62 | QCString setTimeApp; | 69 | QPopupMenu *menu = new QPopupMenu(this); |
63 | setTimeApp="systemtime"; | 70 | menu->insertItem(tr("Set time..."), 0); |
64 | QCopEnvelope e("QPE/Application/"+setTimeApp, "raise()"); | 71 | menu->insertSeparator(); |
72 | menu->insertItem(tr("Clock.."), 1); | ||
73 | |||
74 | |||
75 | Config config( "Clock" ); | ||
76 | config.setGroup( "Daily Alarm" ); | ||
77 | bool alarmOn = config.readBoolEntry("Enabled", FALSE); | ||
78 | menu->insertItem(Resource::loadIconSet(alarmOn?"clockapplet/smallalarm":"clockapplet/smallalarm_off" ), | ||
79 | tr("Alarm..."), 2); | ||
80 | |||
81 | |||
82 | /* FIXME use OTaskBarApplet ### */ | ||
83 | QPoint curPos = mapToGlobal( QPoint(0,0) ); | ||
84 | QSize sh = menu->sizeHint(); | ||
85 | switch (menu->exec( curPos-QPoint((sh.width()-width())/2,sh.height()) )) { | ||
86 | case 0: | ||
87 | Global::execute( "systemtime" ); | ||
88 | break; | ||
89 | case 1: { | ||
90 | QCopEnvelope e("QPE/Application/clock", "showClock()" ); | ||
91 | } | ||
92 | break; | ||
93 | case 2: { | ||
94 | QCopEnvelope e("QPE/Application/clock", "editDailyAlarm()" ); | ||
95 | } | ||
96 | break; | ||
97 | default: | ||
98 | break; | ||
99 | } | ||
100 | delete menu; | ||
65 | } | 101 | } |
66 | 102 | ||
67 | 103 | ||
68 | void LauncherClock::timerEvent( QTimerEvent *e ) | 104 | void LauncherClock::timerEvent( QTimerEvent *e ) |
69 | { | 105 | { |
70 | if ( !e || e->timerId() == timerId ) { | 106 | if ( !e || e->timerId() == timerId ) { |
71 | killTimer( timerId ); | 107 | killTimer( timerId ); |
72 | changeTime(); | 108 | changeTime(); |
73 | QTime t = QTime::currentTime(); | 109 | QTime t = QTime::currentTime(); |
74 | int ms = (60 - t.second())*1000 - t.msec(); | 110 | int ms = (60 - t.second())*1000 - t.msec(); |
75 | timerId = startTimer( ms ); | 111 | timerId = startTimer( ms ); |
76 | } else { | 112 | } else { |
@@ -104,21 +140,21 @@ void LauncherClock::changeTime( void ) | |||
104 | d.sprintf("%d/%d ", dm.day(), dm.month()); | 140 | d.sprintf("%d/%d ", dm.day(), dm.month()); |
105 | setText( d+s ); | 141 | setText( d+s ); |
106 | } else if (format==2) { | 142 | } else if (format==2) { |
107 | QDate dm = QDate::currentDate(); | 143 | QDate dm = QDate::currentDate(); |
108 | QString d; | 144 | QString d; |
109 | d.sprintf("%d/%d ", dm.month(), dm.day()); | 145 | d.sprintf("%d/%d ", dm.month(), dm.day()); |
110 | setText( d+s ); | 146 | setText( d+s ); |
111 | } else { | 147 | } else { |
112 | setText( s ); | 148 | setText( s ); |
113 | } | 149 | } |
114 | } | 150 | } |
115 | 151 | ||
116 | void LauncherClock::slotClockChanged( bool pm ) | 152 | void LauncherClock::slotClockChanged( bool ) |
117 | { | 153 | { |
118 | readConfig(); | 154 | readConfig(); |
119 | updateTime(); | 155 | updateTime(); |
120 | } | 156 | } |
121 | 157 | ||
122 | 158 | ||
123 | EXPORT_OPIE_APPLET_v1( LauncherClock ) | 159 | EXPORT_OPIE_APPLET_v1( LauncherClock ) |
124 | 160 | ||
diff --git a/core/applets/clockapplet/clock.h b/core/applets/clockapplet/clock.h index 996fb56..43639bb 100644 --- a/core/applets/clockapplet/clock.h +++ b/core/applets/clockapplet/clock.h | |||
@@ -27,23 +27,23 @@ | |||
27 | class LauncherClock : public QLabel | 27 | class LauncherClock : public QLabel |
28 | { | 28 | { |
29 | Q_OBJECT | 29 | Q_OBJECT |
30 | public: | 30 | public: |
31 | LauncherClock( QWidget *parent ); | 31 | LauncherClock( QWidget *parent ); |
32 | static int position(); | 32 | static int position(); |
33 | 33 | ||
34 | protected slots: | 34 | protected slots: |
35 | void updateTime( void ); | 35 | void updateTime( void ); |
36 | void slotClockChanged( bool pm ); | 36 | void slotClockChanged( bool pm ); |
37 | 37 | ||
38 | protected: | 38 | protected: |
39 | void mouseReleaseEvent( QMouseEvent * ); | 39 | void mousePressEvent( QMouseEvent * ); |
40 | void timerEvent( QTimerEvent * ); | 40 | void timerEvent( QTimerEvent * ); |
41 | void changeTime( void ); | 41 | void changeTime( void ); |
42 | void readConfig(); | 42 | void readConfig(); |
43 | bool ampmFormat; | 43 | bool ampmFormat; |
44 | int timerId; | 44 | int timerId; |
45 | int format; | 45 | int format; |
46 | }; | 46 | }; |
47 | 47 | ||
48 | 48 | ||
49 | #endif // __LAUNCHER_CLOCK_H__ | 49 | #endif // __LAUNCHER_CLOCK_H__ |