summaryrefslogtreecommitdiffabout
path: root/kaddressbook/xxport/csvimportdialog.cpp
Unidiff
Diffstat (limited to 'kaddressbook/xxport/csvimportdialog.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/xxport/csvimportdialog.cpp67
1 files changed, 55 insertions, 12 deletions
diff --git a/kaddressbook/xxport/csvimportdialog.cpp b/kaddressbook/xxport/csvimportdialog.cpp
index cc55a24..41e2612 100644
--- a/kaddressbook/xxport/csvimportdialog.cpp
+++ b/kaddressbook/xxport/csvimportdialog.cpp
@@ -124,2 +124,3 @@ CSVImportDialog::CSVImportDialog( KABC::AddressBook *ab, QWidget *parent,
124 mTypeMap.insert( KABC::Addressee::urlLabel(), URL ); 124 mTypeMap.insert( KABC::Addressee::urlLabel(), URL );
125 mTypeMap.insert( KABC::Addressee::categoryLabel(), Categories );
125 126
@@ -141,2 +142,4 @@ CSVImportDialog::CSVImportDialog( KABC::AddressBook *ab, QWidget *parent,
141 this, SLOT( lineSelected( const QString& ) ) ); 142 this, SLOT( lineSelected( const QString& ) ) );
143 connect( mComboCodec, SIGNAL( activated( const QString& ) ),
144 this, SLOT( codecChanged( const QString& ) ) );
142 connect( mComboQuote, SIGNAL( activated( const QString& ) ), 145 connect( mComboQuote, SIGNAL( activated( const QString& ) ),
@@ -251,5 +254,11 @@ KABC::AddresseeList CSVImportDialog::contacts() const
251 case Note: 254 case Note:
255 if ( a.note().isEmpty() )
252 a.setNote( value ); 256 a.setNote( value );
257 else {
258 a.setNote( a.note()+"\n"+value );
259 }
260 break;
261 case Categories:
262 a.insertCategory( value );
253 break; 263 break;
254
255 case HomePhone: 264 case HomePhone:
@@ -387,3 +396,3 @@ void CSVImportDialog::initGUI()
387 396
388 layout->addMultiCellLayout( hbox, 0, 0, 0, 1 ); 397 layout->addMultiCellLayout( hbox, 0, 0, 0, 2 );
389 398
@@ -396,3 +405,3 @@ void CSVImportDialog::initGUI()
396 delimiterLayout->setAlignment( Qt::AlignTop ); 405 delimiterLayout->setAlignment( Qt::AlignTop );
397 layout->addMultiCellWidget( mDelimiterBox, 1, 1, 0, 1 ); 406 layout->addMultiCellWidget( mDelimiterBox, 1, 1, 0, 2 );
398 407
@@ -426,3 +435,7 @@ void CSVImportDialog::initGUI()
426 layout->addWidget( mComboQuote, 3, 0 ); 435 layout->addWidget( mComboQuote, 3, 0 );
427 436 mComboCodec = new QComboBox( false, page );
437 mComboCodec->insertItem( i18n( "UTF8" ), 0 );
438 mComboCodec->insertItem( i18n( "LATIN1" ), 1 );
439 mComboCodec->insertItem( i18n( "LOCALE" ), 2 );
440 layout->addWidget( mComboCodec, 3, 2 );
428 label = new QLabel( i18n( "Start at line:" ), page ); 441 label = new QLabel( i18n( "Start at line:" ), page );
@@ -432,2 +445,4 @@ void CSVImportDialog::initGUI()
432 layout->addWidget( label, 2, 0 ); 445 layout->addWidget( label, 2, 0 );
446 label = new QLabel( i18n( "Codec:" ), page );
447 layout->addWidget( label, 2, 2 );
433 448
@@ -435,3 +450,3 @@ void CSVImportDialog::initGUI()
435 mIgnoreDuplicates->setText( i18n( "Ignore duplicate delimiters" ) ); 450 mIgnoreDuplicates->setText( i18n( "Ignore duplicate delimiters" ) );
436 layout->addMultiCellWidget( mIgnoreDuplicates, 4, 4, 0, 1 ); 451 layout->addMultiCellWidget( mIgnoreDuplicates, 4, 4, 0, 2 );
437 452
@@ -440,3 +455,3 @@ void CSVImportDialog::initGUI()
440 //mTable->horizontalHeader()->hide(); 455 //mTable->horizontalHeader()->hide();
441 layout->addMultiCellWidget( mTable, 5, 5, 0, 1 ); 456 layout->addMultiCellWidget( mTable, 5, 5, 0, 2 );
442/*US 457/*US
@@ -452,3 +467,3 @@ void CSVImportDialog::initGUI()
452#ifdef DESKTOP_VERSION 467#ifdef DESKTOP_VERSION
453 resize( 500, 300 ); 468 resize( 640, 480 );
454#else 469#else
@@ -485,6 +500,19 @@ void CSVImportDialog::fillTable()
485 row = column = 1; 500 row = column = 1;
486 mData = QString( mFileArray ); 501 if ( mComboCodec->currentItem () == 0 ) {
502 mData = QString::fromUtf8( mFileArray.data() );
503 } else if ( mComboCodec->currentItem () == 1 ) {
504 mData = QString::fromLatin1( mFileArray.data() );
505 } else {
506 mData = QString::fromLocal8Bit( mFileArray.data() );
507 }
487 508
488 QTextStream inputStream( mData, IO_ReadOnly ); 509 QTextStream inputStream( mData, IO_ReadOnly );
510
511 if ( mComboCodec->currentItem () == 0 ) {
512 inputStream.setEncoding( QTextStream::UnicodeUTF8 );
513 } else if ( mComboCodec->currentItem () == 1 ) {
514 inputStream.setEncoding( QTextStream::Latin1 );
515 } else {
489 inputStream.setEncoding( QTextStream::Locale ); 516 inputStream.setEncoding( QTextStream::Locale );
517 }
490 518
@@ -610,5 +638,10 @@ void CSVImportDialog::fillTable()
610 QStringList keys; 638 QStringList keys;
639 uint iii = 0, count = mTypeMap.count();
640 while ( iii < count ) {
641 keys << "dummy";
642 ++iii;
643 }
611 QMap<QString, uint>::ConstIterator it; 644 QMap<QString, uint>::ConstIterator it;
612 for ( it = mTypeMap.begin(); it != mTypeMap.end(); ++it) 645 for ( it = mTypeMap.begin(); it != mTypeMap.end(); ++it)
613 keys << it.key(); 646 keys[( it.data() )] = it.key();
614//US end 647//US end
@@ -684,2 +717,6 @@ void CSVImportDialog::textChanged ( const QString& )
684} 717}
718void CSVImportDialog::codecChanged ( const QString& )
719{
720 fillTable();
721}
685 722
@@ -756,3 +793,3 @@ void CSVImportDialog::applyTemplate()
756 { 793 {
757 qDebug("for "); 794
758//US KSimpleConfig config( *it, true ); 795//US KSimpleConfig config( *it, true );
@@ -767,3 +804,3 @@ void CSVImportDialog::applyTemplate()
767 } 804 }
768 qDebug("weiter "); 805
769 // let the user chose, what to take 806 // let the user chose, what to take
@@ -772,3 +809,3 @@ void CSVImportDialog::applyTemplate()
772 tmp = QInputDialog::getItem( i18n( "Template Selection" ), 809 tmp = QInputDialog::getItem( i18n( "Template Selection" ),
773 i18n( "Please select a template, that matches the CSV file." ), 810 i18n( "Please select a template\nthat matches the CSV file." ),
774 templates, 0, false, &ok, this ); 811 templates, 0, false, &ok, this );
@@ -862,2 +899,4 @@ uint CSVImportDialog::posToType( int pos ) const
862{ 899{
900 return pos;
901#if 0
863 uint counter = 0; 902 uint counter = 0;
@@ -869,2 +908,3 @@ uint CSVImportDialog::posToType( int pos ) const
869 return 0; 908 return 0;
909#endif
870} 910}
@@ -873,2 +913,4 @@ int CSVImportDialog::typeToPos( uint type ) const
873{ 913{
914 return type;
915#if 0
874 uint counter = 0; 916 uint counter = 0;
@@ -880,2 +922,3 @@ int CSVImportDialog::typeToPos( uint type ) const
880 return -1; 922 return -1;
923#endif
881} 924}