summaryrefslogtreecommitdiffabout
path: root/kalarmd
authorzautrix <zautrix>2004-08-30 23:18:58 (UTC)
committer zautrix <zautrix>2004-08-30 23:18:58 (UTC)
commitdef659747d354789f84a992f18df2c3f80f12d01 (patch) (side-by-side diff)
tree9ee66d8e8ef7ab81c9b5e8a32b417746b6cdf8a0 /kalarmd
parentcec54f6e21264341191e4f94f9dd7bd19b2eea8d (diff)
downloadkdepimpi-def659747d354789f84a992f18df2c3f80f12d01.zip
kdepimpi-def659747d354789f84a992f18df2c3f80f12d01.tar.gz
kdepimpi-def659747d354789f84a992f18df2c3f80f12d01.tar.bz2
Made timer configurable
Diffstat (limited to 'kalarmd') (more/less context) (show whitespace changes)
-rw-r--r--kalarmd/simplealarmdaemonimpl.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp
index 471836b..18e4299 100644
--- a/kalarmd/simplealarmdaemonimpl.cpp
+++ b/kalarmd/simplealarmdaemonimpl.cpp
@@ -328,110 +328,163 @@ void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& )
}
if ( mess.left( 9 ) == "cal_alarm") {
mAlarmMessage = mess.mid( 9 ) ;
}
writeFile();
startAlarm( mAlarmMessage, filename );
}
int SimpleAlarmDaemonImpl::getFileNameLen( QString mess )
{
return 0;
}
void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename )
{
//mAlarmDialog->show();
//mAlarmDialog->raise();
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());
}
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", 0 );
mTimerPopUp->insertItem( t.toString(),1);
} 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";
+ configString += "#NOTE: minimum value for timer are 3 minutes!\n";
+ configString += "24 h; 1440\n";
+ configString += " 8 h; 480\n";
+ configString += " 5 h; 300\n";
+ configString += " 1 h; 60\n";
+ configString += "30 min; 30\n";
+ configString += "15 min; 15\n";
+ configString += "SEPARATOR\n";
+ configString += "Pizza; 22\n";
+ configString += "Nap; 45\n";
+ configString += "Tea; 5\n";
+ QTextStream ts( &file );
+ ts << configString ;
+ file.close();
+ }
+
+ if (!file.open( IO_ReadOnly ) ) {
+ return ;
+ }
+ QString line;
+ bool ok;
+ while ( file.readLine( line, 1024 ) > 0 ) {
+ //qDebug("read %s ", line.latin1());
+ if ( line.left(1 ) != "#" ) {
+ // no comment
+ if ( line.left(9 ) == "SEPARATOR" ) {
+ mTimerPopUp->insertSeparator();
+ } else {
+ QStringList li = QStringList::split(";",line);
+ ok = false;
+ if ( li.count() == 2 ) {
+ int val = li[1].toInt( &ok );
+ if ( ok && val > 2 ) {
+ mTimerPopUp->insertItem( li[0], val);
+ }
+ }
+ }
+ }
+ }
+ file.close();
+#if 0
mTimerPopUp->insertItem( "24 h", 1440 );
// mTimerPopUp->insertItem( i18n("12 h"), 720 );
mTimerPopUp->insertItem( " 8 h", 480 );
mTimerPopUp->insertItem( " 5 h", 300 );
// mTimerPopUp->insertItem( i18n(" 2 h"), 120 );
mTimerPopUp->insertItem( " 1 h", 60 );
mTimerPopUp->insertItem( "30 min", 30 );
mTimerPopUp->insertItem( "15 min", 15 );
mTimerPopUp->insertItem( "10 min", 10 );
//mTimerPopUp->insertItem( " 5 min", 5 );
mTimerPopUp->insertSeparator();
mTimerPopUp->insertItem( "Pizza", 22 );
mTimerPopUp->insertItem( "Nap", 45 );
mTimerPopUp->insertItem( "Tea", 5 );
+#endif
QString text = mCustomText.stripWhiteSpace ();
int in = text.find( " " );
text = text.left ( in );
mTimerPopUp->insertItem( text, 3 );
mTimerPopUp->insertSeparator();
mTimerPopUp->insertItem( "Customize", 2 );
}
}
void SimpleAlarmDaemonImpl::showTimer()
{
fillTimerPopUp();
}
void SimpleAlarmDaemonImpl::confTimer( int time )
{
//qDebug("impleAlarmDaemonImpl::confTimer() %d ", time );
int minutes = time;
if ( minutes == 0 ) {
if ( ! mTimerTime )
return;
QDialog dia ( 0, ("Stop Timer" ), true );
QLabel lab (("Really stop the timer?"), &dia );
dia.setCaption(("KO/Pi Timer Stop" ));
QVBoxLayout lay( &dia );
lay.setMargin(5);
lay.setSpacing(5);
lay.addWidget( &lab);
dia.resize( 200, dia.sizeHint().height() );
if ( !dia.exec() )
return;
AlarmServer::deleteAlarm ( mRunningTimer,"koalarm" , timerMesssage.latin1() );
mTimerTime = 0;
return;
}
if ( mTimerTime )
return;
if ( minutes == 1 ) {
return;
}
QString mess = "timer_alarm";
mess += ("Timer Alarm!\n");
if ( minutes == 22 )
mess += ( "Pizza is ready");