-rw-r--r-- | bin/kdepim/WhatsNew.txt | 2 | ||||
-rw-r--r-- | kalarmd/simplealarmdaemonimpl.cpp | 4 | ||||
-rw-r--r-- | korganizer/calendarview.cpp | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index ec6a4ec..a11fab3 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -1,21 +1,23 @@ | |||
1 | Info about the changes in new versions of KDE-Pim/Pi | 1 | Info about the changes in new versions of KDE-Pim/Pi |
2 | 2 | ||
3 | ********** VERSION 2.1.6 ************ | 3 | ********** VERSION 2.1.6 ************ |
4 | 4 | ||
5 | KO/Pi: | 5 | KO/Pi: |
6 | Added to the list view (the list view is used in search dialog as well) the possibility to print it. | 6 | Added to the list view (the list view is used in search dialog as well) the possibility to print it. |
7 | Added to the list view the possibility to hide entries, if you do not want to print all entries of the list view. | 7 | Added to the list view the possibility to hide entries, if you do not want to print all entries of the list view. |
8 | Added to the list view the possibility to add all subtodos of selected todos to an export/beam. | 8 | Added to the list view the possibility to add all subtodos of selected todos to an export/beam. |
9 | Added to the search dialog the possibility to make an additive search such that you can get a better list for export/printout. | 9 | Added to the search dialog the possibility to make an additive search such that you can get a better list for export/printout. |
10 | Added to the search dialog the possibility to hide the checkboxes such that there is more space for the list view on the Zaurus. | ||
11 | Fixed a problem in the AlarmTimer Applet: Now utf8 messages are displayed properly. | ||
10 | 12 | ||
11 | ********** VERSION 2.1.5 ************ | 13 | ********** VERSION 2.1.5 ************ |
12 | 14 | ||
13 | This is the new stable version. | 15 | This is the new stable version. |
14 | Bugfix: | 16 | Bugfix: |
15 | Fixed a problem with agenda popup on the desktop in KO/Pi. | 17 | Fixed a problem with agenda popup on the desktop in KO/Pi. |
16 | Fixed a crash when reloading file, e.g. after a passive pi-sync synchronization. | 18 | Fixed a crash when reloading file, e.g. after a passive pi-sync synchronization. |
17 | Added config option to not display completed todos in agenda view. | 19 | Added config option to not display completed todos in agenda view. |
18 | Addressee view is now using the formatted name, if defined. | 20 | Addressee view is now using the formatted name, if defined. |
19 | That makes it possible to display "lastname, firstname" in that view now. | 21 | That makes it possible to display "lastname, firstname" in that view now. |
20 | To set the formatted name for all contacts, please use menu: | 22 | To set the formatted name for all contacts, please use menu: |
21 | Edit->Change->Set formatted name. | 23 | Edit->Change->Set formatted name. |
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp index 37e7d0d..d6e06c8 100644 --- a/kalarmd/simplealarmdaemonimpl.cpp +++ b/kalarmd/simplealarmdaemonimpl.cpp | |||
@@ -261,25 +261,25 @@ void SimpleAlarmDaemonImpl::slotPlayBeep( int num ) | |||
261 | if ( num == 1000 ) { | 261 | if ( num == 1000 ) { |
262 | simulate(); | 262 | simulate(); |
263 | return; | 263 | return; |
264 | } | 264 | } |
265 | mBeepPopUp->setItemChecked ( mPlayBeeps,false ); | 265 | mBeepPopUp->setItemChecked ( mPlayBeeps,false ); |
266 | mPlayBeeps = num; | 266 | mPlayBeeps = num; |
267 | mBeepPopUp->setItemChecked ( mPlayBeeps, true ); | 267 | mBeepPopUp->setItemChecked ( mPlayBeeps, true ); |
268 | } | 268 | } |
269 | 269 | ||
270 | void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& ) | 270 | void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& ) |
271 | { | 271 | { |
272 | //qDebug("SimpleAlarmDaemonImpl::ALARM RECEIVED! %s", msg.data()); | 272 | //qDebug("SimpleAlarmDaemonImpl::ALARM RECEIVED! %s", msg.data()); |
273 | QString mess = msg; | 273 | QString mess = QString::fromUtf8(msg.data()); |
274 | mAlarmMessage = mess.mid( 9 ); | 274 | mAlarmMessage = mess.mid( 9 ); |
275 | QString filename = getenv("QPEDIR") ; | 275 | QString filename = getenv("QPEDIR") ; |
276 | filename += "/pics/kdepim/korganizer/koalarm.wav"; | 276 | filename += "/pics/kdepim/korganizer/koalarm.wav"; |
277 | QString tempfilename; | 277 | QString tempfilename; |
278 | if ( mess.left( 13 ) == "suspend_alarm") { | 278 | if ( mess.left( 13 ) == "suspend_alarm") { |
279 | bool error = false; | 279 | bool error = false; |
280 | int len = mess.mid( 13 ).find("+++"); | 280 | int len = mess.mid( 13 ).find("+++"); |
281 | if ( len < 2 ) | 281 | if ( len < 2 ) |
282 | error = true; | 282 | error = true; |
283 | else { | 283 | else { |
284 | tempfilename = mess.mid( 13, len ); | 284 | tempfilename = mess.mid( 13, len ); |
285 | if ( !QFile::exists( tempfilename ) ) | 285 | if ( !QFile::exists( tempfilename ) ) |
@@ -613,25 +613,25 @@ void SimpleAlarmDaemonImpl::confTimer( int time ) | |||
613 | mess+= QString::number ( minutes ) + ( " minutes are past!"); | 613 | mess+= QString::number ( minutes ) + ( " minutes are past!"); |
614 | int min = minutes; | 614 | int min = minutes; |
615 | if ( min % 60 == 0 ) | 615 | if ( min % 60 == 0 ) |
616 | mRunningTimerText = QString::number ( min/60 ) + ( " hours"); | 616 | mRunningTimerText = QString::number ( min/60 ) + ( " hours"); |
617 | else | 617 | else |
618 | mRunningTimerText = QString::number ( minutes ) + ( " minutes"); | 618 | mRunningTimerText = QString::number ( minutes ) + ( " minutes"); |
619 | } | 619 | } |
620 | } | 620 | } |
621 | //minutes = 1; | 621 | //minutes = 1; |
622 | 622 | ||
623 | mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); | 623 | mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); |
624 | timerMesssage = mess; | 624 | timerMesssage = mess; |
625 | AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1()); | 625 | AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.utf8()); |
626 | mTimerTime = 1; | 626 | mTimerTime = 1; |
627 | } | 627 | } |
628 | 628 | ||
629 | void SimpleAlarmDaemonImpl::writeFile() | 629 | void SimpleAlarmDaemonImpl::writeFile() |
630 | { | 630 | { |
631 | QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); | 631 | QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); |
632 | //QCopEnvelope e("QPE/Application/kopi", "-writeFile"); | 632 | //QCopEnvelope e("QPE/Application/kopi", "-writeFile"); |
633 | } | 633 | } |
634 | void SimpleAlarmDaemonImpl::showWN() | 634 | void SimpleAlarmDaemonImpl::showWN() |
635 | { | 635 | { |
636 | QCopEnvelope e("QPE/Application/kopi", "-showWN"); | 636 | QCopEnvelope e("QPE/Application/kopi", "-showWN"); |
637 | } | 637 | } |
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 8d992b9..4b82aa8 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -641,31 +641,33 @@ void CalendarView::checkAlarms() | |||
641 | { | 641 | { |
642 | KConfig *config = KOGlobals::config(); | 642 | KConfig *config = KOGlobals::config(); |
643 | config->setGroup( "AppRun" ); | 643 | config->setGroup( "AppRun" ); |
644 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); | 644 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); |
645 | int secto = dt.secsTo( QDateTime::currentDateTime() ); | 645 | int secto = dt.secsTo( QDateTime::currentDateTime() ); |
646 | int secs = config->readNumEntry( "LatestProgramStop" , secto) - 30; | 646 | int secs = config->readNumEntry( "LatestProgramStop" , secto) - 30; |
647 | //secs -= ( 3600 * 24*3 ); // debug only | 647 | //secs -= ( 3600 * 24*3 ); // debug only |
648 | QDateTime latest = dt.addSecs ( secs ); | 648 | QDateTime latest = dt.addSecs ( secs ); |
649 | qDebug("KO: Last termination on %s ", latest.toString().latin1()); | 649 | qDebug("KO: Last termination on %s ", latest.toString().latin1()); |
650 | QPtrList<Incidence> el = mCalendar->rawIncidences(); | 650 | QPtrList<Incidence> el = mCalendar->rawIncidences(); |
651 | QPtrList<Incidence> al; | 651 | QPtrList<Incidence> al; |
652 | Incidence* inL = el.first(); | 652 | Incidence* inL = el.first(); |
653 | QDateTime cur = QDateTime::currentDateTime().addSecs(-59); | ||
654 | qDebug("KO: Checking alarm until %s ", cur.toString().latin1()); | ||
653 | while ( inL ) { | 655 | while ( inL ) { |
654 | bool ok = false; | 656 | bool ok = false; |
655 | int offset = 0; | 657 | int offset = 0; |
656 | QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ; | 658 | QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ; |
657 | if ( ok ) { | 659 | if ( ok ) { |
658 | //qDebug("OK %s",next.toString().latin1()); | 660 | //qDebug("OK %s",next.toString().latin1()); |
659 | if ( next < QDateTime::currentDateTime() ) { | 661 | if ( next < cur ) { |
660 | al.append( inL ); | 662 | al.append( inL ); |
661 | //qDebug("found missed alarm: %s ", inL->summary().latin1() ); | 663 | //qDebug("found missed alarm: %s ", inL->summary().latin1() ); |
662 | } | 664 | } |
663 | } | 665 | } |
664 | inL = el.next(); | 666 | inL = el.next(); |
665 | } | 667 | } |
666 | if ( al.count() ) { | 668 | if ( al.count() ) { |
667 | QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop ); | 669 | QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop ); |
668 | dia->setCaption( i18n("KO/Pi: Missing alarms!") ); | 670 | dia->setCaption( i18n("KO/Pi: Missing alarms!") ); |
669 | QVBoxLayout* lay = new QVBoxLayout( dia ); | 671 | QVBoxLayout* lay = new QVBoxLayout( dia ); |
670 | lay->setSpacing( 0 ); | 672 | lay->setSpacing( 0 ); |
671 | lay->setMargin( 0 ); | 673 | lay->setMargin( 0 ); |
@@ -823,25 +825,25 @@ void CalendarView::addSuspendAlarm(const QDateTime &qdt, const QString ¬i ) | |||
823 | int ms = QDateTime::currentDateTime().secsTo( qdt )*1000; | 825 | int ms = QDateTime::currentDateTime().secsTo( qdt )*1000; |
824 | //qDebug("Suspend Alarm timer started with secs: %d ", ms/1000); | 826 | //qDebug("Suspend Alarm timer started with secs: %d ", ms/1000); |
825 | mSuspendTimer->start( ms , true ); | 827 | mSuspendTimer->start( ms , true ); |
826 | 828 | ||
827 | } | 829 | } |
828 | 830 | ||
829 | void CalendarView::addAlarm(const QDateTime &qdt, const QString ¬i ) | 831 | void CalendarView::addAlarm(const QDateTime &qdt, const QString ¬i ) |
830 | { | 832 | { |
831 | mNextAlarmDateTime = qdt; | 833 | mNextAlarmDateTime = qdt; |
832 | //qDebug("+++++addAlarm %s %s ", qdt.toString().latin1() , noti.latin1() ); | 834 | //qDebug("+++++addAlarm %s %s ", qdt.toString().latin1() , noti.latin1() ); |
833 | if ( ! KOPrefs::instance()->mUseInternalAlarmNotification ) { | 835 | if ( ! KOPrefs::instance()->mUseInternalAlarmNotification ) { |
834 | #ifndef DESKTOP_VERSION | 836 | #ifndef DESKTOP_VERSION |
835 | AlarmServer::addAlarm ( qdt,"koalarm", noti.latin1() ); | 837 | AlarmServer::addAlarm ( qdt,"koalarm", noti.utf8() ); |
836 | #endif | 838 | #endif |
837 | return; | 839 | return; |
838 | } | 840 | } |
839 | int maxSec; | 841 | int maxSec; |
840 | //maxSec = 5; //testing only | 842 | //maxSec = 5; //testing only |
841 | maxSec = 86400+3600; // one day+1hour | 843 | maxSec = 86400+3600; // one day+1hour |
842 | mAlarmNotification = noti; | 844 | mAlarmNotification = noti; |
843 | int sec = QDateTime::currentDateTime().secsTo( qdt ); | 845 | int sec = QDateTime::currentDateTime().secsTo( qdt ); |
844 | if ( sec > maxSec ) { | 846 | if ( sec > maxSec ) { |
845 | mRecheckAlarmTimer->start( maxSec * 1000 ); | 847 | mRecheckAlarmTimer->start( maxSec * 1000 ); |
846 | // qDebug("recheck Alarm timer started with secs: %d next alarm in sec:%d", maxSec,sec ); | 848 | // qDebug("recheck Alarm timer started with secs: %d next alarm in sec:%d", maxSec,sec ); |
847 | return; | 849 | return; |