This resolves bug 2625 Signed-off-by: Emanoil Kotsev <deloptes@gmail.com>pull/1/head
parent
51efac909d
commit
4ceb2b158b
@ -0,0 +1,6 @@
|
|||||||
|
TESTFILES="vcard1.vcf vcard2.vcf vcard3.vcf vcard4.vcf vcard6.vcf vcard7.vcf vcard8.vcf vcard9.vcf"
|
||||||
|
|
||||||
|
test -f FAILED && rm -f FAILED;
|
||||||
|
for i in $TESTFILES;
|
||||||
|
do perl ./checkvcard.pl ./tests/$i ;
|
||||||
|
done;
|
@ -0,0 +1,12 @@
|
|||||||
|
BEGIN:VCARD
|
||||||
|
ADR;TYPE=home:;;Müllerstrasse 21;Wörthersee;Kärnten;8400;Österreich;
|
||||||
|
ORG:HansWürstel AG
|
||||||
|
EMAIL:boehmermann@wuerstel.com
|
||||||
|
FN:Jahn Böhmermann
|
||||||
|
N:Böhmermann;Jahn;;;
|
||||||
|
TITLE:Komödiant
|
||||||
|
REV:2016-04-02T23:54:06Z
|
||||||
|
TEL;TYPE=VOICE,MSG,WORK:+43 699373419
|
||||||
|
VERSION:3.0
|
||||||
|
X-GENDER-GENDER:Male
|
||||||
|
END:VCARD
|
@ -0,0 +1,14 @@
|
|||||||
|
BEGIN:VCARD
|
||||||
|
ADR;TYPE=home:;;Müllerstrasse 21;Wörthersee;Kärnten;8400;Österreich
|
||||||
|
EMAIL:boehmermann@wuerstel.com
|
||||||
|
FN:Jahn Böhmermann
|
||||||
|
N:Böhmermann;Jahn;;;
|
||||||
|
ORG:HansWürstel AG
|
||||||
|
REV:2016-04-02T23:54:06Z
|
||||||
|
TEL;TYPE=MSG;TYPE=VOICE;TYPE=WORK:+43 699373419
|
||||||
|
TITLE:Komödiant
|
||||||
|
UID:vz7nMFMbYE
|
||||||
|
VERSION:3.0
|
||||||
|
X-GENDER-GENDER:Male
|
||||||
|
END:VCARD
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
BEGIN:VCARD
|
||||||
|
ADR;TYPE=home:;;Цар Борис III;София;София град;1000;България
|
||||||
|
ORG:България ООД
|
||||||
|
EMAIL:иван.иванов@българия.com
|
||||||
|
FN:Иван Иванов
|
||||||
|
NAME:Иван
|
||||||
|
N:Иванов;
|
||||||
|
TITLE:Др
|
||||||
|
REV:2016-04-03T23:54:06Z
|
||||||
|
TEL;TYPE=VOICE,MSG,WORK:+359 888 111 222
|
||||||
|
VERSION:3.0
|
||||||
|
X-GENDER-GENDER:Male
|
||||||
|
END:VCARD
|
||||||
|
|
@ -0,0 +1,15 @@
|
|||||||
|
BEGIN:VCARD
|
||||||
|
ADR;TYPE=home:;;Цар Борис III;София;София град;1000;България
|
||||||
|
EMAIL:иван.иванов@българия.com
|
||||||
|
FN:Иван Иванов
|
||||||
|
N:Иванов;;;;
|
||||||
|
NAME:Иван
|
||||||
|
ORG:България ООД
|
||||||
|
REV:2016-04-03T23:54:06Z
|
||||||
|
TEL;TYPE=MSG;TYPE=VOICE;TYPE=WORK:+359 888 111 222
|
||||||
|
TITLE:Др
|
||||||
|
UID:nzIRLdymsP
|
||||||
|
VERSION:3.0
|
||||||
|
X-GENDER-GENDER:Male
|
||||||
|
END:VCARD
|
||||||
|
|
@ -0,0 +1,178 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
This file is part of libtdeabc.
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public License
|
||||||
|
along with this library; see the file COPYING.LIB. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <kdebug.h>
|
||||||
|
#include <tdeapplication.h>
|
||||||
|
#include <tdecmdlineargs.h>
|
||||||
|
// #include <tdelocale.h>
|
||||||
|
#include <tdeaboutdata.h>
|
||||||
|
|
||||||
|
#include "vcardformatplugin.h"
|
||||||
|
|
||||||
|
using namespace TDEABC;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param argc
|
||||||
|
* @param argv
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
main( int argc, char **argv )
|
||||||
|
{
|
||||||
|
TDEAboutData aboutData( "testvcardformatplugin", "vCard format plugin", "0.1" );
|
||||||
|
|
||||||
|
TDECmdLineArgs::init( argc, argv, &aboutData );
|
||||||
|
|
||||||
|
TDEApplication app( false, false );
|
||||||
|
|
||||||
|
|
||||||
|
TDEABC::Addressee addressee;
|
||||||
|
|
||||||
|
addressee.setNameFromString( TQString::fromUtf8("Иван Иванов") );
|
||||||
|
addressee.setNickName( TQString::fromUtf8("иванчо") );
|
||||||
|
addressee.setBirthday( TQDate( 1981, 7, 19 ) );
|
||||||
|
addressee.setMailer( "mutt1.2" );
|
||||||
|
addressee.setTimeZone( TDEABC::TimeZone( +2 ) );
|
||||||
|
|
||||||
|
TDEABC::Geo geo;
|
||||||
|
geo.setLatitude( 30 );
|
||||||
|
geo.setLongitude( 51 );
|
||||||
|
addressee.setGeo( geo );
|
||||||
|
|
||||||
|
addressee.setTitle( TQString::fromUtf8("Др") );
|
||||||
|
addressee.setRole( TQString::fromUtf8("Самарянин") );
|
||||||
|
addressee.setOrganization( TQString::fromUtf8("България ООД") );
|
||||||
|
addressee.setNote( TQString::fromUtf8("не\nпипай работеща система") );
|
||||||
|
addressee.setProductId( "testId" );
|
||||||
|
addressee.setRevision( TQDateTime::currentDateTime() );
|
||||||
|
addressee.setSortString( TQString::fromUtf8("сортиране") );
|
||||||
|
addressee.setUrl( KURL( "http://wgess17.dyndns.org") );
|
||||||
|
addressee.setSecrecy( TDEABC::Secrecy( TDEABC::Secrecy::Confidential ) );
|
||||||
|
/*
|
||||||
|
TQImage img;
|
||||||
|
img.load( "testimg.png", "PNG" );
|
||||||
|
TDEABC::Picture photo;
|
||||||
|
photo.setData( img );
|
||||||
|
addressee.setPhoto( photo );
|
||||||
|
|
||||||
|
TQImage img2;
|
||||||
|
img2.load( "testimg.png", "PNG" );
|
||||||
|
TDEABC::Picture logo;
|
||||||
|
logo.setData( img2 );
|
||||||
|
addressee.setLogo( logo );
|
||||||
|
|
||||||
|
TQFile soundFile( "testsound.wav" );
|
||||||
|
soundFile.open( IO_ReadOnly );
|
||||||
|
TQByteArray data = soundFile.readAll();
|
||||||
|
soundFile.close();
|
||||||
|
TDEABC::Sound sound;
|
||||||
|
sound.setData( data );
|
||||||
|
addressee.setSound( sound );
|
||||||
|
*/
|
||||||
|
addressee.insertEmail( TQString::fromUtf8("иван.иванов@българия.оод"), true );
|
||||||
|
addressee.insertEmail( TQString::fromUtf8("иванчо@yahoo.de"), true );
|
||||||
|
|
||||||
|
TDEABC::PhoneNumber phone1( "029876543", TDEABC::PhoneNumber::Pref | TDEABC::PhoneNumber::Home );
|
||||||
|
TDEABC::PhoneNumber phone2( "+359888111222", TDEABC::PhoneNumber::Work );
|
||||||
|
addressee.insertPhoneNumber( phone1 );
|
||||||
|
addressee.insertPhoneNumber( phone2 );
|
||||||
|
|
||||||
|
TDEABC::Key key( "secret key", TDEABC::Key::X509 );
|
||||||
|
addressee.insertKey( key );
|
||||||
|
|
||||||
|
TQStringList categories;
|
||||||
|
categories << "Friends" << "School" << "KDE";
|
||||||
|
addressee.setCategories( categories );
|
||||||
|
|
||||||
|
TDEABC::Address a( TDEABC::Address::Work | TDEABC::Address::Postal | TDEABC::Address::Parcel );
|
||||||
|
a.setStreet( TQString::fromUtf8("Цар Борис III") );
|
||||||
|
a.setLocality( TQString::fromUtf8("София" ));
|
||||||
|
a.setRegion( TQString::fromUtf8("София град" ));
|
||||||
|
a.setPostalCode( TQString::fromUtf8("1000" ));
|
||||||
|
a.setCountry( TQString::fromUtf8("България" ));
|
||||||
|
addressee.insertAddress( a );
|
||||||
|
|
||||||
|
addressee.insertCustom( "1hsdf", "test1",TQString::fromUtf8( "ежзик" ));
|
||||||
|
addressee.insertCustom( "2hsdf", "test2",TQString::fromUtf8( "ежзик" ));
|
||||||
|
addressee.insertCustom( "3hsdf", "test3",TQString::fromUtf8( "ежзик" ));
|
||||||
|
|
||||||
|
addressee.dump();
|
||||||
|
|
||||||
|
// TDEABC::Addressee::List list;
|
||||||
|
// for ( int i = 0; i < 20; ++i ) {
|
||||||
|
// TDEABC::Addressee addr = addressee;
|
||||||
|
// addr.setUid( TQString::number( i ) );
|
||||||
|
// list.append( addr );
|
||||||
|
// }
|
||||||
|
|
||||||
|
// TDEABC::VCardConverter converter;
|
||||||
|
// TQString txt = converter.createVCards( list );
|
||||||
|
//
|
||||||
|
// TQFile file( "out2.vcf" );
|
||||||
|
// file.open( IO_WriteOnly );
|
||||||
|
//
|
||||||
|
// TQTextStream s( &file );
|
||||||
|
// s.setEncoding( TQTextStream::UnicodeUTF8 );
|
||||||
|
// s << txt;
|
||||||
|
// file.close();
|
||||||
|
|
||||||
|
VCardFormatPlugin *vcfplugin = new VCardFormatPlugin();
|
||||||
|
TQFile file( "vfout.vcf" );
|
||||||
|
if ( file.open(IO_WriteOnly) ){
|
||||||
|
vcfplugin->save(addressee, &file);
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TDEABC::Addressee addressee2;
|
||||||
|
|
||||||
|
if ( file.open(IO_ReadOnly ) ){
|
||||||
|
vcfplugin->load(addressee2, &file);
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
addressee2.dump();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
|
||||||
|
/* Addressee::List::iterator itr1;
|
||||||
|
Addressee::List::iterator itr2;
|
||||||
|
for ( itr1 = l.begin(), itr2 = parsed.begin();
|
||||||
|
itr1 != l.end(); ++itr1, ++itr2 ) {
|
||||||
|
if ( (*itr1).fullEmail() == (*itr2).fullEmail() &&
|
||||||
|
(*itr1).organization() == (*itr2).organization() &&
|
||||||
|
(*itr1).phoneNumbers() == (*itr2).phoneNumbers() &&
|
||||||
|
(*itr1).emails() == (*itr2).emails() &&
|
||||||
|
(*itr1).role() == (*itr2).role() ) {
|
||||||
|
kdDebug()<<"\tAddressee - PASSED"<<endl;
|
||||||
|
kdDebug()<<"\t\t"<< (*itr1).fullEmail() << " VS. " << (*itr2).fullEmail()<<endl;
|
||||||
|
} else {
|
||||||
|
kdDebug()<<"\tAddressee - FAILED"<<endl;
|
||||||
|
kdDebug()<<">>>>>>>Addressee from code<<<<<<<<"<<endl;
|
||||||
|
(*itr1).dump();
|
||||||
|
kdDebug()<<">>>>>>>Addressee from file<<<<<<<<"<<endl;
|
||||||
|
(*itr2).dump();
|
||||||
|
//kdDebug()<<"\t\t"<< (*itr1).fullEmail() << " VS. " << (*itr2).fullEmail()<<endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
@ -0,0 +1,174 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
This file is part of libtdeabc.
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public License
|
||||||
|
along with this library; see the file COPYING.LIB. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <kdebug.h>
|
||||||
|
#include <tdeapplication.h>
|
||||||
|
#include <tdecmdlineargs.h>
|
||||||
|
// #include <tdelocale.h>
|
||||||
|
#include <tdeaboutdata.h>
|
||||||
|
|
||||||
|
#include "vcardformatimpl.h"
|
||||||
|
|
||||||
|
using namespace TDEABC;
|
||||||
|
|
||||||
|
int
|
||||||
|
main( int argc, char **argv )
|
||||||
|
{
|
||||||
|
TDEAboutData aboutData( "testvcardformatimpl", "vCard format plugin", "0.1" );
|
||||||
|
|
||||||
|
TDECmdLineArgs::init( argc, argv, &aboutData );
|
||||||
|
|
||||||
|
TDEApplication app( false, false );
|
||||||
|
|
||||||
|
|
||||||
|
TDEABC::Addressee addressee;
|
||||||
|
|
||||||
|
addressee.setNameFromString( TQString::fromUtf8("Иван Иванов") );
|
||||||
|
addressee.setNickName( TQString::fromUtf8("иванчо") );
|
||||||
|
addressee.setBirthday( TQDate( 1981, 7, 19 ) );
|
||||||
|
addressee.setMailer( "mutt1.2" );
|
||||||
|
addressee.setTimeZone( TDEABC::TimeZone( +2 ) );
|
||||||
|
|
||||||
|
TDEABC::Geo geo;
|
||||||
|
geo.setLatitude( 30 );
|
||||||
|
geo.setLongitude( 51 );
|
||||||
|
addressee.setGeo( geo );
|
||||||
|
|
||||||
|
addressee.setTitle( TQString::fromUtf8("Др") );
|
||||||
|
addressee.setRole( TQString::fromUtf8("Самарянин") );
|
||||||
|
addressee.setOrganization( TQString::fromUtf8("България ООД") );
|
||||||
|
addressee.setNote( TQString::fromUtf8("не\nпипай работеща система") );
|
||||||
|
addressee.setProductId( "testId" );
|
||||||
|
addressee.setRevision( TQDateTime::currentDateTime() );
|
||||||
|
addressee.setSortString( TQString::fromUtf8("сортиране") );
|
||||||
|
addressee.setUrl( KURL( "http://wgess17.dyndns.org") );
|
||||||
|
addressee.setSecrecy( TDEABC::Secrecy( TDEABC::Secrecy::Confidential ) );
|
||||||
|
/*
|
||||||
|
TQImage img;
|
||||||
|
img.load( "testimg.png", "PNG" );
|
||||||
|
TDEABC::Picture photo;
|
||||||
|
photo.setData( img );
|
||||||
|
addressee.setPhoto( photo );
|
||||||
|
|
||||||
|
TQImage img2;
|
||||||
|
img2.load( "testimg.png", "PNG" );
|
||||||
|
TDEABC::Picture logo;
|
||||||
|
logo.setData( img2 );
|
||||||
|
addressee.setLogo( logo );
|
||||||
|
|
||||||
|
TQFile soundFile( "testsound.wav" );
|
||||||
|
soundFile.open( IO_ReadOnly );
|
||||||
|
TQByteArray data = soundFile.readAll();
|
||||||
|
soundFile.close();
|
||||||
|
TDEABC::Sound sound;
|
||||||
|
sound.setData( data );
|
||||||
|
addressee.setSound( sound );
|
||||||
|
*/
|
||||||
|
addressee.insertEmail( TQString::fromUtf8("иван.иванов@българия.оод"), true );
|
||||||
|
addressee.insertEmail( TQString::fromUtf8("иванчо@yahoo.de"), true );
|
||||||
|
|
||||||
|
TDEABC::PhoneNumber phone1( "029876543", TDEABC::PhoneNumber::Pref | TDEABC::PhoneNumber::Home );
|
||||||
|
TDEABC::PhoneNumber phone2( "+359888111222", TDEABC::PhoneNumber::Work );
|
||||||
|
addressee.insertPhoneNumber( phone1 );
|
||||||
|
addressee.insertPhoneNumber( phone2 );
|
||||||
|
|
||||||
|
TDEABC::Key key( "secret key", TDEABC::Key::X509 );
|
||||||
|
addressee.insertKey( key );
|
||||||
|
|
||||||
|
TQStringList categories;
|
||||||
|
categories << "Friends" << "School" << "KDE";
|
||||||
|
addressee.setCategories( categories );
|
||||||
|
|
||||||
|
TDEABC::Address a( TDEABC::Address::Work | TDEABC::Address::Postal | TDEABC::Address::Parcel );
|
||||||
|
a.setStreet( TQString::fromUtf8("Цар Борис III") );
|
||||||
|
a.setLocality( TQString::fromUtf8("София" ));
|
||||||
|
a.setRegion( TQString::fromUtf8("София град" ));
|
||||||
|
a.setPostalCode( TQString::fromUtf8("1000" ));
|
||||||
|
a.setCountry( TQString::fromUtf8("България" ));
|
||||||
|
addressee.insertAddress( a );
|
||||||
|
|
||||||
|
addressee.insertCustom( "1hsdf", "test1",TQString::fromUtf8( "ежзик" ));
|
||||||
|
addressee.insertCustom( "2hsdf", "test2",TQString::fromUtf8( "ежзик" ));
|
||||||
|
addressee.insertCustom( "3hsdf", "test3",TQString::fromUtf8( "ежзик" ));
|
||||||
|
|
||||||
|
addressee.dump();
|
||||||
|
|
||||||
|
kdDebug() << ">>>>>>>>>>>>>>>>END FIRST ADDRESSEE<<<<<<<<<<<<<<" << endl;
|
||||||
|
|
||||||
|
// TDEABC::Addressee::List list;
|
||||||
|
// for ( int i = 0; i < 20; ++i ) {
|
||||||
|
// TDEABC::Addressee addr = addressee;
|
||||||
|
// addr.setUid( TQString::number( i ) );
|
||||||
|
// list.append( addr );
|
||||||
|
// }
|
||||||
|
|
||||||
|
// TDEABC::VCardConverter converter;
|
||||||
|
// TQString txt = converter.createVCards( list );
|
||||||
|
//
|
||||||
|
// TQFile file( "out2.vcf" );
|
||||||
|
// file.open( IO_WriteOnly );
|
||||||
|
//
|
||||||
|
// TQTextStream s( &file );
|
||||||
|
// s.setEncoding( TQTextStream::UnicodeUTF8 );
|
||||||
|
// s << txt;
|
||||||
|
// file.close();
|
||||||
|
|
||||||
|
VCardFormatImpl *vcfImpl = new VCardFormatImpl();
|
||||||
|
TQFile file( "vfimpout.vcf" );
|
||||||
|
if ( file.open(IO_WriteOnly) ){
|
||||||
|
vcfImpl->save(addressee, &file);
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TDEABC::Addressee addressee2;
|
||||||
|
|
||||||
|
if ( file.open(IO_ReadOnly ) ){
|
||||||
|
vcfImpl->load(addressee2, &file);
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
addressee2.dump();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
|
||||||
|
/* Addressee::List::iterator itr1;
|
||||||
|
Addressee::List::iterator itr2;
|
||||||
|
for ( itr1 = l.begin(), itr2 = parsed.begin();
|
||||||
|
itr1 != l.end(); ++itr1, ++itr2 ) {
|
||||||
|
if ( (*itr1).fullEmail() == (*itr2).fullEmail() &&
|
||||||
|
(*itr1).organization() == (*itr2).organization() &&
|
||||||
|
(*itr1).phoneNumbers() == (*itr2).phoneNumbers() &&
|
||||||
|
(*itr1).emails() == (*itr2).emails() &&
|
||||||
|
(*itr1).role() == (*itr2).role() ) {
|
||||||
|
kdDebug()<<"\tAddressee - PASSED"<<endl;
|
||||||
|
kdDebug()<<"\t\t"<< (*itr1).fullEmail() << " VS. " << (*itr2).fullEmail()<<endl;
|
||||||
|
} else {
|
||||||
|
kdDebug()<<"\tAddressee - FAILED"<<endl;
|
||||||
|
kdDebug()<<">>>>>>>Addressee from code<<<<<<<<"<<endl;
|
||||||
|
(*itr1).dump();
|
||||||
|
kdDebug()<<">>>>>>>Addressee from file<<<<<<<<"<<endl;
|
||||||
|
(*itr2).dump();
|
||||||
|
//kdDebug()<<"\t\t"<< (*itr1).fullEmail() << " VS. " << (*itr2).fullEmail()<<endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
@ -0,0 +1,136 @@
|
|||||||
|
/*
|
||||||
|
This file is part of libtdeabc.
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public License
|
||||||
|
along with this library; see the file COPYING.LIB. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <tdeabc/addressee.h>
|
||||||
|
#include <tdeabc/phonenumber.h>
|
||||||
|
#include <tdeabc/address.h>
|
||||||
|
#include <tdeabc/key.h>
|
||||||
|
#include <tdeabc/picture.h>
|
||||||
|
#include <tdeabc/sound.h>
|
||||||
|
#include <tdeabc/secrecy.h>
|
||||||
|
#include <tdeaboutdata.h>
|
||||||
|
#include <tdeapplication.h>
|
||||||
|
#include <tdecmdlineargs.h>
|
||||||
|
|
||||||
|
#include <tqfile.h>
|
||||||
|
#include <tqtextstream.h>
|
||||||
|
|
||||||
|
#include "vcardconverter.h"
|
||||||
|
|
||||||
|
int main( int argc, char **argv )
|
||||||
|
{
|
||||||
|
TDEAboutData aboutData( "testwrite", "vCard test writer", "0.1" );
|
||||||
|
|
||||||
|
TDECmdLineArgs::init( argc, argv, &aboutData );
|
||||||
|
|
||||||
|
TDEApplication app( false, false );
|
||||||
|
|
||||||
|
|
||||||
|
TDEABC::Addressee addressee;
|
||||||
|
|
||||||
|
addressee.setNameFromString( TQString::fromUtf8("Иван Иванов") );
|
||||||
|
addressee.setNickName( TQString::fromUtf8("иванчо") );
|
||||||
|
addressee.setBirthday( TQDate( 1981, 7, 19 ) );
|
||||||
|
addressee.setMailer( "mutt1.2" );
|
||||||
|
addressee.setTimeZone( TDEABC::TimeZone( +2 ) );
|
||||||
|
|
||||||
|
TDEABC::Geo geo;
|
||||||
|
geo.setLatitude( 30 );
|
||||||
|
geo.setLongitude( 51 );
|
||||||
|
addressee.setGeo( geo );
|
||||||
|
|
||||||
|
addressee.setTitle( TQString::fromUtf8("Др") );
|
||||||
|
addressee.setRole( TQString::fromUtf8("Самарянин") );
|
||||||
|
addressee.setOrganization( TQString::fromUtf8("България ООД") );
|
||||||
|
addressee.setNote( TQString::fromUtf8("не\nпипай работеща система") );
|
||||||
|
addressee.setProductId( "testId" );
|
||||||
|
addressee.setRevision( TQDateTime::currentDateTime() );
|
||||||
|
addressee.setSortString( TQString::fromUtf8("сортиране") );
|
||||||
|
addressee.setUrl( KURL( "http://wgess17.dyndns.org") );
|
||||||
|
addressee.setSecrecy( TDEABC::Secrecy( TDEABC::Secrecy::Confidential ) );
|
||||||
|
/*
|
||||||
|
TQImage img;
|
||||||
|
img.load( "testimg.png", "PNG" );
|
||||||
|
TDEABC::Picture photo;
|
||||||
|
photo.setData( img );
|
||||||
|
addressee.setPhoto( photo );
|
||||||
|
|
||||||
|
TQImage img2;
|
||||||
|
img2.load( "testimg.png", "PNG" );
|
||||||
|
TDEABC::Picture logo;
|
||||||
|
logo.setData( img2 );
|
||||||
|
addressee.setLogo( logo );
|
||||||
|
|
||||||
|
TQFile soundFile( "testsound.wav" );
|
||||||
|
soundFile.open( IO_ReadOnly );
|
||||||
|
TQByteArray data = soundFile.readAll();
|
||||||
|
soundFile.close();
|
||||||
|
TDEABC::Sound sound;
|
||||||
|
sound.setData( data );
|
||||||
|
addressee.setSound( sound );
|
||||||
|
*/
|
||||||
|
addressee.insertEmail( TQString::fromUtf8("иван.иванов@българия.оод"), true );
|
||||||
|
addressee.insertEmail( TQString::fromUtf8("иванчо@yahoo.de"), true );
|
||||||
|
|
||||||
|
TDEABC::PhoneNumber phone1( "029876543", TDEABC::PhoneNumber::Pref | TDEABC::PhoneNumber::Home );
|
||||||
|
TDEABC::PhoneNumber phone2( "+359888111222", TDEABC::PhoneNumber::Work );
|
||||||
|
addressee.insertPhoneNumber( phone1 );
|
||||||
|
addressee.insertPhoneNumber( phone2 );
|
||||||
|
|
||||||
|
TDEABC::Key key( "secret key", TDEABC::Key::X509 );
|
||||||
|
addressee.insertKey( key );
|
||||||
|
|
||||||
|
TQStringList categories;
|
||||||
|
categories << "Friends" << "School" << "KDE";
|
||||||
|
addressee.setCategories( categories );
|
||||||
|
|
||||||
|
TDEABC::Address a( TDEABC::Address::Work | TDEABC::Address::Postal | TDEABC::Address::Parcel );
|
||||||
|
a.setStreet( TQString::fromUtf8("Цар Борис III") );
|
||||||
|
a.setLocality( TQString::fromUtf8("София" ));
|
||||||
|
a.setRegion( TQString::fromUtf8("София град" ));
|
||||||
|
a.setPostalCode( TQString::fromUtf8("1000" ));
|
||||||
|
a.setCountry( TQString::fromUtf8("България" ));
|
||||||
|
addressee.insertAddress( a );
|
||||||
|
|
||||||
|
addressee.insertCustom( "1hsdf", "test1",TQString::fromUtf8( "ежзик" ));
|
||||||
|
addressee.insertCustom( "2hsdf", "test2",TQString::fromUtf8( "ежзик" ));
|
||||||
|
addressee.insertCustom( "3hsdf", "test3",TQString::fromUtf8( "ежзик" ));
|
||||||
|
|
||||||
|
addressee.dump();
|
||||||
|
|
||||||
|
TDEABC::Addressee::List list;
|
||||||
|
for ( int i = 0; i < 20; ++i ) {
|
||||||
|
TDEABC::Addressee addr = addressee;
|
||||||
|
addr.setUid( TQString::number( i ) );
|
||||||
|
list.append( addr );
|
||||||
|
}
|
||||||
|
|
||||||
|
TDEABC::VCardConverter converter;
|
||||||
|
TQString txt = converter.createVCards( list );
|
||||||
|
|
||||||
|
TQFile file( "out2.vcf" );
|
||||||
|
file.open( IO_WriteOnly );
|
||||||
|
|
||||||
|
TQTextStream s( &file );
|
||||||
|
s.setEncoding( TQTextStream::UnicodeUTF8 );
|
||||||
|
s << txt;
|
||||||
|
file.close();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in new issue