author | zautrix <zautrix> | 2005-03-18 17:56:55 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-03-18 17:56:55 (UTC) |
commit | d6438efc4c7cff39024b65bfd1d2f810212da544 (patch) (unidiff) | |
tree | badb4c48d83477dd1027af1807cb2b6ed09db52a | |
parent | f9f521c487143641b2cf077d04fe1c475001bce2 (diff) | |
download | kdepimpi-d6438efc4c7cff39024b65bfd1d2f810212da544.zip kdepimpi-d6438efc4c7cff39024b65bfd1d2f810212da544.tar.gz kdepimpi-d6438efc4c7cff39024b65bfd1d2f810212da544.tar.bz2 |
kde sync fixes
-rw-r--r-- | kde2file/abdump/main.cpp | 5 | ||||
-rw-r--r-- | libkdepim/ksyncmanager.cpp | 14 |
2 files changed, 16 insertions, 3 deletions
diff --git a/kde2file/abdump/main.cpp b/kde2file/abdump/main.cpp index 9ad78e5..b359cfe 100644 --- a/kde2file/abdump/main.cpp +++ b/kde2file/abdump/main.cpp | |||
@@ -123,71 +123,74 @@ int main( int argc, char *argv[] ) | |||
123 | int added = 0, changedC = 0, deleted = 0; | 123 | int added = 0, changedC = 0, deleted = 0; |
124 | QFile file( fileName ); | 124 | QFile file( fileName ); |
125 | if ( file.open( IO_ReadOnly ) ) { | 125 | if ( file.open( IO_ReadOnly ) ) { |
126 | QTextStream t( &file ); // use a text stream | 126 | QTextStream t( &file ); // use a text stream |
127 | t.setEncoding( QTextStream::UnicodeUTF8 ); | 127 | t.setEncoding( QTextStream::UnicodeUTF8 ); |
128 | QString data; | 128 | QString data; |
129 | data = t.read(); | 129 | data = t.read(); |
130 | file.close(); | 130 | file.close(); |
131 | KABC::VCardConverter converter; | 131 | KABC::VCardConverter converter; |
132 | list = converter.parseVCards( data ); | 132 | list = converter.parseVCards( data ); |
133 | qDebug("kdeABdump::file has %d entries", list.count()); | 133 | qDebug("kdeABdump::file has %d entries", list.count()); |
134 | 134 | ||
135 | KABC::Addressee::List::Iterator it; | 135 | KABC::Addressee::List::Iterator it; |
136 | for ( it = list.begin();it != list.end();++it) { | 136 | for ( it = list.begin();it != list.end();++it) { |
137 | (*it).setChanged( true ); | 137 | (*it).setChanged( true ); |
138 | bool changed = ((*it).custom( "KADDRESSBOOK", "X-ExternalID" ) == "changed"); | 138 | bool changed = ((*it).custom( "KADDRESSBOOK", "X-ExternalID" ) == "changed"); |
139 | (*it).removeCustom( "KADDRESSBOOK", "X-ExternalID" ); | 139 | (*it).removeCustom( "KADDRESSBOOK", "X-ExternalID" ); |
140 | //qDebug("ext %s ", (*it).custom( "KADDRESSBOOK", "X-ExternalID" ).latin1()); | 140 | //qDebug("ext %s ", (*it).custom( "KADDRESSBOOK", "X-ExternalID" ).latin1()); |
141 | if ( changed ) { | 141 | if ( changed ) { |
142 | //qDebug("changed Addressee found! "); | 142 | //qDebug("changed Addressee found! "); |
143 | KABC::Addressee std = standardAddressBook->findByUid( (*it).uid() ); | 143 | KABC::Addressee std = standardAddressBook->findByUid( (*it).uid() ); |
144 | if ( ! std.isEmpty() ) | 144 | if ( ! std.isEmpty() ) |
145 | (*it).setResource(std.resource()); | 145 | (*it).setResource(std.resource()); |
146 | standardAddressBook->insertAddressee( (*it) ); | 146 | standardAddressBook->insertAddressee( (*it) ); |
147 | ++changedC; | 147 | ++changedC; |
148 | } else { | 148 | } else { |
149 | //maybe added? | 149 | //maybe added? |
150 | KABC::Addressee std = standardAddressBook->findByUid( (*it).uid() ); | 150 | KABC::Addressee std = standardAddressBook->findByUid( (*it).uid() ); |
151 | if ( std.isEmpty() ) { | 151 | if ( std.isEmpty() ) { |
152 | standardAddressBook->insertAddressee( (*it) ); | 152 | standardAddressBook->insertAddressee( (*it) ); |
153 | ++added; | 153 | ++added; |
154 | } | 154 | } |
155 | } | 155 | } |
156 | } | 156 | } |
157 | KABC::AddressBook::Iterator itA = standardAddressBook->begin(); | 157 | KABC::AddressBook::Iterator itA = standardAddressBook->begin(); |
158 | KABC::AddressBook::Iterator it2 ; | 158 | KABC::AddressBook::Iterator it2 ; |
159 | while ( itA != standardAddressBook->end() ) { | 159 | while ( itA != standardAddressBook->end() ) { |
160 | bool found = false; | 160 | bool found = false; |
161 | KABC::Addressee::List::Iterator itL; | 161 | KABC::Addressee::List::Iterator itL; |
162 | for ( itL = list.begin();itL != list.end();++itL) { | 162 | for ( itL = list.begin();itL != list.end();++itL) { |
163 | if ( (*itL).uid() == (*itA).uid() ) { | 163 | if ( (*itL).uid() == (*itA).uid() ) { |
164 | found = true; | 164 | found = true; |
165 | break; | 165 | break; |
166 | } | 166 | } |
167 | } | 167 | } |
168 | if ( !found ) { | 168 | if ( !found ) { |
169 | it2 = itA; | 169 | it2 = itA; |
170 | ++itA; | 170 | ++itA; |
171 | standardAddressBook->removeAddressee( it2 ); | 171 | standardAddressBook->removeAddressee( it2 ); |
172 | ++deleted; | 172 | ++deleted; |
173 | } else { | 173 | } else { |
174 | ++itA; | 174 | ++itA; |
175 | } | 175 | } |
176 | } | 176 | } |
177 | 177 | ||
178 | //standardAddressBook->saveAll(); | 178 | //standardAddressBook->saveAll(); |
179 | standardAddressBook->setAutomaticSave( true ); | 179 | standardAddressBook->setAutomaticSave( true ); |
180 | qDebug("************************************* "); | 180 | qDebug("************************************* "); |
181 | qDebug("*************kdeABdump*************** "); | 181 | qDebug("*************kdeABdump*************** "); |
182 | qDebug("************************************* "); | 182 | qDebug("************************************* "); |
183 | qDebug("Addressbook entries\nchanged %d\ndeleted %d\nadded %d\nfrom file %s", changedC,deleted, added, fileName.latin1()); | 183 | qDebug("Addressbook entries\nchanged %d\ndeleted %d\nadded %d\nfrom file %s", changedC,deleted, added, fileName.latin1()); |
184 | } else | 184 | } else |
185 | qDebug("error open file "); | 185 | qDebug("error open file "); |
186 | } | 186 | } |
187 | standardAddressBook->close(); | ||
188 | // line not needed by KDE 3.4: | ||
189 | // delete standardAddressBook; | ||
190 | |||
187 | 191 | ||
188 | delete standardAddressBook; | ||
189 | //KABC::StdAddressBook::close(); | 192 | //KABC::StdAddressBook::close(); |
190 | //StdAddressBook::mSelf = 0; | 193 | //StdAddressBook::mSelf = 0; |
191 | qDebug("ente "); | 194 | qDebug("ente "); |
192 | return 0; | 195 | return 0; |
193 | } | 196 | } |
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index d59f4a4..7319285 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp | |||
@@ -861,149 +861,159 @@ QString KSyncManager::getPassword( ) | |||
861 | { | 861 | { |
862 | QString retfile = ""; | 862 | QString retfile = ""; |
863 | QDialog dia ( mParent, "input-dialog", true ); | 863 | QDialog dia ( mParent, "input-dialog", true ); |
864 | QLineEdit lab ( &dia ); | 864 | QLineEdit lab ( &dia ); |
865 | lab.setEchoMode( QLineEdit::Password ); | 865 | lab.setEchoMode( QLineEdit::Password ); |
866 | QVBoxLayout lay( &dia ); | 866 | QVBoxLayout lay( &dia ); |
867 | lay.setMargin(7); | 867 | lay.setMargin(7); |
868 | lay.setSpacing(7); | 868 | lay.setSpacing(7); |
869 | lay.addWidget( &lab); | 869 | lay.addWidget( &lab); |
870 | dia.setFixedSize( 230,50 ); | 870 | dia.setFixedSize( 230,50 ); |
871 | dia.setCaption( i18n("Enter password") ); | 871 | dia.setCaption( i18n("Enter password") ); |
872 | QPushButton pb ( "OK", &dia); | 872 | QPushButton pb ( "OK", &dia); |
873 | lay.addWidget( &pb ); | 873 | lay.addWidget( &pb ); |
874 | connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); | 874 | connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); |
875 | dia.show(); | 875 | dia.show(); |
876 | int res = dia.exec(); | 876 | int res = dia.exec(); |
877 | if ( res ) | 877 | if ( res ) |
878 | retfile = lab.text(); | 878 | retfile = lab.text(); |
879 | dia.hide(); | 879 | dia.hide(); |
880 | qApp->processEvents(); | 880 | qApp->processEvents(); |
881 | return retfile; | 881 | return retfile; |
882 | 882 | ||
883 | } | 883 | } |
884 | 884 | ||
885 | 885 | ||
886 | void KSyncManager::confSync() | 886 | void KSyncManager::confSync() |
887 | { | 887 | { |
888 | static KSyncPrefsDialog* sp = 0; | 888 | static KSyncPrefsDialog* sp = 0; |
889 | if ( ! sp ) { | 889 | if ( ! sp ) { |
890 | sp = new KSyncPrefsDialog( mParent, "syncprefs", true ); | 890 | sp = new KSyncPrefsDialog( mParent, "syncprefs", true ); |
891 | } | 891 | } |
892 | sp->usrReadConfig(); | 892 | sp->usrReadConfig(); |
893 | #ifndef DESKTOP_VERSION | 893 | #ifndef DESKTOP_VERSION |
894 | sp->showMaximized(); | 894 | sp->showMaximized(); |
895 | #else | 895 | #else |
896 | sp->show(); | 896 | sp->show(); |
897 | #endif | 897 | #endif |
898 | sp->exec(); | 898 | sp->exec(); |
899 | QStringList oldSyncProfileNames = mSyncProfileNames; | 899 | QStringList oldSyncProfileNames = mSyncProfileNames; |
900 | mSyncProfileNames = sp->getSyncProfileNames(); | 900 | mSyncProfileNames = sp->getSyncProfileNames(); |
901 | mLocalMachineName = sp->getLocalMachineName (); | 901 | mLocalMachineName = sp->getLocalMachineName (); |
902 | int ii; | 902 | int ii; |
903 | for ( ii = 0; ii < oldSyncProfileNames.count(); ++ii ) { | 903 | for ( ii = 0; ii < oldSyncProfileNames.count(); ++ii ) { |
904 | if ( ! mSyncProfileNames.contains( oldSyncProfileNames[ii] ) ) | 904 | if ( ! mSyncProfileNames.contains( oldSyncProfileNames[ii] ) ) |
905 | mImplementation->removeSyncInfo( oldSyncProfileNames[ii] ); | 905 | mImplementation->removeSyncInfo( oldSyncProfileNames[ii] ); |
906 | } | 906 | } |
907 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); | 907 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); |
908 | } | 908 | } |
909 | void KSyncManager::syncKDE() | 909 | void KSyncManager::syncKDE() |
910 | { | 910 | { |
911 | mSyncWithDesktop = true; | 911 | mSyncWithDesktop = true; |
912 | emit save(); | 912 | emit save(); |
913 | switch(mTargetApp) | 913 | switch(mTargetApp) |
914 | { | 914 | { |
915 | case (KAPI): | 915 | case (KAPI): |
916 | { | 916 | { |
917 | #ifdef DESKTOP_VERSION | 917 | #ifdef DESKTOP_VERSION |
918 | QString command = qApp->applicationDirPath () + "/kdeabdump"; | 918 | QString command = qApp->applicationDirPath () + "/kdeabdump"; |
919 | #else | 919 | #else |
920 | QString command = "kdeabdump"; | 920 | QString command = "kdeabdump"; |
921 | #endif | 921 | #endif |
922 | if ( ! QFile::exists ( command ) ) | 922 | if ( ! QFile::exists ( command ) ) |
923 | command = "kdeabdump"; | 923 | command = "kdeabdump"; |
924 | QString fileName = QDir::homeDirPath ()+"/.kdeaddressbookdump.vcf"; | 924 | QString fileName = QDir::homeDirPath ()+"/.kdeaddressbookdump.vcf"; |
925 | system ( command.latin1()); | 925 | int result = system ( command.latin1()); |
926 | qDebug("AB dump command call result: %d ", result); | ||
927 | if ( result != 0 ) { | ||
928 | KMessageBox::error( 0, i18n("Error accessing KDE addressbook data.\nMake sure the file\n/opt/kdepimpi/kdeabdump\nexists.The standard version of this file\nis for syncing with KDE 3.4.x.\nIf you are running KDE 3.3.x please\ndownload the KDE 3.3.x version of this file\nat http://sourceforge.net/projects/kdepimpi/\nsection: general files for KDE/Pim.")); | ||
929 | return; | ||
930 | } | ||
926 | if ( syncWithFile( fileName,true ) ) { | 931 | if ( syncWithFile( fileName,true ) ) { |
927 | if ( mWriteBackFile ) { | 932 | if ( mWriteBackFile ) { |
928 | command += " --read"; | 933 | command += " --read"; |
929 | system ( command.latin1()); | 934 | system ( command.latin1()); |
930 | } | 935 | } |
931 | } | 936 | } |
932 | 937 | ||
933 | } | 938 | } |
934 | break; | 939 | break; |
935 | case (KOPI): | 940 | case (KOPI): |
936 | { | 941 | { |
937 | #ifdef DESKTOP_VERSION | 942 | #ifdef DESKTOP_VERSION |
938 | QString command = qApp->applicationDirPath () + "/kdecaldump"; | 943 | QString command = qApp->applicationDirPath () + "/kdecaldump"; |
939 | #else | 944 | #else |
940 | QString command = "kdecaldump"; | 945 | QString command = "kdecaldump"; |
941 | #endif | 946 | #endif |
942 | if ( ! QFile::exists ( command ) ) | 947 | if ( ! QFile::exists ( command ) ) |
943 | command = "kdecaldump"; | 948 | command = "kdecaldump"; |
944 | QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics"; | 949 | QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics"; |
945 | system ( command.latin1()); | 950 | int result = system ( command.latin1()); |
951 | qDebug("Cal dump command call result result: %d ", result); | ||
952 | if ( result != 0 ) { | ||
953 | KMessageBox::error( 0, i18n("Error accessing KDE calendar data.\nMake sure the file\n/opt/kdepimpi/kdecaldump\nexists.The standard version of this file\nis for syncing with KDE 3.4.x.\nIf you are running KDE 3.3.x please\ndownload the KDE 3.3.x version of this file\nat http://sourceforge.net/projects/kdepimpi/\nsection: general files for KDE/Pim.")); | ||
954 | return; | ||
955 | } | ||
946 | if ( syncWithFile( fileName,true ) ) { | 956 | if ( syncWithFile( fileName,true ) ) { |
947 | if ( mWriteBackFile ) { | 957 | if ( mWriteBackFile ) { |
948 | command += " --read"; | 958 | command += " --read"; |
949 | system ( command.latin1()); | 959 | system ( command.latin1()); |
950 | } | 960 | } |
951 | } | 961 | } |
952 | 962 | ||
953 | } | 963 | } |
954 | break; | 964 | break; |
955 | case (PWMPI): | 965 | case (PWMPI): |
956 | 966 | ||
957 | break; | 967 | break; |
958 | default: | 968 | default: |
959 | qDebug("KSM::slotSyncMenu: invalid apptype selected"); | 969 | qDebug("KSM::slotSyncMenu: invalid apptype selected"); |
960 | break; | 970 | break; |
961 | 971 | ||
962 | } | 972 | } |
963 | } | 973 | } |
964 | 974 | ||
965 | void KSyncManager::syncSharp() | 975 | void KSyncManager::syncSharp() |
966 | { | 976 | { |
967 | 977 | ||
968 | if ( ! syncExternalApplication("sharp") ) | 978 | if ( ! syncExternalApplication("sharp") ) |
969 | qDebug("KSM::ERROR sync sharp "); | 979 | qDebug("KSM::ERROR sync sharp "); |
970 | } | 980 | } |
971 | 981 | ||
972 | bool KSyncManager::syncExternalApplication(QString resource) | 982 | bool KSyncManager::syncExternalApplication(QString resource) |
973 | { | 983 | { |
974 | 984 | ||
975 | emit save(); | 985 | emit save(); |
976 | 986 | ||
977 | if ( mAskForPreferences ) | 987 | if ( mAskForPreferences ) |
978 | if ( !edit_sync_options()) { | 988 | if ( !edit_sync_options()) { |
979 | mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); | 989 | mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); |
980 | return false; | 990 | return false; |
981 | } | 991 | } |
982 | 992 | ||
983 | qDebug("KSM::Sync extern %s", resource.latin1()); | 993 | qDebug("KSM::Sync extern %s", resource.latin1()); |
984 | 994 | ||
985 | bool syncOK = mImplementation->syncExternal(this, resource); | 995 | bool syncOK = mImplementation->syncExternal(this, resource); |
986 | 996 | ||
987 | return syncOK; | 997 | return syncOK; |
988 | 998 | ||
989 | } | 999 | } |
990 | 1000 | ||
991 | void KSyncManager::syncPhone() | 1001 | void KSyncManager::syncPhone() |
992 | { | 1002 | { |
993 | 1003 | ||
994 | syncExternalApplication("phone"); | 1004 | syncExternalApplication("phone"); |
995 | 1005 | ||
996 | } | 1006 | } |
997 | 1007 | ||
998 | void KSyncManager::showProgressBar(int percentage, QString caption, int total) | 1008 | void KSyncManager::showProgressBar(int percentage, QString caption, int total) |
999 | { | 1009 | { |
1000 | if (!bar->isVisible()) | 1010 | if (!bar->isVisible()) |
1001 | { | 1011 | { |
1002 | bar->setCaption (caption); | 1012 | bar->setCaption (caption); |
1003 | bar->setTotalSteps ( total ) ; | 1013 | bar->setTotalSteps ( total ) ; |
1004 | bar->show(); | 1014 | bar->show(); |
1005 | } | 1015 | } |
1006 | bar->raise(); | 1016 | bar->raise(); |
1007 | bar->setProgress( percentage ); | 1017 | bar->setProgress( percentage ); |
1008 | qApp->processEvents(); | 1018 | qApp->processEvents(); |
1009 | } | 1019 | } |