summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/externalapphandler.cpp41
1 files changed, 30 insertions, 11 deletions
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp
index edefda4..59be506 100644
--- a/libkdepim/externalapphandler.cpp
+++ b/libkdepim/externalapphandler.cpp
@@ -689,172 +689,191 @@ bool ExternalAppHandler::mailToMultipleContacts( const QString& emails, const QS
689 689
690 //first check if one of the mailers need the emails right in the message. 690 //first check if one of the mailers need the emails right in the message.
691 message2 = translateMessage(message2, emails, urls); 691 message2 = translateMessage(message2, emails, urls);
692 692
693 693
694#ifdef DEBUG_EXT_APP_HANDLER 694#ifdef DEBUG_EXT_APP_HANDLER
695 qDebug("4Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1()); 695 qDebug("4Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1());
696 qDebug("passing emailadresses(%s), attachmenturls(%s) as parameters in the form %s to QCopEnvelope", emails.latin1() , urls.latin1(), parameters2.latin1()); 696 qDebug("passing emailadresses(%s), attachmenturls(%s) as parameters in the form %s to QCopEnvelope", emails.latin1() , urls.latin1(), parameters2.latin1());
697#endif 697#endif
698 698
699 699
700 QCopEnvelope e(channel.latin1(), message2.latin1()); 700 QCopEnvelope e(channel.latin1(), message2.latin1());
701 //US we need no names in the To field. The emailadresses are enough 701 //US we need no names in the To field. The emailadresses are enough
702 702
703 passParameters(&e, parameters2, emails, urls); 703 passParameters(&e, parameters2, emails, urls);
704 704
705 705
706 706
707#else 707#else
708 //qDebug("mtmc %s %s ", emails.latin1(), urls.latin1()); 708 //qDebug("mtmc %s %s ", emails.latin1(), urls.latin1());
709 709
710 QString channel; 710 QString channel;
711 QString message2; 711 QString message2;
712 QString parameters2; 712 QString parameters2;
713 QString message; 713 QString message;
714 QString parameters; 714 QString parameters;
715 715
716 716
717 int client = KPimGlobalPrefs::instance()->mEmailClient; 717 int client = KPimGlobalPrefs::instance()->mEmailClient;
718 if (client == KPimGlobalPrefs::OTHER_EMC) 718 if (client == KPimGlobalPrefs::OTHER_EMC)
719 { 719 {
720 channel = KPimGlobalPrefs::instance()->mEmailOtherChannel; 720 channel = KPimGlobalPrefs::instance()->mEmailOtherChannel;
721 message2 = KPimGlobalPrefs::instance()->mEmailOtherMessage; 721 message = KPimGlobalPrefs::instance()->mEmailOtherMessage;
722 parameters2 = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters; 722 message2 = KPimGlobalPrefs::instance()->mEmailOtherMessage2;
723 parameters = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters;
724 parameters2 = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters2;
723 } 725 }
724 else 726 else
725 { 727 {
726 DefaultAppItem* dai = getDefaultItem(EMAIL, client); 728 DefaultAppItem* dai = getDefaultItem(EMAIL, client);
727 if (!dai) 729 if (!dai)
728 { 730 {
729 qDebug("could not find configured email application."); 731 qDebug("could not find configured email application.");
730 return false; 732 return false;
731 } 733 }
732 channel = dai->_channel; 734 channel = dai->_channel;
733 message2 = dai->_message2; 735 message2 = dai->_message2;
734 parameters2 = dai->_parameters2; 736 parameters2 = dai->_parameters2;
735 message = dai->_message; 737 message = dai->_message;
736 parameters = dai->_parameters; 738 parameters = dai->_parameters;
737 } 739 }
738 740
739 //first check if one of the mailers need the emails right in the message. 741 //first check if one of the mailers need the emails right in the message.
740 message2 = translateMessage(message2, emails, urls); 742 message2 = translateMessage(message2, emails, urls);
741#ifdef DEBUG_EXT_APP_HANDLER 743#ifdef DEBUG_EXT_APP_HANDLER
742 qDebug("4Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1()); 744 qDebug("4Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1());
743 qDebug("passing emailadresses(%s), attachmenturls(%s) as parameters in the form %s to QCopEnvelope", emails.latin1() , urls.latin1(), parameters2.latin1()); 745 qDebug("passing emailadresses(%s), attachmenturls(%s) as parameters in the form %s to QCopEnvelope", emails.latin1() , urls.latin1(), parameters2.latin1());
744#endif 746#endif
745 qDebug("%s --- %s %s --- %s %s", channel.latin1(), message.latin1(),message2.latin1(), parameters.latin1(), parameters2.latin1() ); 747 qDebug("%s --- %s %s --- %s %s", channel.latin1(), message.latin1(),message2.latin1(), parameters.latin1(), parameters2.latin1() );
746 //KMessageBox::sorry( 0, message2 ); 748 //KMessageBox::sorry( 0, message2 );
747 QProcess * proc = new QProcess( this ); 749 QProcess * proc = new QProcess( this );
748 QStringList list = QStringList::split( " ", message );
749 int i = 0; 750 int i = 0;
750 proc->addArgument( channel ); 751 proc->addArgument( channel );
751 while ( i < list.count ( ) ) { 752
752 //qDebug("add%sdd ",list[i].stripWhiteSpace().latin1() ); 753 if ( message.find (" " ) > 0 ) {
753 proc->addArgument( list[i].stripWhiteSpace() ); 754 QStringList list = QStringList::split( " ", message );
755 int i = 0;
756 while ( i < list.count ( ) ) {
757 //qDebug("add%sdd ",list[i].latin1() );
758 proc->addArgument( list[i] );
759 //KMessageBox::sorry( 0,list[i]);
754 ++i; 760 ++i;
761 }
762 } else {
763 proc->addArgument(message );
764 //KMessageBox::sorry( 0, message );
765
755 } 766 }
767
756 parameters2 = translateMessage(parameters2, urls, "" ); 768 parameters2 = translateMessage(parameters2, urls, "" );
757 QString arg = "to='%1'"; 769 QString arg = "to='%1'";
758 arg = arg.arg( emails ) + ","+parameters2;; 770 arg = arg.arg( emails ) + ","+parameters2;;
759 771
772 //KMessageBox::sorry( 0,arg );
760 //qDebug("2add%sdd ",arg.latin1() ); 773 //qDebug("2add%sdd ",arg.latin1() );
761 proc->addArgument( arg); 774 proc->addArgument( arg);
762 proc->launch(""); 775 proc->launch("");
763#endif 776#endif
764 777
765 return true; 778 return true;
766} 779}
767 780
768/************************************************************************** 781/**************************************************************************
769 * 782 *
770 **************************************************************************/ 783 **************************************************************************/
771 784
772 785
773//calls the emailapplication and creates a mail with parameter emails as recipients 786//calls the emailapplication and creates a mail with parameter emails as recipients
774bool ExternalAppHandler::mailToOneContact( const QString& name, const QString& emailadress ) 787bool ExternalAppHandler::mailToOneContact( const QString& name, const QString& emailadress )
775{ 788{
776 789
777 QString channel; 790 QString channel;
778 QString message; 791 QString message;
779 QString parameters; 792 QString parameters;
780 793
781 794
782 int client = KPimGlobalPrefs::instance()->mEmailClient; 795 int client = KPimGlobalPrefs::instance()->mEmailClient;
783 if (client == KPimGlobalPrefs::OTHER_EMC) 796 if (client == KPimGlobalPrefs::OTHER_EMC)
784 { 797 {
785 channel = KPimGlobalPrefs::instance()->mEmailOtherChannel; 798 channel = KPimGlobalPrefs::instance()->mEmailOtherChannel;
786 message = KPimGlobalPrefs::instance()->mEmailOtherMessage; 799 message = KPimGlobalPrefs::instance()->mEmailOtherMessage;
787 parameters = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters; 800 parameters = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters;
788 } 801 }
789 else 802 else
790 { 803 {
791 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(EMAIL, client); 804 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(EMAIL, client);
792 if (!dai) 805 if (!dai)
793 { 806 {
794 qDebug("could not find configured email application."); 807 qDebug("could not find configured email application.");
795 return false; 808 return false;
796 } 809 }
797 channel = dai->_channel; 810 channel = dai->_channel;
798 message = dai->_message; 811 message = dai->_message;
799 parameters = dai->_parameters; 812 parameters = dai->_parameters;
800 } 813 }
801 814
802#ifdef DESKTOP_VERSION 815#ifdef DESKTOP_VERSION
803 //message = channel + " " +message + " \""+ parameters + "\""; 816 //message = channel + " " +message + " \""+ parameters + "\"";
804#endif 817#endif
805 //first check if one of the mailers need the emails right in the message. 818 //first check if one of the mailers need the emails right in the message.
806 message = translateMessage(message, name, emailadress); 819 message = translateMessage(message, name, emailadress);
807 820
808#ifdef DEBUG_EXT_APP_HANDLER 821#ifdef DEBUG_EXT_APP_HANDLER
809 qDebug("5Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 822 qDebug("5Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
810 qDebug("passing name(%s), emailadresses(%s) as parameters in the form %s to QCopEnvelope", name.latin1(), emailadress.latin1(), parameters.latin1()); 823 qDebug("passing name(%s), emailadresses(%s) as parameters in the form %s to QCopEnvelope", name.latin1(), emailadress.latin1(), parameters.latin1());
811#endif 824#endif
812 825
813#ifndef DESKTOP_VERSION 826#ifndef DESKTOP_VERSION
814 QCopEnvelope e(channel.latin1(), message.latin1()); 827 QCopEnvelope e(channel.latin1(), message.latin1());
815 //US we need no names in the To field. The emailadresses are enough 828 //US we need no names in the To field. The emailadresses are enough
816 829
817 passParameters(&e, parameters, name, emailadress); 830 passParameters(&e, parameters, name, emailadress);
818#else // DESKTOP_VERSION 831#else // DESKTOP_VERSION
819 832
820 //KMessageBox::sorry( 0, message ); 833 //KMessageBox::sorry( 0,channel );
821 QProcess * proc = new QProcess( this ); 834 QProcess * proc = new QProcess( this );
822 QStringList list = QStringList::split( " ", message );
823 int i = 0;
824 proc->addArgument( channel ); 835 proc->addArgument( channel );
825 while ( i < list.count ( ) ) { 836 if ( message.find (" " ) > 0 ) {
837 QStringList list = QStringList::split( " ", message );
838 int i = 0;
839 while ( i < list.count ( ) ) {
826 //qDebug("add%sdd ",list[i].latin1() ); 840 //qDebug("add%sdd ",list[i].latin1() );
827 proc->addArgument( list[i] ); 841 proc->addArgument( list[i] );
842 //KMessageBox::sorry( 0,list[i]);
828 ++i; 843 ++i;
844 }
845 } else {
846 proc->addArgument(message );
847
829 } 848 }
830 parameters = translateMessage(parameters, name, emailadress); 849 parameters = translateMessage(parameters, name, emailadress);
831 proc->addArgument( parameters ); 850 proc->addArgument( parameters );
832 proc->launch(""); 851 proc->launch("");
833#endif 852#endif
834 853
835 return true; 854 return true;
836} 855}
837 856
838/************************************************************************** 857/**************************************************************************
839 * 858 *
840 **************************************************************************/ 859 **************************************************************************/
841 860
842//calls the emailapplication and creates a mail with parameter as recipients 861//calls the emailapplication and creates a mail with parameter as recipients
843// parameters format is 862// parameters format is
844// NAME <EMAIL>:SUBJECT 863// NAME <EMAIL>:SUBJECT
845bool ExternalAppHandler::mailToOneContact( const QString& adressline ) 864bool ExternalAppHandler::mailToOneContact( const QString& adressline )
846{ 865{
847 QString line = adressline; 866 QString line = adressline;
848 867
849 int first = line.find( "<"); 868 int first = line.find( "<");
850 int last = line.find( ">"); 869 int last = line.find( ">");
851 QString name = line.left(first); 870 QString name = line.left(first);
852 QString emailadress = line.mid(first+1, last-first-1); 871 QString emailadress = line.mid(first+1, last-first-1);
853 872
854 //Subject can not be handled right now. 873 //Subject can not be handled right now.
855 return mailToOneContact( name, emailadress ); 874 return mailToOneContact( name, emailadress );
856 875
857} 876}
858 877
859 878
860/************************************************************************** 879/**************************************************************************
@@ -874,65 +893,65 @@ bool ExternalAppHandler::callByPhone( const QString& phonenumber )
874 if (client == KPimGlobalPrefs::OTHER_PHC) 893 if (client == KPimGlobalPrefs::OTHER_PHC)
875 { 894 {
876 channel = KPimGlobalPrefs::instance()->mPhoneOtherChannel; 895 channel = KPimGlobalPrefs::instance()->mPhoneOtherChannel;
877 message = KPimGlobalPrefs::instance()->mPhoneOtherMessage; 896 message = KPimGlobalPrefs::instance()->mPhoneOtherMessage;
878 parameters = KPimGlobalPrefs::instance()->mPhoneOtherMessageParameters; 897 parameters = KPimGlobalPrefs::instance()->mPhoneOtherMessageParameters;
879 } 898 }
880 else 899 else
881 { 900 {
882 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PHONE, client); 901 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PHONE, client);
883 if (!dai) 902 if (!dai)
884 { 903 {
885 qDebug("could not find configured phone application."); 904 qDebug("could not find configured phone application.");
886 return false; 905 return false;
887 } 906 }
888 channel = dai->_channel; 907 channel = dai->_channel;
889 message = dai->_message; 908 message = dai->_message;
890 parameters = dai->_parameters; 909 parameters = dai->_parameters;
891 } 910 }
892 911
893 912
894 //first check if one of the mailers need the emails right in the message. 913 //first check if one of the mailers need the emails right in the message.
895 message = translateMessage(message, phonenumber, ""); 914 message = translateMessage(message, phonenumber, "");
896 915
897 916
898#ifdef DEBUG_EXT_APP_HANDLER 917#ifdef DEBUG_EXT_APP_HANDLER
899 qDebug("6Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 918 qDebug("6Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
900 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1()); 919 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1());
901#endif 920#endif
902 921
903 QCopEnvelope e(channel.latin1(), message.latin1()); 922 QCopEnvelope e(channel.latin1(), message.latin1());
904 //US we need no names in the To field. The emailadresses are enough 923 //US we need no names in the To field. The emailadresses are enough
905 924
906 passParameters(&e, parameters, phonenumber, ""); 925 passParameters(&e, parameters, phonenumber, "");
907 926
908 927
909#else 928#else
910 KMessageBox::sorry( 0, i18n( "This version does not support phonecalls." ) ); 929 KMessageBox::sorry( 0, i18n( "This version does not support phonecalls." ) );
911#endif 930#endif
912 931
913 932
914 return true; 933 return true;
915} 934}
916 935
917/************************************************************************** 936/**************************************************************************
918 * 937 *
919 **************************************************************************/ 938 **************************************************************************/
920 939
921//calls the smsapplication with the number 940//calls the smsapplication with the number
922bool ExternalAppHandler::callBySMS( const QString& phonenumber ) 941bool ExternalAppHandler::callBySMS( const QString& phonenumber )
923{ 942{
924#ifndef DESKTOP_VERSION 943#ifndef DESKTOP_VERSION
925 QString channel; 944 QString channel;
926 QString message; 945 QString message;
927 QString parameters; 946 QString parameters;
928 947
929 948
930 int client = KPimGlobalPrefs::instance()->mSMSClient; 949 int client = KPimGlobalPrefs::instance()->mSMSClient;
931 if (client == KPimGlobalPrefs::OTHER_SMC) 950 if (client == KPimGlobalPrefs::OTHER_SMC)
932 { 951 {
933 channel = KPimGlobalPrefs::instance()->mSMSOtherChannel; 952 channel = KPimGlobalPrefs::instance()->mSMSOtherChannel;
934 message = KPimGlobalPrefs::instance()->mSMSOtherMessage; 953 message = KPimGlobalPrefs::instance()->mSMSOtherMessage;
935 parameters = KPimGlobalPrefs::instance()->mSMSOtherMessageParameters; 954 parameters = KPimGlobalPrefs::instance()->mSMSOtherMessageParameters;
936 } 955 }
937 else 956 else
938 { 957 {