-rw-r--r-- | libkdepim/ksyncprofile.cpp | 140 |
1 files changed, 79 insertions, 61 deletions
diff --git a/libkdepim/ksyncprofile.cpp b/libkdepim/ksyncprofile.cpp index fcbb326..15dc152 100644 --- a/libkdepim/ksyncprofile.cpp +++ b/libkdepim/ksyncprofile.cpp @@ -9,165 +9,183 @@ This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. 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. */ // $Id$ #include <qcolor.h> #include <kconfig.h> #include <kstandarddirs.h> #include <kglobal.h> #include <kdebug.h> #include "ksyncprofile.h" -KSyncProfile::KSyncProfile( const char * name): QObject (0, name ) +KSyncProfile::KSyncProfile( const char * identifier): QObject (0, identifier ) { - setDefault(); + setIdentifier( identifier ); + + if (getIdentifier().isEmpty()) + setIdentifier( "noID" ); + + setDefault(); } KSyncProfile::~KSyncProfile() { } KSyncProfile* KSyncProfile::clone() { KSyncProfile* myClone = new KSyncProfile(); myClone->setPreSyncCommand( mPreSyncCommand ); myClone->setPostSyncCommand( mPostSyncCommand ); myClone->setLocalTempFile( mLocalTempFile); myClone->setRemoteFileName( mRemoteFileName ); myClone->setPreSyncCommandAB( mPreSyncCommandAB ); myClone->setPostSyncCommandAB( mPostSyncCommandAB ); myClone->setLocalTempFileAB( mLocalTempFileAB); myClone->setRemoteFileNameAB( mRemoteFileNameAB ); myClone->setShowSummaryAfterSync( mShowSummaryAfterSync ); myClone->setAskForPreferences( mAskForPreferences); myClone->setWriteBackExisting(mWriteBackExisting ); myClone->setWriteBackFile( mWriteBackFile); myClone->setWriteBackFuture( mWriteBackFuture ); myClone->setWriteBackFutureWeeks( mWriteBackFutureWeeks ); myClone->setIncludeInRingSync( mIncludeInRingSync ); myClone->setIncludeInRingSyncAB( mIncludeInRingSyncAB ); myClone->setSyncPrefs( mSyncPrefs); myClone->setIsLocalFileSync( mIsLocalFileSync ); myClone->setIsPhoneSync( mIsPhoneSync ); myClone->setName( "noName" ); + myClone->setIdentifier( "noID" ); return myClone; } void KSyncProfile::setDefault() { - mName = "noName"; mPreSyncCommand = i18n("command for downloading remote file to local device"); mPostSyncCommand = i18n("command for uploading local temp file to remote device"); mLocalTempFile = "/tmp/mycalendar.ics"; mRemoteFileName = "/home/polo/kdepim/apps/korganizer/localfile.ics"; mPreSyncCommandAB = i18n("command for downloading remote file to local device"); mPostSyncCommandAB = i18n("command for uploading local temp file to remote device"); mLocalTempFileAB = "/tmp/std.vcf"; mRemoteFileNameAB = "/home/polo/kdepim/apps/kabc/localfile.vcf"; mShowSummaryAfterSync = true; mAskForPreferences = true; mWriteBackExisting = false; mWriteBackFuture = false; mWriteBackFutureWeeks = 12; mWriteBackFile = true; mIncludeInRingSync = false; mIncludeInRingSyncAB = false; mSyncPrefs = SYNC_PREF_ASK; mIsLocalFileSync = true; - mIsPhoneSync = false; + mName = "noName"; + mIsPhoneSync = false; mPhoneDevice = "/dev/ircomm"; mPhoneConnection = "irda"; mPhoneModel = "6310i"; - } void KSyncProfile::readConfig(KConfig *config ) { - config->setGroup(mName); - QString prefix = ""; - //mName = config->readEntry( prefix+ "Name", mName ); - mPreSyncCommand = config->readEntry( prefix+ "PreSyncCommand",mPreSyncCommand ); - mPostSyncCommand = config->readEntry( prefix+ "PostSyncCommand", mPostSyncCommand );; - mLocalTempFile = config->readEntry( prefix+ "LocalTempFile", mLocalTempFile ); - mRemoteFileName = config->readEntry( prefix+ "RemoteFileName", mRemoteFileName ); - - mPreSyncCommandAB = config->readEntry( prefix+ "PreSyncCommandAB",mPreSyncCommandAB ); - mPostSyncCommandAB = config->readEntry( prefix+ "PostSyncCommandAB", mPostSyncCommandAB ); - mLocalTempFileAB = config->readEntry( prefix+ "LocalTempFileAB", mLocalTempFileAB ); - mRemoteFileNameAB = config->readEntry( prefix+ "RemoteFileNameAB", mRemoteFileNameAB ); - - - mPhoneDevice = config->readEntry( prefix+ "PhoneDevice", mPhoneDevice ); - mPhoneConnection = config->readEntry( prefix+ "PhoneConnection", mPhoneConnection ); - mPhoneModel = config->readEntry( prefix+ "PhoneModel", mPhoneModel ); - - mIncludeInRingSync = config->readBoolEntry( prefix+ "IncludeInRingSync",mIncludeInRingSync ); - mIncludeInRingSyncAB = config->readBoolEntry( prefix+ "IncludeInRingSyncAB",mIncludeInRingSyncAB ); - mShowSummaryAfterSync = config->readBoolEntry( prefix+ "ShowSummaryAfterSync", mShowSummaryAfterSync ); - mAskForPreferences = config->readBoolEntry( prefix+ "AskForPreferences",mAskForPreferences ); - mWriteBackExisting = config->readBoolEntry( prefix+ "WriteBackExisting",mWriteBackExisting ); - mWriteBackFuture = config->readBoolEntry( prefix+ "WriteBackFuture",mWriteBackFuture ); - mSyncPrefs = config->readNumEntry( prefix+ "SyncPrefs", mSyncPrefs ); - mWriteBackFutureWeeks = config->readNumEntry( prefix+ "WriteBackFutureWeeks", mWriteBackFutureWeeks ); - mIsLocalFileSync= config->readBoolEntry( prefix+ "IsLocalFileSync", mIsLocalFileSync ); - mIsPhoneSync= config->readBoolEntry( prefix+ "IsPhoneSync", mIsPhoneSync ); + if (config) + { + + config->setGroup("SyncProfile_" + mIdentifier); + + mName = config->readEntry( "Name", mName ); + mPreSyncCommand = config->readEntry( "PreSyncCommand",mPreSyncCommand ); + mPostSyncCommand = config->readEntry( "PostSyncCommand", mPostSyncCommand ); + mLocalTempFile = config->readEntry( "LocalTempFile", mLocalTempFile ); + mRemoteFileName = config->readEntry( "RemoteFileName", mRemoteFileName ); + + mPreSyncCommandAB = config->readEntry( "PreSyncCommandAB",mPreSyncCommandAB ); + mPostSyncCommandAB = config->readEntry( "PostSyncCommandAB", mPostSyncCommandAB ); + mLocalTempFileAB = config->readEntry( "LocalTempFileAB", mLocalTempFileAB ); + mRemoteFileNameAB = config->readEntry( "RemoteFileNameAB", mRemoteFileNameAB ); + + mPhoneDevice = config->readEntry( "PhoneDevice", mPhoneDevice ); + mPhoneConnection = config->readEntry( "PhoneConnection", mPhoneConnection ); + mPhoneModel = config->readEntry( "PhoneModel", mPhoneModel ); + + mIncludeInRingSync = config->readBoolEntry( "IncludeInRingSync",mIncludeInRingSync ); + mIncludeInRingSyncAB = config->readBoolEntry( "IncludeInRingSyncAB",mIncludeInRingSyncAB ); + mShowSummaryAfterSync = config->readBoolEntry( "ShowSummaryAfterSync", mShowSummaryAfterSync ); + mAskForPreferences = config->readBoolEntry( "AskForPreferences",mAskForPreferences ); + mWriteBackExisting = config->readBoolEntry( "WriteBackExisting",mWriteBackExisting ); + mWriteBackFuture = config->readBoolEntry( "WriteBackFuture",mWriteBackFuture ); + mSyncPrefs = config->readNumEntry( "SyncPrefs", mSyncPrefs ); + mWriteBackFutureWeeks = config->readNumEntry( "WriteBackFutureWeeks", mWriteBackFutureWeeks ); + mIsLocalFileSync= config->readBoolEntry( "IsLocalFileSync", mIsLocalFileSync ); + mIsPhoneSync= config->readBoolEntry( "IsPhoneSync", mIsPhoneSync ); + } + else + { + setDefault(); + } } + +void KSyncProfile::deleteConfig(KConfig *config ) +{ + config->deleteGroup( "SyncProfile_" + mIdentifier ); +} + void KSyncProfile::writeConfig( KConfig * config ) { - config->setGroup(mName ); - QString prefix = ""; - // config->writeEntry( prefix+ "Name", mName ); - config->writeEntry( prefix+ "PreSyncCommand",mPreSyncCommand ); - config->writeEntry( prefix+ "PostSyncCommand", mPostSyncCommand ); - config->writeEntry( prefix+ "LocalTempFile", mLocalTempFile ); - config->writeEntry( prefix+ "RemoteFileName", mRemoteFileName ); - - config->writeEntry( prefix+ "PreSyncCommandAB",mPreSyncCommandAB ); - config->writeEntry( prefix+ "PostSyncCommandAB", mPostSyncCommandAB ); - config->writeEntry( prefix+ "LocalTempFileAB", mLocalTempFileAB ); - config->writeEntry( prefix+ "RemoteFileNameAB", mRemoteFileNameAB ); - - config->writeEntry( prefix+ "PhoneDevice", mPhoneDevice ); - config->writeEntry( prefix+ "PhoneConnection", mPhoneConnection ); - config->writeEntry( prefix+ "PhoneModel", mPhoneModel ); - - config->writeEntry( prefix+ "IncludeInRingSync",mIncludeInRingSync ); - config->writeEntry( prefix+ "IncludeInRingSyncAB",mIncludeInRingSyncAB ); - config->writeEntry( prefix+ "ShowSummaryAfterSync", mShowSummaryAfterSync ); - config->writeEntry( prefix+ "AskForPreferences",mAskForPreferences ); - config->writeEntry( prefix+ "WriteBackExisting",mWriteBackExisting ); - config->writeEntry( prefix+ "WriteBackFuture",mWriteBackFuture ); - config->writeEntry( prefix+ "SyncPrefs", mSyncPrefs ); - config->writeEntry( prefix+ "WriteBackFutureWeeks", mWriteBackFutureWeeks); - config->writeEntry( prefix+ "IsLocalFileSync", mIsLocalFileSync ); - config->writeEntry( prefix+ "IsPhoneSync", mIsPhoneSync ); + config->setGroup("SyncProfile_" + mIdentifier); + + config->writeEntry( "Name", mName ); + config->writeEntry( "PreSyncCommand",mPreSyncCommand ); + config->writeEntry( "PostSyncCommand", mPostSyncCommand ); + config->writeEntry( "LocalTempFile", mLocalTempFile ); + config->writeEntry( "RemoteFileName", mRemoteFileName ); + + config->writeEntry( "PreSyncCommandAB",mPreSyncCommandAB ); + config->writeEntry( "PostSyncCommandAB", mPostSyncCommandAB ); + config->writeEntry( "LocalTempFileAB", mLocalTempFileAB ); + config->writeEntry( "RemoteFileNameAB", mRemoteFileNameAB ); + + config->writeEntry( "PhoneDevice", mPhoneDevice ); + config->writeEntry( "PhoneConnection", mPhoneConnection ); + config->writeEntry( "PhoneModel", mPhoneModel ); + + config->writeEntry( "IncludeInRingSync",mIncludeInRingSync ); + config->writeEntry( "IncludeInRingSyncAB",mIncludeInRingSyncAB ); + config->writeEntry( "ShowSummaryAfterSync", mShowSummaryAfterSync ); + config->writeEntry( "AskForPreferences",mAskForPreferences ); + config->writeEntry( "WriteBackExisting",mWriteBackExisting ); + config->writeEntry( "WriteBackFuture",mWriteBackFuture ); + config->writeEntry( "SyncPrefs", mSyncPrefs ); + config->writeEntry( "WriteBackFutureWeeks", mWriteBackFutureWeeks); + config->writeEntry( "IsLocalFileSync", mIsLocalFileSync ); + config->writeEntry( "IsPhoneSync", mIsPhoneSync ); } /* class KPrefsItemInt : public KPrefsItem { public: KPrefsItemInt(const QString &group,const QString &name,int *,int defaultValue=0); virtual ~KPrefsItemInt() {} - + void setDefault(); void readConfig(KConfig *); void writeConfig(KConfig *); private: int *mReference; int mDefault; }; */ |