-rw-r--r-- | libkcal/libkcal.pro | 2 | ||||
-rw-r--r-- | libkcal/libkcalE.pro | 2 | ||||
-rw-r--r-- | libkcal/phoneformat.cpp | 117 | ||||
-rw-r--r-- | libkcal/phoneformat.h | 1 |
4 files changed, 5 insertions, 117 deletions
diff --git a/libkcal/libkcal.pro b/libkcal/libkcal.pro index 7a0bd22..171c726 100644 --- a/libkcal/libkcal.pro +++ b/libkcal/libkcal.pro @@ -1,31 +1,31 @@ TEMPLATE = lib CONFIG += qt warn_on TARGET = microkcal include( ../variables.pri ) -INCLUDEPATH += ../microkde versit ../microkde/kdecore +INCLUDEPATH += ../libkdepim ../microkde versit ../microkde/kdecore #../qtcompat INCLUDEPATH += ../libical/src/libical INCLUDEPATH += ../libical/src/libicalss DESTDIR = ../bin DEFINES += DESKTOP_VERSION unix: { LIBS += ../libical/lib/libical.a LIBS += ../libical/lib/libicalss.a OBJECTS_DIR = obj/unix MOC_DIR = moc/unix } win32: { DEFINES += _WIN32_ LIBS += ../libical/lib/ical.lib LIBS += ../libical/lib/icalss.lib OBJECTS_DIR = obj/win MOC_DIR = moc/win } INTERFACES = \ HEADERS = \ diff --git a/libkcal/libkcalE.pro b/libkcal/libkcalE.pro index e379b95..e42dc9c 100644 --- a/libkcal/libkcalE.pro +++ b/libkcal/libkcalE.pro @@ -1,29 +1,29 @@ TEMPLATE = lib CONFIG += qt warn_on TARGET = komicrokcal -INCLUDEPATH += ../microkde ../qtcompat versit ../microkde/kdecore $(QPEDIR)/include +INCLUDEPATH += ../libkdepim ../microkde ../qtcompat versit ../microkde/kdecore $(QPEDIR)/include INCLUDEPATH += ../libical/src/libical INCLUDEPATH += ../libical/src/libicalss OBJECTS_DIR = obj/$(PLATFORM) MOC_DIR = moc/$(PLATFORM) DESTDIR = $(QPEDIR)/lib LIBS += ../libical/lib/$(PLATFORM)/libical.a LIBS += ../libical/lib/$(PLATFORM)/libicalss.a INTERFACES = \ HEADERS = \ alarm.h \ attachment.h \ attendee.h \ calendar.h \ calendarlocal.h \ calfilter.h \ calformat.h \ calstorage.h \ compat.h \ customproperties.h \ dummyscheduler.h \ duration.h \ event.h \ diff --git a/libkcal/phoneformat.cpp b/libkcal/phoneformat.cpp index b2a62b1..c39413e 100644 --- a/libkcal/phoneformat.cpp +++ b/libkcal/phoneformat.cpp @@ -15,201 +15,104 @@ You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <qdatetime.h> #include <qstring.h> #include <qapplication.h> #include <qptrlist.h> #include <qregexp.h> #include <qmessagebox.h> #include <qclipboard.h> #include <qfile.h> #include <qtextstream.h> #include <qtextcodec.h> #include <qdir.h> #include <qlabel.h> #include <kdebug.h> #include <klocale.h> #include <kglobal.h> #include <kmessagebox.h> +#include <phoneaccess.h> #include "calendar.h" #include "alarm.h" #include "recurrence.h" #include "calendarlocal.h" #include "phoneformat.h" #include "syncdefines.h" using namespace KCal; class PhoneParser : public QObject { public: PhoneParser( ) { ; } static QString dtToString( const QDateTime& dti, bool useTZ = false ) { QString datestr; QString timestr; int offset = KGlobal::locale()->localTimeOffset( dti ); QDateTime dt; if (useTZ) dt = dti.addSecs ( -(offset*60)); else dt = dti; if(dt.date().isValid()){ const QDate& date = dt.date(); datestr.sprintf("%04d%02d%02d", date.year(), date.month(), date.day()); } if(dt.time().isValid()){ const QTime& time = dt.time(); timestr.sprintf("T%02d%02d%02d", time.hour(), time.minute(), time.second()); } return datestr + timestr; } }; PhoneFormat::PhoneFormat(QString profileName, QString device,QString connection, QString model ) { mProfileName = profileName; - writeConfig( device, connection, model ); + PhoneAccess::writeConfig( device, connection, model ); } PhoneFormat::~PhoneFormat() { } -void PhoneFormat::writeConfig( QString device, QString connection, QString model ) -{ -#ifdef _WIN32_ - QString fileName = qApp->applicationDirPath () +"\\gammurc"; -#else - QString fileName = QDir::homeDirPath() +"/.gammurc"; -#endif - //qDebug("save %d ", load ); - QString content; - bool write = false; - bool addPort = true, addConnection = true, addModel = true; - QFile file( fileName ); - if ( QFile::exists( fileName) ) { - if (!file.open( IO_ReadOnly ) ) { - qDebug("Error: cannot open %s ", fileName.latin1() ); - return; - } - QString line; - while ( file.readLine( line, 1024 ) > 0 ) { - //qDebug("*%s* ", line.latin1() ); - if ( line.left(7 ) == "[gammu]" ) { - ; - } else - if ( line.left(4 ) == "port" ) { - if ( line == "port = " + device+"\n" ) { - content += line ; - addPort = false; - //qDebug("port found" ); - } - - } else if ( line.left(5 ) == "model" ) { - if ( line == "model = " + model +"\n") { - content += line ; - addModel = false; - //qDebug("model found" ); - } - - } else if ( line.left( 10 ) == "connection" ) { - if ( line == "connection = " + connection +"\n") { - addConnection = false; - content += line ; - //qDebug("con found" ); - } - - } else { - content += line ; - } - } - file.close(); - } else { - if ( ! connection.isEmpty() ) { - addConnection = true; - } - if ( ! device.isEmpty() ) { - addPort = true; - - } - if ( ! model.isEmpty() ) { - addModel = true; - } - } - - if ( addConnection ) { - if ( ! write ) - content += "[gammu]\n"; - write = true; - content += "connection = "; - content += connection; - content += "\n"; - } - if ( addPort ) { - if ( ! write ) - content += "[gammu]\n"; - write = true; - content += "port = "; - content += device; - content += "\n"; - } - if ( addModel ) { - if ( ! write ) - content += "[gammu]\n"; - write = true; - content += "model = "; - content += model; - content += "\n"; - } - if ( write ) { - if (!file.open( IO_WriteOnly ) ) { - qDebug("Error: cannot write file %s ", fileName.latin1() ); - return; - } - qDebug("Writing file %s ", fileName.latin1() ); - QTextStream ts( &file ); - ts << content ; - file.close(); - } - -} #if 0 int PhoneFormat::initDevice(GSM_StateMachine *s) { GSM_ReadConfig(NULL, &s->Config[0], 0); s->ConfigNum = 1; GSM_Config *cfg = &s->Config[0]; if ( ! mConnection.isEmpty() ) { cfg->Connection = strdup(mConnection.latin1()); cfg->DefaultConnection = false; qDebug("Connection set %s ", cfg->Connection ); } if ( ! mDevice.isEmpty() ) { cfg->Device = strdup(mDevice.latin1()); cfg->DefaultDevice = false; qDebug("Device set %s ", cfg->Device); } if ( ! mModel.isEmpty() ) { strcpy(cfg->Model,mModel.latin1() ); cfg->DefaultModel = false; qDebug("Model set %s ",cfg->Model ); } int error=GSM_InitConnection(s,3); @@ -569,63 +472,49 @@ void PhoneFormat::afterSave( Incidence* inc) uint csum; inc->removeID( mProfileName ); if ( inc->type() == "Event") csum = PhoneFormat::getCsumEvent( (Event*) inc ); else csum = PhoneFormat::getCsumTodo( (Todo*) inc ); inc->setCsum( mProfileName, QString::number( csum )); inc->setTempSyncStat( SYNC_TEMPSTATE_NEW_ID ); } bool PhoneFormat::writeToPhone( Calendar * calendar) { #ifdef _WIN32_ QString fileName = locateLocal("tmp", "tempfile.vcs"); #else QString fileName = "/tmp/kdepimtemp.vcs"; #endif VCalFormat vfsave; vfsave.setLocalTime ( true ); if ( ! vfsave.save( calendar, fileName ) ) return false; - // 4 call kammu -#ifdef DESKTOP_VERSION - QString command ="./kammu --restore " + fileName ; -#else - QString command ="kammu --restore " + fileName ; -#endif - int ret; - while ( (ret = system ( command.latin1())) != 0 ) { - qDebug("Error S::command returned %d. asking users", ret); - int retval = KMessageBox::warningContinueCancel(0, - i18n("Error accessing device!\nPlease turn on connection\nand retry!"),i18n("KO/Pi phone access"),i18n("Retry"),i18n("Cancel")); - if ( retval != KMessageBox::Continue ) - return false; - } - return true; + return PhoneAccess::writeToPhone( fileName ); } bool PhoneFormat::save( Calendar *calendar) { QLabel status ( i18n(" Opening device ..."), 0 ); int w = status.sizeHint().width()+20 ; if ( w < 200 ) w = 230; int h = status.sizeHint().height()+20 ; int dw = QApplication::desktop()->width(); int dh = QApplication::desktop()->height(); status.setCaption(i18n("Writing to phone...") ); status.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); status.show(); status.raise(); qApp->processEvents(); QString message; // 1 remove events which should be deleted QPtrList<Event> er = calendar->rawEvents(); Event* ev = er.first(); while ( ev ) { if ( ev->tempSyncStat() == SYNC_TEMPSTATE_DELETE ) { calendar->deleteEvent( ev ); } else { diff --git a/libkcal/phoneformat.h b/libkcal/phoneformat.h index 61e8160..001fd81 100644 --- a/libkcal/phoneformat.h +++ b/libkcal/phoneformat.h @@ -27,37 +27,36 @@ #include "vcalformat.h" #include "calformat.h" namespace KCal { /** This class implements the calendar format used by Phone. */ class Event; class Todo; class PhoneFormat : public QObject { public: /** Create new iCalendar format. */ PhoneFormat(QString profileName, QString device,QString connection, QString model); virtual ~PhoneFormat(); bool load( Calendar * ,Calendar * ); bool save( Calendar * ); bool fromString( Calendar *, const QString & ); QString toString( Calendar * ); static ulong getCsum( const QStringList & ); static ulong getCsumTodo( Todo* to ); static ulong getCsumEvent( Event* ev ); - static void writeConfig( QString device,QString connection, QString model ); static bool writeToPhone( Calendar * ); private: void copyEvent( Event* to, Event* from ); void copyTodo( Todo* to, Todo* from ); //int initDevice(GSM_StateMachine *s); QString mProfileName; void afterSave( Incidence* ); }; } #endif |