summaryrefslogtreecommitdiffabout
path: root/kalarmd/alarmdialog.cpp
authorzautrix <zautrix>2005-03-26 20:45:19 (UTC)
committer zautrix <zautrix>2005-03-26 20:45:19 (UTC)
commita24f954912ee2dbb76dcbde1abc9f20b06abbf93 (patch) (unidiff)
tree8b864e1cd9e5016e2bb398a3c3c132e78f21029a /kalarmd/alarmdialog.cpp
parentc9c3f9e65a72a3c79d7f67eba68fca4537004808 (diff)
downloadkdepimpi-a24f954912ee2dbb76dcbde1abc9f20b06abbf93.zip
kdepimpi-a24f954912ee2dbb76dcbde1abc9f20b06abbf93.tar.gz
kdepimpi-a24f954912ee2dbb76dcbde1abc9f20b06abbf93.tar.bz2
timer fixes
Diffstat (limited to 'kalarmd/alarmdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kalarmd/alarmdialog.cpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/kalarmd/alarmdialog.cpp b/kalarmd/alarmdialog.cpp
index 751ba57..794c8ae 100644
--- a/kalarmd/alarmdialog.cpp
+++ b/kalarmd/alarmdialog.cpp
@@ -1,152 +1,168 @@
1/* 1/*
2 This file is part of the KDE alarm daemon. 2 This file is part of the KDE alarm daemon.
3 Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 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 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 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 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 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. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24// $Id$ 24// $Id$
25 25
26#include <qhbox.h> 26#include <qhbox.h>
27#include <qvbox.h> 27#include <qvbox.h>
28#include <qapp.h> 28#include <qapp.h>
29#include <qlabel.h> 29#include <qlabel.h>
30#include <qlayout.h> 30#include <qlayout.h>
31#include <qfile.h> 31#include <qfile.h>
32#include <qtimer.h> 32#include <qtimer.h>
33#include <qsound.h> 33#include <qsound.h>
34#include <qpushbutton.h> 34#include <qpushbutton.h>
35#define protected public
35#include <qspinbox.h> 36#include <qspinbox.h>
37#undef protected
36#include <stdlib.h> 38#include <stdlib.h>
37#ifndef _WIN32_ 39#ifndef _WIN32_
38#include <unistd.h> 40#include <unistd.h>
39#include <sys/ioctl.h> 41#include <sys/ioctl.h>
40#endif 42#endif
41#include <stdio.h> 43#include <stdio.h>
42#include <fcntl.h> 44#include <fcntl.h>
43 45
44#ifndef DESKTOP_VERSION 46#ifndef DESKTOP_VERSION
45#include <qtopia/alarmserver.h> 47#include <qtopia/alarmserver.h>
46#include <qpe/resource.h> 48#include <qpe/resource.h>
47#include <qtopia/sound.h> 49#include <qtopia/sound.h>
48#endif 50#endif
49 51
50#include "alarmdialog.h" 52#include "alarmdialog.h"
51 53
52 54
53AlarmDialog::AlarmDialog(QWidget *parent,const char *name) 55AlarmDialog::AlarmDialog(QWidget *parent,const char *name)
54 : QDialog (parent, name, true, Qt::WStyle_StaysOnTop ) 56 : QDialog (parent, name, true, Qt::WStyle_StaysOnTop )
55{ 57{
56 setCaption( "KO/Pi Alarm!" ); 58 setCaption( "KO/Pi Alarm!" );
57 QVBoxLayout* layout = new QVBoxLayout( this); 59 QVBoxLayout* layout = new QVBoxLayout( this);
58 QLabel* l = new QLabel("The following event triggered alarm:",this); 60 QLabel* l = new QLabel("The following event triggered alarm:",this);
59 layout->addWidget ( l ); 61 layout->addWidget ( l );
60 l->setAlignment( AlignCenter); 62 l->setAlignment( AlignCenter);
61 mMessage = new QLabel ( " ", this ); 63 mMessage = new QLabel ( " ", this );
62 int fs = 18; 64 int fs = 18;
63 int fs2 = 12; 65 int fs2 = 12;
64 if ( QApplication::desktop()->width() < 480 ) { 66 if ( QApplication::desktop()->width() < 480 ) {
65 setMaximumSize(220, 260); 67 setMaximumSize(220, 260);
66 fs2 = 10; 68 fs2 = 10;
67 } 69 }
68 else { 70 else {
69 setMaximumSize(440, 440); 71 setMaximumSize(440, 440);
70 } 72 }
71 layout->setSpacing( 3 ); 73 layout->setSpacing( 3 );
72 layout->setMargin( 3 ); 74 layout->setMargin( 3 );
73 QFont fo = QApplication::font(); 75 QFont fo = QApplication::font();
74 fo.setBold( true ); 76 fo.setBold( true );
75 fo.setPointSize( fs2 ); 77 fo.setPointSize( fs2 );
76 l->setFont( fo ); 78 l->setFont( fo );
77 fo.setPointSize( fs ); 79 fo.setPointSize( fs );
78 mMessage->setFont(fo ); 80 mMessage->setFont(fo );
79 mMessage->setAlignment( AlignCenter); 81 mMessage->setAlignment( AlignCenter);
80 l = new QLabel("Missed Alarms:",this); 82 l = new QLabel("Missed Alarms:",this);
81 l->setAlignment( AlignCenter); 83 l->setAlignment( AlignCenter);
82 layout->addWidget ( mMessage ); 84 layout->addWidget ( mMessage );
83 layout->addWidget ( l ); 85 layout->addWidget ( l );
84 mMissedAlarms= new QLabel ( "", this ); 86 mMissedAlarms= new QLabel ( "", this );
85 mMissedAlarms->setAlignment( AlignCenter); 87 mMissedAlarms->setAlignment( AlignCenter);
86 88
87 playSoundTimer = new QTimer( this ); 89 playSoundTimer = new QTimer( this );
88 connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) ); 90 connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) );
89 91
90 playSoundTimer->stop(); 92 playSoundTimer->stop();
91 93
92 layout->addWidget ( mMissedAlarms ); 94 layout->addWidget ( mMissedAlarms );
93 QHBox *suspendBox = new QHBox( this ); 95 QVBox *suspendBox = new QVBox( this );
94 suspendBox->setSpacing(3); 96 suspendBox->setSpacing(3);
95 layout->addWidget ( suspendBox ); 97 layout->addWidget ( suspendBox );
96 (void)new QLabel("Suspend duration (minutes):",suspendBox); 98 QLabel* labb = new QLabel("Suspend duration (minutes):",suspendBox);
99 labb->setAlignment(AlignCenter);
100 fo = font();
101 fo.setPointSize( 36 );
97 mSuspendSpin = new QSpinBox(1,1440,1,suspendBox); 102 mSuspendSpin = new QSpinBox(1,1440,1,suspendBox);
103 mSuspendSpin->setFont( fo );
98 mSuspendSpin->setValue(7); // default suspend duration 104 mSuspendSpin->setValue(7); // default suspend duration
99 QHBox * bbox = new QHBox ( this ); 105 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
106 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
107 mSuspendSpin->upButton ()->setFixedSize( QSize( 48, 30 ));
108 mSuspendSpin->downButton ()->setFixedSize( QSize( 48, 30 ));
109 mSuspendSpin->setFixedSize( 100,62 );
110 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
111
112 QVBox * bbox = new QVBox ( this );
100 layout->addWidget ( bbox ); 113 layout->addWidget ( bbox );
101 bbox->layout()->setSpacing( 5 ); 114 bbox->layout()->setSpacing( 2 );
102 QPushButton* suspend = new QPushButton( "Suspend", bbox); 115 QPushButton* suspend = new QPushButton( "Suspend", bbox);
103 QPushButton* silen = new QPushButton( " Stop sound ", bbox); 116 QPushButton* silen = new QPushButton( " Stop sound ", bbox);
104 QPushButton* okbut = new QPushButton( "Ok", bbox); 117 QPushButton* okbut = new QPushButton( "Ok", bbox);
118 suspend->setFont( fo );
119 silen->setFont( fo );
120 okbut->setFont( fo );
105 connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) ); 121 connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) );
106 connect (suspend , SIGNAL( clicked() ), this, SLOT (slotSuspend() ) ); 122 connect (suspend , SIGNAL( clicked() ), this, SLOT (slotSuspend() ) );
107 connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) ); 123 connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) );
108#ifndef _WIN32_ 124#ifndef _WIN32_
109 if ( QFile::exists ( "/dev/sharp_led" ) ) 125 if ( QFile::exists ( "/dev/sharp_led" ) )
110 fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK ); 126 fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK );
111 else 127 else
112#endif 128#endif
113 fd_led = 0; 129 fd_led = 0;
114 statusLED.which = SHARP_LED_SALARM; 130 statusLED.which = SHARP_LED_SALARM;
115 mSilent = false; 131 mSilent = false;
116 mSuspendCounter = 0; 132 mSuspendCounter = 0;
117 setServerNotification( true ); 133 setServerNotification( true );
118} 134}
119void AlarmDialog::reject () 135void AlarmDialog::reject ()
120{ 136{
121 QTimer::singleShot ( 3000, this, SLOT (suspend()) ); 137 QTimer::singleShot ( 3000, this, SLOT (suspend()) );
122 slotSuspend(); 138 slotSuspend();
123} 139}
124AlarmDialog::~AlarmDialog() 140AlarmDialog::~AlarmDialog()
125{ 141{
126} 142}
127void AlarmDialog::silent () 143void AlarmDialog::silent ()
128{ 144{
129 mSilent = true; 145 mSilent = true;
130} 146}
131void AlarmDialog::accept() 147void AlarmDialog::accept()
132{ 148{
133 slotOk(); 149 slotOk();
134} 150}
135 151
136void AlarmDialog::suspend() 152void AlarmDialog::suspend()
137{ 153{
138#ifdef DESKTOP_VERSION 154#ifdef DESKTOP_VERSION
139 155
140#else 156#else
141 Sound::soundAlarm (); 157 Sound::soundAlarm ();
142#endif 158#endif
143} 159}
144void AlarmDialog::slotOk() 160void AlarmDialog::slotOk()
145{ 161{
146 mStopAlarm = true; 162 mStopAlarm = true;
147 mMissedAlarms->setText(""); 163 mMissedAlarms->setText("");
148 mMessage->setText(""); 164 mMessage->setText("");
149#ifndef _WIN32_ 165#ifndef _WIN32_
150 if ( fd_led > 0 ) { 166 if ( fd_led > 0 ) {
151 statusLED.status = LED_SALARM_OFF ; 167 statusLED.status = LED_SALARM_OFF ;
152 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); 168 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED);