summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-10-20 18:38:39 (UTC)
committer ulf69 <ulf69>2004-10-20 18:38:39 (UTC)
commit8e00329a4a5f0b66d26d20f067ab6aefca17f17a (patch) (unidiff)
tree9fa40d29baece91dc854b7e124c3bbc2962a0729
parent13243e1fb1855d306d45a84365f55e20efeff69d (diff)
downloadkdepimpi-8e00329a4a5f0b66d26d20f067ab6aefca17f17a.zip
kdepimpi-8e00329a4a5f0b66d26d20f067ab6aefca17f17a.tar.gz
kdepimpi-8e00329a4a5f0b66d26d20f067ab6aefca17f17a.tar.bz2
removed dead code
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/pwm.cpp30
-rw-r--r--pwmanager/pwmanager/pwmdoc.cpp25
2 files changed, 27 insertions, 28 deletions
diff --git a/pwmanager/pwmanager/pwm.cpp b/pwmanager/pwmanager/pwm.cpp
index c511661..66d26d6 100644
--- a/pwmanager/pwmanager/pwm.cpp
+++ b/pwmanager/pwmanager/pwm.cpp
@@ -697,66 +697,66 @@ void PwM::editPwd_slot3(const QString *category, const int *index,
697 PwMDataItem currItem; 697 PwMDataItem currItem;
698 if (!doc->getEntry(curCategory, curEntryIndex, &currItem, true)) { 698 if (!doc->getEntry(curCategory, curEntryIndex, &currItem, true)) {
699 doc->timer()->putLock(DocTimer::id_autoLockTimer); 699 doc->timer()->putLock(DocTimer::id_autoLockTimer);
700 return; 700 return;
701 } 701 }
702 BUG_ON(currItem.binary); 702 BUG_ON(currItem.binary);
703 703
704 AddEntryWndImpl w; 704 AddEntryWndImpl w;
705 vector<string> catList; 705 vector<string> catList;
706 doc->getCategoryList(&catList); 706 doc->getCategoryList(&catList);
707 unsigned i, size = catList.size(); 707 unsigned i, size = catList.size();
708 for (i = 0; i < size; ++i) { 708 for (i = 0; i < size; ++i) {
709 w.addCategory(catList[i].c_str()); 709 w.addCategory(catList[i].c_str());
710 } 710 }
711 w.setCurrCategory(curCategory); 711 w.setCurrCategory(curCategory);
712 w.setDescription(currItem.desc.c_str()); 712 w.setDescription(currItem.desc.c_str());
713 w.setUsername(currItem.name.c_str()); 713 w.setUsername(currItem.name.c_str());
714 w.setPassword(currItem.pw.c_str()); 714 w.setPassword(currItem.pw.c_str());
715 w.setUrl(currItem.url.c_str()); 715 w.setUrl(currItem.url.c_str());
716 w.setLauncher(currItem.launcher.c_str()); 716 w.setLauncher(currItem.launcher.c_str());
717 w.setComment(currItem.comment.c_str()); 717 w.setComment(currItem.comment.c_str());
718 if (w.exec() == 1) { 718 if (w.exec() == 1) {
719 currItem.desc = w.getDescription().latin1(); 719 currItem.desc = w.getDescription().latin1();
720 currItem.name = w.getUsername().latin1(); 720 currItem.name = w.getUsername().latin1();
721 currItem.pw = w.getPassword().latin1(); 721 currItem.pw = w.getPassword().latin1();
722 currItem.comment = w.getComment().latin1(); 722 currItem.comment = w.getComment().latin1();
723 currItem.url = w.getUrl().latin1(); 723 currItem.url = w.getUrl().latin1();
724 currItem.launcher = w.getLauncher().latin1(); 724 currItem.launcher = w.getLauncher().latin1();
725 if (!doc->editEntry(curCategory, w.getCategory(), 725 if (!doc->editEntry(curCategory, w.getCategory(),
726 curEntryIndex, &currItem)) { 726 curEntryIndex, &currItem)) {
727 KMessageBox::error(this, 727 KMessageBox::error(this,
728 i18n("Couldn't edit the entry.\n" 728 i18n("Couldn't edit the entry.\n"
729 "Maybe you changed the category and " 729 "Maybe you changed the category and\n"
730 "this entry is already present in the new " 730 "this entry is already present\nin the new "
731 "category?"), 731 "category?"),
732 i18n("couldn't edit entry.")); 732 i18n("couldn't edit entry."));
733 doc->timer()->putLock(DocTimer::id_autoLockTimer); 733 doc->timer()->putLock(DocTimer::id_autoLockTimer);
734 return; 734 return;
735 } 735 }
736 } 736 }
737 doc->timer()->putLock(DocTimer::id_autoLockTimer); 737 doc->timer()->putLock(DocTimer::id_autoLockTimer);
738} 738}
739 739
740void PwM::deletePwd_slot() 740void PwM::deletePwd_slot()
741{ 741{
742 PWM_ASSERT(curDoc()); 742 PWM_ASSERT(curDoc());
743 if (curDoc()->isDocEmpty()) 743 if (curDoc()->isDocEmpty())
744 return; 744 return;
745 if (curDoc()->isDeepLocked()) 745 if (curDoc()->isDeepLocked())
746 return; 746 return;
747 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 747 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
748 unsigned int curEntryIndex = 0; 748 unsigned int curEntryIndex = 0;
749 if (!(view->getCurEntryIndex(&curEntryIndex))) { 749 if (!(view->getCurEntryIndex(&curEntryIndex))) {
750 printDebug("couldn't get index"); 750 printDebug("couldn't get index");
751 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 751 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
752 return; 752 return;
753 } 753 }
754 754
755 PwMDataItem currItem; 755 PwMDataItem currItem;
756 QString curCategory = view->getCurrentCategory(); 756 QString curCategory = view->getCurrentCategory();
757 if (!curDoc()->getEntry(curCategory, curEntryIndex, &currItem)) { 757 if (!curDoc()->getEntry(curCategory, curEntryIndex, &currItem)) {
758 printDebug("couldn't get entry"); 758 printDebug("couldn't get entry");
759 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 759 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
760 return; 760 return;
761 } 761 }
762 if (KMessageBox:: 762 if (KMessageBox::
@@ -886,116 +886,116 @@ void PwM::find_slot()
886 if (curDoc()->isDeepLocked()) 886 if (curDoc()->isDeepLocked())
887 return; 887 return;
888 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 888 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
889 FindWndImpl findWnd(view); 889 FindWndImpl findWnd(view);
890 findWnd.exec(); 890 findWnd.exec();
891 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 891 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
892} 892}
893 893
894void PwM::exportToText() 894void PwM::exportToText()
895{ 895{
896 PWM_ASSERT(curDoc()); 896 PWM_ASSERT(curDoc());
897 if (curDoc()->isDocEmpty()) { 897 if (curDoc()->isDocEmpty()) {
898 KMessageBox::information(this, 898 KMessageBox::information(this,
899 i18n 899 i18n
900 ("Sorry, there's nothing to export.\n" 900 ("Sorry, there's nothing to export.\n"
901 "Please first add some passwords."), 901 "Please first add some passwords."),
902 i18n("nothing to do")); 902 i18n("nothing to do"));
903 return; 903 return;
904 } 904 }
905 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 905 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
906 QString fn(KFileDialog::getSaveFileName(QString::null, 906 QString fn(KFileDialog::getSaveFileName(QString::null,
907 i18n("*|plain-text file"), 907 i18n("*|plain-text file"),
908 this)); 908 this));
909 if (fn == "") { 909 if (fn == "") {
910 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 910 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
911 return; 911 return;
912 } 912 }
913 913
914 PwMerror ret = curDoc()->exportToText(&fn); 914 PwMerror ret = curDoc()->exportToText(&fn);
915 if (ret != e_success) { 915 if (ret != e_success) {
916 KMessageBox::error(this, 916 KMessageBox::error(this,
917 i18n("Error: Couldn't write to file.\n" 917 i18n("Error: Couldn't write to file.\n"
918 "Please check if you have permission to write " 918 "Please check if you have permission to write\n"
919 "to the file in that directory."), 919 "to the file in that directory."),
920 i18n("error while writing")); 920 i18n("error while writing"));
921 } else 921 } else
922 showStatMsg(i18n("Successfully exported data.")); 922 showStatMsg(i18n("Successfully exported data."));
923 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 923 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
924} 924}
925 925
926bool PwM::importFromText() 926bool PwM::importFromText()
927{ 927{
928 if (!isVirgin()) { 928 if (!isVirgin()) {
929 if (KMessageBox::questionYesNo(this, 929 if (KMessageBox::questionYesNo(this,
930 i18n("Do you want to import the data " 930 i18n("Do you want to import the data\n"
931 "into the current document? (If you " 931 "into the current document? (If you\n"
932 "select \"no\", a new document will be " 932 "select \"no\", a new document will be\n"
933 "opened.)"), 933 "opened.)"),
934 i18n("import into this document?")) 934 i18n("import into this document?"))
935 == KMessageBox::No) { 935 == KMessageBox::No) {
936 // import the data to a new window. 936 // import the data to a new window.
937 PwM *newInstance = init->createMainWnd(); 937 PwM *newInstance = init->createMainWnd();
938 bool ok = newInstance->importFromText(); 938 bool ok = newInstance->importFromText();
939 if (!ok) { 939 if (!ok) {
940 newInstance->setForceQuit(true); 940 newInstance->setForceQuit(true);
941 delete_and_null(newInstance); 941 delete_and_null(newInstance);
942 } 942 }
943 return ok; 943 return ok;
944 } 944 }
945 } 945 }
946 946
947 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 947 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
948 PwMerror ret; 948 PwMerror ret;
949 QString path(KFileDialog::getOpenFileName(QString::null, 949 QString path(KFileDialog::getOpenFileName(QString::null,
950 i18n("*|PWM-exported text file"), 950 i18n("*|PWM-exported text file"),
951 this)); 951 this));
952 if (path == "") 952 if (path == "")
953 goto cancelImport; 953 goto cancelImport;
954 954
955 ret = curDoc()->importFromText(&path, 0); 955 ret = curDoc()->importFromText(&path, 0);
956 if (ret == e_fileFormat) { 956 if (ret == e_fileFormat) {
957 KMessageBox::error(this, 957 KMessageBox::error(this,
958 i18n("Could not read file-format.\n" 958 i18n("Could not read file-format.\n"
959 "This seems to be _not_ a valid file " 959 "This seems to be _not_ a valid file\n"
960 "exported by PwM."), 960 "exported by PwM."),
961 i18n("invalid file-format")); 961 i18n("invalid file-format"));
962 goto cancelImport; 962 goto cancelImport;
963 } else if (ret == e_invalidArg) { 963 } else if (ret == e_invalidArg) {
964 BUG(); 964 BUG();
965 goto cancelImport; 965 goto cancelImport;
966 } else if (ret != e_success) { 966 } else if (ret != e_success) {
967 KMessageBox::error(this, 967 KMessageBox::error(this,
968 i18n("Could not import file!\n" 968 i18n("Could not import file!\n"
969 "Do you have permission to read this file? " 969 "Do you have permission to read this file?\n"
970 "Do you have enough free memory?"), 970 "Do you have enough free memory?"),
971 i18n("import failed")); 971 i18n("import failed"));
972 goto cancelImport; 972 goto cancelImport;
973 } 973 }
974 setVirgin(false); 974 setVirgin(false);
975 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 975 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
976 return true; 976 return true;
977 977
978cancelImport: 978cancelImport:
979 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 979 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
980 return false; 980 return false;
981} 981}
982 982
983void PwM::exportToGpasman() 983void PwM::exportToGpasman()
984{ 984{
985 PWM_ASSERT(curDoc()); 985 PWM_ASSERT(curDoc());
986 if (curDoc()->isDocEmpty()) { 986 if (curDoc()->isDocEmpty()) {
987 KMessageBox::information(this, 987 KMessageBox::information(this,
988 i18n 988 i18n
989 ("Sorry, there's nothing to export.\n" 989 ("Sorry, there's nothing to export.\n"
990 "Please first add some passwords."), 990 "Please first add some passwords."),
991 i18n("nothing to do")); 991 i18n("nothing to do"));
992 return; 992 return;
993 } 993 }
994 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 994 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
995 QString fn(KFileDialog::getSaveFileName(QString::null, 995 QString fn(KFileDialog::getSaveFileName(QString::null,
996 i18n("*|Gpasman or Kpasman file"), 996 i18n("*|Gpasman or Kpasman file"),
997 this)); 997 this));
998 if (fn == "") { 998 if (fn == "") {
999 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 999 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1000 return; 1000 return;
1001 } 1001 }
@@ -1020,96 +1020,96 @@ void PwM::exportToKWallet()
1020{ 1020{
1021#ifdef CONFIG_KWALLETIF 1021#ifdef CONFIG_KWALLETIF
1022 if (!checkAndAskForKWalletEmu()) 1022 if (!checkAndAskForKWalletEmu())
1023 return; 1023 return;
1024 PWM_ASSERT(curDoc()); 1024 PWM_ASSERT(curDoc());
1025 if (curDoc()->isDocEmpty()) { 1025 if (curDoc()->isDocEmpty()) {
1026 KMessageBox::information(this, 1026 KMessageBox::information(this,
1027 i18n 1027 i18n
1028 ("Sorry, there's nothing to export.\n" 1028 ("Sorry, there's nothing to export.\n"
1029 "Please first add some passwords."), 1029 "Please first add some passwords."),
1030 i18n("nothing to do")); 1030 i18n("nothing to do"));
1031 init->initKWalletEmu(); 1031 init->initKWalletEmu();
1032 return; 1032 return;
1033 } 1033 }
1034 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 1034 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
1035 KWalletIf walletIf(this); 1035 KWalletIf walletIf(this);
1036 if (walletIf.kwalletExport(curDoc())) { 1036 if (walletIf.kwalletExport(curDoc())) {
1037 KMessageBox::information(this, 1037 KMessageBox::information(this,
1038 i18n("Successfully exported the data of the current " 1038 i18n("Successfully exported the data of the current "
1039 "document to KWallet."), 1039 "document to KWallet."),
1040 i18n("Successfully exported data.")); 1040 i18n("Successfully exported data."));
1041 showStatMsg(i18n("Successfully exported data.")); 1041 showStatMsg(i18n("Successfully exported data."));
1042 } 1042 }
1043 init->initKWalletEmu(); 1043 init->initKWalletEmu();
1044 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 1044 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1045#endif // CONFIG_KWALLETIF 1045#endif // CONFIG_KWALLETIF
1046} 1046}
1047 1047
1048bool PwM::importFromGpasman() 1048bool PwM::importFromGpasman()
1049{ 1049{
1050 if (!isVirgin()) { 1050 if (!isVirgin()) {
1051 if (KMessageBox::questionYesNo(this, 1051 if (KMessageBox::questionYesNo(this,
1052 i18n("Do you want to import the data " 1052 i18n("Do you want to import the data\n"
1053 "into the current document? (If you " 1053 "into the current document? (If you\n"
1054 "select \"no\", a new document will be " 1054 "select \"no\", a new document will be\n"
1055 "opened.)"), 1055 "opened.)"),
1056 i18n("import into this document?")) 1056 i18n("import into this document?"))
1057 == KMessageBox::No) { 1057 == KMessageBox::No) {
1058 // import the data to a new window. 1058 // import the data to a new window.
1059 PwM *newInstance = init->createMainWnd(); 1059 PwM *newInstance = init->createMainWnd();
1060 bool ok = newInstance->importFromGpasman(); 1060 bool ok = newInstance->importFromGpasman();
1061 if (!ok) { 1061 if (!ok) {
1062 newInstance->setForceQuit(true); 1062 newInstance->setForceQuit(true);
1063 delete_and_null(newInstance); 1063 delete_and_null(newInstance);
1064 } 1064 }
1065 return ok; 1065 return ok;
1066 } 1066 }
1067 } 1067 }
1068 1068
1069 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 1069 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
1070 PwMerror ret; 1070 PwMerror ret;
1071 QString path(KFileDialog::getOpenFileName(QString::null, 1071 QString path(KFileDialog::getOpenFileName(QString::null,
1072 i18n("*|Gpasman or Kpasman file"), this)); 1072 i18n("*|Gpasman or Kpasman file"), this));
1073 if (path == "") 1073 if (path == "")
1074 goto cancelImport; 1074 goto cancelImport;
1075 ret = curDoc()->importFromGpasman(&path); 1075 ret = curDoc()->importFromGpasman(&path);
1076 if (ret == e_wrongPw) { 1076 if (ret == e_wrongPw) {
1077 if (KMessageBox::questionYesNo(this, 1077 if (KMessageBox::questionYesNo(this,
1078 i18n 1078 i18n
1079 ("This is probably the wrong master-password" 1079 ("This is probably the wrong master-password\n"
1080 "you have typed in.\n" 1080 "you have typed in.\n"
1081 "There is no real way to determine the " 1081 "There is no real way to determine the\n"
1082 "correctness of the password in the Gpasman " 1082 "correctness of the password in the Gpasman\n"
1083 "file-format. But I think this " 1083 "file-format. But I think this\n"
1084 "password ist wrong.\n" 1084 "password ist wrong.\n"
1085 "Do you want to continue nevertheless?"), 1085 "Do you want to continue nevertheless?"),
1086 i18n("password error")) 1086 i18n("password error"))
1087 == KMessageBox::No) { 1087 == KMessageBox::No) {
1088 goto cancelImport; 1088 goto cancelImport;
1089 } 1089 }
1090 } else if (ret != e_success) { 1090 } else if (ret != e_success) {
1091 KMessageBox::error(this, 1091 KMessageBox::error(this,
1092 i18n("Could not import file!\n" 1092 i18n("Could not import file!\n"
1093 "Do you have permission to read this file?"), 1093 "Do you have permission to read this file?"),
1094 i18n("import failed")); 1094 i18n("import failed"));
1095 goto cancelImport; 1095 goto cancelImport;
1096 } 1096 }
1097 setVirgin(false); 1097 setVirgin(false);
1098 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 1098 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1099 return true; 1099 return true;
1100 1100
1101cancelImport: 1101cancelImport:
1102 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 1102 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1103 return false; 1103 return false;
1104} 1104}
1105 1105
1106#ifdef CONFIG_KWALLETIF 1106#ifdef CONFIG_KWALLETIF
1107bool PwM::checkAndAskForKWalletEmu() 1107bool PwM::checkAndAskForKWalletEmu()
1108{ 1108{
1109 if (init->kwalletEmu()) { 1109 if (init->kwalletEmu()) {
1110 /* KWallet emulation is enabled. We can't import/export 1110 /* KWallet emulation is enabled. We can't import/export
1111 * data from/to it, while emulation is active. 1111 * data from/to it, while emulation is active.
1112 */ 1112 */
1113 if (KMessageBox::questionYesNo(this, 1113 if (KMessageBox::questionYesNo(this,
1114 i18n("KWallet emulation is enabled.\n" 1114 i18n("KWallet emulation is enabled.\n"
1115 "You can't import or export data from/to " 1115 "You can't import or export data from/to "
diff --git a/pwmanager/pwmanager/pwmdoc.cpp b/pwmanager/pwmanager/pwmdoc.cpp
index 8869f3a..86b6273 100644
--- a/pwmanager/pwmanager/pwmdoc.cpp
+++ b/pwmanager/pwmanager/pwmdoc.cpp
@@ -1235,89 +1235,95 @@ bool PwMDoc::getEntry(unsigned int category, unsigned int index,
1235 return true; 1235 return true;
1236} 1236}
1237 1237
1238PwMerror PwMDoc::getCommentByLvp(const QString &category, int listViewPos, 1238PwMerror PwMDoc::getCommentByLvp(const QString &category, int listViewPos,
1239 string *foundComment) 1239 string *foundComment)
1240{ 1240{
1241 PWM_ASSERT(foundComment); 1241 PWM_ASSERT(foundComment);
1242 unsigned int cat = 0; 1242 unsigned int cat = 0;
1243 1243
1244 if (!findCategory(category, &cat)) 1244 if (!findCategory(category, &cat))
1245 return e_invalidArg; 1245 return e_invalidArg;
1246 1246
1247 unsigned int i, entries = numEntries(cat); 1247 unsigned int i, entries = numEntries(cat);
1248 for (i = 0; i < entries; ++i) { 1248 for (i = 0; i < entries; ++i) {
1249 if (dti.dta[cat].d[i].listViewPos == listViewPos) { 1249 if (dti.dta[cat].d[i].listViewPos == listViewPos) {
1250 *foundComment = dti.dta[cat].d[i].comment; 1250 *foundComment = dti.dta[cat].d[i].comment;
1251 if (dti.dta[cat].d[i].binary) 1251 if (dti.dta[cat].d[i].binary)
1252 return e_binEntry; 1252 return e_binEntry;
1253 return e_normalEntry; 1253 return e_normalEntry;
1254 } 1254 }
1255 } 1255 }
1256 BUG(); 1256 BUG();
1257 return e_generic; 1257 return e_generic;
1258} 1258}
1259 1259
1260bool PwMDoc::compressDta(string *d, char algo) 1260bool PwMDoc::compressDta(string *d, char algo)
1261{ 1261{
1262 PWM_ASSERT(d); 1262 PWM_ASSERT(d);
1263 switch (algo) { 1263 switch (algo) {
1264 case PWM_COMPRESS_GZIP: { 1264 case PWM_COMPRESS_GZIP: {
1265 CompressGzip comp; 1265 CompressGzip comp;
1266 return comp.compress(d); 1266 return comp.compress(d);
1267 /*US } case PWM_COMPRESS_BZIP2: { 1267 }
1268#ifndef PWM_EMBEDDED
1269 case PWM_COMPRESS_BZIP2: {
1268 CompressBzip2 comp; 1270 CompressBzip2 comp;
1269 return comp.compress(d); 1271 return comp.compress(d);
1270*/ 1272 }
1271 } case PWM_COMPRESS_NONE: { 1273#endif
1274 case PWM_COMPRESS_NONE: {
1272 return true; 1275 return true;
1273 } default: { 1276 } default: {
1274 BUG(); 1277 BUG();
1275 } 1278 }
1276 } 1279 }
1277 return false; 1280 return false;
1278} 1281}
1279 1282
1280bool PwMDoc::decompressDta(string *d, char algo) 1283bool PwMDoc::decompressDta(string *d, char algo)
1281{ 1284{
1282 PWM_ASSERT(d); 1285 PWM_ASSERT(d);
1283 switch (algo) { 1286 switch (algo) {
1284 case PWM_COMPRESS_GZIP: { 1287 case PWM_COMPRESS_GZIP: {
1285 CompressGzip comp; 1288 CompressGzip comp;
1286 return comp.decompress(d); 1289 return comp.decompress(d);
1287 /*US } case PWM_COMPRESS_BZIP2: { 1290 }
1291#ifndef PWM_EMBEDDED
1292 case PWM_COMPRESS_BZIP2: {
1288 CompressBzip2 comp; 1293 CompressBzip2 comp;
1289 return comp.decompress(d); 1294 return comp.decompress(d);
1290 */ 1295 }
1291 } case PWM_COMPRESS_NONE: { 1296#endif
1297 case PWM_COMPRESS_NONE: {
1292 return true; 1298 return true;
1293 } 1299 }
1294 } 1300 }
1295 return false; 1301 return false;
1296} 1302}
1297 1303
1298PwMerror PwMDoc::encrypt(string *d, const QString *pw, QFile *f, char algo) 1304PwMerror PwMDoc::encrypt(string *d, const QString *pw, QFile *f, char algo)
1299{ 1305{
1300 PWM_ASSERT(d); 1306 PWM_ASSERT(d);
1301 PWM_ASSERT(pw); 1307 PWM_ASSERT(pw);
1302 PWM_ASSERT(f); 1308 PWM_ASSERT(f);
1303 1309
1304 size_t encSize; 1310 size_t encSize;
1305 byte *encrypted = 0; 1311 byte *encrypted = 0;
1306 1312
1307 switch (algo) { 1313 switch (algo) {
1308 case PWM_CRYPT_BLOWFISH: { 1314 case PWM_CRYPT_BLOWFISH: {
1309 Blowfish::padNull(d); 1315 Blowfish::padNull(d);
1310 encSize = d->length(); 1316 encSize = d->length();
1311 encrypted = new byte[encSize]; 1317 encrypted = new byte[encSize];
1312 Blowfish bf; 1318 Blowfish bf;
1313 if (bf.bf_setkey((byte *) pw->latin1(), pw->length())) { 1319 if (bf.bf_setkey((byte *) pw->latin1(), pw->length())) {
1314 delete [] encrypted; 1320 delete [] encrypted;
1315 return e_weakPw; 1321 return e_weakPw;
1316 } 1322 }
1317 bf.bf_encrypt((byte *) encrypted, (byte *) d->c_str(), encSize); 1323 bf.bf_encrypt((byte *) encrypted, (byte *) d->c_str(), encSize);
1318 break; 1324 break;
1319 } 1325 }
1320 case PWM_CRYPT_AES128: 1326 case PWM_CRYPT_AES128:
1321 /*... fall through */ 1327 /*... fall through */
1322 case PWM_CRYPT_AES192: 1328 case PWM_CRYPT_AES192:
1323 case PWM_CRYPT_AES256: 1329 case PWM_CRYPT_AES256:
@@ -3094,163 +3100,156 @@ PwMerror PwMDoc::syncronize(KSyncManager* manager, PwMDoc* syncLocal , PwMDoc* s
3094 3100
3095 uid = er[ incCounter ]; 3101 uid = er[ incCounter ];
3096 qDebug("sync uid %s from remote file", uid.latin1()); 3102 qDebug("sync uid %s from remote file", uid.latin1());
3097 3103
3098 qApp->processEvents(); 3104 qApp->processEvents();
3099 3105
3100 inLocal = syncLocal->findEntryByID( uid, &catLocal, &indexLocal ); 3106 inLocal = syncLocal->findEntryByID( uid, &catLocal, &indexLocal );
3101 inRemote = syncRemote->findEntryByID( uid, &catRemote, &indexRemote ); 3107 inRemote = syncRemote->findEntryByID( uid, &catRemote, &indexRemote );
3102 PWM_ASSERT(inRemote); 3108 PWM_ASSERT(inRemote);
3103 if ( inLocal != 0 ) { // maybe conflict - same uid in both files 3109 if ( inLocal != 0 ) { // maybe conflict - same uid in both files
3104 if ( (take = takePwMDataItem( inLocal, inRemote, mLastSync, mode, fullDateRange) ) ) { 3110 if ( (take = takePwMDataItem( inLocal, inRemote, mLastSync, mode, fullDateRange) ) ) {
3105 qDebug("take %d %s ", take, inLocal->desc.c_str()); 3111 qDebug("take %d %s ", take, inLocal->desc.c_str());
3106 if ( take == 3 ) 3112 if ( take == 3 )
3107 return e_syncError; 3113 return e_syncError;
3108 if ( take == 1 ) {// take local 3114 if ( take == 1 ) {// take local
3109 int oldlistpos = inRemote->listViewPos; 3115 int oldlistpos = inRemote->listViewPos;
3110 (*inRemote) = (*inLocal); 3116 (*inRemote) = (*inLocal);
3111 inRemote->listViewPos = oldlistpos; 3117 inRemote->listViewPos = oldlistpos;
3112 ++changedRemote; 3118 ++changedRemote;
3113 } else { // take == 2 take remote 3119 } else { // take == 2 take remote
3114 int oldlistpos = inLocal->listViewPos; 3120 int oldlistpos = inLocal->listViewPos;
3115 (*inLocal) = (*inRemote); 3121 (*inLocal) = (*inRemote);
3116 inLocal->listViewPos = oldlistpos; 3122 inLocal->listViewPos = oldlistpos;
3117 ++changedLocal; 3123 ++changedLocal;
3118 } 3124 }
3119 } 3125 }
3120 } else { // no conflict 3126 } else { // no conflict
3121 if ( inRemote->meta.update > mLastSync || mode == 5 ) { 3127 if ( inRemote->meta.update > mLastSync || mode == 5 ) {
3122 inRemote->meta.update = modifiedSync; 3128 inRemote->meta.update = modifiedSync;
3123 3129
3124 //first check if we have a matching category in the local file 3130 //first check if we have a matching category in the local file
3125 const string* remotecat = syncRemote->getCategory(catRemote); 3131 const string* remotecat = syncRemote->getCategory(catRemote);
3126 //US syncRemote->insertAddressee( inRemote, false );
3127 //US syncLocal->insertAddressee( inRemote, false );
3128 syncLocal->addEntry(remotecat->c_str(), inRemote, true, false); 3132 syncLocal->addEntry(remotecat->c_str(), inRemote, true, false);
3129 3133
3130 ++addedPasswordsLocal; 3134 ++addedPasswordsLocal;
3131 } else { 3135 } else {
3132 // pending checkExternSyncAddressee(addresseeRSyncSharp, inR); 3136 // pending checkExternSyncAddressee(addresseeRSyncSharp, inR);
3133 syncRemote->delEntry(catRemote, indexRemote, true); 3137 syncRemote->delEntry(catRemote, indexRemote, true);
3134 //USsyncRemote->removeAddressee( inRemote );
3135 ++deletedPasswordsRemote; 3138 ++deletedPasswordsRemote;
3136 } 3139 }
3137 } 3140 }
3138 3141
3139 ++incCounter; 3142 ++incCounter;
3140 } 3143 }
3141 3144
3142 3145
3143 er.clear(); 3146 er.clear();
3144 QStringList el = syncLocal->getIDEntryList(); 3147 QStringList el = syncLocal->getIDEntryList();
3145 modulo = (el.count()/10)+1; 3148 modulo = (el.count()/10)+1;
3146 3149
3147 manager->showProgressBar(0, i18n("Add / remove addressees"), el.count()); 3150 manager->showProgressBar(0, i18n("Add / remove addressees"), el.count());
3148 incCounter = 0; 3151 incCounter = 0;
3149 while ( incCounter < el.count()) { 3152 while ( incCounter < el.count()) {
3150 qApp->processEvents(); 3153 qApp->processEvents();
3151 if (manager->isProgressBarCanceled()) 3154 if (manager->isProgressBarCanceled())
3152 return e_syncError; 3155 return e_syncError;
3153 if ( incCounter % modulo == 0 ) 3156 if ( incCounter % modulo == 0 )
3154 manager->showProgressBar(incCounter); 3157 manager->showProgressBar(incCounter);
3155 uid = el[ incCounter ]; 3158 uid = el[ incCounter ];
3156 qDebug("sync uid %s from local file", uid.latin1()); 3159 qDebug("sync uid %s from local file", uid.latin1());
3157 3160
3158 inLocal = syncLocal->findEntryByID( uid, &catLocal, &indexLocal ); 3161 inLocal = syncLocal->findEntryByID( uid, &catLocal, &indexLocal );
3159 inRemote = syncRemote->findEntryByID( uid, &catRemote, &indexRemote ); 3162 inRemote = syncRemote->findEntryByID( uid, &catRemote, &indexRemote );
3160 PWM_ASSERT(inLocal); 3163 PWM_ASSERT(inLocal);
3161 3164
3162 if ( inRemote == 0 ) { 3165 if ( inRemote == 0 ) {
3163 if ( inLocal->meta.update < mLastSync && mode != 4 ) { 3166 if ( inLocal->meta.update < mLastSync && mode != 4 ) {
3164 // pending checkExternSyncAddressee(addresseeLSyncSharp, inL); 3167 // pending checkExternSyncAddressee(addresseeLSyncSharp, inL);
3165 syncLocal->delEntry(catLocal, indexLocal, true); 3168 syncLocal->delEntry(catLocal, indexLocal, true);
3166 //USsyncLocal->removeAddressee( inLocal );
3167 ++deletedPasswordsLocal; 3169 ++deletedPasswordsLocal;
3168 } else { 3170 } else {
3169 if ( ! manager->mWriteBackExistingOnly ) { 3171 if ( ! manager->mWriteBackExistingOnly ) {
3170 ++addedPasswordsRemote; 3172 ++addedPasswordsRemote;
3171 inLocal->meta.update = modifiedSync; 3173 inLocal->meta.update = modifiedSync;
3172 3174
3173 //first check if we have a matching category in the remote file 3175 //first check if we have a matching category in the remote file
3174 const string* localcat = syncLocal->getCategory(catLocal); 3176 const string* localcat = syncLocal->getCategory(catLocal);
3175 3177
3176 //USsyncLocal->insertAddressee( inLocal, false );
3177 PwMDataItem newEntry; 3178 PwMDataItem newEntry;
3178 newEntry = *inLocal; 3179 newEntry = *inLocal;
3179 inRemote = &newEntry; 3180 inRemote = &newEntry;
3180 3181
3181 //USsyncRemote->insertAddressee( inRemote, false ); 3182 //USsyncRemote->insertAddressee( inRemote, false );
3182 syncRemote->addEntry(localcat->c_str(), inRemote, true, false); 3183 syncRemote->addEntry(localcat->c_str(), inRemote, true, false);
3183 3184
3184 } 3185 }
3185 } 3186 }
3186 3187
3187 } 3188 }
3188 ++incCounter; 3189 ++incCounter;
3189 } 3190 }
3190 el.clear(); 3191 el.clear();
3191 manager->hideProgressBar(); 3192 manager->hideProgressBar();
3192 3193
3193 // Now write the info back into the sync data space of the files 3194 // Now write the info back into the sync data space of the files
3194 3195
3195 mLastSync = QDateTime::currentDateTime().addSecs( 1 ); 3196 mLastSync = QDateTime::currentDateTime().addSecs( 1 );
3196 // get rid of micro seconds 3197 // get rid of micro seconds
3197 QTime t = mLastSync.time(); 3198 QTime t = mLastSync.time();
3198 mLastSync.setTime( QTime (t.hour (), t.minute (), t.second () ) ); 3199 mLastSync.setTime( QTime (t.hour (), t.minute (), t.second () ) );
3199 3200
3200 3201
3201 syncItemLocal->lastSyncDate = mLastSync; 3202 syncItemLocal->lastSyncDate = mLastSync;
3202 syncItemRemote->lastSyncDate = mLastSync; 3203 syncItemRemote->lastSyncDate = mLastSync;
3203 3204
3204 QString mes; 3205 QString mes;
3205 mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n"),addedPasswordsLocal, addedPasswordsRemote, changedLocal, changedRemote, deletedPasswordsLocal, deletedPasswordsRemote ); 3206 mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n"),addedPasswordsLocal, addedPasswordsRemote, changedLocal, changedRemote, deletedPasswordsLocal, deletedPasswordsRemote );
3206 if ( manager->mShowSyncSummary ) { 3207 if ( manager->mShowSyncSummary ) {
3207 KMessageBox::information(0, mes, i18n("PWM/Pi Synchronization") ); 3208 KMessageBox::information(0, mes, i18n("PWM/Pi Synchronization") );
3208 } 3209 }
3209 qDebug( mes ); 3210 qDebug( mes );
3210 return e_success; 3211 return e_success;
3211} 3212}
3212 3213
3213 3214
3214int PwMDoc::takePwMDataItem( PwMDataItem* local, PwMDataItem* remote, QDateTime lastSync, int mode , bool full ) 3215int PwMDoc::takePwMDataItem( PwMDataItem* local, PwMDataItem* remote, QDateTime lastSync, int mode , bool full )
3215{ 3216{
3216 // 0 equal 3217 // 0 equal
3217 // 1 take local 3218 // 1 take local
3218 // 2 take remote 3219 // 2 take remote
3219 // 3 cancel 3220 // 3 cancel
3220 QDateTime localMod = local->meta.update; 3221 QDateTime localMod = local->meta.update;
3221 QDateTime remoteMod = remote->meta.update; 3222 QDateTime remoteMod = remote->meta.update;
3222 3223
3223 //US QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
3224
3225 if ( localMod == remoteMod ) 3224 if ( localMod == remoteMod )
3226 return 0; 3225 return 0;
3227 3226
3228 qDebug(" %d %d conflict on %s %s ", mode, full, local->desc.c_str(), remote->desc.c_str() ); 3227 qDebug(" %d %d conflict on %s %s ", mode, full, local->desc.c_str(), remote->desc.c_str() );
3229 3228
3230 //qDebug("%s %d %s %d", local->lastModified().toString().latin1() , localMod, remote->lastModified().toString().latin1(), remoteMod); 3229 //qDebug("%s %d %s %d", local->lastModified().toString().latin1() , localMod, remote->lastModified().toString().latin1(), remoteMod);
3231 //qDebug("%d %d %d %d ", local->lastModified().time().second(), local->lastModified().time().msec(), remote->lastModified().time().second(), remote->lastModified().time().msec() ); 3230 //qDebug("%d %d %d %d ", local->lastModified().time().second(), local->lastModified().time().msec(), remote->lastModified().time().second(), remote->lastModified().time().msec() );
3232 //full = true; //debug only 3231 //full = true; //debug only
3233 if ( full ) { 3232 if ( full ) {
3234 bool equ = ( (*local) == (*remote) ); 3233 bool equ = ( (*local) == (*remote) );
3235 if ( equ ) { 3234 if ( equ ) {
3236 //qDebug("equal "); 3235 //qDebug("equal ");
3237 if ( mode < SYNC_PREF_FORCE_LOCAL ) 3236 if ( mode < SYNC_PREF_FORCE_LOCAL )
3238 return 0; 3237 return 0;
3239 3238
3240 }//else //debug only 3239 }//else //debug only
3241 //qDebug("not equal %s %s ", local->desc.c_str(), remote->desc.c_str()); 3240 //qDebug("not equal %s %s ", local->desc.c_str(), remote->desc.c_str());
3242 } 3241 }
3243 3242
3244 int result; 3243 int result;
3245 bool localIsNew; 3244 bool localIsNew;
3246 //qDebug("%s -- %s mLastCalendarSync %s lastsync %s --- local %s remote %s ",local->summary().latin1(), remote->summary().latin1(),mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , local->lastModified().toString().latin1() , remote->lastModified().toString().latin1() ); 3245 //qDebug("%s -- %s mLastCalendarSync %s lastsync %s --- local %s remote %s ",local->summary().latin1(), remote->summary().latin1(),mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , local->lastModified().toString().latin1() , remote->lastModified().toString().latin1() );
3247 3246
3248 if ( full && mode < SYNC_PREF_NEWEST ) 3247 if ( full && mode < SYNC_PREF_NEWEST )
3249 mode = SYNC_PREF_ASK; 3248 mode = SYNC_PREF_ASK;
3250 3249
3251 switch( mode ) { 3250 switch( mode ) {
3252 case SYNC_PREF_LOCAL: 3251 case SYNC_PREF_LOCAL:
3253 if ( lastSync > remoteMod ) 3252 if ( lastSync > remoteMod )
3254 return 1; 3253 return 1;
3255 if ( lastSync > localMod ) 3254 if ( lastSync > localMod )
3256 return 2; 3255 return 2;