summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-08-08 20:46:59 (UTC)
committer zautrix <zautrix>2004-08-08 20:46:59 (UTC)
commit3a769cd15cfdb8e19e5fec2088c59aadeed4800a (patch) (side-by-side diff)
tree93b3dee16f7ae02c762f1cfd63864b3676ac65cb
parent957c13e21844ca75e337fc1c864554dd2240fc78 (diff)
downloadkdepimpi-3a769cd15cfdb8e19e5fec2088c59aadeed4800a.zip
kdepimpi-3a769cd15cfdb8e19e5fec2088c59aadeed4800a.tar.gz
kdepimpi-3a769cd15cfdb8e19e5fec2088c59aadeed4800a.tar.bz2
Fixed reading from phone
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/phoneformat.cpp47
1 files changed, 39 insertions, 8 deletions
diff --git a/libkcal/phoneformat.cpp b/libkcal/phoneformat.cpp
index 238b0ef..1a9ccbc 100644
--- a/libkcal/phoneformat.cpp
+++ b/libkcal/phoneformat.cpp
@@ -95,8 +95,10 @@ public:
GSM_Category Category;
int error;
QString completedString = "no";
for (j=0;j<ToDo->EntriesNum;j++) {
+
+ //qDebug(" for todo %d",ToDo->Location );
switch (ToDo->Entries[j].EntryType) {
case TODO_END_DATETIME:
dtp = &ToDo->Entries[j].Date ;
todo->setDtDue (fromGSM ( dtp ));
@@ -120,9 +122,10 @@ public:
alarm = true;
alarmDt = fromGSM ( dtp );
break;
case TODO_TEXT:
- todo->setSummary( QString ( (const char*) ToDo->Entries[j].Text ));
+ //qDebug(" text *%s* ", (const char*) DecodeUnicodeConsole(ToDo->Entries[j].Text ));
+ todo->setSummary( QString::fromUtf8 ( (const char*)DecodeUnicodeConsole(ToDo->Entries[j].Text )));
break;
case TODO_PRIVATE:
if ( ToDo->Entries[j].Number == 1 )
todo->setSecrecy( Incidence::SecrecyPrivate );
@@ -233,9 +236,9 @@ public:
repeat_startdate.Day = 0;
repeat_stopdate.Day = 0;
for (i=0;i<Note->EntriesNum;i++) {
- qDebug(" for ");
+ //qDebug(" for ev");
switch (Note->Entries[i].EntryType) {
case CAL_START_DATETIME:
dtp = &Note->Entries[i].Date ;
if ( dtp->Hour > 24 ) {
@@ -269,12 +272,13 @@ public:
rec_type = Note->Entries[i].Number;
//printmsg("Repeat : %d day%s\n",Note->Entries[i].Number/24,((Note->Entries[i].Number/24)>1) ? "s":"" );
break;
case CAL_TEXT:
- event->setSummary( QString ( (const char*) Note->Entries[i].Text ));
+ //qDebug(" ev text %s", DecodeUnicodeConsole(Note->Entries[i].Text) );
+ event->setSummary( QString::fromUtf8 ( (const char*)DecodeUnicodeConsole( Note->Entries[i].Text )));
break;
case CAL_LOCATION:
- event->setLocation(QString ((const char*) Note->Entries[i].Text ));
+ event->setLocation(QString::fromUtf8 ((const char*) DecodeUnicodeConsole(Note->Entries[i].Text) ));
break;
case CAL_PHONE:
//printmsg("Phone : \"%s\"\n",DecodeUnicodeConsole(Note->Entries[i].Text));
break;
@@ -611,8 +615,9 @@ bool PhoneFormat::load( Calendar *calendar, Calendar *existingCal ,QString profi
qDebug(" load ");
s.opened = false;
s.msg = NULL;
s.ConfigNum = 0;
+#if 0
static char *cp;
static INI_Section *cfg = NULL;
cfg=GSM_FindGammuRC();
int i;
@@ -652,29 +657,55 @@ bool PhoneFormat::load( Calendar *calendar, Calendar *existingCal ,QString profi
/* We wanted to read just user specified configuration. */
{break;}
}
+#endif
+ setlocale(LC_ALL, "");
+ GSM_ReadConfig(NULL, &s.Config[0], 0);
+ s.ConfigNum = 1;
+ GSM_Config *cfg = &s.Config[0];
+ di.coding = "utf8";
+ if ( ! connection.isEmpty() ) {
+ cfg->Connection = strdup(connection.latin1());
+ cfg->DefaultConnection = false;
+ qDebug("Connection set %s ", cfg->Connection );
+
+ }
+ if ( ! device.isEmpty() ) {
+ cfg->Device = strdup(device.latin1());
+ cfg->DefaultDevice = false;
+ qDebug("Device set %s ", cfg->Device);
+
+ }
+ if ( ! model.isEmpty() ) {
+ strcpy(cfg->Model,model.latin1() );
+ cfg->DefaultModel = false;
+ qDebug("Model set %s ",cfg->Model );
+
+
+ }
int error=GSM_InitConnection(&s,3);
qDebug(" init %d %d", error, ERR_NONE);
if ( error != ERR_NONE )
return false;
// fromString2Cal( calendar, existngCal, &s, "Event" );
GSM_Phone_Functions *Phone;
GSM_CalendarEntry note;
- bool refresh = true;
+ bool start = true;
Phone=s.Phone.Functions;
bool gshutdown = false;
PhoneParser handler( calendar, profileName );
int ccc = 0;
- while (!gshutdown && ccc++ < 10 ) {
+ while (!gshutdown && ccc++ < 3) {
qDebug("readEvent %d ", ccc);
- error=Phone->GetNextCalendar(&s,&note,refresh);
+ error=Phone->GetNextCalendar(&s,&note,start);
if (error == ERR_EMPTY) break;
+ start = false;
handler.readEvent( existingCal, &note );
}
- bool start = true;
+ start = true;
GSM_ToDoEntry ToDo;
ccc = 0;
while (!gshutdown) {
error = Phone->GetNextToDo(&s, &ToDo, start);