summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt2
-rw-r--r--kabc/vcardparser/vcard.cpp2
-rw-r--r--kabc/vcardparser/vcardline.cpp12
-rw-r--r--kabc/vcardparser/vcardline.h7
-rw-r--r--kabc/vcardparser/vcardparser.cpp8
-rw-r--r--kabc/vcardparser/vcardtool.cpp86
-rw-r--r--kaddressbook/views/cardview.cpp9
7 files changed, 66 insertions, 60 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index bc0c62a..97c8154 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -7,2 +7,4 @@ Added two more fields to the KA/Pi view config:
A "Mobile (home)" and a "Mobile (work)" field.
+Fixed utf8 import (e.g. for Japaneese text) in KA/Pi.
+
diff --git a/kabc/vcardparser/vcard.cpp b/kabc/vcardparser/vcard.cpp
index 24fd498..bc9f208 100644
--- a/kabc/vcardparser/vcard.cpp
+++ b/kabc/vcardparser/vcard.cpp
@@ -113,3 +113,3 @@ VCard::Version VCard::version() const
VCardLine line = ( *versionEntry )[ 0 ];
- if ( line.value() == "2.1" )
+ if ( line.valueString() == "2.1" )
return v2_1;
diff --git a/kabc/vcardparser/vcardline.cpp b/kabc/vcardparser/vcardline.cpp
index 0972a35..8df2d32 100644
--- a/kabc/vcardparser/vcardline.cpp
+++ b/kabc/vcardparser/vcardline.cpp
@@ -84,3 +84,7 @@ QString VCardLine::identifier() const
-void VCardLine::setValue( const QString& value )
+void VCardLine::setValueString( const QString& value )
+{
+ setValueCString( value.utf8() );
+}
+void VCardLine::setValueCString( const QCString& value )
{
@@ -89,3 +93,3 @@ void VCardLine::setValue( const QString& value )
-void VCardLine::setValue( const QByteArray& value )
+void VCardLine::setValueBytes( const QByteArray& value )
{
@@ -94,5 +98,5 @@ void VCardLine::setValue( const QByteArray& value )
-QVariant VCardLine::value() const
+QString VCardLine::valueString() const
{
- return QVariant( QCString( mValue.data(), mValue.size()+1 ) );
+ return QString::fromUtf8( mValue.data(), mValue.size() );
}
diff --git a/kabc/vcardparser/vcardline.h b/kabc/vcardparser/vcardline.h
index 6e74b38..8dc9322 100644
--- a/kabc/vcardparser/vcardline.h
+++ b/kabc/vcardparser/vcardline.h
@@ -60,4 +60,5 @@ class VCardLine
*/
- void setValue( const QString& value );
- void setValue( const QByteArray& value );
+ void setValueString( const QString& value );
+ void setValueCString( const QCString& value );
+ void setValueBytes( const QByteArray& value );
@@ -66,3 +67,3 @@ class VCardLine
*/
- QVariant value() const;
+ QString valueString() const;
QByteArray valueBytes() const;
diff --git a/kabc/vcardparser/vcardparser.cpp b/kabc/vcardparser/vcardparser.cpp
index 7fae011..11622a0 100644
--- a/kabc/vcardparser/vcardparser.cpp
+++ b/kabc/vcardparser/vcardparser.cpp
@@ -128,3 +128,3 @@ VCard::List VCardParser::parseVCards( const QString& text )
// } else
- vCardLine.setValue( output );
+ vCardLine.setValueBytes( output );
//PP our vcards are *supposed* to be in UTF-8
@@ -133,3 +133,3 @@ VCard::List VCardParser::parseVCards( const QString& text )
} else
- vCardLine.setValue( value.replace( QRegExp("\\\\n"), "\n" ) );
+ vCardLine.setValueString( value.replace( QRegExp("\\\\n"), "\n" ) );
@@ -190,3 +190,3 @@ QString VCardParser::createVCards( const VCard::List& list )
for ( lineIt = lines.begin(); lineIt != lines.end(); ++lineIt ) {
- if ( !(*lineIt).value().asString().isEmpty() ) {
+ if ( !(*lineIt).valueString().isEmpty() ) {
if ( (*lineIt).hasGroup() )
@@ -223,3 +223,3 @@ QString VCardParser::createVCards( const VCard::List& list )
} else
- textLine.append( ":" + (*lineIt).value().asString().replace( QRegExp("\n"), "\\n" ) );
+ textLine.append( ":" + (*lineIt).valueString().replace( QRegExp("\n"), "\\n" ) );
diff --git a/kabc/vcardparser/vcardtool.cpp b/kabc/vcardparser/vcardtool.cpp
index 0cf72c0..c3d92b6 100644
--- a/kabc/vcardparser/vcardtool.cpp
+++ b/kabc/vcardparser/vcardtool.cpp
@@ -369,3 +369,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
Address address;
- const QStringList addrParts = splitString( semicolonSep, (*lineIt).value().asString() );
+ const QStringList addrParts = splitString( semicolonSep, (*lineIt).valueString() );
if ( addrParts.count() > 0 )
@@ -401,3 +401,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "bday" )
- addr.setBirthday( parseDateTime( (*lineIt).value().asString() ) );
+ addr.setBirthday( parseDateTime( (*lineIt).valueString() ) );
@@ -405,3 +405,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "categories" ) {
- const QStringList categories = splitString( commaSep, (*lineIt).value().asString() );
+ const QStringList categories = splitString( commaSep, (*lineIt).valueString() );
addr.setCategories( categories );
@@ -416,3 +416,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
const QStringList types = (*lineIt).parameters( "type" );
- addr.insertEmail( (*lineIt).value().asString(), types.findIndex( "PREF" ) != -1 );
+ addr.insertEmail( (*lineIt).valueString(), types.findIndex( "PREF" ) != -1 );
}
@@ -421,3 +421,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "fn" )
- addr.setFormattedName( (*lineIt).value().asString() );
+ addr.setFormattedName( (*lineIt).valueString() );
@@ -427,3 +427,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
- const QStringList geoParts = QStringList::split( ';', (*lineIt).value().asString(), true );
+ const QStringList geoParts = QStringList::split( ';', (*lineIt).valueString(), true );
geo.setLatitude( geoParts[ 0 ].toFloat() );
@@ -451,3 +451,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
if ( (*it).type() == type ) {
- (*it).setLabel( (*lineIt).value().asString() );
+ (*it).setLabel( (*lineIt).valueString() );
addr.insertAddress( *it );
@@ -460,3 +460,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
KABC::Address address( type );
- address.setLabel( (*lineIt).value().asString() );
+ address.setLabel( (*lineIt).valueString() );
addr.insertAddress( address );
@@ -471,3 +471,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "mailer" )
- addr.setMailer( (*lineIt).value().asString() );
+ addr.setMailer( (*lineIt).valueString() );
@@ -475,3 +475,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "n" ) {
- const QStringList nameParts = splitString( semicolonSep, (*lineIt).value().asString() );
+ const QStringList nameParts = splitString( semicolonSep, (*lineIt).valueString() );
if ( nameParts.count() > 0 )
@@ -490,3 +490,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "name" )
- addr.setName( (*lineIt).value().asString() );
+ addr.setName( (*lineIt).valueString() );
@@ -494,3 +494,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "nickname" )
- addr.setNickName( (*lineIt).value().asString() );
+ addr.setNickName( (*lineIt).valueString() );
@@ -498,3 +498,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "note" )
- addr.setNote( (*lineIt).value().asString() );
+ addr.setNote( (*lineIt).valueString() );
@@ -502,3 +502,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "org" )
- addr.setOrganization( (*lineIt).value().asString() );
+ addr.setOrganization( (*lineIt).valueString() );
@@ -510,3 +510,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "prodid" )
- addr.setProductId( (*lineIt).value().asString() );
+ addr.setProductId( (*lineIt).valueString() );
@@ -514,3 +514,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "rev" )
- addr.setRevision( parseDateTime( (*lineIt).value().asString() ) );
+ addr.setRevision( parseDateTime( (*lineIt).valueString() ) );
@@ -518,3 +518,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "role" )
- addr.setRole( (*lineIt).value().asString() );
+ addr.setRole( (*lineIt).valueString() );
@@ -522,3 +522,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "sort-string" )
- addr.setSortString( (*lineIt).value().asString() );
+ addr.setSortString( (*lineIt).valueString() );
@@ -531,3 +531,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
PhoneNumber phone;
- phone.setNumber( (*lineIt).value().asString() );
+ phone.setNumber( (*lineIt).valueString() );
@@ -546,3 +546,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "title" )
- addr.setTitle( (*lineIt).value().asString() );
+ addr.setTitle( (*lineIt).valueString() );
@@ -551,3 +551,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
TimeZone tz;
- const QString date = (*lineIt).value().asString();
+ const QString date = (*lineIt).valueString();
@@ -564,3 +564,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "uid" )
- addr.setUid( (*lineIt).value().asString() );
+ addr.setUid( (*lineIt).valueString() );
@@ -568,3 +568,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
else if ( identifier == "url" )
- addr.setUrl( KURL( (*lineIt).value().asString() ) );
+ addr.setUrl( KURL( (*lineIt).valueString() ) );
@@ -574,3 +574,3 @@ Addressee::List VCardTool::parseVCards( const QString& vcard )
int dash = key.find( "-" );
- addr.insertCustom( key.left( dash ), key.mid( dash + 1 ), (*lineIt).value().asString() );
+ addr.insertCustom( key.left( dash ), key.mid( dash + 1 ), (*lineIt).valueString() );
}
@@ -638,3 +638,3 @@ Picture VCardTool::parsePicture( const VCardLine &line )
if ( line.parameter( "value" ).lower() == "uri" )
- pic.setUrl( line.value().asString() );
+ pic.setUrl( line.valueString() );
}
@@ -657,3 +657,3 @@ VCardLine VCardTool::createPicture( const QString &identifier, const Picture &pi
s << pic.data();
- line.setValue( input );
+ line.setValueBytes( input );
line.addParameter( "encoding", "b" );
@@ -663,3 +663,3 @@ VCardLine VCardTool::createPicture( const QString &identifier, const Picture &pi
QByteArray ba;
- line.setValue( pic.url() );
+ line.setValueString( pic.url() );
line.addParameter( "value", "URI" );
@@ -679,3 +679,3 @@ Sound VCardTool::parseSound( const VCardLine &line )
if ( line.parameter( "value" ).lower() == "uri" )
- snd.setUrl( line.value().asString() );
+ snd.setUrl( line.valueString() );
}
@@ -696,3 +696,3 @@ VCardLine VCardTool::createSound( const Sound &snd )
if ( !snd.data().isEmpty() ) {
- line.setValue( snd.data() );
+ line.setValueBytes( snd.data() );
line.addParameter( "encoding", "b" );
@@ -701,3 +701,3 @@ VCardLine VCardTool::createSound( const Sound &snd )
} else if ( !snd.url().isEmpty() ) {
- line.setValue( snd.url() );
+ line.setValueString( snd.url() );
line.addParameter( "value", "URI" );
@@ -716,3 +716,3 @@ Key VCardTool::parseKey( const VCardLine &line )
else
- key.setTextData( line.value().asString() );
+ key.setTextData( line.valueString() );
@@ -738,3 +738,3 @@ VCardLine VCardTool::createKey( const Key &key )
if ( !key.binaryData().isEmpty() ) {
- line.setValue( key.binaryData() );
+ line.setValueBytes( key.binaryData() );
line.addParameter( "encoding", "b" );
@@ -742,3 +742,3 @@ VCardLine VCardTool::createKey( const Key &key )
} else if ( !key.textData().isEmpty() )
- line.setValue( key.textData() );
+ line.setValueString( key.textData() );
@@ -758,7 +758,7 @@ Secrecy VCardTool::parseSecrecy( const VCardLine &line )
- if ( line.value().asString().lower() == "public" )
+ if ( line.valueString().lower() == "public" )
secrecy.setType( Secrecy::Public );
- if ( line.value().asString().lower() == "private" )
+ if ( line.valueString().lower() == "private" )
secrecy.setType( Secrecy::Private );
- if ( line.value().asString().lower() == "confidential" )
+ if ( line.valueString().lower() == "confidential" )
secrecy.setType( Secrecy::Confidential );
@@ -775,7 +775,7 @@ VCardLine VCardTool::createSecrecy( const Secrecy &secrecy )
if ( type == Secrecy::Public )
- line.setValue( "PUBLIC" );
+ line.setValueString( "PUBLIC" );
else if ( type == Secrecy::Private )
- line.setValue( "PRIVATE" );
+ line.setValueString( "PRIVATE" );
else if ( type == Secrecy::Confidential )
- line.setValue( "CONFIDENTIAL" );
+ line.setValueString( "CONFIDENTIAL" );
@@ -791,5 +791,5 @@ Agent VCardTool::parseAgent( const VCardLine &line )
if ( line.parameter( "value" ).lower() == "uri" )
- agent.setUrl( line.value().asString() );
+ agent.setUrl( line.valueString() );
} else {
- QString str = line.value().asString();
+ QString str = line.valueString();
str.replace( QRegExp("\\\\n"), "\r\n" );
@@ -825,6 +825,6 @@ VCardLine VCardTool::createAgent( VCard::Version version, const Agent &agent )
str.replace( QRegExp(","), "\\," );
- line.setValue( str );
+ line.setValueString( str );
}
} else if ( !agent.url().isEmpty() ) {
- line.setValue( agent.url() );
+ line.setValueString( agent.url() );
line.addParameter( "value", "URI" );
diff --git a/kaddressbook/views/cardview.cpp b/kaddressbook/views/cardview.cpp
index 84d3116..b6e053f 100644
--- a/kaddressbook/views/cardview.cpp
+++ b/kaddressbook/views/cardview.cpp
@@ -938,4 +938,3 @@ void CardView::drawContents(QPainter *p, int clipx, int clipy,
{
- QScrollView::drawContents(p, clipx, clipy, clipw, cliph);
-
+ //QScrollView::drawContents(p, clipx, clipy, clipw, cliph);
if (d->mLayoutDirty)
@@ -947,3 +946,4 @@ void CardView::drawContents(QPainter *p, int clipx, int clipy,
QColorGroup cg = viewport()->palette().active(); // allow setting costum colors in the viewport pale
-
+ int cX, cY;
+ contentsToViewport ( clipx, clipy, cX, cY );
QRect clipRect(clipx, clipy, clipw, cliph);
@@ -953,5 +953,4 @@ void CardView::drawContents(QPainter *p, int clipx, int clipy,
CardViewSeparator *sep;
-
// make sure the viewport is a pure background
- viewport()->erase(clipRect);
+ viewport()->erase( QRect ( cX, cY , clipw, cliph ) );