-rw-r--r-- | bin/kdepim/WhatsNew.txt | 9 | ||||
-rw-r--r-- | bin/kdepim/kaddressbook/germantranslation.txt | 8 | ||||
-rw-r--r-- | kaddressbook/xxport/csvimportdialog.cpp | 73 | ||||
-rw-r--r-- | kaddressbook/xxport/csvimportdialog.h | 4 | ||||
-rw-r--r-- | microkde/kfiledialog.cpp | 5 | ||||
-rw-r--r-- | microkde/kio/kfile/kurlrequester.cpp | 2 |
6 files changed, 79 insertions, 22 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index fdcfab1..41b2a81 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt @@ -1,4 +1,13 @@ Info about the changes in new versions of KDE-Pim/Pi +********** VERSION 2.1.3 ************ + +Changed the menu structure of the alarm applet: +Moved "Simulate" to " Play Beeps" submenu and re-added "Todo List". + +Fixed several problems in the KA/Pi CSV import dialog: +Added "Category", made codec configureable and made it possible to map many fields to the "Note" field. + + ********** VERSION 2.1.2 ************ diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt index ef4ab3f..899203e 100644 --- a/bin/kdepim/kaddressbook/germantranslation.txt +++ b/bin/kdepim/kaddressbook/germantranslation.txt @@ -286,7 +286,7 @@ { "Formatted Name","Format. Name" },
{ "Additional Names","Mittelname" },
-{ "Honorific Prefixes","Namen Prefix" },
-{ "Honorific Suffixes","Namen Suffix" },
-{ "Nick Name","Sptitzname" },
+{ "Honorific Prefixes","Namensprefix" },
+{ "Honorific Suffixes","Namenssuffix" },
+{ "Nick Name","Spitzname" },
{ "Birthday","Geburtstag" },
{ "Home Address Street","Privat Adresse Strasse" },
@@ -310,5 +310,5 @@ { "ISDN","ISDN" },
{ "Pager","Pager" },
-{ "Mail Client","Mail Client" },
+{ "Mail Client","Mail Klient" },
{ "Title","Titel" },
{ "Role","Rolle" },
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 @@ -123,4 +123,5 @@ CSVImportDialog::CSVImportDialog( KABC::AddressBook *ab, QWidget *parent, mTypeMap.insert( KABC::Addressee::noteLabel(), Note ); mTypeMap.insert( KABC::Addressee::urlLabel(), URL ); + mTypeMap.insert( KABC::Addressee::categoryLabel(), Categories ); mCustomCounter = mTypeMap.count(); @@ -140,4 +141,6 @@ CSVImportDialog::CSVImportDialog( KABC::AddressBook *ab, QWidget *parent, connect( mComboLine, SIGNAL( activated( const QString& ) ), this, SLOT( lineSelected( const QString& ) ) ); + connect( mComboCodec, SIGNAL( activated( const QString& ) ), + this, SLOT( codecChanged( const QString& ) ) ); connect( mComboQuote, SIGNAL( activated( const QString& ) ), this, SLOT( textquoteSelected( const QString& ) ) ); @@ -250,7 +253,13 @@ KABC::AddresseeList CSVImportDialog::contacts() const break; case Note: - a.setNote( value ); + if ( a.note().isEmpty() ) + a.setNote( value ); + else { + a.setNote( a.note()+"\n"+value ); + } + break; + case Categories: + a.insertCategory( value ); break; - case HomePhone: if ( !value.isEmpty() ) { @@ -386,5 +395,5 @@ void CSVImportDialog::initGUI() hbox->addWidget( mUrlRequester ); - layout->addMultiCellLayout( hbox, 0, 0, 0, 1 ); + layout->addMultiCellLayout( hbox, 0, 0, 0, 2 ); // Delimiter: comma, semicolon, tab, space, other @@ -395,5 +404,5 @@ void CSVImportDialog::initGUI() QGridLayout *delimiterLayout = new QGridLayout( mDelimiterBox->layout() ); delimiterLayout->setAlignment( Qt::AlignTop ); - layout->addMultiCellWidget( mDelimiterBox, 1, 1, 0, 1 ); + layout->addMultiCellWidget( mDelimiterBox, 1, 1, 0, 2 ); mRadioComma = new QRadioButton( i18n( "Comma" ), mDelimiterBox ); @@ -425,5 +434,9 @@ void CSVImportDialog::initGUI() mComboQuote->insertItem( i18n( "None" ), 2 ); layout->addWidget( mComboQuote, 3, 0 ); - + mComboCodec = new QComboBox( false, page ); + mComboCodec->insertItem( i18n( "UTF8" ), 0 ); + mComboCodec->insertItem( i18n( "LATIN1" ), 1 ); + mComboCodec->insertItem( i18n( "LOCALE" ), 2 ); + layout->addWidget( mComboCodec, 3, 2 ); label = new QLabel( i18n( "Start at line:" ), page ); layout->addWidget( label, 2, 1 ); @@ -431,13 +444,15 @@ void CSVImportDialog::initGUI() label = new QLabel( i18n( "Textquote:" ), page ); layout->addWidget( label, 2, 0 ); + label = new QLabel( i18n( "Codec:" ), page ); + layout->addWidget( label, 2, 2 ); mIgnoreDuplicates = new QCheckBox( page ); mIgnoreDuplicates->setText( i18n( "Ignore duplicate delimiters" ) ); - layout->addMultiCellWidget( mIgnoreDuplicates, 4, 4, 0, 1 ); + layout->addMultiCellWidget( mIgnoreDuplicates, 4, 4, 0, 2 ); mTable = new QTable( 0, 0, page ); mTable->setSelectionMode( QTable::NoSelection ); //mTable->horizontalHeader()->hide(); - layout->addMultiCellWidget( mTable, 5, 5, 0, 1 ); + layout->addMultiCellWidget( mTable, 5, 5, 0, 2 ); /*US setButtonText( User1, i18n( "Apply Template" ) ); @@ -451,5 +466,5 @@ void CSVImportDialog::initGUI() #ifdef DESKTOP_VERSION - resize( 500, 300 ); + resize( 640, 480 ); #else showMaximized(); @@ -484,8 +499,21 @@ void CSVImportDialog::fillTable() row = column = 1; - mData = QString( mFileArray ); + if ( mComboCodec->currentItem () == 0 ) { + mData = QString::fromUtf8( mFileArray.data() ); + } else if ( mComboCodec->currentItem () == 1 ) { + mData = QString::fromLatin1( mFileArray.data() ); + } else { + mData = QString::fromLocal8Bit( mFileArray.data() ); + } QTextStream inputStream( mData, IO_ReadOnly ); - inputStream.setEncoding( QTextStream::Locale ); + + if ( mComboCodec->currentItem () == 0 ) { + inputStream.setEncoding( QTextStream::UnicodeUTF8 ); + } else if ( mComboCodec->currentItem () == 1 ) { + inputStream.setEncoding( QTextStream::Latin1 ); + } else { + inputStream.setEncoding( QTextStream::Locale ); + } int maxColumn = 0; @@ -609,7 +637,12 @@ void CSVImportDialog::fillTable() //US begin QStringList keys; + uint iii = 0, count = mTypeMap.count(); + while ( iii < count ) { + keys << "dummy"; + ++iii; + } QMap<QString, uint>::ConstIterator it; for ( it = mTypeMap.begin(); it != mTypeMap.end(); ++it) - keys << it.key(); + keys[( it.data() )] = it.key(); //US end @@ -683,4 +716,8 @@ void CSVImportDialog::textChanged ( const QString& ) delimiterClicked( 4 ); // other } +void CSVImportDialog::codecChanged ( const QString& ) +{ + fillTable(); +} void CSVImportDialog::delimiterClicked( int id ) @@ -755,5 +792,5 @@ void CSVImportDialog::applyTemplate() for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { - qDebug("for "); + //US KSimpleConfig config( *it, true ); KConfig config( *it ); @@ -766,10 +803,10 @@ void CSVImportDialog::applyTemplate() fileMap.insert( config.readEntry( "Name" ), *it ); } - qDebug("weiter "); + // let the user chose, what to take bool ok = false; QString tmp; tmp = QInputDialog::getItem( i18n( "Template Selection" ), - i18n( "Please select a template, that matches the CSV file." ), + i18n( "Please select a template\nthat matches the CSV file." ), templates, 0, false, &ok, this ); @@ -821,5 +858,5 @@ void CSVImportDialog::saveTemplate() return; - if ( !fileName.contains( ".desktop" ) ) + if ( !fileName.contains( ".desktop" ) ) fileName += ".desktop"; @@ -861,4 +898,6 @@ QString CSVImportDialog::getText( int row, int col ) uint CSVImportDialog::posToType( int pos ) const { + return pos; +#if 0 uint counter = 0; QMap<QString, uint>::ConstIterator it; @@ -868,8 +907,11 @@ uint CSVImportDialog::posToType( int pos ) const return 0; +#endif } int CSVImportDialog::typeToPos( uint type ) const { + return type; +#if 0 uint counter = 0; QMap<QString, uint>::ConstIterator it; @@ -879,4 +921,5 @@ int CSVImportDialog::typeToPos( uint type ) const return -1; +#endif } diff --git a/kaddressbook/xxport/csvimportdialog.h b/kaddressbook/xxport/csvimportdialog.h index 545b5f9..5f55ab2 100644 --- a/kaddressbook/xxport/csvimportdialog.h +++ b/kaddressbook/xxport/csvimportdialog.h @@ -69,4 +69,5 @@ class CSVImportDialog : public KDialogBase void setFile( const QString& ); void urlChanged( const QString& ); + void codecChanged ( const QString& ); void applyTemplate(); @@ -82,5 +83,5 @@ class CSVImportDialog : public KDialogBase BusinessAddressLabel, HomePhone, BusinessPhone, MobilePhone, HomeFax, BusinessFax, CarPhone, - Isdn, Pager, Email, Mailer, Title, Role, Organization, Note, URL + Isdn, Pager, Email, Mailer, Title, Role, Organization, Note, URL, Categories }; @@ -95,4 +96,5 @@ class CSVImportDialog : public KDialogBase QComboBox* mComboLine; QComboBox* mComboQuote; + QComboBox* mComboCodec; QCheckBox* mIgnoreDuplicates; KURLRequester* mUrlRequester; diff --git a/microkde/kfiledialog.cpp b/microkde/kfiledialog.cpp index 3f47425..6be1580 100644 --- a/microkde/kfiledialog.cpp +++ b/microkde/kfiledialog.cpp @@ -27,5 +27,8 @@ QString KFileDialog::getSaveFileName( const QString & fn, // o.setNameVisible( true ); dia.showMaximized(); - dia.setCaption( cap ); + if ( cap.isEmpty() ) + dia.setCaption( file ); + else + dia.setCaption( cap ); int res = dia.exec(); if ( res ) diff --git a/microkde/kio/kfile/kurlrequester.cpp b/microkde/kio/kfile/kurlrequester.cpp index 6d39308..991c8be 100644 --- a/microkde/kio/kfile/kurlrequester.cpp +++ b/microkde/kio/kfile/kurlrequester.cpp @@ -273,5 +273,5 @@ void KURLRequester::slotOpenDialog() //QString fn = u.url(); QString fn = d->edit->text(); - fn = KFileDialog::getSaveFileName( fn, "Save backup filename", this ); + fn = KFileDialog::getSaveFileName( fn, "", this ); if ( fn == "" ) |