summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kalarmd/alarmdialog.cpp31
-rw-r--r--kalarmd/alarmdialog.h4
-rw-r--r--kalarmd/simplealarmdaemonimpl.cpp13
3 files changed, 28 insertions, 20 deletions
diff --git a/kalarmd/alarmdialog.cpp b/kalarmd/alarmdialog.cpp
index 794c8ae..d6feedc 100644
--- a/kalarmd/alarmdialog.cpp
+++ b/kalarmd/alarmdialog.cpp
@@ -70,65 +70,65 @@ AlarmDialog::AlarmDialog(QWidget *parent,const char *name)
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);
- l = new QLabel("Missed Alarms:",this);
- l->setAlignment( AlignCenter);
layout->addWidget ( mMessage );
- layout->addWidget ( l );
- mMissedAlarms= new QLabel ( "", this );
+ 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 );
mSuspendSpin->upButton ()->setFixedSize( QSize( 48, 30 ));
mSuspendSpin->downButton ()->setFixedSize( QSize( 48, 30 ));
mSuspendSpin->setFixedSize( 100,62 );
mSuspendSpin->setButtonSymbols( QSpinBox::PlusMinus );
QVBox * bbox = new QVBox ( this );
layout->addWidget ( bbox );
bbox->layout()->setSpacing( 2 );
- QPushButton* suspend = new QPushButton( "Suspend", bbox);
+ mSuspendButton = new QPushButton( "Suspend", bbox);
QPushButton* silen = new QPushButton( " Stop sound ", bbox);
QPushButton* okbut = new QPushButton( "Ok", bbox);
- suspend->setFont( fo );
+ mSuspendButton->setFont( fo );
silen->setFont( fo );
okbut->setFont( fo );
+ okbut->setDefault( true );
connect (silen , SIGNAL( clicked() ), this, SLOT (silent() ) );
- connect (suspend , SIGNAL( clicked() ), this, SLOT (slotSuspend() ) );
+ 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 );
}
@@ -151,26 +151,27 @@ void AlarmDialog::accept()
void AlarmDialog::suspend()
{
#ifdef DESKTOP_VERSION
#else
Sound::soundAlarm ();
#endif
}
void AlarmDialog::slotOk()
{
mStopAlarm = true;
- mMissedAlarms->setText("");
+ 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());
@@ -205,30 +206,30 @@ bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, boo
{
if ( mess.left( 9) != "Suspended" )
mSuspendCounter = suspendtimes;
mPauseCount = pause;
mFileName = fn;
mPlayWav = playwav;
if ( !QFile::exists( fn ) )
mFileName = "";
alarmCounter = 0 ;
maxAlarmReplay = replay ;
mStopAlarm = false;
mSilent = false;
- if ( mMissedAlarms->text() == "" )
- mMissedAlarms->setText( mMessage->text());
- else
- mMissedAlarms->setText( mMessage->text()+ "\n" + mMissedAlarms->text() );
- if ( mMissedAlarms->text().length() > 180 )
- mMissedAlarms->setText(mMissedAlarms->text().left ( 180 ));
+ if ( !mMessage->text().stripWhiteSpace().isEmpty() ) {
+ mMissedAlarmsCombo->show();
+ mMissedAlarmsCombo->insertItem( mMessage->text().stripWhiteSpace() );
+ mMissedAlarms->setText( "Missed alarms:");
+ } else
+ mMissedAlarmsCombo->hide();
mMessage->setText(mess);
int w =sizeHint().width() ;
int h = sizeHint().height() ;
int dw = QApplication::desktop()->width();
int dh = QApplication::desktop()->height();
setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
show();
raise();
qApp->processEvents();
repaint();
qApp->processEvents();
@@ -241,25 +242,25 @@ bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, boo
playSoundTimer->start( 1000, true );
return true;
}
void AlarmDialog::playSound ()
{
if (mStopAlarm )
return;
showNormal();
setActiveWindow();
- setFocus();
+ mSuspendSpin->setFocus();
raise();
qApp->processEvents();
if ( alarmCounter < maxAlarmReplay && ! mSilent) {
++alarmCounter;
if ( !mPlayWav || mFileName.length() < 2 ) {
#ifndef DESKTOP_VERSION
Sound::soundAlarm ();
#endif
} else {
QSound::play ( mFileName );
diff --git a/kalarmd/alarmdialog.h b/kalarmd/alarmdialog.h
index 3155f18..896cf60 100644
--- a/kalarmd/alarmdialog.h
+++ b/kalarmd/alarmdialog.h
@@ -19,24 +19,26 @@
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.
*/
#ifndef ALARMDIALOG_H
#define ALARMDIALOG_H
#include <qdialog.h>
#include <qdatetime.h>
#include <qstring.h>
+#include <qcombobox.h>
+#include <qpushbutton.h>
#include "sharp_char.h"
class QSpinBox;
class QLabel;
class QString;
class AlarmDialog : public QDialog {
Q_OBJECT
public:
AlarmDialog( QWidget *parent = 0, const char *name = 0 );
@@ -63,18 +65,20 @@ class AlarmDialog : public QDialog {
int alarmCounter;
int mPauseCount;
int mSuspendCounter;
int maxAlarmReplay;
QTimer* playSoundTimer;
bool mStopAlarm;
bool mSilent;
bool mPlayWav;
bool mServerNotification;
QLabel* mMessage;
QLabel* mMissedAlarms;
QSpinBox *mSuspendSpin;
+ QComboBox *mMissedAlarmsCombo;
+ QPushButton* mSuspendButton;
QString mFileName;
int fd_led;
sharp_led_status statusLED;
};
#endif
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp
index e8ec033..b3da428 100644
--- a/kalarmd/simplealarmdaemonimpl.cpp
+++ b/kalarmd/simplealarmdaemonimpl.cpp
@@ -352,44 +352,44 @@ void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename )
mAlarmDialog->eventNotification( mess, mPlayBeeps, filename, wavAlarm,mPausePlay ,mSuspend );
}
void SimpleAlarmDaemonImpl::fillTimerPopUp()
{
// qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime );
if ( mTimerPopupConf == mTimerTime ) {
if ( mTimerTime ) {
int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer );
QTime t ( secs/3600, (secs/60)%60, secs%60 );
- mTimerPopUp->changeItem ( 1 , t.toString() + " (remaining time)");
+ mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)");
}
else {
QString text = mCustomText.stripWhiteSpace ();
int in = text.find( " " );
text = text.left ( in );
mTimerPopUp->changeItem ( 3, text );
}
return;
}
mTimerPopupConf = mTimerTime;
mTimerPopUp->clear();
if ( mTimerTime ) {
int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer );
QTime t ( secs/3600, (secs/60)%60, secs%60 );
mTimerPopUp->insertItem( "Stop timer "+ mRunningTimerText , 0 );
- mTimerPopUp->insertItem( t.toString() + " (remaining time)",1);
- mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm time)",2);
+ mTimerPopUp->insertItem( t.toString() + " (countdown)",1);
+ mTimerPopUp->insertItem( mRunningTimer.time().toString() + " (alarm)",2);
} else {
QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc";
QFile file( fileName );
if( !QFile::exists( fileName) ) {
// write defaults
if (!file.open( IO_WriteOnly ) ) {
return;
}
QString configString ;
configString += "#config file for kopi alarm timer\n";
configString += "#format: <Text for popup menu>;<timer countdown in minutes>\n";
@@ -551,44 +551,46 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
QSpinBox spinm( 0, 59, 1,&hbox );
spinm.setFont( fo );
spinh.setFont( fo );
spinh.setButtonSymbols( QSpinBox::PlusMinus );
spinm.setButtonSymbols( QSpinBox::PlusMinus );
spinh.upButton ()->setFixedSize( QSize( 48, 30 ));
spinh.downButton ()->setFixedSize( QSize( 48, 30 ));
//spinh.editor ()->setFixedSize( QSize( 50, 100 ));
spinh.setFixedSize( 100,62 );
spinm.upButton ()->setFixedSize( QSize( 48, 30 ));
spinm.downButton ()->setFixedSize( QSize( 48, 30 ));
spinm.downButton ()->setGeometry( 50,50,50,50);
- spinm.setSuffix( " m" );
- spinh.setSuffix( " h" );
+ // spinm.setSuffix( " m" );
+ //spinh.setSuffix( " h" );
spinm.setWrapping ( true );
//spinm.editor ()->setFixedSize( QSize( 50, 100 ));
spinm.setLineStep( 1 );
spinm.setFixedSize( 110,62 );
lay.addWidget( &hbox);
QLabel lab5 ("Timer fires at:", &dia );
lab5.setAlignment( AlignCenter );
lay.addWidget( &lab5);
KODateLabel dl ( &dia );
dl.setAlignment( AlignCenter );
dl.setFont( fo );
connect ( &spinh, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_hours( int ) ) );
connect ( &spinm, SIGNAL ( valueChanged (int)), &dl, SLOT ( slot_minutes( int ) ) );
lay.addWidget( &dl);
spinh.setValue( mCustomMinutes/60 );
spinm.setValue( mCustomMinutes%60 );
QPushButton ok ( "Start timer", &dia);
+ ok.setDefault( true );
ok.setFont( fo );
+ spinh.setFocus();
lay.addWidget( &ok);
connect ( &ok, SIGNAL (clicked()), &dia, SLOT ( accept() ) );
dia.resize( dia.sizeHint().width(), dia.sizeHint().height() );
if ( !dia.exec() )
return;
mCustomText = lEdit.text();
mCustomMinutes = spinh.value()*60+spinm.value();
if ( mCustomMinutes == 0 )
mCustomMinutes = 1;
if ( mCustomMinutes > 1440 )
mCustomMinutes = 1440;
@@ -599,24 +601,25 @@ void SimpleAlarmDaemonImpl::confTimer( int time )
mRunningTimerText = mRunningTimerText.left ( in );
}
else {
mess+= QString::number ( minutes ) + ( " minutes are past!");
int min = minutes;
if ( min % 60 == 0 )
mRunningTimerText = QString::number ( min/60 ) + ( " hours");
else
mRunningTimerText = QString::number ( minutes ) + ( " minutes");
}
}
//minutes = 1;
+
mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 );
timerMesssage = mess;
AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1());
mTimerTime = 1;
}
void SimpleAlarmDaemonImpl::writeFile()
{
QCopEnvelope e("QPE/Application/kopi", "-writeFile");
}
void SimpleAlarmDaemonImpl::showWN()
{