-rw-r--r-- | library/datebookdb.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/library/datebookdb.cpp b/library/datebookdb.cpp index 2f33255..000ff71 100644 --- a/library/datebookdb.cpp +++ b/library/datebookdb.cpp | |||
@@ -798,97 +798,97 @@ void DateBookDB::loadFile( const QString &strFile ) | |||
798 | // custom field | 798 | // custom field |
799 | e.setCustomField(attr, value); | 799 | e.setCustomField(attr, value); |
800 | continue; | 800 | continue; |
801 | } | 801 | } |
802 | 802 | ||
803 | switch( *find ) { | 803 | switch( *find ) { |
804 | case FDescription: | 804 | case FDescription: |
805 | e.setDescription( value ); | 805 | e.setDescription( value ); |
806 | break; | 806 | break; |
807 | case FLocation: | 807 | case FLocation: |
808 | e.setLocation( value ); | 808 | e.setLocation( value ); |
809 | break; | 809 | break; |
810 | case FCategories: | 810 | case FCategories: |
811 | e.setCategories( Qtopia::Record::idsFromString( value ) ); | 811 | e.setCategories( Qtopia::Record::idsFromString( value ) ); |
812 | break; | 812 | break; |
813 | case FUid: | 813 | case FUid: |
814 | e.setUid( value.toInt() ); | 814 | e.setUid( value.toInt() ); |
815 | break; | 815 | break; |
816 | case FType: | 816 | case FType: |
817 | if ( value == "AllDay" ) | 817 | if ( value == "AllDay" ) |
818 | e.setType( Event::AllDay ); | 818 | e.setType( Event::AllDay ); |
819 | else | 819 | else |
820 | e.setType( Event::Normal ); | 820 | e.setType( Event::Normal ); |
821 | break; | 821 | break; |
822 | case FAlarm: | 822 | case FAlarm: |
823 | alarmTime = value.toInt(); | 823 | alarmTime = value.toInt(); |
824 | break; | 824 | break; |
825 | case FSound: | 825 | case FSound: |
826 | alarmSound = value == "loud" ? Event::Loud : Event::Silent; | 826 | alarmSound = value == "loud" ? Event::Loud : Event::Silent; |
827 | break; | 827 | break; |
828 | // recurrence stuff | 828 | // recurrence stuff |
829 | case FRType: | 829 | case FRType: |
830 | if ( value == "Daily" ) | 830 | if ( value == "Daily" ) |
831 | rp.type = Event::Daily; | 831 | rp.type = Event::Daily; |
832 | else if ( value == "Weekly" ) | 832 | else if ( value == "Weekly" ) |
833 | rp.type = Event::Weekly; | 833 | rp.type = Event::Weekly; |
834 | else if ( value == "MonthlyDay" ) | 834 | else if ( value == "MonthlyDay" ) |
835 | rp.type = Event::MonthlyDay; | 835 | rp.type = Event::MonthlyDay; |
836 | else if ( value == "MonthlyDate" ) | 836 | else if ( value == "MonthlyDate" ) |
837 | rp.type = Event::MonthlyDate; | 837 | rp.type = Event::MonthlyDate; |
838 | else if ( value == "Yearly" ) | 838 | else if ( value == "Yearly" ) |
839 | rp.type = Event::Yearly; | 839 | rp.type = Event::Yearly; |
840 | else | 840 | else |
841 | rp.type = Event::NoRepeat; | 841 | rp.type = Event::NoRepeat; |
842 | break; | 842 | break; |
843 | case FRWeekdays: | 843 | case FRWeekdays: |
844 | // QtopiaDesktop 1.6 sometimes creates 'rweekdays="0"' | 844 | // QtopiaDesktop 1.6 sometimes creates 'rweekdays="0"' |
845 | // when it goes mad. This causes datebook to crash.. (se) | 845 | // when it goes mad. This causes datebook to crash.. (se) |
846 | if ( value.toInt() != 0 ) | 846 | if ( value.toInt() != 0 ) |
847 | rp.days = value.toInt(); | 847 | rp.days = value.toInt(); |
848 | else | 848 | else |
849 | rp.days = 1; | 849 | rp.days = 1; |
850 | break; | 850 | break; |
851 | case FRPosition: | 851 | case FRPosition: |
852 | rp.position = value.toInt(); | 852 | rp.position = value.toInt(); |
853 | break; | 853 | break; |
854 | case FRFreq: | 854 | case FRFreq: |
855 | rp.frequency = value.toInt(); | 855 | rp.frequency = value.toInt(); |
856 | break; | 856 | break; |
857 | case FRHasEndDate: | 857 | case FRHasEndDate: |
858 | rp.hasEndDate = value.toInt(); | 858 | rp.hasEndDate = value.toInt(); |
859 | break; | 859 | break; |
860 | case FREndDate: { | 860 | case FREndDate: { |
861 | rp.endDateUTC = (time_t) value.toLong(); | 861 | rp.endDateUTC = (time_t) value.toLong(); |
862 | break; | 862 | break; |
863 | } | 863 | } |
864 | case FRStart: { | 864 | case FRStart: { |
865 | e.setStart( (time_t) value.toLong() ); | 865 | e.setStart( (time_t) value.toLong() ); |
866 | break; | 866 | break; |
867 | } | 867 | } |
868 | case FREnd: { | 868 | case FREnd: { |
869 | e.setEnd( (time_t) value.toLong() ); | 869 | e.setEnd( (time_t) value.toLong() ); |
870 | break; | 870 | break; |
871 | } | 871 | } |
872 | case FNote: | 872 | case FNote: |
873 | e.setNotes( value ); | 873 | e.setNotes( value ); |
874 | break; | 874 | break; |
875 | case FCreated: | 875 | case FCreated: |
876 | rp.createTime = value.toInt(); | 876 | rp.createTime = value.toInt(); |
877 | break; | 877 | break; |
878 | case FAction: | 878 | case FAction: |
879 | currentAction = value.toInt(); | 879 | currentAction = value.toInt(); |
880 | break; | 880 | break; |
881 | case FActionKey: | 881 | case FActionKey: |
882 | journalKey = value.toInt(); | 882 | journalKey = value.toInt(); |
883 | break; | 883 | break; |
884 | case FJournalOrigHadRepeat: | 884 | case FJournalOrigHadRepeat: |
885 | origHadRepeat = value.toInt(); | 885 | origHadRepeat = value.toInt(); |
886 | break; | 886 | break; |
887 | default: | 887 | default: |
888 | qDebug( "huh??? missing enum? -- attr.: %s", attr ); | 888 | qDebug( "huh??? missing enum? -- attr.: %s", attr ); |
889 | break; | 889 | break; |
890 | } | 890 | } |
891 | #endif | 891 | #endif |
892 | } | 892 | } |
893 | // "post processing" (dates, times, alarm, recurrence) | 893 | // "post processing" (dates, times, alarm, recurrence) |
894 | // start date/time | 894 | // start date/time |
@@ -995,97 +995,97 @@ bool DateBookDB::save() | |||
995 | QFile::remove( strFileNew ); | 995 | QFile::remove( strFileNew ); |
996 | return false; | 996 | return false; |
997 | } | 997 | } |
998 | } | 998 | } |
999 | buf = "</events>\n</DATEBOOK>\n"; | 999 | buf = "</events>\n</DATEBOOK>\n"; |
1000 | str = buf.utf8(); | 1000 | str = buf.utf8(); |
1001 | total_written = f.writeBlock( str.data(), str.length() ); | 1001 | total_written = f.writeBlock( str.data(), str.length() ); |
1002 | if ( total_written != int(str.length()) ) { | 1002 | if ( total_written != int(str.length()) ) { |
1003 | f.close(); | 1003 | f.close(); |
1004 | QFile::remove( strFileNew ); | 1004 | QFile::remove( strFileNew ); |
1005 | return false; | 1005 | return false; |
1006 | } | 1006 | } |
1007 | f.close(); | 1007 | f.close(); |
1008 | 1008 | ||
1009 | // now rename... I like to use the systemcall | 1009 | // now rename... I like to use the systemcall |
1010 | if ( ::rename( strFileNew, dateBookFilename() ) < 0 ) { | 1010 | if ( ::rename( strFileNew, dateBookFilename() ) < 0 ) { |
1011 | qWarning( "problem renaming file %s to %s errno %d", | 1011 | qWarning( "problem renaming file %s to %s errno %d", |
1012 | strFileNew.latin1(), dateBookFilename().latin1(), errno ); | 1012 | strFileNew.latin1(), dateBookFilename().latin1(), errno ); |
1013 | // remove the file, otherwise it will just stick around... | 1013 | // remove the file, otherwise it will just stick around... |
1014 | QFile::remove( strFileNew ); | 1014 | QFile::remove( strFileNew ); |
1015 | } | 1015 | } |
1016 | 1016 | ||
1017 | // may as well remove the journal file... | 1017 | // may as well remove the journal file... |
1018 | QFile::remove( dateBookJournalFile() ); | 1018 | QFile::remove( dateBookJournalFile() ); |
1019 | d->clean = true; | 1019 | d->clean = true; |
1020 | return true; | 1020 | return true; |
1021 | } | 1021 | } |
1022 | 1022 | ||
1023 | void DateBookDB::reload() | 1023 | void DateBookDB::reload() |
1024 | { | 1024 | { |
1025 | QValueList<Event>::Iterator it = eventList.begin(); | 1025 | QValueList<Event>::Iterator it = eventList.begin(); |
1026 | for ( ; it != eventList.end(); ++it ) { | 1026 | for ( ; it != eventList.end(); ++it ) { |
1027 | if ( (*it).hasAlarm() ) | 1027 | if ( (*it).hasAlarm() ) |
1028 | delEventAlarm( *it ); | 1028 | delEventAlarm( *it ); |
1029 | if ( (*it).hasRepeat() ) | 1029 | if ( (*it).hasRepeat() ) |
1030 | removeRepeat( *it ); | 1030 | removeRepeat( *it ); |
1031 | } | 1031 | } |
1032 | eventList.clear(); | 1032 | eventList.clear(); |
1033 | repeatEvents.clear(); // should be a NOP | 1033 | repeatEvents.clear(); // should be a NOP |
1034 | init(); | 1034 | init(); |
1035 | } | 1035 | } |
1036 | 1036 | ||
1037 | bool DateBookDB::removeRepeat( const Event &ev ) | 1037 | bool DateBookDB::removeRepeat( const Event &ev ) |
1038 | { | 1038 | { |
1039 | time_t removeMe = ev.repeatPattern().createTime; | 1039 | time_t removeMe = ev.repeatPattern().createTime; |
1040 | QValueListIterator<Event> it; | 1040 | QValueListIterator<Event> it; |
1041 | for ( it = repeatEvents.begin(); it != repeatEvents.end(); ++it ) { | 1041 | for ( it = repeatEvents.begin(); it != repeatEvents.end(); ++it ) { |
1042 | if ( removeMe == (*it).repeatPattern().createTime ) { | 1042 | if ( removeMe == (*it).repeatPattern().createTime ) { |
1043 | repeatEvents.remove( *it ); | 1043 | (void)repeatEvents.remove( it ); |
1044 | // best break, or we are going into undefined territory! | 1044 | // best break, or we are going into undefined territory! |
1045 | return TRUE; | 1045 | return TRUE; |
1046 | } | 1046 | } |
1047 | } | 1047 | } |
1048 | return FALSE; | 1048 | return FALSE; |
1049 | } | 1049 | } |
1050 | 1050 | ||
1051 | bool DateBookDB::origRepeat( const Event &ev, Event &orig ) const | 1051 | bool DateBookDB::origRepeat( const Event &ev, Event &orig ) const |
1052 | { | 1052 | { |
1053 | time_t removeMe = ev.repeatPattern().createTime; | 1053 | time_t removeMe = ev.repeatPattern().createTime; |
1054 | QValueListConstIterator<Event> it; | 1054 | QValueListConstIterator<Event> it; |
1055 | for ( it = repeatEvents.begin(); it != repeatEvents.end(); ++it ) { | 1055 | for ( it = repeatEvents.begin(); it != repeatEvents.end(); ++it ) { |
1056 | if ( removeMe == (*it).repeatPattern().createTime ) { | 1056 | if ( removeMe == (*it).repeatPattern().createTime ) { |
1057 | orig = (*it); | 1057 | orig = (*it); |
1058 | return TRUE; | 1058 | return TRUE; |
1059 | } | 1059 | } |
1060 | } | 1060 | } |
1061 | return FALSE; | 1061 | return FALSE; |
1062 | } | 1062 | } |
1063 | 1063 | ||
1064 | void DateBookDB::saveJournalEntry( const Event &ev, journal_action action ) | 1064 | void DateBookDB::saveJournalEntry( const Event &ev, journal_action action ) |
1065 | { | 1065 | { |
1066 | saveJournalEntry( ev, action, -1, false ); | 1066 | saveJournalEntry( ev, action, -1, false ); |
1067 | } | 1067 | } |
1068 | 1068 | ||
1069 | bool DateBookDB::saveJournalEntry( const Event &evOld, journal_action action, | 1069 | bool DateBookDB::saveJournalEntry( const Event &evOld, journal_action action, |
1070 | int key, bool origHadRepeat ) | 1070 | int key, bool origHadRepeat ) |
1071 | { | 1071 | { |
1072 | bool status = false; | 1072 | bool status = false; |
1073 | Event ev = evOld; | 1073 | Event ev = evOld; |
1074 | // write our log based on the action | 1074 | // write our log based on the action |
1075 | QFile f( dateBookJournalFile() ); | 1075 | QFile f( dateBookJournalFile() ); |
1076 | if ( !f.open( IO_WriteOnly|IO_Append ) ) | 1076 | if ( !f.open( IO_WriteOnly|IO_Append ) ) |
1077 | return false; | 1077 | return false; |
1078 | QString buf = "<event"; | 1078 | QString buf = "<event"; |
1079 | ev.save( buf ); | 1079 | ev.save( buf ); |
1080 | buf += " action="; | 1080 | buf += " action="; |
1081 | buf += "\"" + QString::number(action) + "\""; | 1081 | buf += "\"" + QString::number(action) + "\""; |
1082 | buf += " actionkey=\"" + QString::number(key) + "\""; | 1082 | buf += " actionkey=\"" + QString::number(key) + "\""; |
1083 | buf += " actionorig=\"" + QString::number(origHadRepeat) +"\""; | 1083 | buf += " actionorig=\"" + QString::number(origHadRepeat) +"\""; |
1084 | buf += " />\n"; | 1084 | buf += " />\n"; |
1085 | QString str = buf.utf8(); | 1085 | QString str = buf.utf8(); |
1086 | status = ( f.writeBlock( str.data(), str.length() ) == int(str.length()) ); | 1086 | status = ( f.writeBlock( str.data(), str.length() ) == int(str.length()) ); |
1087 | f.close(); | 1087 | f.close(); |
1088 | return status; | 1088 | return status; |
1089 | } | 1089 | } |
1090 | 1090 | ||
1091 | QValueList<Event> DateBookDB::getRawRepeats() const | 1091 | QValueList<Event> DateBookDB::getRawRepeats() const |