-rw-r--r-- | gammu/emb/common/service/gsmcal.c | 4 | ||||
-rw-r--r-- | gammu/emb/gammu/gammu.c | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gammu/emb/common/service/gsmcal.c b/gammu/emb/common/service/gsmcal.c index ddf9790..0ea8e06 100644 --- a/gammu/emb/common/service/gsmcal.c +++ b/gammu/emb/common/service/gsmcal.c @@ -461,38 +461,38 @@ GSM_Error GSM_DecodeVCALENDAR_VTODO(unsigned char *Buffer, int *Pos, GSM_Calenda ToDo->Entries[ToDo->EntriesNum].EntryType = TODO_SILENT_ALARM_DATETIME; ReadVCALDateTime(DecodeUnicodeString(Buff), &ToDo->Entries[ToDo->EntriesNum].Date); ToDo->EntriesNum++; } if (ReadVCALText(Line, "AALARM", Buff)) { ToDo->Entries[ToDo->EntriesNum].EntryType = TODO_ALARM_DATETIME; ReadVCALDateTime(DecodeUnicodeString(Buff), &ToDo->Entries[ToDo->EntriesNum].Date); ToDo->EntriesNum++; } if (ReadVCALText(Line, "SUMMARY", Buff)) { ToDo->Entries[ToDo->EntriesNum].EntryType = TODO_TEXT; CopyUnicodeString(ToDo->Entries[ToDo->EntriesNum].Text,Buff); ToDo->EntriesNum++; } if (ReadVCALText(Line, "PRIORITY", Buff)) { if (ToDoVer == SonyEricsson_VToDo) { - ToDo->Priority = GSM_Priority_Low; + ToDo->Priority = GSM_Priority_Medium; if (atoi(DecodeUnicodeString(Buff))>3) ToDo->Priority = GSM_Priority_Low; if (atoi(DecodeUnicodeString(Buff))<3) ToDo->Priority = GSM_Priority_High; dbgprintf("atoi is %i %s\n",atoi(DecodeUnicodeString(Buff)),DecodeUnicodeString(Buff)); } else if (ToDoVer == Nokia_VToDo) { - ToDo->Priority = GSM_Priority_Low; + ToDo->Priority = GSM_Priority_Medium; if (atoi(DecodeUnicodeString(Buff))>3) ToDo->Priority = GSM_Priority_Low; if (atoi(DecodeUnicodeString(Buff))<3) ToDo->Priority = GSM_Priority_High; } } if (strstr(Line,"PERCENT-COMPLETE:100")) { ToDo->Entries[ToDo->EntriesNum].EntryType = TODO_COMPLETED; ToDo->Entries[ToDo->EntriesNum].Number = 1; ToDo->EntriesNum++; } break; } } if (Calendar->EntriesNum == 0 && ToDo->EntriesNum == 0) return ERR_EMPTY; return ERR_NONE; } diff --git a/gammu/emb/gammu/gammu.c b/gammu/emb/gammu/gammu.c index a3b93a8..997485a 100644 --- a/gammu/emb/gammu/gammu.c +++ b/gammu/emb/gammu/gammu.c @@ -4614,32 +4614,33 @@ static void Restore(int argc, char *argv[]) exit(0); } } printmsgerr("\n"); } if (!mystrncasecmp(s.CurrentConfig->SyncTime,"yes",0)) { if (/*answer_yes("Do you want to set date/time in phone (NOTE: in some phones it's required to correctly restore calendar notes and other items)")*/ true ) { GSM_GetCurrentDateTime(&date_time); error=Phone->SetDateTime(&s, &date_time); Print_Error(error); } } DoRestore = false; if (Backup.Calendar[0] != NULL) { + DoRestore = true; /* N6110 doesn't support getting calendar status */ error = Phone->GetNextCalendar(&s,&Calendar,true); if (error == ERR_NONE || error == ERR_INVALIDLOCATION || error == ERR_EMPTY) { max = 0; while (Backup.Calendar[max] != NULL) max++; printmsgerr("%i entries in backup file\n",max); DoRestore = true; /* if (answer_yes("Restore calendar notes")) { Past = answer_yes("Restore notes from the past"); DoRestore = true; } */ } } if (DoRestore) { @@ -4665,42 +4666,46 @@ static void Restore(int argc, char *argv[]) Calendar = *Backup.Calendar[i]; error=Phone->AddCalendar(&s,&Calendar); Print_Error(error); printmsgerr("%cWriting: %i percent",13,(i+1)*100/max); if (gshutdown) { GSM_Terminate(); exit(0); } } printmsgerr("\n"); } DoRestore = false; if (Backup.ToDo[0] != NULL) { error = Phone->GetToDoStatus(&s,&ToDoStatus); if (error == ERR_NONE) { + error == ERR_NOTSUPPORTED; + DoRestore = true; max = 0; while (Backup.ToDo[max]!=NULL) max++; printmsgerr("%i entries in backup file\n",max); /*if (answer_yes("Restore ToDo")) */DoRestore = true; } } if (DoRestore) { + if ( max > 0 ) { ToDo = *Backup.ToDo[0]; error = Phone->SetToDo(&s,&ToDo); + } } if (DoRestore && (error == ERR_NOTSUPPORTED || error == ERR_NOTIMPLEMENTED)) { printmsgerr("Deleting old ToDo: "); error=Phone->DeleteAllToDo(&s); if (error == ERR_NOTSUPPORTED || error == ERR_NOTIMPLEMENTED) { while (1) { error = Phone->GetNextToDo(&s,&ToDo,true); if (error != ERR_NONE) break; error = Phone->DeleteToDo(&s,&ToDo); Print_Error(error); printmsgerr("*"); } printmsgerr("\n"); } else { printmsgerr("Done\n"); Print_Error(error); @@ -8361,33 +8366,32 @@ int main(int argc, char *argv[]) fprintf(stderr,"Using model %s \n",tempC); strcpy(con->Model,tempC ); } tempC = argv[argc-2]+2; if ( *tempC != 0 ) { fprintf(stderr,"Using device %s \n",tempC); con->Device = strdup(tempC); con->DefaultDevice = false; } tempC = argv[argc-3]+2; if ( *tempC != 0 ) { fprintf(stderr,"Using connection %s \n",tempC); con->Connection = strdup(tempC); con->DefaultConnection = false; } #endif - argc = argc-3; /* Do we have enough parameters? */ if (argc == 1 + start) { HelpGeneral(); printmsg("Too few parameters!\n"); exit(-2); } /* Check used version vs. compiled */ if (!mystrncasecmp(GetGammuVersion(),VERSION,0)) { printmsg("ERROR: version of installed libGammu.so (%s) is different to version of Gammu (%s)\n", GetGammuVersion(),VERSION); exit(-1); } |