author | zautrix <zautrix> | 2004-06-26 19:01:18 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-06-26 19:01:18 (UTC) |
commit | b9aad1f15dc600e4dbe4c62d3fcced6363188ba3 (patch) (unidiff) | |
tree | 2c3d4004fb21c72cba65793859f9bcd8ffd3a49c /kalarmd | |
download | kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.zip kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.gz kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.bz2 |
Initial revision
-rw-r--r-- | kalarmd/alarmdialog.cpp | 259 | ||||
-rw-r--r-- | kalarmd/alarmdialog.h | 80 | ||||
-rw-r--r-- | kalarmd/alarmdialog.moc | 0 | ||||
-rw-r--r-- | kalarmd/kalarmdE.pro | 20 | ||||
-rw-r--r-- | kalarmd/sharp_char.h | 258 | ||||
-rw-r--r-- | kalarmd/simplealarmdaemon.desktop | 6 | ||||
-rw-r--r-- | kalarmd/simplealarmdaemonapplet.cpp | 58 | ||||
-rw-r--r-- | kalarmd/simplealarmdaemonapplet.h | 26 | ||||
-rw-r--r-- | kalarmd/simplealarmdaemonimpl.cpp | 552 | ||||
-rw-r--r-- | kalarmd/simplealarmdaemonimpl.h | 85 |
10 files changed, 1344 insertions, 0 deletions
diff --git a/kalarmd/alarmdialog.cpp b/kalarmd/alarmdialog.cpp new file mode 100644 index 0000000..b82724f --- a/dev/null +++ b/kalarmd/alarmdialog.cpp | |||
@@ -0,0 +1,259 @@ | |||
1 | /* | ||
2 | This file is part of the KDE alarm daemon. | ||
3 | Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org> | ||
4 | |||
5 | This program is free software; you can redistribute it and/or modify | ||
6 | it under the terms of the GNU General Public License as published by | ||
7 | the Free Software Foundation; either version 2 of the License, or | ||
8 | (at your option) any later version. | ||
9 | |||
10 | This program is distributed in the hope that it will be useful, | ||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | GNU General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU General Public License | ||
16 | along with this program; if not, write to the Free Software | ||
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
18 | |||
19 | As a special exception, permission is given to link this program | ||
20 | with any edition of Qt, and distribute the resulting executable, | ||
21 | without including the source code for Qt in the source distribution. | ||
22 | */ | ||
23 | |||
24 | // $Id$ | ||
25 | |||
26 | #include <qhbox.h> | ||
27 | #include <qvbox.h> | ||
28 | #include <qapp.h> | ||
29 | #include <qlabel.h> | ||
30 | #include <qlayout.h> | ||
31 | #include <qfile.h> | ||
32 | #include <qtimer.h> | ||
33 | #include <qsound.h> | ||
34 | #include <qpushbutton.h> | ||
35 | #include <qspinbox.h> | ||
36 | #include <stdlib.h> | ||
37 | #ifndef _WIN32_ | ||
38 | #include <unistd.h> | ||
39 | #include <sys/ioctl.h> | ||
40 | #endif | ||
41 | #include <stdio.h> | ||
42 | #include <fcntl.h> | ||
43 | |||
44 | #ifndef DESKTOP_VERSION | ||
45 | #include <qtopia/alarmserver.h> | ||
46 | #include <qpe/resource.h> | ||
47 | #include <qtopia/sound.h> | ||
48 | #endif | ||
49 | |||
50 | #include "alarmdialog.h" | ||
51 | #include "alarmdialog.moc" | ||
52 | |||
53 | |||
54 | AlarmDialog::AlarmDialog(QWidget *parent,const char *name) | ||
55 | : QDialog (parent, name, true, Qt::WStyle_StaysOnTop ) | ||
56 | { | ||
57 | setCaption( "KO/Pi Alarm!" ); | ||
58 | QVBoxLayout* layout = new QVBoxLayout( this); | ||
59 | QLabel* l = new QLabel("The following event triggered alarm:",this); | ||
60 | layout->addWidget ( l ); | ||
61 | l->setAlignment( AlignCenter); | ||
62 | mMessage = new QLabel ( " ", this ); | ||
63 | int fs = 18; | ||
64 | int fs2 = 12; | ||
65 | if ( QApplication::desktop()->width() < 480 ) { | ||
66 | setMaximumSize(220, 260); | ||
67 | fs2 = 10; | ||
68 | } | ||
69 | else { | ||
70 | setMaximumSize(440, 440); | ||
71 | } | ||
72 | layout->setSpacing( 3 ); | ||
73 | layout->setMargin( 3 ); | ||
74 | |||
75 | l->setFont( QFont("helvetica",fs2, QFont::Bold) ); | ||
76 | mMessage->setFont( QFont("helvetica",fs, QFont::Bold) ); | ||
77 | mMessage->setAlignment( AlignCenter); | ||
78 | l = new QLabel("Missed Alarms:",this); | ||
79 | l->setAlignment( AlignCenter); | ||
80 | layout->addWidget ( mMessage ); | ||
81 | layout->addWidget ( l ); | ||
82 | mMissedAlarms= new QLabel ( "", this ); | ||
83 | mMissedAlarms->setAlignment( AlignCenter); | ||
84 | |||
85 | playSoundTimer = new QTimer( this ); | ||
86 | connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) ); | ||
87 | |||
88 | playSoundTimer->stop(); | ||
89 | |||
90 | layout->addWidget ( mMissedAlarms ); | ||
91 | QHBox *suspendBox = new QHBox( this ); | ||
92 | suspendBox->setSpacing(3); | ||
93 | layout->addWidget ( suspendBox ); | ||
94 | (void)new QLabel("Suspend duration (minutes):",suspendBox); | ||
95 | mSuspendSpin = new QSpinBox(1,1440,1,suspendBox); | ||
96 | mSuspendSpin->setValue(7); // default suspend duration | ||
97 | QHBox * bbox = new QHBox ( this ); | ||
98 | layout->addWidget ( bbox ); | ||
99 | bbox->layout()->setSpacing( 5 ); | ||
100 | QPushButton* suspend = new QPushButton( "Suspend", bbox); | ||
101 | QPushButton* silen = new QPushButton( " Stop sound ", bbox); | ||
102 | QPushButton* okbut = new QPushButton( "Ok", bbox); | ||
103 | connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) ); | ||
104 | connect (suspend , SIGNAL( clicked() ), this, SLOT (slotSuspend() ) ); | ||
105 | connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) ); | ||
106 | #ifndef _WIN32_ | ||
107 | if ( QFile::exists ( "/dev/sharp_led" ) ) | ||
108 | fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK ); | ||
109 | else | ||
110 | #endif | ||
111 | fd_led = 0; | ||
112 | statusLED.which = SHARP_LED_SALARM; | ||
113 | mSilent = false; | ||
114 | mSuspendCounter = 0; | ||
115 | setServerNotification( true ); | ||
116 | } | ||
117 | void AlarmDialog::reject () | ||
118 | { | ||
119 | QTimer::singleShot ( 3000, this, SLOT (suspend()) ); | ||
120 | slotSuspend(); | ||
121 | } | ||
122 | AlarmDialog::~AlarmDialog() | ||
123 | { | ||
124 | } | ||
125 | void AlarmDialog::silent () | ||
126 | { | ||
127 | mSilent = true; | ||
128 | } | ||
129 | void AlarmDialog::accept() | ||
130 | { | ||
131 | slotOk(); | ||
132 | } | ||
133 | |||
134 | void AlarmDialog::suspend() | ||
135 | { | ||
136 | #ifdef DESKTOP_VERSION | ||
137 | |||
138 | #else | ||
139 | Sound::soundAlarm (); | ||
140 | #endif | ||
141 | } | ||
142 | void AlarmDialog::slotOk() | ||
143 | { | ||
144 | mStopAlarm = true; | ||
145 | mMissedAlarms->setText(""); | ||
146 | mMessage->setText(""); | ||
147 | #ifndef _WIN32_ | ||
148 | if ( fd_led > 0 ) { | ||
149 | statusLED.status = LED_SALARM_OFF ; | ||
150 | ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); | ||
151 | } | ||
152 | #endif | ||
153 | QDialog::accept(); | ||
154 | } | ||
155 | |||
156 | void AlarmDialog::slotSuspend() | ||
157 | { | ||
158 | //qDebug("AlarmDialog::suspend() "); // emit suspendSignal(mSuspendSpin->value()); | ||
159 | mStopAlarm = true; | ||
160 | QDateTime nextA = QDateTime::currentDateTime().addSecs( mSuspendSpin->value() * 60 ); | ||
161 | QString mess = "suspend_alarm" +mFileName+"+++" ; | ||
162 | if ( mMessage->text().left( 10 ) !="Suspended:" ) | ||
163 | mess += "Suspended:\n"; | ||
164 | mess +=mMessage->text(); | ||
165 | #ifndef DESKTOP_VERSION | ||
166 | if ( mServerNotification ) | ||
167 | AlarmServer::addAlarm ( nextA,"koalarm",mess.latin1()); | ||
168 | #endif | ||
169 | emit addAlarm( nextA , mess ); | ||
170 | slotOk(); | ||
171 | } | ||
172 | |||
173 | void AlarmDialog::setServerNotification( bool b ) | ||
174 | { | ||
175 | mServerNotification = b; | ||
176 | } | ||
177 | int AlarmDialog::getSuspendTime( ) | ||
178 | { | ||
179 | return mSuspendSpin->value(); | ||
180 | |||
181 | } | ||
182 | void AlarmDialog::setSuspendTime( int val ) | ||
183 | { | ||
184 | mSuspendSpin->setValue( val ); | ||
185 | } | ||
186 | bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, bool playwav, int pause , int suspendtimes) | ||
187 | { | ||
188 | if ( mess.left( 9) != "Suspended" ) | ||
189 | mSuspendCounter = suspendtimes; | ||
190 | mPauseCount = pause; | ||
191 | mFileName = fn; | ||
192 | mPlayWav = playwav; | ||
193 | if ( !QFile::exists( fn ) ) | ||
194 | mFileName = ""; | ||
195 | alarmCounter = 0 ; | ||
196 | maxAlarmReplay = replay ; | ||
197 | mStopAlarm = false; | ||
198 | mSilent = false; | ||
199 | if ( mMissedAlarms->text() == "" ) | ||
200 | mMissedAlarms->setText( mMessage->text()); | ||
201 | else | ||
202 | mMissedAlarms->setText( mMessage->text()+ "\n" + mMissedAlarms->text() ); | ||
203 | if ( mMissedAlarms->text().length() > 180 ) | ||
204 | mMissedAlarms->setText(mMissedAlarms->text().left ( 180 )); | ||
205 | mMessage->setText(mess); | ||
206 | int w =sizeHint().width() ; | ||
207 | int h = sizeHint().height() ; | ||
208 | int dw = QApplication::desktop()->width(); | ||
209 | int dh = QApplication::desktop()->height(); | ||
210 | setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); | ||
211 | show(); | ||
212 | raise(); | ||
213 | qApp->processEvents(); | ||
214 | repaint(); | ||
215 | qApp->processEvents(); | ||
216 | |||
217 | #ifndef _WIN32_ | ||
218 | if ( fd_led > 0 ) { | ||
219 | statusLED.status = LED_SALARM_ON ; | ||
220 | ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); | ||
221 | } | ||
222 | #endif | ||
223 | playSoundTimer->start( 1000, true ); | ||
224 | return true; | ||
225 | |||
226 | } | ||
227 | |||
228 | |||
229 | void AlarmDialog::playSound () | ||
230 | { | ||
231 | if (mStopAlarm ) | ||
232 | return; | ||
233 | showNormal(); | ||
234 | setActiveWindow(); | ||
235 | setFocus(); | ||
236 | raise(); | ||
237 | |||
238 | qApp->processEvents(); | ||
239 | if ( alarmCounter < maxAlarmReplay && ! mSilent) { | ||
240 | ++alarmCounter; | ||
241 | if ( !mPlayWav || mFileName.length() < 2 ) { | ||
242 | |||
243 | #ifndef DESKTOP_VERSION | ||
244 | Sound::soundAlarm (); | ||
245 | #endif | ||
246 | } else { | ||
247 | QSound::play ( mFileName ); | ||
248 | //qDebug("BEEP!"); | ||
249 | } | ||
250 | } else { | ||
251 | if ( ! mSilent && mSuspendCounter > 0 ) { | ||
252 | --mSuspendCounter; | ||
253 | reject (); | ||
254 | hide(); | ||
255 | return; | ||
256 | } | ||
257 | } | ||
258 | playSoundTimer->start( mPauseCount * 1000, true ); | ||
259 | } | ||
diff --git a/kalarmd/alarmdialog.h b/kalarmd/alarmdialog.h new file mode 100644 index 0000000..3155f18 --- a/dev/null +++ b/kalarmd/alarmdialog.h | |||
@@ -0,0 +1,80 @@ | |||
1 | /* | ||
2 | This file is part of the KDE alarm daemon. | ||
3 | Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org> | ||
4 | |||
5 | This program is free software; you can redistribute it and/or modify | ||
6 | it under the terms of the GNU General Public License as published by | ||
7 | the Free Software Foundation; either version 2 of the License, or | ||
8 | (at your option) any later version. | ||
9 | |||
10 | This program is distributed in the hope that it will be useful, | ||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | GNU General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU General Public License | ||
16 | along with this program; if not, write to the Free Software | ||
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
18 | |||
19 | As a special exception, permission is given to link this program | ||
20 | with any edition of Qt, and distribute the resulting executable, | ||
21 | without including the source code for Qt in the source distribution. | ||
22 | */ | ||
23 | #ifndef ALARMDIALOG_H | ||
24 | #define ALARMDIALOG_H | ||
25 | |||
26 | |||
27 | |||
28 | #include <qdialog.h> | ||
29 | #include <qdatetime.h> | ||
30 | #include <qstring.h> | ||
31 | |||
32 | #include "sharp_char.h" | ||
33 | |||
34 | |||
35 | class QSpinBox; | ||
36 | class QLabel; | ||
37 | class QString; | ||
38 | |||
39 | class AlarmDialog : public QDialog { | ||
40 | Q_OBJECT | ||
41 | public: | ||
42 | AlarmDialog( QWidget *parent = 0, const char *name = 0 ); | ||
43 | virtual ~AlarmDialog(); | ||
44 | |||
45 | bool eventNotification(QString m, int replay , QString m2 , bool, int, int ); | ||
46 | int getSuspendTime( ); | ||
47 | void setSuspendTime( int ); | ||
48 | void setServerNotification( bool b ); | ||
49 | |||
50 | public slots: | ||
51 | void slotOk(); | ||
52 | void slotSuspend(); | ||
53 | void reject () ; | ||
54 | void silent () ; | ||
55 | void accept(); | ||
56 | void suspend(); | ||
57 | void playSound (); | ||
58 | signals: | ||
59 | // void suspendSignal(int duration); | ||
60 | void addAlarm(const QDateTime &, const QString & ); | ||
61 | |||
62 | private: | ||
63 | int alarmCounter; | ||
64 | int mPauseCount; | ||
65 | int mSuspendCounter; | ||
66 | int maxAlarmReplay; | ||
67 | QTimer* playSoundTimer; | ||
68 | bool mStopAlarm; | ||
69 | bool mSilent; | ||
70 | bool mPlayWav; | ||
71 | bool mServerNotification; | ||
72 | QLabel* mMessage; | ||
73 | QLabel* mMissedAlarms; | ||
74 | QSpinBox *mSuspendSpin; | ||
75 | QString mFileName; | ||
76 | int fd_led; | ||
77 | sharp_led_status statusLED; | ||
78 | }; | ||
79 | |||
80 | #endif | ||
diff --git a/kalarmd/alarmdialog.moc b/kalarmd/alarmdialog.moc new file mode 100644 index 0000000..e69de29 --- a/dev/null +++ b/kalarmd/alarmdialog.moc | |||
diff --git a/kalarmd/kalarmdE.pro b/kalarmd/kalarmdE.pro new file mode 100644 index 0000000..1370ec1 --- a/dev/null +++ b/kalarmd/kalarmdE.pro | |||
@@ -0,0 +1,20 @@ | |||
1 | TEMPLATE= lib | ||
2 | CONFIG += qt warn_on | ||
3 | TARGET = kopialarmapplet | ||
4 | OBJECTS_DIR = obj/$(PLATFORM) | ||
5 | MOC_DIR = moc/$(PLATFORM) | ||
6 | |||
7 | DESTDIR = $(QPEDIR)/plugins/applets | ||
8 | |||
9 | INTERFACES = \ | ||
10 | |||
11 | HEADERS = \ | ||
12 | alarmdialog.h \ | ||
13 | simplealarmdaemonapplet.h \ | ||
14 | simplealarmdaemonimpl.h | ||
15 | |||
16 | SOURCES = \ | ||
17 | alarmdialog.cpp \ | ||
18 | simplealarmdaemonapplet.cpp \ | ||
19 | simplealarmdaemonimpl.cpp | ||
20 | |||
diff --git a/kalarmd/sharp_char.h b/kalarmd/sharp_char.h new file mode 100644 index 0000000..33fabd4 --- a/dev/null +++ b/kalarmd/sharp_char.h | |||
@@ -0,0 +1,258 @@ | |||
1 | /* | ||
2 | * linux/include/asm/sharp_char.h | ||
3 | */ | ||
4 | |||
5 | #ifndef __ASM_SHARP_CHAR_H_INCLUDED | ||
6 | #define __ASM_SHARP_CHAR_H_INCLUDED | ||
7 | |||
8 | /* | ||
9 | * If SHARPCHAR_USE_MISCDEV defined , misc driver architecture used instead of sharp_char | ||
10 | */ | ||
11 | |||
12 | #define SHARPCHAR_USE_MISCDEV | ||
13 | |||
14 | /* | ||
15 | * devices defines... | ||
16 | */ | ||
17 | |||
18 | #ifndef SHARP_DEV_MAJOR | ||
19 | #define SHARP_DEV_MAJOR 11 | ||
20 | #endif | ||
21 | |||
22 | #ifndef SHARP_DEV_MINOR_START | ||
23 | #define SHARP_DEV_MINOR_START 210 | ||
24 | #endif | ||
25 | |||
26 | #define SHARP_DEV_MINOR_MAX 4 /* defines last minor number of SHARP device */ | ||
27 | |||
28 | #define SHARP_LED_MINOR (SHARP_DEV_MINOR_START+0) | ||
29 | #define SHARP_BUZZER_MINOR (SHARP_DEV_MINOR_START+1) | ||
30 | #define SHARP_GSM_MINOR (SHARP_DEV_MINOR_START+2) | ||
31 | #define SHARP_AUDIOCTL_MINOR (SHARP_DEV_MINOR_START+3) | ||
32 | #define SHARP_KBDCTL_MINOR (SHARP_DEV_MINOR_START+4) | ||
33 | |||
34 | /* | ||
35 | * ioctl defines... | ||
36 | */ | ||
37 | |||
38 | #define SHARP_DEV_IOCTL_COMMAND_START 0x5680 | ||
39 | |||
40 | /* --- for SHARP_LED device --- */ | ||
41 | #defineSHARP_LED_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) | ||
42 | #define SHARP_LED_GETSTATUS (SHARP_LED_IOCTL_START) | ||
43 | #define SHARP_LED_SETSTATUS (SHARP_LED_IOCTL_START+1) | ||
44 | #define SHARP_LED_ISUPPORTED (SHARP_LED_IOCTL_START+2) | ||
45 | |||
46 | typedef struct sharp_led_status { | ||
47 | int which; /* select which LED status is wanted. */ | ||
48 | int status; /* set new led status if you call SHARP_LED_SETSTATUS */ | ||
49 | } sharp_led_status; | ||
50 | |||
51 | #define SHARP_LED_WHICH_MAX 15 /* last number of LED */ | ||
52 | |||
53 | /* parameters for 'which' member */ | ||
54 | #define SHARP_LED_PDA 0 /* PDA status */ | ||
55 | #define SHARP_LED_DALARM 1 /* daily alarm */ | ||
56 | #define SHARP_LED_SALARM 2 /* schedule alarm */ | ||
57 | #define SHARP_LED_BATTERY 3 /* main battery status */ | ||
58 | #define SHARP_LED_ACSTATUS 4 /* AC line status */ | ||
59 | #define SHARP_LED_CHARGER 5 /* charger status */ | ||
60 | #define SHARP_LED_PHONE_RSSI 6 /* phone status (RSSI...) */ | ||
61 | #define SHARP_LED_PHONE_DIAL 7 /* phone status (dialing...) */ | ||
62 | #define SHARP_LED_PHONE_IN 8 /* phone status (incoming..) */ | ||
63 | #define SHARP_LED_MAIL_EXISTS 9 /* mail status (exists or not) */ | ||
64 | #define SHARP_LED_MAIL_SEND 10 /* mail status (sending...) */ | ||
65 | #define SHARP_LED_MAIL_QUEUE 11 /* mail to send is in queue */ | ||
66 | #define SHARP_LED_COLLIE_0 12 /* 1st pri. battery LED control */ | ||
67 | #define SHARP_LED_COLLIE_1 13 /* 1st pri. mail LED control */ | ||
68 | #define SHARP_LED_COMM 14 /* communication status */ | ||
69 | #define SHARP_LED_BROWSER 15 /* WWW browser status */ | ||
70 | |||
71 | /* parameters for 'status' member */ | ||
72 | #define LED_PDA_RUNNING 0 /* for SHARP_LED_RUN */ | ||
73 | #define LED_PDA_SUSPENDED 1 /* for SHARP_LED_RUN */ | ||
74 | #define LED_PDA_OFF 2 /* for SHARP_LED_RUN */ | ||
75 | #define LED_PDA_ERROR 3 /* for SHARP_LED_RUN */ | ||
76 | |||
77 | #define LED_DALARM_OFF 0 /* for SHARP_LED_DALARM */ | ||
78 | #define LED_DALARM_ON 1 /* for SHARP_LED_DALARM */ | ||
79 | |||
80 | #define LED_SALARM_OFF 0 /* for SHARP_LED_SALARM */ | ||
81 | #define LED_SALARM_ON 1 /* for SHARP_LED_SALARM */ | ||
82 | |||
83 | #define LED_BATTERY_GOOD 0 /* for SHARP_LED_BATTERY */ | ||
84 | #define LED_BATTERY_LOW 1 /* for SHARP_LED_BATTERY */ | ||
85 | #define LED_BATTERY_VERY_LOW 2 /* for SHARP_LED_BATTERY */ | ||
86 | #define LED_BATTERY_CRITICAL 3 /* for SHARP_LED_BATTERY */ | ||
87 | |||
88 | #define LED_CHARGER_OFF 0 /* for SHARP_LED_CHARGER */ | ||
89 | #define LED_CHARGER_CHARGING 1 /* for SHARP_LED_CHARGER */ | ||
90 | #define LED_CHARGER_ERROR 2 /* for SHARP_LED_CHARGER */ | ||
91 | |||
92 | #define LED_AC_NOT_CONNECTED 0 /* for SHARP_LED_ACSTATUS */ | ||
93 | #define LED_AC_CONNECTED 1 /* for SHARP_LED_ACSTATUS */ | ||
94 | |||
95 | #define LED_RSSI_OUT 0 /* for SHARP_LED_PHONE_RSSI */ | ||
96 | #define LED_RSSI_IN 1 /* for SHARP_LED_PHONE_RSSI */ | ||
97 | |||
98 | #define LED_DIAL_OFF 0 /* for SHARP_LED_PHONE_DIAL */ | ||
99 | #define LED_DIAL_DIALING 1 /* for SHARP_LED_PHONE_DIAL */ | ||
100 | #define LED_DIAL_HOLDING 2 /* for SHARP_LED_PHONE_DIAL */ | ||
101 | |||
102 | #define LED_PHONE_WAITING 0 /* for SHARP_LED_PHONE_IN */ | ||
103 | #define LED_PHONE_INCOMING 1 /* for SHARP_LED_PHONE_IN */ | ||
104 | |||
105 | #define LED_MAIL_NO_UNREAD_MAIL 0 /* for SHARP_LED_MAIL_EXISTS */ | ||
106 | #define LED_MAIL_NEWMAIL_EXISTS 1 /* for SHARP_LED_MAIL_EXISTS */ | ||
107 | #define LED_MAIL_UNREAD_MAIL_EX 2 /* for SHARP_LED_MAIL_EXISTS */ | ||
108 | |||
109 | #define LED_SENDMAIL_OFF 0 /* for SHARP_LED_MAIL_SEND */ | ||
110 | #define LED_SENDMAIL_SENDING 1 /* for SHARP_LED_MAIL_SEND */ | ||
111 | #define LED_SENDMAIL_ERROR 2 /* for SHARP_LED_MAIL_SEND */ | ||
112 | |||
113 | #define LED_MAILQUEUE_NOUNREAD 0 /* for SHARP_LED_MAIL_QUEUE */ | ||
114 | #define LED_MAILQUEUE_NEWMAIL 1 /* for SHARP_LED_MAIL_QUEUE */ | ||
115 | #define LED_MAILQUEUE_UNREAD 2 /* for SHARP_LED_MAIL_QUEUE */ | ||
116 | |||
117 | #define LED_COLLIE_0_DEFAULT 0 /* for SHARP_LED_COLLIE_0 */ | ||
118 | #define LED_COLLIE_0_OFF 1 /* for SHARP_LED_COLLIE_0 */ | ||
119 | #define LED_COLLIE_0_ON 2 /* for SHARP_LED_COLLIE_0 */ | ||
120 | #define LED_COLLIE_0_FASTBLINK 3 /* for SHARP_LED_COLLIE_0 */ | ||
121 | #define LED_COLLIE_0_SLOWBLINK 4 /* for SHARP_LED_COLLIE_0 */ | ||
122 | |||
123 | #define LED_COLLIE_1_DEFAULT 0 /* for SHARP_LED_COLLIE_1 */ | ||
124 | #define LED_COLLIE_1_OFF 1 /* for SHARP_LED_COLLIE_1 */ | ||
125 | #define LED_COLLIE_1_ON 2 /* for SHARP_LED_COLLIE_1 */ | ||
126 | #define LED_COLLIE_1_FLASHON 3 /* for SHARP_LED_COLLIE_1 */ | ||
127 | #define LED_COLLIE_1_FLASHOFF 4 /* for SHARP_LED_COLLIE_1 */ | ||
128 | #define LED_COLLIE_1_VFSTBLINK 5 /* for SHARP_LED_COLLIE_1 */ | ||
129 | #define LED_COLLIE_1_FASTBLINK 6 /* for SHARP_LED_COLLIE_1 */ | ||
130 | #define LED_COLLIE_1_NORMBLINK 7 /* for SHARP_LED_COLLIE_1 */ | ||
131 | #define LED_COLLIE_1_SLOWBLINK 8 /* for SHARP_LED_COLLIE_1 */ | ||
132 | #define LED_COLLIE_1_SOFTBLINK 9 /* for SHARP_LED_COLLIE_1 */ | ||
133 | #define LED_COLLIE_1_SOFTFLASH 10 /* for SHARP_LED_COLLIE_1 */ | ||
134 | |||
135 | #define LED_COMM_OFFLINE 0 /* for SHARP_LED_COMM */ | ||
136 | #define LED_COMM_ONLINE 1 /* for SHARP_LED_COMM */ | ||
137 | #define LED_COMM_ERROR 2 /* for SHARP_LED_COMM */ | ||
138 | |||
139 | #define LED_BROWSER_OFFLINE 0 /* for SHARP_LED_BROWSER */ | ||
140 | #define LED_BROWSER_ONLINE 1 /* for SHARP_LED_BROWSER */ | ||
141 | #define LED_BROWSER_ERROR 2 /* for SHARP_LED_BROWSER */ | ||
142 | |||
143 | |||
144 | /* --- for SHARP_BUZZER device --- */ | ||
145 | #defineSHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) | ||
146 | #define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START) | ||
147 | #define SHARP_BUZZER_SETVOLUME (SHARP_BUZZER_IOCTL_START+1) | ||
148 | #define SHARP_BUZZER_GETVOLUME (SHARP_BUZZER_IOCTL_START+2) | ||
149 | #define SHARP_BUZZER_ISSUPPORTED (SHARP_BUZZER_IOCTL_START+3) | ||
150 | #define SHARP_BUZZER_SETMUTE (SHARP_BUZZER_IOCTL_START+4) | ||
151 | #define SHARP_BUZZER_STOPSOUND (SHARP_BUZZER_IOCTL_START+5) | ||
152 | #define SHARP_BUZZER_SET_BUFFER (SHARP_BUZZER_IOCTL_START+6) | ||
153 | |||
154 | typedef struct sharp_buzzer_status { /* this struct is used for setvolume/getvolume */ | ||
155 | int which; /* select which LED status is wanted. */ | ||
156 | int volume; /* set new buzzer volume if you call SHARP_BUZZER_SETVOLUME */ | ||
157 | int mute; /* set 1 to MUTE if you call SHARP_BUZZER_SETMUTE */ | ||
158 | } sharp_buzzer_status; | ||
159 | |||
160 | #define SHARP_BUZ_WHICH_MAX 14 /* last number of buzzer */ | ||
161 | |||
162 | #define SHARP_BUZ_ALL_SOUNDS -1 /* for setting volumes of ALL sounds at a time */ | ||
163 | |||
164 | #define SHARP_BUZ_WRITESOUND 0 /* for sound datas through 'write' calls */ | ||
165 | #define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */ | ||
166 | #define SHARP_BUZ_KEYSOUND 2 /* key sound */ | ||
167 | #define SHARP_PDA_ILLCLICKSOUND 3 /* illegal click */ | ||
168 | #define SHARP_PDA_WARNSOUND 4 /* warning occurred */ | ||
169 | #define SHARP_PDA_ERRORSOUND 5 /* error occurred */ | ||
170 | #define SHARP_PDA_CRITICALSOUND 6 /* critical error occurred */ | ||
171 | #define SHARP_PDA_SYSSTARTSOUND 7 /* system start */ | ||
172 | #define SHARP_PDA_SYSTEMENDSOUND 8 /* system shutdown */ | ||
173 | #define SHARP_PDA_APPSTART 9 /* application start */ | ||
174 | #define SHARP_PDA_APPQUIT 10 /* application ends */ | ||
175 | #define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */ | ||
176 | #define SHARP_BUZ_DAILY_ALARM 12 /* daily alarm */ | ||
177 | #define SHARP_BUZ_GOT_PHONE_CALL 13 /* phone call sound */ | ||
178 | #define SHARP_BUZ_GOT_MAIL 14 /* mail sound */ | ||
179 | |||
180 | #define SHARP_BUZ_VOLUME_OFF 0 | ||
181 | #define SHARP_BUZ_VOLUME_LOW 33 | ||
182 | #define SHARP_BUZ_VOLUME_MEDIUM 67 | ||
183 | #define SHARP_BUZ_VOLUME_HIGH 100 /* currentry , this is the maximum ... */ | ||
184 | #define SHARP_BUZ_VOLUME_MAX (SHARP_BUZ_VOLUME_HIGH) | ||
185 | |||
186 | /* --- for SHARP_GSM device --- */ | ||
187 | #defineSHARP_GSM_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) | ||
188 | #define SHARP_GSM_GETEXTSTATUS (SHARP_GSM_IOCTL_START+16) | ||
189 | #define SHARP_GSM_INFO_TELL_MODE (SHARP_GSM_IOCTL_START+17) | ||
190 | #define SHARP_IRIS_GETSYNCSTATUS (SHARP_GSM_IOCTL_START+18) | ||
191 | #define SHARP_IRIS_RECHECKDEVICE (SHARP_GSM_IOCTL_START+19) | ||
192 | |||
193 | #define GSM_PHONE_NO_POWER 0 /* for SHARP_GSM_INFO_TELL_MODE */ | ||
194 | #define GSM_PHONE_NO_CONNECTION 1 /* for SHARP_GSM_INFO_TELL_MODE */ | ||
195 | #define GSM_PHONE_IN_ANALOG_MODE 2 /* for SHARP_GSM_INFO_TELL_MODE */ | ||
196 | #define GSM_PHONE_IN_DATA_MODE 3 /* for SHARP_GSM_INFO_TELL_MODE */ | ||
197 | |||
198 | typedef struct sharp_gsmext_status { | ||
199 | int carkit; /* be set as 1 , if car-kit is connected */ | ||
200 | int headphone_mic; /* be set as 1 , if head-phone-microphone is inserted */ | ||
201 | } sharp_gsmext_status; | ||
202 | |||
203 | typedef struct sharp_irisext_status { /* for SHARP_IRIS_GETSYNCSTATUS */ | ||
204 | int usb; | ||
205 | int uart; | ||
206 | int carkit; | ||
207 | } sharp_irisext_status; | ||
208 | |||
209 | /* --- for SHARP_AUDIOCTL device --- */ | ||
210 | #defineSHARP_AUDIOCTL_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) | ||
211 | #defineSHARP_AUDIOCTL_ARCH_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START+0x10) | ||
212 | #define SHARP_IRIS_AUFIL_GETVAL (SHARP_AUDIOCTL_ARCH_IOCTL_START+0) | ||
213 | #define SHARP_IRIS_AUFIL_SETVAL (SHARP_AUDIOCTL_ARCH_IOCTL_START+1) | ||
214 | #define SHARP_IRIS_AMP_EXT_ON (SHARP_AUDIOCTL_ARCH_IOCTL_START+2) | ||
215 | #define SHARP_IRIS_AMP_EXT_OFF (SHARP_AUDIOCTL_ARCH_IOCTL_START+3) | ||
216 | |||
217 | |||
218 | #define SHARP_IRIS_AUFIL_FILTERON 0x01 /* Iris AudioCtl Specific. Enable Audio Filter */ | ||
219 | |||
220 | /* --- for SHARP_AUDIOCTL device --- */ | ||
221 | #defineSHARP_KBDCTL_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) | ||
222 | #define SHARP_KBDCTL_GETMODIFSTAT (SHARP_KBDCTL_IOCTL_START+0) | ||
223 | #define SHARP_KBDCTL_TOGGLEMODIFSTAT (SHARP_KBDCTL_IOCTL_START+1) | ||
224 | #define SHARP_KBDCTL_SETHOLDTH (SHARP_KBDCTL_IOCTL_START+2) | ||
225 | #define SHARP_KBDCTL_SETHOLDTH_GR (SHARP_KBDCTL_IOCTL_START+3) | ||
226 | #define SHARP_KBDCTL_HOLDINFO_SETHD (SHARP_KBDCTL_IOCTL_START+4) | ||
227 | #define SHARP_KBDCTL_HOLDINFO_SETSL (SHARP_KBDCTL_IOCTL_START+5) | ||
228 | #define SHARP_KBDCTL_HOLDINFO_DELHD (SHARP_KBDCTL_IOCTL_START+6) | ||
229 | #define SHARP_KBDCTL_HOLDINFO_DELSL (SHARP_KBDCTL_IOCTL_START+7) | ||
230 | #define SHARP_KBDCTL_HOLDINFO_RESTHD (SHARP_KBDCTL_IOCTL_START+8) | ||
231 | #define SHARP_KBDCTL_HOLDINFO_RESTSL (SHARP_KBDCTL_IOCTL_START+9) | ||
232 | #define SHARP_KBDCTL_HOLDINFO_RESTFULL (SHARP_KBDCTL_IOCTL_START+10) | ||
233 | |||
234 | typedef struct sharp_kbdctl_modifstat { | ||
235 | int which; | ||
236 | int stat; | ||
237 | } sharp_kbdctl_modifstat; | ||
238 | |||
239 | typedef struct sharp_kbdctl_holdstat { | ||
240 | int group; | ||
241 | int timeout; | ||
242 | } sharp_kbdctl_holdstat; | ||
243 | |||
244 | typedef struct sharp_kbdctl_holdcustom { | ||
245 | int normal_hardcode; | ||
246 | int normal_slcode; | ||
247 | int hold_slcode; | ||
248 | } sharp_kbdctl_holdcustom; | ||
249 | |||
250 | #define SHARP_EXTMODIF_2ND 0x01 | ||
251 | #define SHARP_EXTMODIF_CAPS 0x02 | ||
252 | #define SHARP_EXTMODIF_NUMLOCK 0x03 | ||
253 | |||
254 | #define HOLDKEY_GROUP_NORMAL 0 | ||
255 | #define HOLDKEY_GROUP_POWER 1 | ||
256 | |||
257 | #endif /* __ASM_SHARP_CHAR_H_INCLUDED */ | ||
258 | |||
diff --git a/kalarmd/simplealarmdaemon.desktop b/kalarmd/simplealarmdaemon.desktop new file mode 100644 index 0000000..dae86ba --- a/dev/null +++ b/kalarmd/simplealarmdaemon.desktop | |||
@@ -0,0 +1,6 @@ | |||
1 | [Desktop Entry] | ||
2 | Comment=KOrganizer Alarm Daemon | ||
3 | Exec=simplealarmdaemon | ||
4 | Icon=SimpleAlarmDaemon | ||
5 | Type=Application | ||
6 | Name=Alarm Daemon | ||
diff --git a/kalarmd/simplealarmdaemonapplet.cpp b/kalarmd/simplealarmdaemonapplet.cpp new file mode 100644 index 0000000..bb89606 --- a/dev/null +++ b/kalarmd/simplealarmdaemonapplet.cpp | |||
@@ -0,0 +1,58 @@ | |||
1 | #include "simplealarmdaemonapplet.h" | ||
2 | |||
3 | #include "simplealarmdaemonimpl.h" | ||
4 | |||
5 | #include <qpe/global.h> | ||
6 | #include <qcopchannel_qws.h> | ||
7 | #include <qlabel.h> | ||
8 | #include <qapp.h> | ||
9 | #include <qpe/resource.h> | ||
10 | SimpleAlarmDaemonApplet::SimpleAlarmDaemonApplet() | ||
11 | : mApplet( 0 ), ref( 0 ) | ||
12 | { | ||
13 | |||
14 | } | ||
15 | |||
16 | SimpleAlarmDaemonApplet::~SimpleAlarmDaemonApplet() | ||
17 | { | ||
18 | delete mApplet; | ||
19 | } | ||
20 | |||
21 | |||
22 | QWidget *SimpleAlarmDaemonApplet::applet( QWidget *parent ) | ||
23 | { | ||
24 | if ( !mApplet ) { | ||
25 | mApplet = new SimpleAlarmDaemonImpl( parent ); | ||
26 | if ( QApplication::desktop()->width() < 480 ) | ||
27 | mApplet->setPixmap( Resource::loadPixmap( "ko16" ) ); | ||
28 | else | ||
29 | mApplet->setPixmap( Resource::loadPixmap( "ko24" ) ); | ||
30 | QCopChannel* c = new QCopChannel("koalarm",mApplet , "channel" ) ; | ||
31 | QObject::connect( c, SIGNAL (received ( const QCString &, const QByteArray & )),mApplet, SLOT(recieve( const QCString&, const QByteArray& ))); | ||
32 | mApplet->show(); | ||
33 | } | ||
34 | return mApplet; | ||
35 | } | ||
36 | |||
37 | int SimpleAlarmDaemonApplet::position() const | ||
38 | { | ||
39 | return 7; | ||
40 | } | ||
41 | |||
42 | QRESULT SimpleAlarmDaemonApplet::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | ||
43 | { | ||
44 | *iface = 0; | ||
45 | if ( uuid == IID_QUnknown ) | ||
46 | *iface = this; | ||
47 | else if ( uuid == IID_TaskbarApplet ) | ||
48 | *iface = this; | ||
49 | |||
50 | if ( *iface ) | ||
51 | (*iface)->addRef(); | ||
52 | return QS_OK; | ||
53 | } | ||
54 | |||
55 | Q_EXPORT_INTERFACE() | ||
56 | { | ||
57 | Q_CREATE_INSTANCE( SimpleAlarmDaemonApplet ) | ||
58 | } | ||
diff --git a/kalarmd/simplealarmdaemonapplet.h b/kalarmd/simplealarmdaemonapplet.h new file mode 100644 index 0000000..a4cbee4 --- a/dev/null +++ b/kalarmd/simplealarmdaemonapplet.h | |||
@@ -0,0 +1,26 @@ | |||
1 | #ifndef SIMPLEALARMDAEMONAPPLET_H | ||
2 | #define SIMPLEALARMDAEMONAPPLET_H | ||
3 | |||
4 | #include <qpe/taskbarappletinterface.h> | ||
5 | |||
6 | class SimpleAlarmDaemonImpl; | ||
7 | class ScreenshotApplet; | ||
8 | |||
9 | class SimpleAlarmDaemonApplet : public TaskbarAppletInterface | ||
10 | { | ||
11 | public: | ||
12 | SimpleAlarmDaemonApplet(); | ||
13 | virtual ~SimpleAlarmDaemonApplet(); | ||
14 | |||
15 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); | ||
16 | Q_REFCOUNT | ||
17 | |||
18 | virtual QWidget *applet( QWidget *parent ); | ||
19 | virtual int position() const; | ||
20 | |||
21 | private: | ||
22 | SimpleAlarmDaemonImpl *mApplet; | ||
23 | ulong ref; | ||
24 | }; | ||
25 | |||
26 | #endif | ||
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp new file mode 100644 index 0000000..2bc6643 --- a/dev/null +++ b/kalarmd/simplealarmdaemonimpl.cpp | |||
@@ -0,0 +1,552 @@ | |||
1 | /* | ||
2 | This file is part of the KOrganizer alarm daemon. | ||
3 | Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> | ||
4 | |||
5 | This program is free software; you can redistribute it and/or modify | ||
6 | it under the terms of the GNU General Public License as published by | ||
7 | the Free Software Foundation; either version 2 of the License, or | ||
8 | (at your option) any later version. | ||
9 | |||
10 | This program is distributed in the hope that it will be useful, | ||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | GNU General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU General Public License | ||
16 | along with this program; if not, write to the Free Software | ||
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
18 | |||
19 | As a special exception, permission is given to link this program | ||
20 | with any edition of Qt, and distribute the resulting executable, | ||
21 | without including the source code for Qt in the source distribution. | ||
22 | */ | ||
23 | |||
24 | #include "simplealarmdaemonimpl.h" | ||
25 | |||
26 | #include "alarmdialog.h" | ||
27 | #include <qpopupmenu.h> | ||
28 | #include <qapp.h> | ||
29 | #include <qdir.h> | ||
30 | #include <qfile.h> | ||
31 | #include <qhbox.h> | ||
32 | #include <qtimer.h> | ||
33 | #include <qfile.h> | ||
34 | #include <qlayout.h> | ||
35 | #include <qlineedit.h> | ||
36 | #include <qdialog.h> | ||
37 | #include <qspinbox.h> | ||
38 | #include <qtextstream.h> | ||
39 | #include <qtopia/qcopenvelope_qws.h> | ||
40 | #include <qtopia/alarmserver.h> | ||
41 | |||
42 | #include <stdlib.h> | ||
43 | #include <stdio.h> | ||
44 | #include <unistd.h> | ||
45 | |||
46 | |||
47 | SimpleAlarmDaemonImpl::SimpleAlarmDaemonImpl( QWidget *parent ) | ||
48 | : QLabel( parent ) | ||
49 | { | ||
50 | mAlarmDialog = new AlarmDialog( 0 ); | ||
51 | mPopUp = new QPopupMenu( 0 ); | ||
52 | mPopUp->insertItem( "Addresses", this, SLOT ( showAdd() ) ); | ||
53 | mPopUp->insertSeparator(); | ||
54 | mPopUp->insertItem( "Multi Sync", this, SLOT ( ringSync() ) ); | ||
55 | mPopUp->insertSeparator(); | ||
56 | mPopUp->insertItem( "What's Next?", this, SLOT ( showWN() ) ); | ||
57 | mPopUp->insertSeparator(); | ||
58 | mPopUp->insertItem( "What's Todo?", this, SLOT ( showTodo() ) ); | ||
59 | mPopUp->insertSeparator(); | ||
60 | mPopUp->insertItem( "Next Days!", this, SLOT ( showKO() ) ); | ||
61 | mPopUp->insertSeparator(); | ||
62 | mPopUp->insertItem( "Edit Journal", this, SLOT ( writeJournal() ) ); | ||
63 | mPopUp->insertSeparator(); | ||
64 | mPopUp->insertItem( "New Event", this, SLOT ( newEvent() ) ); | ||
65 | mPopUp->insertItem( "New Todo", this, SLOT ( newTodo() ) ); | ||
66 | mTimerPopUp = new QPopupMenu( mPopUp ); | ||
67 | |||
68 | mBeepPopUp = new QPopupMenu( mPopUp ); | ||
69 | mSoundPopUp = new QPopupMenu( mBeepPopUp ); | ||
70 | mPausePopUp = new QPopupMenu( mBeepPopUp ); | ||
71 | QPopupMenu* savePopUp = new QPopupMenu( mBeepPopUp ); | ||
72 | savePopUp->insertItem( "Save", 0 ); | ||
73 | savePopUp->insertItem( "Load", 1 ); | ||
74 | mSoundPopUp->insertItem( "Buzzer", 0 ); | ||
75 | mSoundPopUp->insertItem( "Wav file", 1 ); | ||
76 | mPausePopUp->insertItem( " 1 sec", 1 ); | ||
77 | mPausePopUp->insertItem( " 2 sec", 2 ); | ||
78 | mPausePopUp->insertItem( " 3 sec", 3 ); | ||
79 | mPausePopUp->insertItem( " 5 sec", 5 ); | ||
80 | mPausePopUp->insertItem( "10 sec", 10 ); | ||
81 | mPausePopUp->insertItem( "30 sec", 30 ); | ||
82 | mPausePopUp->insertItem( " 1 min", 60 ); | ||
83 | mPausePopUp->insertItem( " 5 min", 300 ); | ||
84 | mPausePopUp->insertItem( "10 min", 600 ); | ||
85 | mSuspendPopUp = new QPopupMenu( mBeepPopUp ); | ||
86 | mSuspendPopUp->insertItem( "Off", 0 ); | ||
87 | mSuspendPopUp->insertItem( " 1x", 1 ); | ||
88 | mSuspendPopUp->insertItem( " 2x", 2 ); | ||
89 | mSuspendPopUp->insertItem( " 3x", 3 ); | ||
90 | mSuspendPopUp->insertItem( " 5x", 5 ); | ||
91 | mSuspendPopUp->insertItem( "10x", 10 ); | ||
92 | mSuspendPopUp->insertItem( "20x", 20 ); | ||
93 | mSuspendPopUp->insertItem( "30x", 30 ); | ||
94 | mBeepPopUp->insertItem( "Auto suspend",mSuspendPopUp ); | ||
95 | mBeepPopUp->insertItem( "Beep interval",mPausePopUp ); | ||
96 | mBeepPopUp->insertItem( "Replay",mSoundPopUp ); | ||
97 | mBeepPopUp->insertItem( "Config",savePopUp ); | ||
98 | mBeepPopUp->insertItem( "300", 300 ); | ||
99 | mBeepPopUp->insertItem( "180", 180 ); | ||
100 | mBeepPopUp->insertItem( "60", 60 ); | ||
101 | mBeepPopUp->insertItem( "30", 30 ); | ||
102 | mBeepPopUp->insertItem( "10", 10 ); | ||
103 | mBeepPopUp->insertItem( "3", 3 ); | ||
104 | mBeepPopUp->insertItem( "1", 1 ); | ||
105 | mBeepPopUp->insertItem( "Off", 0 ); | ||
106 | mBeepPopUp->setCheckable( true ); | ||
107 | mPopUp->insertSeparator(); | ||
108 | mPopUp->insertItem( "Play beeps", mBeepPopUp ); | ||
109 | mPopUp->insertSeparator(); | ||
110 | mPopUp->insertItem( "Timer", mTimerPopUp ); | ||
111 | mPopUp->insertSeparator(); | ||
112 | mPopUp->insertItem( "Simulate", this, SLOT ( simulate() ) ); | ||
113 | |||
114 | mPopUp->resize( mPopUp->sizeHint() ); | ||
115 | mPlayBeeps = 60; | ||
116 | mBeepPopUp->setItemChecked ( mPlayBeeps, true ); | ||
117 | connect ( mBeepPopUp, SIGNAL( activated ( int ) ), this, SLOT (slotPlayBeep( int ) ) ); | ||
118 | connect ( mTimerPopUp, SIGNAL( activated ( int ) ), this, SLOT (confTimer( int ) ) ); | ||
119 | connect ( mTimerPopUp, SIGNAL(aboutToShow() ), this, SLOT ( showTimer( ) ) ); | ||
120 | connect ( mSoundPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSound( int ) ) ); | ||
121 | connect ( mPausePopUp, SIGNAL( activated ( int ) ), this, SLOT (confPause( int ) ) ); | ||
122 | connect ( mSuspendPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSuspend( int ) ) ); | ||
123 | connect ( savePopUp, SIGNAL( activated ( int ) ), this, SLOT (saveSlot( int ) ) ); | ||
124 | mTimerTime = 0; | ||
125 | mCustomText = "Custom Text"; | ||
126 | mCustomMinutes = 7; | ||
127 | mTimerPopupConf = 1; | ||
128 | fillTimerPopUp(); | ||
129 | mPausePlay = 0; | ||
130 | confPause( 1 ); | ||
131 | mSuspend = 0; | ||
132 | confSuspend( 0 ); | ||
133 | if ( QApplication::desktop()->width() < 480 ) { | ||
134 | wavAlarm = false; | ||
135 | mSoundPopUp->setItemChecked ( 0, true ); | ||
136 | } | ||
137 | else { | ||
138 | wavAlarm = true; | ||
139 | mSoundPopUp->setItemChecked ( 1, true ); | ||
140 | } | ||
141 | saveSlot( 1 ); | ||
142 | } | ||
143 | |||
144 | SimpleAlarmDaemonImpl::~SimpleAlarmDaemonImpl() | ||
145 | { | ||
146 | delete mPopUp; | ||
147 | delete mAlarmDialog; | ||
148 | } | ||
149 | void SimpleAlarmDaemonImpl::saveSlot( int load ) | ||
150 | { | ||
151 | QString fileName = QDir::homeDirPath() +"/.kopialarmrc"; | ||
152 | //qDebug("save %d ", load ); | ||
153 | QFile file( fileName ); | ||
154 | if ( load ) { | ||
155 | if( !QFile::exists( fileName) ) | ||
156 | return; | ||
157 | if (!file.open( IO_ReadOnly ) ) { | ||
158 | return ; | ||
159 | } | ||
160 | QString line; | ||
161 | bool ok; | ||
162 | int val; | ||
163 | int len; | ||
164 | while ( file.readLine( line, 1024 ) > 0 ) { | ||
165 | //qDebug("read %s ", line.latin1()); | ||
166 | len = line.length(); | ||
167 | if ( line.left(4 ) == "PPAU" ) { | ||
168 | val = line.mid( 4,len-5).toInt( &ok ); | ||
169 | if ( ok ) { | ||
170 | confPause( val ); | ||
171 | } | ||
172 | } | ||
173 | if ( line.left(4 ) == "SUCO" ) { | ||
174 | val = line.mid( 4,len-5).toInt( &ok ); | ||
175 | if ( ok ) | ||
176 | confSuspend ( val ); | ||
177 | } | ||
178 | if ( line.left(4 ) == "WAAL" ) { | ||
179 | val = line.mid( 4,len-5).toInt( &ok ); | ||
180 | if ( ok ) | ||
181 | confSound( val ); | ||
182 | |||
183 | } | ||
184 | if ( line.left(4 ) == "PLBE" ) { | ||
185 | val = line.mid( 4,len-5).toInt( &ok ); | ||
186 | if ( ok ) | ||
187 | slotPlayBeep( val ); | ||
188 | |||
189 | } | ||
190 | if ( line.left(4 ) == "CUTE" ) { | ||
191 | mCustomText = line.mid( 5,len-6); | ||
192 | // qDebug("text ***%s*** ",mCustomText.latin1() ); | ||
193 | |||
194 | } | ||
195 | if ( line.left(4 ) == "CUMI" ) { | ||
196 | val = line.mid( 4,len-5).toInt( &ok ); | ||
197 | if ( ok ) | ||
198 | mCustomMinutes = val; | ||
199 | |||
200 | } | ||
201 | if ( line.left(4 ) == "SUTI" ) { | ||
202 | val = line.mid( 4,len-5).toInt( &ok ); | ||
203 | if ( ok ) | ||
204 | mAlarmDialog->setSuspendTime( val );; | ||
205 | |||
206 | } | ||
207 | } | ||
208 | file.close(); | ||
209 | } else { | ||
210 | if (!file.open( IO_WriteOnly ) ) { | ||
211 | return; | ||
212 | } | ||
213 | QString configString ; | ||
214 | configString += "PPAU " + QString::number( mPausePlay ) + "\n"; | ||
215 | configString += "SUCO " + QString::number( mSuspend ) + "\n"; | ||
216 | configString += "WAAL " + QString::number( wavAlarm ) + "\n"; | ||
217 | configString += "PLBE " + QString::number( mPlayBeeps ) + "\n"; | ||
218 | configString += "CUTE " + mCustomText + "\n"; | ||
219 | configString += "CUMI " + QString::number( mCustomMinutes ) + "\n"; | ||
220 | configString += "SUTI " + QString::number( mAlarmDialog->getSuspendTime( )) + "\n"; | ||
221 | QTextStream ts( &file ); | ||
222 | ts << configString ; | ||
223 | file.close(); | ||
224 | } | ||
225 | |||
226 | } | ||
227 | void SimpleAlarmDaemonImpl::confSuspend( int num ) | ||
228 | { | ||
229 | mSuspendPopUp->setItemChecked ( mSuspend,false ); | ||
230 | mSuspend = num; | ||
231 | mSuspendPopUp->setItemChecked ( mSuspend,true ); | ||
232 | } | ||
233 | void SimpleAlarmDaemonImpl::confPause( int num ) | ||
234 | { | ||
235 | mPausePopUp->setItemChecked ( mPausePlay,false ); | ||
236 | mPausePlay = num; | ||
237 | mPausePopUp->setItemChecked ( mPausePlay,true ); | ||
238 | } | ||
239 | void SimpleAlarmDaemonImpl::confSound( int num ) | ||
240 | { | ||
241 | if ( num == 0 ) { | ||
242 | wavAlarm = false; | ||
243 | mSoundPopUp->setItemChecked ( 0, true ); | ||
244 | mSoundPopUp->setItemChecked ( 1, false ); | ||
245 | } else { | ||
246 | wavAlarm = true; | ||
247 | mSoundPopUp->setItemChecked ( 0, false ); | ||
248 | mSoundPopUp->setItemChecked ( 1, true ); | ||
249 | } | ||
250 | } | ||
251 | void SimpleAlarmDaemonImpl::slotPlayBeep( int num ) | ||
252 | { | ||
253 | mBeepPopUp->setItemChecked ( mPlayBeeps,false ); | ||
254 | mPlayBeeps = num; | ||
255 | mBeepPopUp->setItemChecked ( mPlayBeeps, true ); | ||
256 | } | ||
257 | |||
258 | void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& ) | ||
259 | { | ||
260 | //qDebug("SimpleAlarmDaemonImpl::ALARM RECEIVED! %s", msg.data()); | ||
261 | QString mess = msg; | ||
262 | mAlarmMessage = mess.mid( 9 ); | ||
263 | QString filename = getenv("QPEDIR") ; | ||
264 | filename += "/pics/kdepim/korganizer/koalarm.wav"; | ||
265 | QString tempfilename; | ||
266 | if ( mess.left( 13 ) == "suspend_alarm") { | ||
267 | bool error = false; | ||
268 | int len = mess.mid( 13 ).find("+++"); | ||
269 | if ( len < 2 ) | ||
270 | error = true; | ||
271 | else { | ||
272 | tempfilename = mess.mid( 13, len ); | ||
273 | if ( !QFile::exists( tempfilename ) ) | ||
274 | error = true; | ||
275 | } | ||
276 | if ( ! error ) { | ||
277 | filename = tempfilename; | ||
278 | } | ||
279 | mAlarmMessage = mess.mid( 13+len+3 ); | ||
280 | //qDebug("suspend file %s ",tempfilename.latin1() ); | ||
281 | startAlarm( mAlarmMessage, filename); | ||
282 | return; | ||
283 | } | ||
284 | if ( mess.left( 11 ) == "timer_alarm") { | ||
285 | mTimerTime = 0; | ||
286 | startAlarm( mess.mid( 11 ), filename ); | ||
287 | return; | ||
288 | } | ||
289 | if ( mess.left( 10 ) == "proc_alarm") { | ||
290 | bool error = false; | ||
291 | int len = mess.mid( 10 ).find("+++"); | ||
292 | if ( len < 2 ) | ||
293 | error = true; | ||
294 | else { | ||
295 | tempfilename = mess.mid( 10, len ); | ||
296 | if ( !QFile::exists( tempfilename ) ) | ||
297 | error = true; | ||
298 | } | ||
299 | if ( error ) { | ||
300 | mAlarmMessage = "Procedure Alarm\nError - File not found\n"; | ||
301 | mAlarmMessage += mess.mid( 10+len+3+9 ); | ||
302 | } else { | ||
303 | QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); | ||
304 | //qDebug("-----system command %s ",tempfilename.latin1() ); | ||
305 | if ( vfork () == 0 ) { | ||
306 | execl ( tempfilename.latin1(), 0 ); | ||
307 | return; | ||
308 | } | ||
309 | return; | ||
310 | } | ||
311 | |||
312 | //qDebug("+++++++system command %s ",tempfilename.latin1() ); | ||
313 | } | ||
314 | if ( mess.left( 11 ) == "audio_alarm") { | ||
315 | bool error = false; | ||
316 | int len = mess.mid( 11 ).find("+++"); | ||
317 | if ( len < 2 ) | ||
318 | error = true; | ||
319 | else { | ||
320 | tempfilename = mess.mid( 11, len ); | ||
321 | if ( !QFile::exists( tempfilename ) ) | ||
322 | error = true; | ||
323 | } | ||
324 | if ( ! error ) { | ||
325 | filename = tempfilename; | ||
326 | } | ||
327 | mAlarmMessage = mess.mid( 11+len+3+9 ); | ||
328 | //qDebug("audio file command %s ",tempfilename.latin1() ); | ||
329 | } | ||
330 | if ( mess.left( 9 ) == "cal_alarm") { | ||
331 | mAlarmMessage = mess.mid( 9 ) ; | ||
332 | } | ||
333 | |||
334 | writeFile(); | ||
335 | startAlarm( mAlarmMessage, filename ); | ||
336 | |||
337 | } | ||
338 | |||
339 | int SimpleAlarmDaemonImpl::getFileNameLen( QString mess ) | ||
340 | { | ||
341 | return 0; | ||
342 | } | ||
343 | void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename ) | ||
344 | { | ||
345 | //mAlarmDialog->show(); | ||
346 | //mAlarmDialog->raise(); | ||
347 | mAlarmDialog->eventNotification( mess, mPlayBeeps, filename, wavAlarm,mPausePlay ,mSuspend ); | ||
348 | } | ||
349 | |||
350 | |||
351 | void SimpleAlarmDaemonImpl::fillTimerPopUp() | ||
352 | { | ||
353 | |||
354 | // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime ); | ||
355 | if ( mTimerPopupConf == mTimerTime ) { | ||
356 | if ( mTimerTime ) { | ||
357 | int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); | ||
358 | QTime t ( secs/3600, (secs/60)%60, secs%60 ); | ||
359 | mTimerPopUp->changeItem ( 1 , t.toString()); | ||
360 | } | ||
361 | else { | ||
362 | QString text = mCustomText.stripWhiteSpace (); | ||
363 | int in = text.find( " " ); | ||
364 | text = text.left ( in ); | ||
365 | mTimerPopUp->changeItem ( 3, text ); | ||
366 | } | ||
367 | return; | ||
368 | } | ||
369 | mTimerPopupConf = mTimerTime; | ||
370 | mTimerPopUp->clear(); | ||
371 | if ( mTimerTime ) { | ||
372 | int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); | ||
373 | QTime t ( secs/3600, (secs/60)%60, secs%60 ); | ||
374 | mTimerPopUp->insertItem( "Stop", 0 ); | ||
375 | mTimerPopUp->insertItem( t.toString(),1); | ||
376 | } else { | ||
377 | mTimerPopUp->insertItem( "24 h", 1440 ); | ||
378 | // mTimerPopUp->insertItem( i18n("12 h"), 720 ); | ||
379 | mTimerPopUp->insertItem( " 8 h", 480 ); | ||
380 | mTimerPopUp->insertItem( " 5 h", 300 ); | ||
381 | // mTimerPopUp->insertItem( i18n(" 2 h"), 120 ); | ||
382 | mTimerPopUp->insertItem( " 1 h", 60 ); | ||
383 | mTimerPopUp->insertItem( "30 min", 30 ); | ||
384 | mTimerPopUp->insertItem( "15 min", 15 ); | ||
385 | mTimerPopUp->insertItem( "10 min", 10 ); | ||
386 | //mTimerPopUp->insertItem( " 5 min", 5 ); | ||
387 | mTimerPopUp->insertSeparator(); | ||
388 | mTimerPopUp->insertItem( "Pizza", 22 ); | ||
389 | mTimerPopUp->insertItem( "Nap", 45 ); | ||
390 | mTimerPopUp->insertItem( "Tea", 5 ); | ||
391 | QString text = mCustomText.stripWhiteSpace (); | ||
392 | int in = text.find( " " ); | ||
393 | text = text.left ( in ); | ||
394 | mTimerPopUp->insertItem( text, 3 ); | ||
395 | mTimerPopUp->insertSeparator(); | ||
396 | mTimerPopUp->insertItem( "Customize", 2 ); | ||
397 | } | ||
398 | |||
399 | } | ||
400 | |||
401 | void SimpleAlarmDaemonImpl::showTimer() | ||
402 | { | ||
403 | fillTimerPopUp(); | ||
404 | } | ||
405 | |||
406 | void SimpleAlarmDaemonImpl::confTimer( int time ) | ||
407 | { | ||
408 | //qDebug("impleAlarmDaemonImpl::confTimer() %d ", time ); | ||
409 | int minutes = time; | ||
410 | if ( minutes == 0 ) { | ||
411 | if ( ! mTimerTime ) | ||
412 | return; | ||
413 | |||
414 | QDialog dia ( 0, ("Stop Timer" ), true ); | ||
415 | QLabel lab (("Really stop the timer?"), &dia ); | ||
416 | dia.setCaption(("KO/Pi Timer Stop" )); | ||
417 | QVBoxLayout lay( &dia ); | ||
418 | lay.setMargin(5); | ||
419 | lay.setSpacing(5); | ||
420 | lay.addWidget( &lab); | ||
421 | dia.resize( 200, dia.sizeHint().height() ); | ||
422 | |||
423 | if ( !dia.exec() ) | ||
424 | return; | ||
425 | |||
426 | AlarmServer::deleteAlarm ( mRunningTimer,"koalarm" , timerMesssage.latin1() ); | ||
427 | mTimerTime = 0; | ||
428 | return; | ||
429 | } | ||
430 | if ( mTimerTime ) | ||
431 | return; | ||
432 | if ( minutes == 1 ) { | ||
433 | return; | ||
434 | } | ||
435 | QString mess = "timer_alarm"; | ||
436 | mess += ("Timer Alarm!\n"); | ||
437 | if ( minutes == 22 ) | ||
438 | mess += ( "Pizza is ready"); | ||
439 | else if ( minutes == 45 ) | ||
440 | mess += ( "Please wake up!"); | ||
441 | else if ( minutes == 5 ) | ||
442 | mess += ( "Tea is ready"); | ||
443 | else if ( minutes == 3 ) { | ||
444 | mess += mCustomText; | ||
445 | minutes = mCustomMinutes ; | ||
446 | } | ||
447 | else { | ||
448 | if ( minutes == 2 ) { | ||
449 | // ask time | ||
450 | QDialog dia ( 0, ("Customize Timer" ), true ); | ||
451 | QLabel lab (("Message Text:"), &dia ); | ||
452 | dia.setCaption(("KO/Pi Timer" )); | ||
453 | QVBoxLayout lay( &dia ); | ||
454 | lay.setMargin(5); | ||
455 | lay.setSpacing(5); | ||
456 | lay.addWidget( &lab); | ||
457 | QLineEdit lEdit( mCustomText, &dia ); | ||
458 | lay.addWidget( &lEdit); | ||
459 | QLabel lab2 (("Countdown time (1 min - 24 h):"), &dia ); | ||
460 | lay.addWidget( &lab2); | ||
461 | QHBox hbox ( &dia ); | ||
462 | QLabel lab3 (("h:"), &hbox ); | ||
463 | QSpinBox spinh( 0, 24, 1,& hbox ); | ||
464 | QLabel lab4 ((" min:"), &hbox ); | ||
465 | QSpinBox spinm( 0, 59, 1,&hbox ); | ||
466 | spinh.setValue( mCustomMinutes/60 ); | ||
467 | spinm.setValue( mCustomMinutes%60 ); | ||
468 | lay.addWidget( &hbox); | ||
469 | dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); | ||
470 | if ( !dia.exec() ) | ||
471 | return; | ||
472 | mCustomText = lEdit.text(); | ||
473 | mCustomMinutes = spinh.value()*60+spinm.value(); | ||
474 | if ( mCustomMinutes == 0 ) | ||
475 | mCustomMinutes = 1; | ||
476 | if ( mCustomMinutes > 1440 ) | ||
477 | mCustomMinutes = 1440; | ||
478 | mess += mCustomText; | ||
479 | minutes = mCustomMinutes; | ||
480 | } | ||
481 | else | ||
482 | mess+= QString::number ( minutes ) + ( " minutes are past!"); | ||
483 | } | ||
484 | //minutes = 1; | ||
485 | mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); | ||
486 | timerMesssage = mess; | ||
487 | AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1()); | ||
488 | mTimerTime = 1; | ||
489 | } | ||
490 | |||
491 | void SimpleAlarmDaemonImpl::writeFile() | ||
492 | { | ||
493 | QCopEnvelope e("QPE/Application/kopi", "-writeFile"); | ||
494 | } | ||
495 | void SimpleAlarmDaemonImpl::showWN() | ||
496 | { | ||
497 | QCopEnvelope e("QPE/Application/kopi", "-showWN"); | ||
498 | } | ||
499 | void SimpleAlarmDaemonImpl::newTodo() | ||
500 | { | ||
501 | QCopEnvelope e("QPE/Application/kopi", "-newTodo"); | ||
502 | } | ||
503 | |||
504 | void SimpleAlarmDaemonImpl::newEvent() | ||
505 | { | ||
506 | QCopEnvelope e("QPE/Application/kopi", "-newEvent"); | ||
507 | |||
508 | } | ||
509 | |||
510 | void SimpleAlarmDaemonImpl::showAdd() | ||
511 | { | ||
512 | QCopEnvelope e("QPE/Application/kapi", " "); | ||
513 | } | ||
514 | void SimpleAlarmDaemonImpl::ringSync() | ||
515 | { | ||
516 | QCopEnvelope e("QPE/Application/kopi", "-ringSync"); | ||
517 | |||
518 | } | ||
519 | void SimpleAlarmDaemonImpl::newCountdown() | ||
520 | { | ||
521 | //recieve("cal_alarm", 10 ); | ||
522 | } | ||
523 | void SimpleAlarmDaemonImpl::simulate() | ||
524 | { | ||
525 | writeFile(); | ||
526 | QString filename = getenv("QPEDIR") ; | ||
527 | filename += "/pics/kdepim/korganizer/koalarm.wav"; | ||
528 | startAlarm("Alarm simulation", filename ); | ||
529 | } | ||
530 | void SimpleAlarmDaemonImpl::showKO() | ||
531 | { | ||
532 | QCopEnvelope e("QPE/Application/kopi", "-showKO"); | ||
533 | |||
534 | } | ||
535 | void SimpleAlarmDaemonImpl::showTodo() | ||
536 | { | ||
537 | QCopEnvelope e("QPE/Application/kopi", "-showTodo"); | ||
538 | |||
539 | } | ||
540 | void SimpleAlarmDaemonImpl::writeJournal() | ||
541 | { | ||
542 | QCopEnvelope e("QPE/Application/kopi", "-showJournal"); | ||
543 | |||
544 | } | ||
545 | |||
546 | void SimpleAlarmDaemonImpl::mousePressEvent( QMouseEvent * ) | ||
547 | { | ||
548 | |||
549 | mPopUp->popup(mapToGlobal(QPoint (0, -mPopUp->height() ))); | ||
550 | |||
551 | } | ||
552 | |||
diff --git a/kalarmd/simplealarmdaemonimpl.h b/kalarmd/simplealarmdaemonimpl.h new file mode 100644 index 0000000..1c16af8 --- a/dev/null +++ b/kalarmd/simplealarmdaemonimpl.h | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | This file is part of the KOrganizer alarm daemon. | ||
3 | Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> | ||
4 | |||
5 | This program is free software; you can redistribute it and/or modify | ||
6 | it under the terms of the GNU General Public License as published by | ||
7 | the Free Software Foundation; either version 2 of the License, or | ||
8 | (at your option) any later version. | ||
9 | |||
10 | This program is distributed in the hope that it will be useful, | ||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | GNU General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU General Public License | ||
16 | along with this program; if not, write to the Free Software | ||
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
18 | |||
19 | As a special exception, permission is given to link this program | ||
20 | with any edition of Qt, and distribute the resulting executable, | ||
21 | without including the source code for Qt in the source distribution. | ||
22 | */ | ||
23 | #ifndef SIMPLEALARMDAEMONIMPL_H | ||
24 | #define SIMPLEALARMDAEMONIMPL_H | ||
25 | |||
26 | //#include "simplealarmdaemon.h" | ||
27 | #include <qdatetime.h> | ||
28 | #include <qlabel.h> | ||
29 | |||
30 | class QLabel; | ||
31 | class QTimer; | ||
32 | class QPopupMenu; | ||
33 | class AlarmDialog; | ||
34 | class SimpleAlarmDaemonImpl : public QLabel | ||
35 | { | ||
36 | Q_OBJECT | ||
37 | public: | ||
38 | SimpleAlarmDaemonImpl( QWidget *parent = 0 ); | ||
39 | |||
40 | ~SimpleAlarmDaemonImpl(); | ||
41 | |||
42 | protected slots: | ||
43 | void recieve( const QCString& msg, const QByteArray& data ); | ||
44 | void newTodo(); | ||
45 | void newEvent(); | ||
46 | void newCountdown(); | ||
47 | void simulate(); | ||
48 | void showKO(); | ||
49 | void showWN(); | ||
50 | void showAdd(); | ||
51 | void ringSync(); | ||
52 | void showTodo(); | ||
53 | void writeFile(); | ||
54 | void writeJournal(); | ||
55 | void slotPlayBeep( int ); | ||
56 | void showTimer( ); | ||
57 | void confPause( int ); | ||
58 | void confTimer( int ); | ||
59 | void saveSlot( int ); | ||
60 | void confSuspend( int ); | ||
61 | void confSound( int num ); | ||
62 | void startAlarm(QString mess, QString fn ); | ||
63 | |||
64 | protected: | ||
65 | void mousePressEvent( QMouseEvent * ); | ||
66 | |||
67 | private: | ||
68 | AlarmDialog *mAlarmDialog; | ||
69 | int mPlayBeeps; | ||
70 | int mPausePlay; | ||
71 | int mSuspend; | ||
72 | QString mAlarmMessage; | ||
73 | int mTimerTime; | ||
74 | int getFileNameLen( QString ); | ||
75 | QPopupMenu* mPopUp, *mBeepPopUp, *mTimerPopUp, *mSoundPopUp,*mPausePopUp,*mSuspendPopUp; | ||
76 | QDateTime mRunningTimer; | ||
77 | void fillTimerPopUp(); | ||
78 | QString timerMesssage; | ||
79 | QString mCustomText; | ||
80 | int mCustomMinutes; | ||
81 | int mTimerPopupConf; | ||
82 | bool wavAlarm; | ||
83 | }; | ||
84 | |||
85 | #endif | ||