[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/3.5
From:       Bruno Virlet <bruno.virlet () gmail ! com>
Date:       2007-08-20 9:16:47
Message-ID: 1187601407.458115.7742.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 702252 by bvirlet:

Follow RFC concerning ORG property.

The patch will still read the old Department values if they exist but store them correctly.

BUG: 115129


 M  +8 -2      kdelibs/kabc/ldifconverter.cpp  
 M  +1 -0      kdelibs/kabc/scripts/entrylist  
 M  +13 -4     kdelibs/kabc/vcardtool.cpp  
 M  +6 -5      kdepim/kaddressbook/addresseeeditorwidget.cpp  
 M  +0 -2      kdepim/kaddressbook/kabcore.cpp  
 M  +1 -1      kdepim/kaddressbook/ldapsearchdialog.cpp  


--- branches/KDE/3.5/kdelibs/kabc/ldifconverter.cpp #702251:702252
@@ -141,7 +141,13 @@
   ldif_out( t, "o", addr.organization() );
   ldif_out( t, "organization", addr.organization() );
   ldif_out( t, "organizationname", addr.organization() );
-  ldif_out( t, "department", addr.custom("KADDRESSBOOK", "X-Department") );
+
+  // Compatibility with older kabc versions.
+  if ( addr.department().isEmpty() )
+    ldif_out( t, "department", addr.department() );
+  else
+    ldif_out( t, "department", addr.custom("KADDRESSBOOK", "X-Department") );
+
   ldif_out( t, "workurl", addr.url().prettyURL() );
   ldif_out( t, "homeurl", addr.url().prettyURL() );
   ldif_out( t, "description", addr.note() );
@@ -447,7 +453,7 @@
   }
 
   if ( fieldname == QString::fromLatin1( "department" ) ) {
-    a.insertCustom( "KADDRESSBOOK", "X-Department", value );
+    a.setDepartment( value );
     return true;
   }
 
--- branches/KDE/3.5/kdelibs/kabc/scripts/entrylist #702251:702252
@@ -63,6 +63,7 @@
 ALFE,title,person,QString,title,Organization
 ALFE,role,person in organization,QString,role,Organization
 ALFE,organization,,QString,organization,Organization
+ALFE,department,,QString,department,Organization
 
 ALFE,note,,QString,note
 
--- branches/KDE/3.5/kdelibs/kabc/vcardtool.cpp #702251:702252
@@ -242,8 +242,12 @@
     card.addLine( noteLine );
 
     // ORG
-    VCardLine orgLine( "ORG", (*addrIt).organization() );
-    if ( version == VCard::v2_1 && needsEncoding( (*addrIt).organization() ) ) {
+    QStringList organization;
+    organization.append( ( *addrIt ).organization().replace( ';', "\\;" ) );
+    if ( !( *addrIt ).department().isEmpty() )
+      organization.append( ( *addrIt ).department().replace( ';', "\\;" ) );
+    VCardLine orgLine( "ORG", organization.join( ";" ) );
+    if ( version == VCard::v2_1 && needsEncoding( organization.join( ";" ) ) ) {
       orgLine.addParameter( "charset", "UTF-8" );
       orgLine.addParameter( "encoding", "QUOTED-PRINTABLE" );
     }
@@ -506,8 +510,13 @@
           addr.setNote( (*lineIt).value().asString() );
 
         // ORGANIZATION
-        else if ( identifier == "org" )
-          addr.setOrganization( (*lineIt).value().asString() );
+        else if ( identifier == "org" ) {
+          const QStringList orgParts = splitString( semicolonSep, (*lineIt).value().asString() );
+          if ( orgParts.count() > 0 )
+            addr.setOrganization( orgParts[ 0 ] );
+          if ( orgParts.count() > 1 )
+            addr.setDepartment( orgParts[ 1 ] );
+        }
 
         // PHOTO
         else if ( identifier == "photo" )
--- branches/KDE/3.5/kdepim/kaddressbook/addresseeeditorwidget.cpp #702251:702252
@@ -529,6 +529,10 @@
 
   mRoleEdit->setText( mAddressee.role() );
   mOrgEdit->setText( mAddressee.organization() );
+  mDepartmentEdit->setText( mAddressee.department() );
+  // compatibility with older versions
+  if ( mAddressee.department().isEmpty() )
+    mDepartmentEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-Department" ) );
   mURLEdit->setURL( mAddressee.url() );
   mURLEdit->home( false );
   mBlogEdit->setURL( mAddressee.custom( "KADDRESSBOOK", "BlogFeed" ) );
@@ -551,7 +555,6 @@
   mSpouseEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ) );
   mManagerEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" ) );
   mAssistantEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" ) );
-  mDepartmentEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-Department" ) );
   mOfficeEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-Office" ) );
   mProfessionEdit->setText( mAddressee.custom( "KADDRESSBOOK", "X-Profession" ) );
   mTitleEdit->setText( mAddressee.title() );
@@ -572,6 +575,8 @@
 
   mAddressee.setRole( mRoleEdit->text() );
   mAddressee.setOrganization( mOrgEdit->text() );
+  mAddressee.setDepartment( mDepartmentEdit->text() );
+
   QString homepage = mURLEdit->text().stripWhiteSpace();
   if ( homepage.isEmpty() )
      mAddressee.setUrl( KURL() );
@@ -614,10 +619,6 @@
   else
     mAddressee.removeCustom( "KADDRESSBOOK", "X-AssistantsName" );
 
-  if ( !mDepartmentEdit->text().isEmpty() )
-    mAddressee.insertCustom( "KADDRESSBOOK", "X-Department", mDepartmentEdit->text() );
-  else
-    mAddressee.removeCustom( "KADDRESSBOOK", "X-Department" );
   if ( !mOfficeEdit->text().isEmpty() )
     mAddressee.insertCustom( "KADDRESSBOOK", "X-Office", mOfficeEdit->text() );
   else
--- branches/KDE/3.5/kdepim/kaddressbook/kabcore.cpp #702251:702252
@@ -111,8 +111,6 @@
   }
   mAddressBook->setErrorHandler( new KABC::GuiErrorHandler( mWidget ) );
 
-  mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization,
-                                "X-Department", "KADDRESSBOOK" );
   mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization,
                                 "X-Profession", "KADDRESSBOOK" );
   mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization,
--- branches/KDE/3.5/kdepim/kaddressbook/ldapsearchdialog.cpp #702251:702252
@@ -474,7 +474,7 @@
       if ( addr.organization().isEmpty() )
          addr.setOrganization( asUtf8( cli->mAttrs[ "Company" ].first() ) );
 
-      addr.insertCustom("KADDRESSBOOK", "X-Department", asUtf8( cli->mAttrs[ "department" ].first() ) );
+      addr.setDepartment( asUtf8( cli->mAttrs[ "department" ].first() ) );
 
       // Address
       KABC::Address workAddr( KABC::Address::Work );
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic