summaryrefslogtreecommitdiffabout
path: root/kalarmd
Side-by-side diff
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
@@ -352,62 +352,115 @@ 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 );