summaryrefslogtreecommitdiffabout
path: root/libkdepim/ksyncmanager.cpp
Unidiff
Diffstat (limited to 'libkdepim/ksyncmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 2a75bfb..d71264f 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -721,769 +721,769 @@ void KSyncManager::syncRemote( KSyncProfile* prof, bool ask)
721 postCommand = prof->getPostSyncCommand(); 721 postCommand = prof->getPostSyncCommand();
722 localTempFile = prof->getLocalTempFile(); 722 localTempFile = prof->getLocalTempFile();
723 break; 723 break;
724 case (PWMPI): 724 case (PWMPI):
725 preCommand = prof->getPreSyncCommandPWM(); 725 preCommand = prof->getPreSyncCommandPWM();
726 postCommand = prof->getPostSyncCommandPWM(); 726 postCommand = prof->getPostSyncCommandPWM();
727 localTempFile = prof->getLocalTempFilePWM(); 727 localTempFile = prof->getLocalTempFilePWM();
728 break; 728 break;
729 default: 729 default:
730 qDebug("KSM::syncRemote: invalid apptype selected"); 730 qDebug("KSM::syncRemote: invalid apptype selected");
731 break; 731 break;
732 } 732 }
733 733
734 734
735 int fi; 735 int fi;
736 if ( (fi = preCommand.find("$PWD$")) > 0 ) { 736 if ( (fi = preCommand.find("$PWD$")) > 0 ) {
737 QString pwd = getPassword(); 737 QString pwd = getPassword();
738 preCommand = preCommand.left( fi )+ pwd + preCommand.mid( fi+5 ); 738 preCommand = preCommand.left( fi )+ pwd + preCommand.mid( fi+5 );
739 739
740 } 740 }
741 int maxlen = 30; 741 int maxlen = 30;
742 if ( QApplication::desktop()->width() > 320 ) 742 if ( QApplication::desktop()->width() > 320 )
743 maxlen += 25; 743 maxlen += 25;
744 mParent->topLevelWidget()->setCaption ( i18n( "Copy remote file to local machine..." ) ); 744 mParent->topLevelWidget()->setCaption ( i18n( "Copy remote file to local machine..." ) );
745 int fileSize = 0; 745 int fileSize = 0;
746 int result = system ( preCommand ); 746 int result = system ( preCommand );
747 // 0 : okay 747 // 0 : okay
748 // 256: no such file or dir 748 // 256: no such file or dir
749 // 749 //
750 qDebug("KSM::Sync: Remote copy result(0 = okay): %d ",result ); 750 qDebug("KSM::Sync: Remote copy result(0 = okay): %d ",result );
751 if ( result != 0 ) { 751 if ( result != 0 ) {
752 unsigned int len = maxlen; 752 unsigned int len = maxlen;
753 while ( len < preCommand.length() ) { 753 while ( len < preCommand.length() ) {
754 preCommand.insert( len , "\n" ); 754 preCommand.insert( len , "\n" );
755 len += maxlen +2; 755 len += maxlen +2;
756 } 756 }
757 question = i18n("Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n").arg (preCommand) ; 757 question = i18n("Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n").arg (preCommand) ;
758 QMessageBox::information( mParent, i18n("Sync - ERROR"), 758 QMessageBox::information( mParent, i18n("Sync - ERROR"),
759 question, 759 question,
760 i18n("Okay!")) ; 760 i18n("Okay!")) ;
761 mParent->topLevelWidget()->setCaption ("KDE-Pim"); 761 mParent->topLevelWidget()->setCaption ("KDE-Pim");
762 return; 762 return;
763 } 763 }
764 mParent->topLevelWidget()->setCaption ( i18n( "Copying succeed." ) ); 764 mParent->topLevelWidget()->setCaption ( i18n( "Copying succeed." ) );
765 //qDebug(" file **%s** ",prof->getLocalTempFile().latin1() ); 765 //qDebug(" file **%s** ",prof->getLocalTempFile().latin1() );
766 766
767 if ( syncWithFile( localTempFile, true ) ) { 767 if ( syncWithFile( localTempFile, true ) ) {
768 768
769 if ( mWriteBackFile ) { 769 if ( mWriteBackFile ) {
770 int fi; 770 int fi;
771 if ( (fi = postCommand.find("$PWD$")) > 0 ) { 771 if ( (fi = postCommand.find("$PWD$")) > 0 ) {
772 QString pwd = getPassword(); 772 QString pwd = getPassword();
773 postCommand = postCommand.left( fi )+ pwd + postCommand.mid( fi+5 ); 773 postCommand = postCommand.left( fi )+ pwd + postCommand.mid( fi+5 );
774 774
775 } 775 }
776 mParent->topLevelWidget()->setCaption ( i18n( "Writing back file ..." ) ); 776 mParent->topLevelWidget()->setCaption ( i18n( "Writing back file ..." ) );
777 result = system ( postCommand ); 777 result = system ( postCommand );
778 qDebug("KSM::Sync:Writing back file result: %d ", result); 778 qDebug("KSM::Sync:Writing back file result: %d ", result);
779 if ( result != 0 ) { 779 if ( result != 0 ) {
780 mParent->topLevelWidget()->setCaption ( i18n( "Writing back file result: " )+QString::number( result ) ); 780 mParent->topLevelWidget()->setCaption ( i18n( "Writing back file result: " )+QString::number( result ) );
781 return; 781 return;
782 } else { 782 } else {
783 mParent->topLevelWidget()->setCaption ( i18n( "Syncronization sucessfully completed" ) ); 783 mParent->topLevelWidget()->setCaption ( i18n( "Syncronization sucessfully completed" ) );
784 } 784 }
785 } 785 }
786 } 786 }
787 return; 787 return;
788} 788}
789bool KSyncManager::edit_pisync_options() 789bool KSyncManager::edit_pisync_options()
790{ 790{
791 QDialog dia( mParent, "dia", true ); 791 QDialog dia( mParent, "dia", true );
792 dia.setCaption( i18n("Pi-Sync options for device: " ) +mCurrentSyncDevice ); 792 dia.setCaption( i18n("Pi-Sync options for device: " ) +mCurrentSyncDevice );
793 QVBoxLayout lay ( &dia ); 793 QVBoxLayout lay ( &dia );
794 lay.setSpacing( 5 ); 794 lay.setSpacing( 5 );
795 lay.setMargin( 3 ); 795 lay.setMargin( 3 );
796 QLabel lab1 ( i18n("Password for remote access:"), &dia); 796 QLabel lab1 ( i18n("Password for remote access:"), &dia);
797 lay.addWidget( &lab1 ); 797 lay.addWidget( &lab1 );
798 QLineEdit le1 (&dia ); 798 QLineEdit le1 (&dia );
799 lay.addWidget( &le1 ); 799 lay.addWidget( &le1 );
800 QLabel lab2 ( i18n("Remote IP address:"), &dia); 800 QLabel lab2 ( i18n("Remote IP address:"), &dia);
801 lay.addWidget( &lab2 ); 801 lay.addWidget( &lab2 );
802 QLineEdit le2 (&dia ); 802 QLineEdit le2 (&dia );
803 lay.addWidget( &le2 ); 803 lay.addWidget( &le2 );
804 QLabel lab3 ( i18n("Remote port number:\n(May be: 1 - 65535)"), &dia); 804 QLabel lab3 ( i18n("Remote port number:\n(May be: 1 - 65535)"), &dia);
805 lay.addWidget( &lab3 ); 805 lay.addWidget( &lab3 );
806 QLineEdit le3 (&dia ); 806 QLineEdit le3 (&dia );
807 lay.addWidget( &le3 ); 807 lay.addWidget( &le3 );
808 QPushButton pb ( "OK", &dia); 808 QPushButton pb ( "OK", &dia);
809 lay.addWidget( &pb ); 809 lay.addWidget( &pb );
810 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); 810 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) );
811 le1.setText( mPassWordPiSync ); 811 le1.setText( mPassWordPiSync );
812 le2.setText( mActiveSyncIP ); 812 le2.setText( mActiveSyncIP );
813 le3.setText( mActiveSyncPort ); 813 le3.setText( mActiveSyncPort );
814 if ( dia.exec() ) { 814 if ( dia.exec() ) {
815 mPassWordPiSync = le1.text(); 815 mPassWordPiSync = le1.text();
816 mActiveSyncPort = le3.text(); 816 mActiveSyncPort = le3.text();
817 mActiveSyncIP = le2.text(); 817 mActiveSyncIP = le2.text();
818 return true; 818 return true;
819 } 819 }
820 return false; 820 return false;
821} 821}
822bool KSyncManager::edit_sync_options() 822bool KSyncManager::edit_sync_options()
823{ 823{
824 824
825 QDialog dia( mParent, "dia", true ); 825 QDialog dia( mParent, "dia", true );
826 dia.setCaption( i18n("Device: " ) +mCurrentSyncDevice ); 826 dia.setCaption( i18n("Device: " ) +mCurrentSyncDevice );
827 QButtonGroup gr ( 1, Qt::Horizontal, i18n("Sync preferences"), &dia); 827 QButtonGroup gr ( 1, Qt::Horizontal, i18n("Sync preferences"), &dia);
828 QVBoxLayout lay ( &dia ); 828 QVBoxLayout lay ( &dia );
829 lay.setSpacing( 2 ); 829 lay.setSpacing( 2 );
830 lay.setMargin( 3 ); 830 lay.setMargin( 3 );
831 lay.addWidget(&gr); 831 lay.addWidget(&gr);
832 QRadioButton loc ( i18n("Take local entry on conflict"), &gr ); 832 QRadioButton loc ( i18n("Take local entry on conflict"), &gr );
833 QRadioButton rem ( i18n("Take remote entry on conflict"), &gr ); 833 QRadioButton rem ( i18n("Take remote entry on conflict"), &gr );
834 QRadioButton newest( i18n("Take newest entry on conflict"), &gr ); 834 QRadioButton newest( i18n("Take newest entry on conflict"), &gr );
835 QRadioButton ask( i18n("Ask for every entry on conflict"), &gr ); 835 QRadioButton ask( i18n("Ask for every entry on conflict"), &gr );
836 QRadioButton f_loc( i18n("Force: Take local entry always"), &gr ); 836 QRadioButton f_loc( i18n("Force: Take local entry always"), &gr );
837 QRadioButton f_rem( i18n("Force: Take remote entry always"), &gr ); 837 QRadioButton f_rem( i18n("Force: Take remote entry always"), &gr );
838 //QRadioButton both( i18n("Take both on conflict"), &gr ); 838 //QRadioButton both( i18n("Take both on conflict"), &gr );
839 QPushButton pb ( "OK", &dia); 839 QPushButton pb ( "OK", &dia);
840 lay.addWidget( &pb ); 840 lay.addWidget( &pb );
841 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); 841 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) );
842 switch ( mSyncAlgoPrefs ) { 842 switch ( mSyncAlgoPrefs ) {
843 case 0: 843 case 0:
844 loc.setChecked( true); 844 loc.setChecked( true);
845 break; 845 break;
846 case 1: 846 case 1:
847 rem.setChecked( true ); 847 rem.setChecked( true );
848 break; 848 break;
849 case 2: 849 case 2:
850 newest.setChecked( true); 850 newest.setChecked( true);
851 break; 851 break;
852 case 3: 852 case 3:
853 ask.setChecked( true); 853 ask.setChecked( true);
854 break; 854 break;
855 case 4: 855 case 4:
856 f_loc.setChecked( true); 856 f_loc.setChecked( true);
857 break; 857 break;
858 case 5: 858 case 5:
859 f_rem.setChecked( true); 859 f_rem.setChecked( true);
860 break; 860 break;
861 case 6: 861 case 6:
862 // both.setChecked( true); 862 // both.setChecked( true);
863 break; 863 break;
864 default: 864 default:
865 break; 865 break;
866 } 866 }
867 if ( dia.exec() ) { 867 if ( dia.exec() ) {
868 mSyncAlgoPrefs = rem.isChecked()*1+newest.isChecked()*2+ ask.isChecked()*3+ f_loc.isChecked()*4+ f_rem.isChecked()*5;//+ both.isChecked()*6 ; 868 mSyncAlgoPrefs = rem.isChecked()*1+newest.isChecked()*2+ ask.isChecked()*3+ f_loc.isChecked()*4+ f_rem.isChecked()*5;//+ both.isChecked()*6 ;
869 return true; 869 return true;
870 } 870 }
871 return false; 871 return false;
872} 872}
873 873
874QString KSyncManager::getPassword( ) 874QString KSyncManager::getPassword( )
875{ 875{
876 QString retfile = ""; 876 QString retfile = "";
877 QDialog dia ( mParent, "input-dialog", true ); 877 QDialog dia ( mParent, "input-dialog", true );
878 QLineEdit lab ( &dia ); 878 QLineEdit lab ( &dia );
879 lab.setEchoMode( QLineEdit::Password ); 879 lab.setEchoMode( QLineEdit::Password );
880 QVBoxLayout lay( &dia ); 880 QVBoxLayout lay( &dia );
881 lay.setMargin(7); 881 lay.setMargin(7);
882 lay.setSpacing(7); 882 lay.setSpacing(7);
883 lay.addWidget( &lab); 883 lay.addWidget( &lab);
884 dia.setFixedSize( 230,50 ); 884 dia.setFixedSize( 230,50 );
885 dia.setCaption( i18n("Enter password") ); 885 dia.setCaption( i18n("Enter password") );
886 QPushButton pb ( "OK", &dia); 886 QPushButton pb ( "OK", &dia);
887 lay.addWidget( &pb ); 887 lay.addWidget( &pb );
888 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); 888 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) );
889 dia.show(); 889 dia.show();
890 int res = dia.exec(); 890 int res = dia.exec();
891 if ( res ) 891 if ( res )
892 retfile = lab.text(); 892 retfile = lab.text();
893 dia.hide(); 893 dia.hide();
894 qApp->processEvents(); 894 qApp->processEvents();
895 return retfile; 895 return retfile;
896 896
897} 897}
898 898
899 899
900void KSyncManager::confSync() 900void KSyncManager::confSync()
901{ 901{
902 static KSyncPrefsDialog* sp = 0; 902 static KSyncPrefsDialog* sp = 0;
903 if ( ! sp ) { 903 if ( ! sp ) {
904 sp = new KSyncPrefsDialog( mParent, "syncprefs", true ); 904 sp = new KSyncPrefsDialog( mParent, "syncprefs", true );
905 } 905 }
906 sp->usrReadConfig(); 906 sp->usrReadConfig();
907#ifndef DESKTOP_VERSION 907#ifndef DESKTOP_VERSION
908 sp->showMaximized(); 908 sp->showMaximized();
909#else 909#else
910 sp->show(); 910 sp->show();
911#endif 911#endif
912 sp->exec(); 912 sp->exec();
913 QStringList oldSyncProfileNames = mSyncProfileNames; 913 QStringList oldSyncProfileNames = mSyncProfileNames;
914 mSyncProfileNames = sp->getSyncProfileNames(); 914 mSyncProfileNames = sp->getSyncProfileNames();
915 mLocalMachineName = sp->getLocalMachineName (); 915 mLocalMachineName = sp->getLocalMachineName ();
916 int ii; 916 int ii;
917 for ( ii = 0; ii < oldSyncProfileNames.count(); ++ii ) { 917 for ( ii = 0; ii < oldSyncProfileNames.count(); ++ii ) {
918 if ( ! mSyncProfileNames.contains( oldSyncProfileNames[ii] ) ) 918 if ( ! mSyncProfileNames.contains( oldSyncProfileNames[ii] ) )
919 mImplementation->removeSyncInfo( oldSyncProfileNames[ii] ); 919 mImplementation->removeSyncInfo( oldSyncProfileNames[ii] );
920 } 920 }
921 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); 921 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
922} 922}
923void KSyncManager::syncKDE() 923void KSyncManager::syncKDE()
924{ 924{
925 mSyncWithDesktop = true; 925 mSyncWithDesktop = true;
926 emit save(); 926 emit save();
927 switch(mTargetApp) 927 switch(mTargetApp)
928 { 928 {
929 case (KAPI): 929 case (KAPI):
930 { 930 {
931#ifdef DESKTOP_VERSION 931#ifdef DESKTOP_VERSION
932 QString command = "kdeabdump33"; 932 QString command = "kdeabdump33";
933 QString commandfile = "kdeabdump33"; 933 QString commandfile = "kdeabdump33";
934 QString commandpath = qApp->applicationDirPath () + "/"; 934 QString commandpath = qApp->applicationDirPath () + "/";
935#else 935#else
936 QString command = "kdeabdump33"; 936 QString command = "kdeabdump33";
937 QString commandfile = "kdeabdump33"; 937 QString commandfile = "kdeabdump33";
938 QString commandpath = QDir::homeDirPath ()+"/"; 938 QString commandpath = QDir::homeDirPath ()+"/";
939#endif 939#endif
940 if ( ! QFile::exists ( commandpath+commandfile ) ) 940 if ( ! QFile::exists ( commandpath+commandfile ) )
941 command = commandfile; 941 command = commandfile;
942 else 942 else
943 command = commandpath+commandfile; 943 command = commandpath+commandfile;
944 944
945 QString fileName = QDir::homeDirPath ()+"/.kdeaddressbookdump.vcf"; 945 QString fileName = QDir::homeDirPath ()+"/.kdeaddressbookdump.vcf";
946 int result = system ( command.latin1()); 946 int result = system ( command.latin1());
947 qDebug("AB dump 33 command call result: %d ", result); 947 qDebug("AB dump 33 command call result: %d ", result);
948 if ( result != 0 ) { 948 if ( result != 0 ) {
949 qDebug("Calling AB dump version 33 failed. Trying 34... "); 949 qDebug("Calling AB dump version 33 failed. Trying 34... ");
950 commandfile = "kdeabdump34"; 950 commandfile = "kdeabdump34";
951 if ( ! QFile::exists ( commandpath+commandfile ) ) 951 if ( ! QFile::exists ( commandpath+commandfile ) )
952 command = commandfile; 952 command = commandfile;
953 else 953 else
954 command = commandpath+commandfile; 954 command = commandpath+commandfile;
955 result = system ( command.latin1()); 955 result = system ( command.latin1());
956 qDebug("AB dump 34 command call result: %d ", result); 956 qDebug("AB dump 34 command call result: %d ", result);
957 if ( result != 0 ) { 957 if ( result != 0 ) {
958 KMessageBox::error( 0, i18n("Error accessing KDE addressbook data.\nMake sure the file\n%1kdeabdump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath )); 958 KMessageBox::error( 0, i18n("Error accessing KDE addressbook data.\nMake sure the file\n%1kdeabdump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath ));
959 return; 959 return;
960 } 960 }
961 } 961 }
962 if ( syncWithFile( fileName,true ) ) { 962 if ( syncWithFile( fileName,true ) ) {
963 if ( mWriteBackFile ) { 963 if ( mWriteBackFile ) {
964 command += " --read"; 964 command += " --read";
965 system ( command.latin1()); 965 system ( command.latin1());
966 } 966 }
967 } 967 }
968 968
969 } 969 }
970 break; 970 break;
971 case (KOPI): 971 case (KOPI):
972 { 972 {
973#ifdef DESKTOP_VERSION 973#ifdef DESKTOP_VERSION
974 QString command = "kdecaldump33"; 974 QString command = "kdecaldump33";
975 QString commandfile = "kdecaldump33"; 975 QString commandfile = "kdecaldump33";
976 QString commandpath = qApp->applicationDirPath () + "/"; 976 QString commandpath = qApp->applicationDirPath () + "/";
977#else 977#else
978 QString command = "kdecaldump33"; 978 QString command = "kdecaldump33";
979 QString commandfile = "kdecaldump33"; 979 QString commandfile = "kdecaldump33";
980 QString commandpath = QDir::homeDirPath ()+"/"; 980 QString commandpath = QDir::homeDirPath ()+"/";
981#endif 981#endif
982 if ( ! QFile::exists ( commandpath+commandfile ) ) 982 if ( ! QFile::exists ( commandpath+commandfile ) )
983 command = commandfile; 983 command = commandfile;
984 else 984 else
985 command = commandpath+commandfile; 985 command = commandpath+commandfile;
986 986
987 QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics"; 987 QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics";
988 int result = system ( command.latin1()); 988 int result = system ( command.latin1());
989 qDebug("Cal dump 33 command call result result: %d ", result); 989 qDebug("Cal dump 33 command call result result: %d ", result);
990 if ( result != 0 ) { 990 if ( result != 0 ) {
991 qDebug("Calling CAL dump version 33 failed. Trying 34... "); 991 qDebug("Calling CAL dump version 33 failed. Trying 34... ");
992 commandfile = "kdecaldump34"; 992 commandfile = "kdecaldump34";
993 if ( ! QFile::exists ( commandpath+commandfile ) ) 993 if ( ! QFile::exists ( commandpath+commandfile ) )
994 command = commandfile; 994 command = commandfile;
995 else 995 else
996 command = commandpath+commandfile; 996 command = commandpath+commandfile;
997 result = system ( command.latin1()); 997 result = system ( command.latin1());
998 qDebug("Cal dump 34 command call result result: %d ", result); 998 qDebug("Cal dump 34 command call result result: %d ", result);
999 if ( result != 0 ) { 999 if ( result != 0 ) {
1000 KMessageBox::error( 0, i18n("Error accessing KDE calendar data.\nMake sure the file\n%1kdecaldump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath )); 1000 KMessageBox::error( 0, i18n("Error accessing KDE calendar data.\nMake sure the file\n%1kdecaldump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath ));
1001 return; 1001 return;
1002 } 1002 }
1003 } 1003 }
1004 if ( syncWithFile( fileName,true ) ) { 1004 if ( syncWithFile( fileName,true ) ) {
1005 if ( mWriteBackFile ) { 1005 if ( mWriteBackFile ) {
1006 command += " --read"; 1006 command += " --read";
1007 system ( command.latin1()); 1007 system ( command.latin1());
1008 } 1008 }
1009 } 1009 }
1010 1010
1011 } 1011 }
1012 break; 1012 break;
1013 case (PWMPI): 1013 case (PWMPI):
1014 1014
1015 break; 1015 break;
1016 default: 1016 default:
1017 qDebug("KSM::slotSyncMenu: invalid apptype selected"); 1017 qDebug("KSM::slotSyncMenu: invalid apptype selected");
1018 break; 1018 break;
1019 1019
1020 } 1020 }
1021} 1021}
1022 1022
1023void KSyncManager::syncSharp() 1023void KSyncManager::syncSharp()
1024{ 1024{
1025 1025
1026 if ( ! syncExternalApplication("sharp") ) 1026 if ( ! syncExternalApplication("sharp") )
1027 qDebug("KSM::ERROR sync sharp "); 1027 qDebug("KSM::ERROR sync sharp ");
1028} 1028}
1029 1029
1030bool KSyncManager::syncExternalApplication(QString resource) 1030bool KSyncManager::syncExternalApplication(QString resource)
1031{ 1031{
1032 1032
1033 emit save(); 1033 emit save();
1034 1034
1035 if ( mAskForPreferences ) 1035 if ( mAskForPreferences )
1036 if ( !edit_sync_options()) { 1036 if ( !edit_sync_options()) {
1037 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); 1037 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") );
1038 return false; 1038 return false;
1039 } 1039 }
1040 1040
1041 qDebug("KSM::Sync extern %s", resource.latin1()); 1041 qDebug("KSM::Sync extern %s", resource.latin1());
1042 1042
1043 bool syncOK = mImplementation->syncExternal(this, resource); 1043 bool syncOK = mImplementation->syncExternal(this, resource);
1044 1044
1045 return syncOK; 1045 return syncOK;
1046 1046
1047} 1047}
1048 1048
1049void KSyncManager::syncPhone() 1049void KSyncManager::syncPhone()
1050{ 1050{
1051 1051
1052 syncExternalApplication("phone"); 1052 syncExternalApplication("phone");
1053 1053
1054} 1054}
1055 1055
1056void KSyncManager::showProgressBar(int percentage, QString caption, int total) 1056void KSyncManager::showProgressBar(int percentage, QString caption, int total)
1057{ 1057{
1058 if (!bar->isVisible()) 1058 if (!bar->isVisible())
1059 { 1059 {
1060 int w = 300; 1060 int w = 300;
1061 if ( QApplication::desktop()->width() < 320 ) 1061 if ( QApplication::desktop()->width() < 320 )
1062 w = 220; 1062 w = 220;
1063 int h = bar->sizeHint().height() ; 1063 int h = bar->sizeHint().height() ;
1064 int dw = QApplication::desktop()->width(); 1064 int dw = QApplication::desktop()->width();
1065 int dh = QApplication::desktop()->height(); 1065 int dh = QApplication::desktop()->height();
1066 bar->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 1066 bar->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
1067 bar->setCaption (caption); 1067 bar->setCaption (caption);
1068 bar->setTotalSteps ( total ) ; 1068 bar->setTotalSteps ( total ) ;
1069 bar->show(); 1069 bar->show();
1070 } 1070 }
1071 bar->raise(); 1071 bar->raise();
1072 bar->setProgress( percentage ); 1072 bar->setProgress( percentage );
1073 qApp->processEvents(); 1073 qApp->processEvents();
1074} 1074}
1075 1075
1076void KSyncManager::hideProgressBar() 1076void KSyncManager::hideProgressBar()
1077{ 1077{
1078 bar->hide(); 1078 bar->hide();
1079 qApp->processEvents(); 1079 qApp->processEvents();
1080} 1080}
1081 1081
1082bool KSyncManager::isProgressBarCanceled() 1082bool KSyncManager::isProgressBarCanceled()
1083{ 1083{
1084 return !bar->isVisible(); 1084 return !bar->isVisible();
1085} 1085}
1086 1086
1087QString KSyncManager::syncFileName() 1087QString KSyncManager::syncFileName()
1088{ 1088{
1089 1089
1090 QString fn = "tempfile"; 1090 QString fn = "tempfile";
1091 switch(mTargetApp) 1091 switch(mTargetApp)
1092 { 1092 {
1093 case (KAPI): 1093 case (KAPI):
1094 fn = "tempsyncab.vcf"; 1094 fn = "tempsyncab.vcf";
1095 break; 1095 break;
1096 case (KOPI): 1096 case (KOPI):
1097 fn = "tempsynccal.ics"; 1097 fn = "tempsynccal.ics";
1098 break; 1098 break;
1099 case (PWMPI): 1099 case (PWMPI):
1100 fn = "tempsyncpw.pwm"; 1100 fn = "tempsyncpw.pwm";
1101 break; 1101 break;
1102 default: 1102 default:
1103 break; 1103 break;
1104 } 1104 }
1105#ifdef _WIN32_ 1105#ifdef DESKTOP_VERSION
1106 return locateLocal( "tmp", fn ); 1106 return locateLocal( "tmp", fn );
1107#else 1107#else
1108 return (QString( "/tmp/" )+ fn ); 1108 return (QString( "/tmp/" )+ fn );
1109#endif 1109#endif
1110} 1110}
1111 1111
1112void KSyncManager::syncPi() 1112void KSyncManager::syncPi()
1113{ 1113{
1114 mIsKapiFile = true; 1114 mIsKapiFile = true;
1115 mPisyncFinished = false; 1115 mPisyncFinished = false;
1116 qApp->processEvents(); 1116 qApp->processEvents();
1117 if ( mAskForPreferences ) 1117 if ( mAskForPreferences )
1118 if ( !edit_pisync_options()) { 1118 if ( !edit_pisync_options()) {
1119 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); 1119 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") );
1120 mPisyncFinished = true; 1120 mPisyncFinished = true;
1121 return; 1121 return;
1122 } 1122 }
1123 bool ok; 1123 bool ok;
1124 Q_UINT16 port = mActiveSyncPort.toUInt(&ok); 1124 Q_UINT16 port = mActiveSyncPort.toUInt(&ok);
1125 if ( ! ok ) { 1125 if ( ! ok ) {
1126 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); 1126 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") );
1127 mPisyncFinished = true; 1127 mPisyncFinished = true;
1128 return; 1128 return;
1129 } 1129 }
1130 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1130 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1131 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1131 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1132 commandSocket->readFile( syncFileName() ); 1132 commandSocket->readFile( syncFileName() );
1133} 1133}
1134 1134
1135void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) 1135void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1136{ 1136{
1137 //enum { success, errorW, errorR, quiet }; 1137 //enum { success, errorW, errorR, quiet };
1138 1138
1139 1139
1140 1140
1141 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW || 1141 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW ||
1142 state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) { 1142 state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) {
1143 if ( state == KCommandSocket::errorPW ) 1143 if ( state == KCommandSocket::errorPW )
1144 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") ); 1144 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") );
1145 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) 1145 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO )
1146 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); 1146 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
1147 else if ( state == KCommandSocket::errorCA ) 1147 else if ( state == KCommandSocket::errorCA )
1148 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") ); 1148 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") );
1149 else if ( state == KCommandSocket::errorFI ) 1149 else if ( state == KCommandSocket::errorFI )
1150 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") ); 1150 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") );
1151 else if ( state == KCommandSocket::errorED ) 1151 else if ( state == KCommandSocket::errorED )
1152 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") ); 1152 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") );
1153 else if ( state == KCommandSocket::errorUN ) 1153 else if ( state == KCommandSocket::errorUN )
1154 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") ); 1154 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") );
1155 delete s; 1155 delete s;
1156 if ( state == KCommandSocket::errorR ) { 1156 if ( state == KCommandSocket::errorR ) {
1157 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget()); 1157 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget());
1158 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1158 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1159 commandSocket->sendStop(); 1159 commandSocket->sendStop();
1160 } 1160 }
1161 mPisyncFinished = true; 1161 mPisyncFinished = true;
1162 return; 1162 return;
1163 1163
1164 } else if ( state == KCommandSocket::errorW ) { 1164 } else if ( state == KCommandSocket::errorW ) {
1165 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") ); 1165 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") );
1166 mPisyncFinished = true; 1166 mPisyncFinished = true;
1167 1167
1168 } else if ( state == KCommandSocket::successR ) { 1168 } else if ( state == KCommandSocket::successR ) {
1169 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); 1169 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
1170 1170
1171 } else if ( state == KCommandSocket::successW ) { 1171 } else if ( state == KCommandSocket::successW ) {
1172 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") ); 1172 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") );
1173 mPisyncFinished = true; 1173 mPisyncFinished = true;
1174 } else if ( state == KCommandSocket::quiet ){ 1174 } else if ( state == KCommandSocket::quiet ){
1175 qDebug("KSS: quiet "); 1175 qDebug("KSS: quiet ");
1176 mPisyncFinished = true; 1176 mPisyncFinished = true;
1177 } else { 1177 } else {
1178 qDebug("KSS: Error: unknown state: %d ", state); 1178 qDebug("KSS: Error: unknown state: %d ", state);
1179 mPisyncFinished = true; 1179 mPisyncFinished = true;
1180 } 1180 }
1181 1181
1182 delete s; 1182 delete s;
1183} 1183}
1184 1184
1185void KSyncManager::readFileFromSocket() 1185void KSyncManager::readFileFromSocket()
1186{ 1186{
1187 QString fileName = syncFileName(); 1187 QString fileName = syncFileName();
1188 bool syncOK = true; 1188 bool syncOK = true;
1189 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 1189 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
1190 if ( ! syncWithFile( fileName , true ) ) { 1190 if ( ! syncWithFile( fileName , true ) ) {
1191 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 1191 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
1192 syncOK = false; 1192 syncOK = false;
1193 } 1193 }
1194 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget() ); 1194 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget() );
1195 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1195 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1196 if ( mWriteBackFile && syncOK ) { 1196 if ( mWriteBackFile && syncOK ) {
1197 mParent->topLevelWidget()->setCaption( i18n("Sending back file ...") ); 1197 mParent->topLevelWidget()->setCaption( i18n("Sending back file ...") );
1198 commandSocket->writeFile( fileName ); 1198 commandSocket->writeFile( fileName );
1199 } 1199 }
1200 else { 1200 else {
1201 commandSocket->sendStop(); 1201 commandSocket->sendStop();
1202 if ( syncOK ) 1202 if ( syncOK )
1203 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 1203 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
1204 mPisyncFinished = true; 1204 mPisyncFinished = true;
1205 } 1205 }
1206} 1206}
1207 1207
1208KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ) 1208KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name )
1209{ 1209{
1210 mPassWord = pw; 1210 mPassWord = pw;
1211 mSocket = 0; 1211 mSocket = 0;
1212 mSyncActionDialog = 0; 1212 mSyncActionDialog = 0;
1213 blockRC = false; 1213 blockRC = false;
1214 mErrorMessage = 0; 1214 mErrorMessage = 0;
1215} 1215}
1216 1216
1217void KServerSocket::newConnection ( int socket ) 1217void KServerSocket::newConnection ( int socket )
1218{ 1218{
1219 // qDebug("KServerSocket:New connection %d ", socket); 1219 // qDebug("KServerSocket:New connection %d ", socket);
1220 if ( mSocket ) { 1220 if ( mSocket ) {
1221 qDebug("KSS::newConnection Socket deleted! "); 1221 qDebug("KSS::newConnection Socket deleted! ");
1222 delete mSocket; 1222 delete mSocket;
1223 mSocket = 0; 1223 mSocket = 0;
1224 } 1224 }
1225 mSocket = new QSocket( this ); 1225 mSocket = new QSocket( this );
1226 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); 1226 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
1227 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); 1227 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
1228 mSocket->setSocket( socket ); 1228 mSocket->setSocket( socket );
1229} 1229}
1230 1230
1231void KServerSocket::discardClient() 1231void KServerSocket::discardClient()
1232{ 1232{
1233 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1233 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1234} 1234}
1235void KServerSocket::deleteSocket() 1235void KServerSocket::deleteSocket()
1236{ 1236{
1237 qDebug("KSS::deleteSocket"); 1237 qDebug("KSS::deleteSocket");
1238 if ( mSocket ) { 1238 if ( mSocket ) {
1239 delete mSocket; 1239 delete mSocket;
1240 mSocket = 0; 1240 mSocket = 0;
1241 } 1241 }
1242 if ( mErrorMessage ) 1242 if ( mErrorMessage )
1243 QTimer::singleShot( 10, this , SLOT ( displayErrorMessage())); 1243 QTimer::singleShot( 10, this , SLOT ( displayErrorMessage()));
1244} 1244}
1245void KServerSocket::readClient() 1245void KServerSocket::readClient()
1246{ 1246{
1247 if ( blockRC ) 1247 if ( blockRC )
1248 return; 1248 return;
1249 if ( mSocket == 0 ) { 1249 if ( mSocket == 0 ) {
1250 qDebug("ERROR::KSS::readClient(): mSocket == 0 "); 1250 qDebug("ERROR::KSS::readClient(): mSocket == 0 ");
1251 return; 1251 return;
1252 } 1252 }
1253 if ( mErrorMessage ) { 1253 if ( mErrorMessage ) {
1254 mErrorMessage = 999; 1254 mErrorMessage = 999;
1255 error_connect("ERROR_ED\r\n\r\n"); 1255 error_connect("ERROR_ED\r\n\r\n");
1256 return; 1256 return;
1257 } 1257 }
1258 mErrorMessage = 0; 1258 mErrorMessage = 0;
1259 //qDebug("KServerSocket::readClient()"); 1259 //qDebug("KServerSocket::readClient()");
1260 if ( mSocket->canReadLine() ) { 1260 if ( mSocket->canReadLine() ) {
1261 QString line = mSocket->readLine(); 1261 QString line = mSocket->readLine();
1262 //qDebug("KServerSocket readline: %s ", line.latin1()); 1262 //qDebug("KServerSocket readline: %s ", line.latin1());
1263 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line ); 1263 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
1264 if ( tokens[0] == "GET" ) { 1264 if ( tokens[0] == "GET" ) {
1265 if ( tokens[1] == mPassWord ) { 1265 if ( tokens[1] == mPassWord ) {
1266 //emit sendFile( mSocket ); 1266 //emit sendFile( mSocket );
1267 bool ok = false; 1267 bool ok = false;
1268 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok); 1268 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok);
1269 if ( ok ) { 1269 if ( ok ) {
1270 KSyncManager::mRequestedSyncEvent = dt; 1270 KSyncManager::mRequestedSyncEvent = dt;
1271 } 1271 }
1272 else 1272 else
1273 KSyncManager::mRequestedSyncEvent = QDateTime(); 1273 KSyncManager::mRequestedSyncEvent = QDateTime();
1274 send_file(); 1274 send_file();
1275 } 1275 }
1276 else { 1276 else {
1277 mErrorMessage = 1; 1277 mErrorMessage = 1;
1278 error_connect("ERROR_PW\r\n\r\n"); 1278 error_connect("ERROR_PW\r\n\r\n");
1279 } 1279 }
1280 } 1280 }
1281 if ( tokens[0] == "PUT" ) { 1281 if ( tokens[0] == "PUT" ) {
1282 if ( tokens[1] == mPassWord ) { 1282 if ( tokens[1] == mPassWord ) {
1283 //emit getFile( mSocket ); 1283 //emit getFile( mSocket );
1284 blockRC = true; 1284 blockRC = true;
1285 get_file(); 1285 get_file();
1286 } 1286 }
1287 else { 1287 else {
1288 mErrorMessage = 2; 1288 mErrorMessage = 2;
1289 error_connect("ERROR_PW\r\n\r\n"); 1289 error_connect("ERROR_PW\r\n\r\n");
1290 end_connect(); 1290 end_connect();
1291 } 1291 }
1292 } 1292 }
1293 if ( tokens[0] == "STOP" ) { 1293 if ( tokens[0] == "STOP" ) {
1294 //emit endConnect(); 1294 //emit endConnect();
1295 end_connect(); 1295 end_connect();
1296 } 1296 }
1297 } 1297 }
1298} 1298}
1299void KServerSocket::displayErrorMessage() 1299void KServerSocket::displayErrorMessage()
1300{ 1300{
1301 if ( mErrorMessage == 1 ) { 1301 if ( mErrorMessage == 1 ) {
1302 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"), i18n("Pi-Sync Error")); 1302 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"), i18n("Pi-Sync Error"));
1303 mErrorMessage = 0; 1303 mErrorMessage = 0;
1304 } 1304 }
1305 else if ( mErrorMessage == 2 ) { 1305 else if ( mErrorMessage == 2 ) {
1306 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"), i18n("Pi-Sync Error")); 1306 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"), i18n("Pi-Sync Error"));
1307 mErrorMessage = 0; 1307 mErrorMessage = 0;
1308 } 1308 }
1309} 1309}
1310void KServerSocket::error_connect( QString errmess ) 1310void KServerSocket::error_connect( QString errmess )
1311{ 1311{
1312 QTextStream os( mSocket ); 1312 QTextStream os( mSocket );
1313 os.setEncoding( QTextStream::Latin1 ); 1313 os.setEncoding( QTextStream::Latin1 );
1314 os << errmess ; 1314 os << errmess ;
1315 mSocket->close(); 1315 mSocket->close();
1316 if ( mSocket->state() == QSocket::Idle ) { 1316 if ( mSocket->state() == QSocket::Idle ) {
1317 QTimer::singleShot( 0, this , SLOT ( discardClient())); 1317 QTimer::singleShot( 0, this , SLOT ( discardClient()));
1318 } 1318 }
1319} 1319}
1320void KServerSocket::end_connect() 1320void KServerSocket::end_connect()
1321{ 1321{
1322 delete mSyncActionDialog; 1322 delete mSyncActionDialog;
1323 mSyncActionDialog = 0; 1323 mSyncActionDialog = 0;
1324} 1324}
1325void KServerSocket::send_file() 1325void KServerSocket::send_file()
1326{ 1326{
1327 //qDebug("MainWindow::sendFile(QSocket* s) "); 1327 //qDebug("MainWindow::sendFile(QSocket* s) ");
1328 if ( mSyncActionDialog ) 1328 if ( mSyncActionDialog )
1329 delete mSyncActionDialog; 1329 delete mSyncActionDialog;
1330 mSyncActionDialog = new QDialog ( 0, "input-dialog", true ); 1330 mSyncActionDialog = new QDialog ( 0, "input-dialog", true );
1331 mSyncActionDialog->setCaption(i18n("Received sync request")); 1331 mSyncActionDialog->setCaption(i18n("Received sync request"));
1332 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog ); 1332 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog );
1333 label->setAlignment ( Qt::AlignHCenter ); 1333 label->setAlignment ( Qt::AlignHCenter );
1334 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); 1334 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog );
1335 lay->addWidget( label); 1335 lay->addWidget( label);
1336 lay->setMargin(7); 1336 lay->setMargin(7);
1337 lay->setSpacing(7); 1337 lay->setSpacing(7);
1338 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 1338 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
1339 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent ); 1339 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent );
1340 //secs = 333; 1340 //secs = 333;
1341 if ( secs < 0 ) 1341 if ( secs < 0 )
1342 secs = secs * (-1); 1342 secs = secs * (-1);
1343 if ( secs > 30 ) 1343 if ( secs > 30 )
1344 //if ( true ) 1344 //if ( true )
1345 { 1345 {
1346 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs ); 1346 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs );
1347 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1347 QLabel* label = new QLabel( warning, mSyncActionDialog );
1348 label->setAlignment ( Qt::AlignHCenter ); 1348 label->setAlignment ( Qt::AlignHCenter );
1349 lay->addWidget( label); 1349 lay->addWidget( label);
1350 if ( secs > 180 ) 1350 if ( secs > 180 )
1351 { 1351 {
1352 if ( secs > 300 ) { 1352 if ( secs > 300 ) {
1353 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(0, i18n("The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!"), i18n("High clock skew!"),i18n("Synchronize!"))) { 1353 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(0, i18n("The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!"), i18n("High clock skew!"),i18n("Synchronize!"))) {
1354 qDebug("KSS::Sync cancelled ,cs"); 1354 qDebug("KSS::Sync cancelled ,cs");
1355 mErrorMessage = 0; 1355 mErrorMessage = 0;
1356 end_connect(); 1356 end_connect();
1357 error_connect("ERROR_CA\r\n\r\n"); 1357 error_connect("ERROR_CA\r\n\r\n");
1358 return ; 1358 return ;
1359 } 1359 }
1360 } 1360 }
1361 QFont f = label->font(); 1361 QFont f = label->font();
1362 f.setPointSize ( f.pointSize() *2 ); 1362 f.setPointSize ( f.pointSize() *2 );
1363 f. setBold (true ); 1363 f. setBold (true );
1364 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1364 QLabel* label = new QLabel( warning, mSyncActionDialog );
1365 label->setFont( f ); 1365 label->setFont( f );
1366 warning = i18n("ADJUST\nYOUR\nCLOCKS!"); 1366 warning = i18n("ADJUST\nYOUR\nCLOCKS!");
1367 label->setText( warning ); 1367 label->setText( warning );
1368 label->setAlignment ( Qt::AlignHCenter ); 1368 label->setAlignment ( Qt::AlignHCenter );
1369 lay->addWidget( label); 1369 lay->addWidget( label);
1370 mSyncActionDialog->setFixedSize( 230, 300); 1370 mSyncActionDialog->setFixedSize( 230, 300);
1371 } else { 1371 } else {
1372 mSyncActionDialog->setFixedSize( 230, 200); 1372 mSyncActionDialog->setFixedSize( 230, 200);
1373 } 1373 }
1374 } else { 1374 } else {
1375 mSyncActionDialog->setFixedSize( 230, 120); 1375 mSyncActionDialog->setFixedSize( 230, 120);
1376 } 1376 }
1377 } else 1377 } else
1378 mSyncActionDialog->setFixedSize( 230, 120); 1378 mSyncActionDialog->setFixedSize( 230, 120);
1379 mSyncActionDialog->show(); 1379 mSyncActionDialog->show();
1380 mSyncActionDialog->raise(); 1380 mSyncActionDialog->raise();
1381 emit request_file(); 1381 emit request_file();
1382 qApp->processEvents(); 1382 qApp->processEvents();
1383 QString fileName = mFileName; 1383 QString fileName = mFileName;
1384 QFile file( fileName ); 1384 QFile file( fileName );
1385 if (!file.open( IO_ReadOnly ) ) { 1385 if (!file.open( IO_ReadOnly ) ) {
1386 mErrorMessage = 0; 1386 mErrorMessage = 0;
1387 end_connect(); 1387 end_connect();
1388 error_connect("ERROR_FI\r\n\r\n"); 1388 error_connect("ERROR_FI\r\n\r\n");
1389 return ; 1389 return ;
1390 } 1390 }
1391 mSyncActionDialog->setCaption( i18n("Sending file...") ); 1391 mSyncActionDialog->setCaption( i18n("Sending file...") );
1392 QTextStream ts( &file ); 1392 QTextStream ts( &file );
1393 ts.setEncoding( QTextStream::Latin1 ); 1393 ts.setEncoding( QTextStream::Latin1 );
1394 1394
1395 QTextStream os( mSocket ); 1395 QTextStream os( mSocket );
1396 os.setEncoding( QTextStream::Latin1 ); 1396 os.setEncoding( QTextStream::Latin1 );
1397 while ( ! ts.atEnd() ) { 1397 while ( ! ts.atEnd() ) {
1398 os << ts.readLine() << "\r\n"; 1398 os << ts.readLine() << "\r\n";
1399 } 1399 }
1400 os << "\r\n"; 1400 os << "\r\n";
1401 //os << ts.read(); 1401 //os << ts.read();
1402 file.close(); 1402 file.close();
1403 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") ); 1403 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") );
1404 mSocket->close(); 1404 mSocket->close();
1405 if ( mSocket->state() == QSocket::Idle ) 1405 if ( mSocket->state() == QSocket::Idle )
1406 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1406 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1407} 1407}
1408void KServerSocket::get_file() 1408void KServerSocket::get_file()
1409{ 1409{
1410 mSyncActionDialog->setCaption( i18n("Receiving synced file...") ); 1410 mSyncActionDialog->setCaption( i18n("Receiving synced file...") );
1411 1411
1412 piTime.start(); 1412 piTime.start();
1413 piFileString = ""; 1413 piFileString = "";
1414 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) )); 1414 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) ));
1415} 1415}
1416 1416
1417 1417
1418void KServerSocket::readBackFileFromSocket() 1418void KServerSocket::readBackFileFromSocket()
1419{ 1419{
1420 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ()); 1420 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ());
1421 while ( mSocket->canReadLine () ) { 1421 while ( mSocket->canReadLine () ) {
1422 piTime.restart(); 1422 piTime.restart();
1423 QString line = mSocket->readLine (); 1423 QString line = mSocket->readLine ();
1424 piFileString += line; 1424 piFileString += line;
1425 //qDebug("readline: %s ", line.latin1()); 1425 //qDebug("readline: %s ", line.latin1());
1426 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) ); 1426 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) );
1427 1427
1428 } 1428 }
1429 if ( piTime.elapsed () < 3000 ) { 1429 if ( piTime.elapsed () < 3000 ) {
1430 // wait for more 1430 // wait for more
1431 //qDebug("waitformore "); 1431 //qDebug("waitformore ");
1432 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) )); 1432 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) ));
1433 return; 1433 return;
1434 } 1434 }
1435 QString fileName = mFileName; 1435 QString fileName = mFileName;
1436 QFile file ( fileName ); 1436 QFile file ( fileName );
1437 if (!file.open( IO_WriteOnly ) ) { 1437 if (!file.open( IO_WriteOnly ) ) {
1438 delete mSyncActionDialog; 1438 delete mSyncActionDialog;
1439 mSyncActionDialog = 0; 1439 mSyncActionDialog = 0;
1440 qDebug("KSS:Error open read back file "); 1440 qDebug("KSS:Error open read back file ");
1441 piFileString = ""; 1441 piFileString = "";
1442 emit file_received( false ); 1442 emit file_received( false );
1443 blockRC = false; 1443 blockRC = false;
1444 return ; 1444 return ;
1445 1445
1446 } 1446 }
1447 1447
1448 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1448 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1449 QTextStream ts ( &file ); 1449 QTextStream ts ( &file );
1450 ts.setEncoding( QTextStream::Latin1 ); 1450 ts.setEncoding( QTextStream::Latin1 );
1451 mSyncActionDialog->setCaption( i18n("Writing file to disk...") ); 1451 mSyncActionDialog->setCaption( i18n("Writing file to disk...") );
1452 ts << piFileString; 1452 ts << piFileString;
1453 mSocket->close(); 1453 mSocket->close();
1454 if ( mSocket->state() == QSocket::Idle ) 1454 if ( mSocket->state() == QSocket::Idle )
1455 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1455 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1456 file.close(); 1456 file.close();
1457 piFileString = ""; 1457 piFileString = "";
1458 emit file_received( true ); 1458 emit file_received( true );
1459 delete mSyncActionDialog; 1459 delete mSyncActionDialog;
1460 mSyncActionDialog = 0; 1460 mSyncActionDialog = 0;
1461 blockRC = false; 1461 blockRC = false;
1462 1462
1463} 1463}
1464 1464
1465KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, QWidget * cap, const char * name ): QObject( parent, name ) 1465KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, QWidget * cap, const char * name ): QObject( parent, name )
1466{ 1466{
1467 mPassWord = password; 1467 mPassWord = password;
1468 mSocket = 0; 1468 mSocket = 0;
1469 mFirst = false; 1469 mFirst = false;
1470 mFirstLine = true; 1470 mFirstLine = true;
1471 mPort = port; 1471 mPort = port;
1472 mHost = host; 1472 mHost = host;
1473 tlw = cap; 1473 tlw = cap;
1474 mRetVal = quiet; 1474 mRetVal = quiet;
1475 mTimerSocket = new QTimer ( this ); 1475 mTimerSocket = new QTimer ( this );
1476 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( updateConnectDialog() ) ); 1476 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( updateConnectDialog() ) );
1477 mConnectProgress.setCaption( i18n("Pi-Sync") ); 1477 mConnectProgress.setCaption( i18n("Pi-Sync") );
1478 connect( &mConnectProgress, SIGNAL ( cancelled () ), this, SLOT ( deleteSocket() ) ); 1478 connect( &mConnectProgress, SIGNAL ( cancelled () ), this, SLOT ( deleteSocket() ) );
1479 mConnectCount = -1; 1479 mConnectCount = -1;
1480} 1480}
1481void KCommandSocket::sendFileRequest() 1481void KCommandSocket::sendFileRequest()
1482{ 1482{
1483 if ( tlw ) 1483 if ( tlw )
1484 tlw->setCaption( i18n("Connected! Sending request for remote file ...") ); 1484 tlw->setCaption( i18n("Connected! Sending request for remote file ...") );
1485 mConnectProgress.hide(); 1485 mConnectProgress.hide();
1486 mConnectCount = 300;mConnectMax = 300; 1486 mConnectCount = 300;mConnectMax = 300;
1487 mConnectProgress.setCaption( i18n("Pi-Sync: Connected!") ); 1487 mConnectProgress.setCaption( i18n("Pi-Sync: Connected!") );
1488 mTimerSocket->start( 100, true ); 1488 mTimerSocket->start( 100, true );
1489 QTextStream os( mSocket ); 1489 QTextStream os( mSocket );