summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--desktop/rpm/kdepim_rpm2
-rw-r--r--kalarmd/alarmdialog.cpp2
-rw-r--r--version2
3 files changed, 3 insertions, 3 deletions
diff --git a/desktop/rpm/kdepim_rpm b/desktop/rpm/kdepim_rpm
index 848e63b..464c9d0 100644
--- a/desktop/rpm/kdepim_rpm
+++ b/desktop/rpm/kdepim_rpm
@@ -1,84 +1,84 @@
1Summary: A collection of PIM programs 1Summary: A collection of PIM programs
2Name: KDE-Pim-Pi 2Name: KDE-Pim-Pi
3Version: 2.1.1 3Version: 2.1.2
4Release: SuSE_9.2 4Release: SuSE_9.2
5Copyright:GPL 5Copyright:GPL
6Group: Productivity/Pim 6Group: Productivity/Pim
7Source:http://sourceforge.net/projects/kdepimpi/ 7Source:http://sourceforge.net/projects/kdepimpi/
8URL:http://sourceforge.net/projects/kdepimpi/ 8URL:http://sourceforge.net/projects/kdepimpi/
9Packager: zautrix 9Packager: zautrix
10 10
11%description 11%description
12This package contains the platform-independent PIM programs from 12This package contains the platform-independent PIM programs from
13www.pi-sync.info, compiled for SuSE 9.2: 13www.pi-sync.info, compiled for SuSE 9.2:
14KTimeTacker/Pi 14KTimeTacker/Pi
15KPhone/Pi 15KPhone/Pi
16KAddressbook/Pi 16KAddressbook/Pi
17KOrganizer/Pi 17KOrganizer/Pi
18PasswordManager/Pi 18PasswordManager/Pi
19KOPieMail/Pi 19KOPieMail/Pi
20 20
21These applications do not need anything from the KDE-desktop 21These applications do not need anything from the KDE-desktop
22at all to run on Linux. However, there is a dependency from 22at all to run on Linux. However, there is a dependency from
23two KDE libs, because a small command line program is included 23two KDE libs, because a small command line program is included
24to make it possible to sync with the KDE-desktop applications. 24to make it possible to sync with the KDE-desktop applications.
25 25
26These applications are independent from the KDE-desktop 26These applications are independent from the KDE-desktop
27environment. That means, nothing of your existing 27environment. That means, nothing of your existing
28KDE-desktop setup will be changed, or any data 28KDE-desktop setup will be changed, or any data
29(calendar-addressbook) used by the KDE-desktop 29(calendar-addressbook) used by the KDE-desktop
30applications will be changed or accessed. 30applications will be changed or accessed.
31These applications stores their data and config in 31These applications stores their data and config in
32$HOME/kdepim/ 32$HOME/kdepim/
33However, because the same file format is used, 33However, because the same file format is used,
34an easy exchange of data with the KDE-desktop 34an easy exchange of data with the KDE-desktop
35is possible. 35is possible.
36A small command line program is included 36A small command line program is included
37to make it possible to sync with the KDE-desktop applications. 37to make it possible to sync with the KDE-desktop applications.
38You do not need to call this program from the commandline, 38You do not need to call this program from the commandline,
39it is called from the KDE-Pim/Pi apps when you choose there: 39it is called from the KDE-Pim/Pi apps when you choose there:
40Sync with KDE_Desktop. 40Sync with KDE_Desktop.
41If something is going wrong, please start the 41If something is going wrong, please start the
42KDE-Pim/Pi program itself from the console to get detailed output. 42KDE-Pim/Pi program itself from the console to get detailed output.
43 43
44After installation, you should have a 44After installation, you should have a
45PIM-pi 45PIM-pi
46folder in your KDE start menu, where you can 46folder in your KDE start menu, where you can
47start the applications from. 47start the applications from.
48 48
49These programs makes it possible to sync your Zaurus easily 49These programs makes it possible to sync your Zaurus easily
50(with the KDE-Pim/Pi programs running on the Zaurus) 50(with the KDE-Pim/Pi programs running on the Zaurus)
51with the KDE-desktop calendar/addressbook data. 51with the KDE-desktop calendar/addressbook data.
52If you want to use that, you have to update your 52If you want to use that, you have to update your
53KDE-desktop to version 3.3.0 or higher. 53KDE-desktop to version 3.3.0 or higher.
54SuSE 9.2 contains KDE 3.3.0 such that no update is needed. 54SuSE 9.2 contains KDE 3.3.0 such that no update is needed.
55Actually - after the (non difficult) configuration is set up - 55Actually - after the (non difficult) configuration is set up -
56with two mouseklicks on the Zaurus, 56with two mouseklicks on the Zaurus,
57the Zaurus syncs with the corresponding KDE-Pim/Pi 57the Zaurus syncs with the corresponding KDE-Pim/Pi
58program on the Linux Desktop which syncs automatically 58program on the Linux Desktop which syncs automatically
59with the KDE-desktop data. 59with the KDE-desktop data.
60 60
61If you want to use the KDE-desktop calendar/addressbook applications, 61If you want to use the KDE-desktop calendar/addressbook applications,
62just install these apps in this package and use them as a syncing tool for the 62just install these apps in this package and use them as a syncing tool for the
63Zaurus <-> KDE-desktop sync. 63Zaurus <-> KDE-desktop sync.
64The sync requires a network connection from your Zaurus to 64The sync requires a network connection from your Zaurus to
65the PC. A detailed Sync HowTo is available in the 65the PC. A detailed Sync HowTo is available in the
66Help menu of the applications. 66Help menu of the applications.
67 67
68These applications makes it also possible, that you can sync 68These applications makes it also possible, that you can sync
69(or just export the data to) your mobile phone with your 69(or just export the data to) your mobile phone with your
70data of the KDE-desktop calendar/addressbook applications. 70data of the KDE-desktop calendar/addressbook applications.
71This is tested and working for Nokia mobile phones, 71This is tested and working for Nokia mobile phones,
72it may work with others as well. 72it may work with others as well.
73(More info about that: -> Sync HowTo) 73(More info about that: -> Sync HowTo)
74 74
75NOTE: 75NOTE:
76When using SuSE 9.1 you have to update your KDE to 3.3.x 76When using SuSE 9.1 you have to update your KDE to 3.3.x
77and you have to make an online update in SuSE 9.1 to make it 77and you have to make an online update in SuSE 9.1 to make it
78possible to get the infrared connection working, such that 78possible to get the infrared connection working, such that
79you can sync your (Nokia) mobile phone via infrared. 79you can sync your (Nokia) mobile phone via infrared.
80 80
81%files 81%files
82/opt/kde3/share/applnk/PIM-pi/ 82/opt/kde3/share/applnk/PIM-pi/
83/opt/kdepimpi/ 83/opt/kdepimpi/
84/usr/lib/libmicro* 84/usr/lib/libmicro*
diff --git a/kalarmd/alarmdialog.cpp b/kalarmd/alarmdialog.cpp
index 1cda534..17d4afa 100644
--- a/kalarmd/alarmdialog.cpp
+++ b/kalarmd/alarmdialog.cpp
@@ -1,335 +1,335 @@
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#include <qregexp.h> 35#include <qregexp.h>
36#ifndef DESKTOP_VERSION 36#ifndef DESKTOP_VERSION
37#define protected public 37#define protected public
38#include <qspinbox.h> 38#include <qspinbox.h>
39#undef protected 39#undef protected
40#else 40#else
41#include <qspinbox.h> 41#include <qspinbox.h>
42#endif 42#endif
43#include <stdlib.h> 43#include <stdlib.h>
44#ifndef _WIN32_ 44#ifndef _WIN32_
45#include <unistd.h> 45#include <unistd.h>
46#include <sys/ioctl.h> 46#include <sys/ioctl.h>
47#endif 47#endif
48#include <stdio.h> 48#include <stdio.h>
49#include <fcntl.h> 49#include <fcntl.h>
50 50
51#ifndef DESKTOP_VERSION 51#ifndef DESKTOP_VERSION
52#include <qtopia/alarmserver.h> 52#include <qtopia/alarmserver.h>
53#include <qpe/resource.h> 53#include <qpe/resource.h>
54#include <qtopia/sound.h> 54#include <qtopia/sound.h>
55 55
56#endif 56#endif
57 57
58#include "alarmdialog.h" 58#include "alarmdialog.h"
59 59
60 60
61AlarmDialog::AlarmDialog(QWidget *parent,const char *name) 61AlarmDialog::AlarmDialog(QWidget *parent,const char *name)
62 : QDialog (parent, name, true, Qt::WStyle_Customize |Qt::WStyle_StaysOnTop | Qt::WStyle_DialogBorder) 62 : QDialog (parent, name ,false, Qt::WStyle_StaysOnTop )
63{ 63{
64 setCaption( "KO/Pi Alarm!" ); 64 setCaption( "KO/Pi Alarm!" );
65 QVBoxLayout* layout = new QVBoxLayout( this); 65 QVBoxLayout* layout = new QVBoxLayout( this);
66 QLabel* l = new QLabel("The following event triggered alarm:",this); 66 QLabel* l = new QLabel("The following event triggered alarm:",this);
67 layout->addWidget ( l ); 67 layout->addWidget ( l );
68 l->setAlignment( AlignCenter); 68 l->setAlignment( AlignCenter);
69 mMessage = new QLabel ( " ", this ); 69 mMessage = new QLabel ( " ", this );
70 int fs = 18; 70 int fs = 18;
71 int fs2 = 12; 71 int fs2 = 12;
72 int baseSize = 6; 72 int baseSize = 6;
73 if ( QApplication::desktop()->width() < 480 ) { 73 if ( QApplication::desktop()->width() < 480 ) {
74 fs2 = 10; 74 fs2 = 10;
75 fs = 12; 75 fs = 12;
76 baseSize = 4; 76 baseSize = 4;
77 } 77 }
78 layout->setSpacing( 3 ); 78 layout->setSpacing( 3 );
79 layout->setMargin( 3 ); 79 layout->setMargin( 3 );
80 QFont fo = QApplication::font(); 80 QFont fo = QApplication::font();
81 fo.setBold( true ); 81 fo.setBold( true );
82 fo.setPointSize( fs2 ); 82 fo.setPointSize( fs2 );
83 l->setFont( fo ); 83 l->setFont( fo );
84 fo.setPointSize( fs ); 84 fo.setPointSize( fs );
85 mMessage->setFont(fo ); 85 mMessage->setFont(fo );
86 mMessage->setAlignment( AlignCenter); 86 mMessage->setAlignment( AlignCenter);
87 layout->addWidget ( mMessage ); 87 layout->addWidget ( mMessage );
88 mMissedAlarms= new QLabel ( "(No missed Alarms)", this ); 88 mMissedAlarms= new QLabel ( "(No missed Alarms)", this );
89 mMissedAlarms->setAlignment( AlignCenter); 89 mMissedAlarms->setAlignment( AlignCenter);
90 90
91 playSoundTimer = new QTimer( this ); 91 playSoundTimer = new QTimer( this );
92 connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) ); 92 connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) );
93 93
94 playSoundTimer->stop(); 94 playSoundTimer->stop();
95 95
96 layout->addWidget ( mMissedAlarms ); 96 layout->addWidget ( mMissedAlarms );
97 mMissedAlarmsCombo = new QComboBox ( this ); 97 mMissedAlarmsCombo = new QComboBox ( this );
98 layout->addWidget ( mMissedAlarmsCombo ); 98 layout->addWidget ( mMissedAlarmsCombo );
99 99
100 QLabel* labb = new QLabel("Suspend\nduration\n(minutes):",this); 100 QLabel* labb = new QLabel("Suspend\nduration\n(minutes):",this);
101 labb->setAlignment(AlignCenter); 101 labb->setAlignment(AlignCenter);
102 //layout->addWidget ( labb ); 102 //layout->addWidget ( labb );
103 fo = font(); 103 fo = font();
104 int pointSize = 36; 104 int pointSize = 36;
105 if ( QApplication::desktop()->width() <= 320 ) 105 if ( QApplication::desktop()->width() <= 320 )
106 pointSize = 18; 106 pointSize = 18;
107 fo.setPointSize( pointSize ); 107 fo.setPointSize( pointSize );
108 mSuspendSpin = new QSpinBox(1,1440,1,this); 108 mSuspendSpin = new QSpinBox(1,1440,1,this);
109 mSuspendSpin->setFont( fo ); 109 mSuspendSpin->setFont( fo );
110 mSuspendSpin->setValue(7); // default suspend duration 110 mSuspendSpin->setValue(7); // default suspend duration
111 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); 111 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
112 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); 112 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
113 113
114#if QT_VERSION < 0x030000 114#if QT_VERSION < 0x030000
115 mSuspendSpin->upButton ()->setFixedSize( QSize( 8*baseSize, 5*baseSize )); 115 mSuspendSpin->upButton ()->setFixedSize( QSize( 8*baseSize, 5*baseSize ));
116 mSuspendSpin->downButton ()->setFixedSize( QSize( 8*baseSize, 5*baseSize )); 116 mSuspendSpin->downButton ()->setFixedSize( QSize( 8*baseSize, 5*baseSize ));
117#endif 117#endif
118 mSuspendSpin->setFixedSize( 18*baseSize, 10*baseSize+2 ); 118 mSuspendSpin->setFixedSize( 18*baseSize, 10*baseSize+2 );
119 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); 119 mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
120 QHBoxLayout* layoutSpin = new QHBoxLayout( layout ); 120 QHBoxLayout* layoutSpin = new QHBoxLayout( layout );
121 layoutSpin->addStretch (); 121 layoutSpin->addStretch ();
122 layoutSpin->addWidget ( labb ); 122 layoutSpin->addWidget ( labb );
123 layoutSpin->addWidget ( mSuspendSpin ); 123 layoutSpin->addWidget ( mSuspendSpin );
124 layoutSpin->addStretch (); 124 layoutSpin->addStretch ();
125 125
126 QVBox * bbox = new QVBox ( this ); 126 QVBox * bbox = new QVBox ( this );
127 layout->addWidget ( bbox ); 127 layout->addWidget ( bbox );
128 bbox->layout()->setSpacing( 2 ); 128 bbox->layout()->setSpacing( 2 );
129 labb = new QLabel("Press \"Cancel\" or \"Esc\" to suspend!",bbox); 129 labb = new QLabel("Press \"Cancel\" or \"Esc\" to suspend!",bbox);
130 labb->setAlignment(AlignCenter); 130 labb->setAlignment(AlignCenter);
131 mSuspendButton = new QPushButton( "Suspend", bbox); 131 mSuspendButton = new QPushButton( "Suspend", bbox);
132 QPushButton* silen = new QPushButton( " Stop sound ", bbox); 132 QPushButton* silen = new QPushButton( " Stop sound ", bbox);
133 okbut = new QPushButton( "Ok", bbox); 133 okbut = new QPushButton( "Ok", bbox);
134 mSuspendButton->setFont( fo ); 134 mSuspendButton->setFont( fo );
135 silen->setFont( fo ); 135 silen->setFont( fo );
136 okbut->setFont( fo ); 136 okbut->setFont( fo );
137 okbut->setDefault( true ); 137 okbut->setDefault( true );
138 connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) ); 138 connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) );
139 connect (mSuspendButton, SIGNAL( clicked() ), this, SLOT (slotSuspend() ) ); 139 connect (mSuspendButton, SIGNAL( clicked() ), this, SLOT (slotSuspend() ) );
140 connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) ); 140 connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) );
141 connect (mSuspendSpin , SIGNAL( valueChanged ( int ) ), this, SLOT ( spinBoxChanged( int ) ) ); 141 connect (mSuspendSpin , SIGNAL( valueChanged ( int ) ), this, SLOT ( spinBoxChanged( int ) ) );
142#ifndef _WIN32_ 142#ifndef _WIN32_
143 if ( QFile::exists ( "/dev/sharp_led" ) ) 143 if ( QFile::exists ( "/dev/sharp_led" ) )
144 fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK ); 144 fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK );
145 else 145 else
146#endif 146#endif
147 fd_led = 0; 147 fd_led = 0;
148 statusLED.which = SHARP_LED_SALARM; 148 statusLED.which = SHARP_LED_SALARM;
149 mSilent = false; 149 mSilent = false;
150 mSuspendCounter = 0; 150 mSuspendCounter = 0;
151 setServerNotification( true ); 151 setServerNotification( true );
152} 152}
153void AlarmDialog::reject () 153void AlarmDialog::reject ()
154{ 154{
155 QTimer::singleShot ( 3000, this, SLOT (suspend()) ); 155 QTimer::singleShot ( 3000, this, SLOT (suspend()) );
156 slotSuspend(); 156 slotSuspend();
157} 157}
158AlarmDialog::~AlarmDialog() 158AlarmDialog::~AlarmDialog()
159{ 159{
160} 160}
161void AlarmDialog::silent () 161void AlarmDialog::silent ()
162{ 162{
163 mSilent = true; 163 mSilent = true;
164} 164}
165void AlarmDialog::accept() 165void AlarmDialog::accept()
166{ 166{
167 slotOk(); 167 slotOk();
168} 168}
169 169
170void AlarmDialog::suspend() 170void AlarmDialog::suspend()
171{ 171{
172#ifdef DESKTOP_VERSION 172#ifdef DESKTOP_VERSION
173 173
174#else 174#else
175 Sound::soundAlarm (); 175 Sound::soundAlarm ();
176#endif 176#endif
177} 177}
178void AlarmDialog::slotOk() 178void AlarmDialog::slotOk()
179{ 179{
180 mStopAlarm = true; 180 mStopAlarm = true;
181 mMissedAlarms->setText("(No missed Alarms)"); 181 mMissedAlarms->setText("(No missed Alarms)");
182 mMessage->setText(""); 182 mMessage->setText("");
183 mMissedAlarmsCombo->clear(); 183 mMissedAlarmsCombo->clear();
184#ifndef _WIN32_ 184#ifndef _WIN32_
185 if ( fd_led > 0 ) { 185 if ( fd_led > 0 ) {
186 statusLED.status = LED_SALARM_OFF ; 186 statusLED.status = LED_SALARM_OFF ;
187 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); 187 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED);
188 } 188 }
189#endif 189#endif
190 QDialog::accept(); 190 QDialog::accept();
191} 191}
192 192
193void AlarmDialog::slotSuspend() 193void AlarmDialog::slotSuspend()
194{ 194{
195 //qDebug("AlarmDialog::suspend() "); // emit suspendSignal(mSuspendSpin->value()); 195 //qDebug("AlarmDialog::suspend() "); // emit suspendSignal(mSuspendSpin->value());
196 mStopAlarm = true; 196 mStopAlarm = true;
197 QDateTime nextA = QDateTime::currentDateTime().addSecs( mSuspendSpin->value() * 60 ); 197 QDateTime nextA = QDateTime::currentDateTime().addSecs( mSuspendSpin->value() * 60 );
198 QString mess = "suspend_alarm" +mFileName+"+++" ; 198 QString mess = "suspend_alarm" +mFileName+"+++" ;
199 if ( mMessage->text().left( 10 ) !="Suspended:" ) 199 if ( mMessage->text().left( 10 ) !="Suspended:" )
200 mess += "Suspended:\n"; 200 mess += "Suspended:\n";
201 mess +=mMessage->text(); 201 mess +=mMessage->text();
202#ifndef DESKTOP_VERSION 202#ifndef DESKTOP_VERSION
203 if ( mServerNotification ) 203 if ( mServerNotification )
204 AlarmServer::addAlarm ( nextA,"koalarm",mess.latin1()); 204 AlarmServer::addAlarm ( nextA,"koalarm",mess.latin1());
205#endif 205#endif
206 emit addAlarm( nextA , mess ); 206 emit addAlarm( nextA , mess );
207 slotOk(); 207 slotOk();
208} 208}
209 209
210void AlarmDialog::setServerNotification( bool b ) 210void AlarmDialog::setServerNotification( bool b )
211{ 211{
212 mServerNotification = b; 212 mServerNotification = b;
213} 213}
214int AlarmDialog::getSuspendTime( ) 214int AlarmDialog::getSuspendTime( )
215{ 215{
216 return mSuspendSpin->value(); 216 return mSuspendSpin->value();
217 217
218} 218}
219void AlarmDialog::setSuspendTime( int val ) 219void AlarmDialog::setSuspendTime( int val )
220{ 220{
221 mSuspendSpin->setValue( val ); 221 mSuspendSpin->setValue( val );
222} 222}
223bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, bool playwav, int pause , int suspendtimes) 223bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, bool playwav, int pause , int suspendtimes)
224{ 224{
225 if ( mess.left( 9) != "Suspended" ) 225 if ( mess.left( 9) != "Suspended" )
226 mSuspendCounter = suspendtimes; 226 mSuspendCounter = suspendtimes;
227 mPauseCount = pause; 227 mPauseCount = pause;
228 mFileName = fn; 228 mFileName = fn;
229 mPlayWav = playwav; 229 mPlayWav = playwav;
230 if ( !QFile::exists( fn ) ) 230 if ( !QFile::exists( fn ) )
231 mFileName = ""; 231 mFileName = "";
232 alarmCounter = 0 ; 232 alarmCounter = 0 ;
233 maxAlarmReplay = replay ; 233 maxAlarmReplay = replay ;
234 mStopAlarm = false; 234 mStopAlarm = false;
235 mSilent = false; 235 mSilent = false;
236 if ( !mMessage->text().stripWhiteSpace().isEmpty() ) { 236 if ( !mMessage->text().stripWhiteSpace().isEmpty() ) {
237 mMissedAlarmsCombo->show(); 237 mMissedAlarmsCombo->show();
238 QString newItem = mMessage->text().stripWhiteSpace(); 238 QString newItem = mMessage->text().stripWhiteSpace();
239 newItem.replace( QRegExp("\n"), QString(" ") ); 239 newItem.replace( QRegExp("\n"), QString(" ") );
240 mMissedAlarmsCombo->insertItem( newItem ); 240 mMissedAlarmsCombo->insertItem( newItem );
241 mMissedAlarms->setText( "Missed alarms:"); 241 mMissedAlarms->setText( "Missed alarms:");
242 } else 242 } else
243 mMissedAlarmsCombo->hide(); 243 mMissedAlarmsCombo->hide();
244 mMessage->setText(mess); 244 mMessage->setText(mess);
245 int w = minimumSizeHint().width() ; 245 int w = minimumSizeHint().width() ;
246 int h = minimumSizeHint().height() ; 246 int h = minimumSizeHint().height() ;
247 int dw = QApplication::desktop()->width(); 247 int dw = QApplication::desktop()->width();
248 int dh = QApplication::desktop()->height(); 248 int dh = QApplication::desktop()->height();
249 setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 249 setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
250 hide(); 250 hide();
251 251
252#ifndef _WIN32_ 252#ifndef _WIN32_
253 if ( fd_led > 0 ) { 253 if ( fd_led > 0 ) {
254 statusLED.status = LED_SALARM_ON ; 254 statusLED.status = LED_SALARM_ON ;
255 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); 255 ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED);
256 } 256 }
257#endif 257#endif
258 okbut->setDefault( true ); 258 okbut->setDefault( true );
259 QTimer::singleShot( 1, this, SLOT ( forceRepaint() ) ); 259 QTimer::singleShot( 1, this, SLOT ( forceRepaint() ) );
260 // playSoundTimer->start( 1000, true ); 260 // playSoundTimer->start( 1000, true );
261 return true; 261 return true;
262 262
263} 263}
264 264
265void AlarmDialog::forceRepaint() 265void AlarmDialog::forceRepaint()
266{ 266{
267 267
268 showNormal(); 268 showNormal();
269 setActiveWindow(); 269 setActiveWindow();
270 raise(); 270 raise();
271 mSuspendSpin->setFocus(); 271 mSuspendSpin->setFocus();
272 playSoundTimer->start( 1000, true ); 272 playSoundTimer->start( 1000, true );
273 273
274} 274}
275void AlarmDialog::spinBoxChanged( int v ) 275void AlarmDialog::spinBoxChanged( int v )
276{ 276{
277 okbut->setDefault( false ); 277 okbut->setDefault( false );
278 mSilent = true; 278 mSilent = true;
279} 279}
280 280
281void AlarmDialog::playSound () 281void AlarmDialog::playSound ()
282{ 282{
283 283
284 if (mStopAlarm ) 284 if (mStopAlarm )
285 return; 285 return;
286 if ( mSilent ) 286 if ( mSilent )
287 return; 287 return;
288 //showNormal(); 288 //showNormal();
289 setActiveWindow(); 289 setActiveWindow();
290 //raise(); 290 //raise();
291 mSuspendSpin->setFocus(); 291 mSuspendSpin->setFocus();
292 if ( alarmCounter < maxAlarmReplay && ! mSilent) { 292 if ( alarmCounter < maxAlarmReplay && ! mSilent) {
293 ++alarmCounter; 293 ++alarmCounter;
294#ifdef DESKTOP_VERSION 294#ifdef DESKTOP_VERSION
295 mPlayWav = true; 295 mPlayWav = true;
296#endif 296#endif
297 if ( !mPlayWav || mFileName.length() < 2 ) { 297 if ( !mPlayWav || mFileName.length() < 2 ) {
298 298
299#ifdef DESKTOP_VERSION 299#ifdef DESKTOP_VERSION
300 qDebug("Sound play not possible - file not found"); 300 qDebug("Sound play not possible - file not found");
301#else 301#else
302 Sound::soundAlarm (); 302 Sound::soundAlarm ();
303#endif 303#endif
304 } else 304 } else
305 305
306 { 306 {
307#ifdef DESKTOP_VERSION 307#ifdef DESKTOP_VERSION
308#ifdef _WIN32_ 308#ifdef _WIN32_
309 QSound::play ( mFileName ); 309 QSound::play ( mFileName );
310#else 310#else
311 311
312 QString command = "playwave -r 22050 " + mFileName; 312 QString command = "playwave -r 22050 " + mFileName;
313 qDebug("KO: Playing file %s with 22kHz",mFileName.latin1() ); 313 qDebug("KO: Playing file %s with 22kHz",mFileName.latin1() );
314 int ret = system ( command.latin1() ); 314 int ret = system ( command.latin1() );
315 if ( ret != 0 ) { 315 if ( ret != 0 ) {
316 qDebug("Sound play command failed: %s ",command.latin1() ); 316 qDebug("Sound play command failed: %s ",command.latin1() );
317 } 317 }
318 318
319#endif 319#endif
320 320
321#else 321#else
322 QSound::play ( mFileName ); 322 QSound::play ( mFileName );
323#endif 323#endif
324 qDebug("BEEP!"); 324 qDebug("BEEP!");
325 } 325 }
326 } else { 326 } else {
327 if ( ! mSilent && mSuspendCounter > 0 ) { 327 if ( ! mSilent && mSuspendCounter > 0 ) {
328 --mSuspendCounter; 328 --mSuspendCounter;
329 reject (); 329 reject ();
330 hide(); 330 hide();
331 return; 331 return;
332 } 332 }
333 } 333 }
334 playSoundTimer->start( mPauseCount * 1000, true ); 334 playSoundTimer->start( mPauseCount * 1000, true );
335} 335}
diff --git a/version b/version
index a5c2eac..0e45ddc 100644
--- a/version
+++ b/version
@@ -1 +1 @@
version = "2.1.1"; version = "2.1.2";