-rw-r--r-- | kalarmd/alarmdialog.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kalarmd/alarmdialog.cpp b/kalarmd/alarmdialog.cpp index d6feedc..c939ae0 100644 --- a/kalarmd/alarmdialog.cpp +++ b/kalarmd/alarmdialog.cpp @@ -10,194 +10,196 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, permission is given to link this program with any edition of Qt, and distribute the resulting executable, without including the source code for Qt in the source distribution. */ // $Id$ #include <qhbox.h> #include <qvbox.h> #include <qapp.h> #include <qlabel.h> #include <qlayout.h> #include <qfile.h> #include <qtimer.h> #include <qsound.h> #include <qpushbutton.h> #define protected public #include <qspinbox.h> #undef protected #include <stdlib.h> #ifndef _WIN32_ #include <unistd.h> #include <sys/ioctl.h> #endif #include <stdio.h> #include <fcntl.h> #ifndef DESKTOP_VERSION #include <qtopia/alarmserver.h> #include <qpe/resource.h> #include <qtopia/sound.h> #endif #include "alarmdialog.h" AlarmDialog::AlarmDialog(QWidget *parent,const char *name) : QDialog (parent, name, true, Qt::WStyle_StaysOnTop ) { setCaption( "KO/Pi Alarm!" ); QVBoxLayout* layout = new QVBoxLayout( this); QLabel* l = new QLabel("The following event triggered alarm:",this); layout->addWidget ( l ); l->setAlignment( AlignCenter); mMessage = new QLabel ( " ", this ); int fs = 18; int fs2 = 12; if ( QApplication::desktop()->width() < 480 ) { setMaximumSize(220, 260); fs2 = 10; } else { setMaximumSize(440, 440); } layout->setSpacing( 3 ); layout->setMargin( 3 ); QFont fo = QApplication::font(); fo.setBold( true ); fo.setPointSize( fs2 ); l->setFont( fo ); fo.setPointSize( fs ); mMessage->setFont(fo ); mMessage->setAlignment( AlignCenter); layout->addWidget ( mMessage ); mMissedAlarms= new QLabel ( "(No missed Alarms)", this ); mMissedAlarms->setAlignment( AlignCenter); playSoundTimer = new QTimer( this ); connect ( playSoundTimer, SIGNAL( timeout() ), this, SLOT (playSound() ) ); playSoundTimer->stop(); layout->addWidget ( mMissedAlarms ); mMissedAlarmsCombo = new QComboBox ( this ); layout->addWidget ( mMissedAlarmsCombo ); QVBox *suspendBox = new QVBox( this ); suspendBox->setSpacing(3); layout->addWidget ( suspendBox ); QLabel* labb = new QLabel("Suspend duration (minutes):",suspendBox); labb->setAlignment(AlignCenter); fo = font(); fo.setPointSize( 36 ); mSuspendSpin = new QSpinBox(1,1440,1,suspendBox); mSuspendSpin->setFont( fo ); mSuspendSpin->setValue(7); // default suspend duration mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); +#if QT_VERSION < 0x030000 mSuspendSpin->upButton ()->setFixedSize( QSize( 48, 30 )); mSuspendSpin->downButton ()->setFixedSize( QSize( 48, 30 )); +#endif mSuspendSpin->setFixedSize( 100,62 ); mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus ); QVBox * bbox = new QVBox ( this ); layout->addWidget ( bbox ); bbox->layout()->setSpacing( 2 ); mSuspendButton = new QPushButton( "Suspend", bbox); QPushButton* silen = new QPushButton( " Stop sound ", bbox); QPushButton* okbut = new QPushButton( "Ok", bbox); mSuspendButton->setFont( fo ); silen->setFont( fo ); okbut->setFont( fo ); okbut->setDefault( true ); connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) ); connect (mSuspendButton, SIGNAL( clicked() ), this, SLOT (slotSuspend() ) ); connect (okbut , SIGNAL( clicked() ), this, SLOT (slotOk() ) ); #ifndef _WIN32_ if ( QFile::exists ( "/dev/sharp_led" ) ) fd_led = open ( "/dev/sharp_led", O_RDWR|O_NONBLOCK ); else #endif fd_led = 0; statusLED.which = SHARP_LED_SALARM; mSilent = false; mSuspendCounter = 0; setServerNotification( true ); } void AlarmDialog::reject () { QTimer::singleShot ( 3000, this, SLOT (suspend()) ); slotSuspend(); } AlarmDialog::~AlarmDialog() { } void AlarmDialog::silent () { mSilent = true; } void AlarmDialog::accept() { slotOk(); } void AlarmDialog::suspend() { #ifdef DESKTOP_VERSION #else Sound::soundAlarm (); #endif } void AlarmDialog::slotOk() { mStopAlarm = true; mMissedAlarms->setText("(No missed Alarms)"); mMessage->setText(""); mMissedAlarmsCombo->clear(); #ifndef _WIN32_ if ( fd_led > 0 ) { statusLED.status = LED_SALARM_OFF ; ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED); } #endif QDialog::accept(); } void AlarmDialog::slotSuspend() { //qDebug("AlarmDialog::suspend() "); // emit suspendSignal(mSuspendSpin->value()); mStopAlarm = true; QDateTime nextA = QDateTime::currentDateTime().addSecs( mSuspendSpin->value() * 60 ); QString mess = "suspend_alarm" +mFileName+"+++" ; if ( mMessage->text().left( 10 ) !="Suspended:" ) mess += "Suspended:\n"; mess +=mMessage->text(); #ifndef DESKTOP_VERSION if ( mServerNotification ) AlarmServer::addAlarm ( nextA,"koalarm",mess.latin1()); #endif emit addAlarm( nextA , mess ); slotOk(); } void AlarmDialog::setServerNotification( bool b ) { mServerNotification = b; } int AlarmDialog::getSuspendTime( ) { return mSuspendSpin->value(); } void AlarmDialog::setSuspendTime( int val ) { mSuspendSpin->setValue( val ); |