packages: kde4-kdepim/kde4-kdepim-branch.diff, kde4-kdepim/kde4-kdepim.spec...

arekm arekm at pld-linux.org
Sun Sep 13 21:30:06 CEST 2009


Author: arekm                        Date: Sun Sep 13 19:30:06 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 3; branch diff updated

---- Files affected:
packages/kde4-kdepim:
   kde4-kdepim-branch.diff (1.13 -> 1.14) , kde4-kdepim.spec (1.110 -> 1.111) 

---- Diffs:

================================================================
Index: packages/kde4-kdepim/kde4-kdepim-branch.diff
diff -u packages/kde4-kdepim/kde4-kdepim-branch.diff:1.13 packages/kde4-kdepim/kde4-kdepim-branch.diff:1.14
--- packages/kde4-kdepim/kde4-kdepim-branch.diff:1.13	Sat Sep  5 15:27:15 2009
+++ packages/kde4-kdepim/kde4-kdepim-branch.diff	Sun Sep 13 21:30:01 2009
@@ -1,7 +1,55 @@
+Index: akregator/plugins/mk4storage/akregator_mk4storage_plugin.desktop
+===================================================================
+--- akregator/plugins/mk4storage/akregator_mk4storage_plugin.desktop	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ akregator/plugins/mk4storage/akregator_mk4storage_plugin.desktop	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -18,7 +18,7 @@
+ Name[fr]=Stockage avec Metakit
+ Name[fy]=Metakit-opslachefterein
+ Name[ga]=Inneall stórála Metakit
+-Name[gl]=Manexador do almacenador Metakit
++Name[gl]=Infraestrutura do almacenador Metakit
+ Name[hu]=Metakit tároló
+ Name[is]=Metakit geymslu bakendi
+ Name[it]=Backend archiviazione metakit
+Index: akregator/configuration/akregator_config_browser.desktop
+===================================================================
+--- akregator/configuration/akregator_config_browser.desktop	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ akregator/configuration/akregator_config_browser.desktop	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -56,7 +56,7 @@
+ Comment[es]=Configurar el componente navegador interno
+ Comment[et]=Sisemise sirvimiskomponendi seadistamine
+ Comment[fr]=Configurer le navigateur web interne
+-Comment[gl]=Configurar o componente navegador interno
++Comment[gl]=Configurar o compoñente do navegador interno
+ Comment[hu]=A belső böngészőkomponens beállítása
+ Comment[it]=Configura il componente interno di navigazione internet
+ Comment[ja]=内部ブラウザコンポーネントの設定
+Index: libkleo/libkleopatrarc.desktop
+===================================================================
+--- libkleo/libkleopatrarc.desktop	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ libkleo/libkleopatrarc.desktop	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -185,7 +185,7 @@
+ Name[fi]=Luotettu juurivarmenne
+ Name[fr]=Certificat racine de confiance
+ Name[fy]=Fertroude haadsertifikaat
+-Name[gl]=Certificado raiz autentificado
++Name[gl]=Certificado raíz autenticado
+ Name[hu]=Megbízható gyökértanúsítvány
+ Name[is]=Treyst rótarskilríki
+ Name[it]=Certificato radice affidabile
+@@ -243,7 +243,7 @@
+ Name[fi]=Ei-luotettu juurivarmenne
+ Name[fr]=Certificat racine non fiable
+ Name[fy]=Net fertroude haadsertifikaat
+-Name[gl]=Certificado raiz non autentificado
++Name[gl]=Certificado raíz non autenticado
+ Name[hu]=Nem megbízható gyökértanúsítvány
+ Name[is]=Ekki traust rótarskilríki
+ Name[it]=Certificato radice non affidabile
 Index: kresources/slox/kcal_slox.desktop
 ===================================================================
---- kresources/slox/kcal_slox.desktop	(.../tags/KDE/4.3.1/kdepim)	(wersja 1020187)
-+++ kresources/slox/kcal_slox.desktop	(.../branches/KDE/4.3/kdepim)	(wersja 1020187)
+--- kresources/slox/kcal_slox.desktop	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kresources/slox/kcal_slox.desktop	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
 @@ -38,7 +38,7 @@
  Name[pa]=SUSE LINUX Openexchange ਸਰਵਰ
  Name[pl]=Serwer SUSE LINUX Openexchange
@@ -13,8 +61,8 @@
  Name[sv]=SUSE Linux Openexchange-server
 Index: kresources/slox/kabc_slox.desktop
 ===================================================================
---- kresources/slox/kabc_slox.desktop	(.../tags/KDE/4.3.1/kdepim)	(wersja 1020187)
-+++ kresources/slox/kabc_slox.desktop	(.../branches/KDE/4.3/kdepim)	(wersja 1020187)
+--- kresources/slox/kabc_slox.desktop	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kresources/slox/kabc_slox.desktop	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
 @@ -38,7 +38,7 @@
  Name[pa]=SUSE LINUX Openexchange ਸਰਵਰ
  Name[pl]=Serwer SUSE LINUX Openexchange
@@ -24,10 +72,96 @@
  Name[ru]=Сервер SUSE LINUX Openexchange
  Name[sl]=Strežnik SUSE LINUX Openexchange
  Name[sv]=SUSE Linux Openexchange-server
+Index: kmail/kmail.antispamrc
+===================================================================
+--- kmail/kmail.antispamrc	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/kmail.antispamrc	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -56,13 +56,13 @@
+ Version=1
+ Priority=30
+ VisibleName=Annoyance-Filter
+-Executable=$HOME/.annoyance-filter/annoyance-filter --version
++Executable=PATH=$HOME/.annoyance-filter:${PATH} annoyance-filter --version
+ URL=http://www.fourmilab.ch/annoyance-filter
+ PipeFilterName=Annoyance-Filter Check
+-PipeCmdDetect=$HOME/.annoyance-filter/annoyance-filter --fread $HOME/.annoyance-filter/FastDict.bin --phrasemin 1 --phrasemax 2 --transcript - --test -
++PipeCmdDetect=PATH=$HOME/.annoyance-filter:${PATH} annoyance-filter --fread $HOME/.annoyance-filter/FastDict.bin --phrasemin 1 --phrasemax 2 --transcript - --test -
+ PipeCmdNoSpam=
+-ExecCmdSpam=$HOME/.annoyance-filter/annoyance-filter --read $HOME/.annoyance-filter/Dict.bin --phrasemin 1 --phrasemax 2 --junk - --prune --write $HOME/.annoyance-filter/Dict.bin --fwrite $HOME/.annoyance-filter/FastDict.bin
+-ExecCmdHam=$HOME/.annoyance-filter/annoyance-filter --read $HOME/.annoyance-filter/Dict.bin --phrasemin 1 --phrasemax 2 --mail - --prune --write $HOME/.annoyance-filter/Dict.bin --fwrite $HOME/.annoyance-filter/FastDict.bin
++ExecCmdSpam=PATH=$HOME/.annoyance-filter:${PATH} annoyance-filter --read $HOME/.annoyance-filter/Dict.bin --phrasemin 1 --phrasemax 2 --junk - --prune --write $HOME/.annoyance-filter/Dict.bin --fwrite $HOME/.annoyance-filter/FastDict.bin
++ExecCmdHam=PATH=$HOME/.annoyance-filter:${PATH} annoyance-filter --read $HOME/.annoyance-filter/Dict.bin --phrasemin 1 --phrasemax 2 --mail - --prune --write $HOME/.annoyance-filter/Dict.bin --fwrite $HOME/.annoyance-filter/FastDict.bin
+ DetectionHeader=X-Annoyance-Filter-Classification
+ DetectionPattern=Junk
+ DetectionPattern2=
+Index: kmail/kmailicalifaceimpl.cpp
+===================================================================
+--- kmail/kmailicalifaceimpl.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/kmailicalifaceimpl.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -1712,6 +1712,21 @@
+   }
+ }
+ 
++// Builds a folder list from the dimap and the local folder list.
++static void createFolderList( QStringList &folderNames, QList<QPointer<KMFolder> > &folderList )
++{
++  QStringList dimapFolderNames;
++  QStringList localFolderNames;
++  QList<QPointer<KMFolder> > dimapFolderList;
++  QList<QPointer<KMFolder> > localFolderList;
++  kmkernel->dimapFolderMgr()->createFolderList( &dimapFolderNames, &dimapFolderList );
++  kmkernel->folderMgr()->createFolderList( &localFolderNames, &localFolderList );
++  folderNames += dimapFolderNames;
++  folderNames += localFolderNames;
++  folderList += dimapFolderList;
++  folderList += localFolderList;
++}
++
+ /****************************
+  * The config stuff
+  */
+@@ -1882,9 +1897,6 @@
+     if ( mNotes->folderType() == KMFolderTypeCachedImap )
+       static_cast<KMFolderCachedImap *>( mNotes->storage() )->updateAnnotationFolderType();
+ 
+-    // BEGIN TILL TODO The below only uses the dimap folder manager, which
+-    // will fail for all other folder types. Adjust.
+-
+     kDebug() << "mCalendar=" << mCalendar << mCalendar->location();
+     kDebug() << "mContacts=" << mContacts << mContacts->location();
+     kDebug() << "mNotes=" << mNotes << mNotes->location();
+@@ -1892,13 +1904,15 @@
+     // Find all extra folders
+     QStringList folderNames;
+     QList<QPointer<KMFolder> > folderList;
+-    kmkernel->dimapFolderMgr()->createFolderList(&folderNames, &folderList);
++    createFolderList( folderNames, folderList );
+     for(QList<QPointer<KMFolder> >::iterator it = folderList.begin();
+         it != folderList.end(); ++it)
+     {
+-      KMFolderCachedImap* storage = dynamic_cast<KMFolderCachedImap*>( (*it)->storage() );
++      FolderStorage *storage = (*it)->storage();
++      KMFolderCachedImap* dimapStorage = dynamic_cast<KMFolderCachedImap*>( storage );
+       if ( storage && storage->contentsType() != 0 ) {
+-        storage->updateAnnotationFolderType();
++        if ( dimapStorage )
++          dimapStorage->updateAnnotationFolderType();
+         folderContentsTypeChanged( *it, storage->contentsType() );
+       }
+     }
+@@ -1916,8 +1930,6 @@
+     if ( mExtraFolders.contains( mNotes->location() ) )
+       delete mExtraFolders.take( mNotes->location() );
+ 
+-    // END TILL TODO
+-
+     emit subresourceAdded( folderContentsType( KMail::ContentsTypeCalendar ),
+                            mCalendar->location(), mCalendar->label(), true, true );
+     emit subresourceAdded( folderContentsType( KMail::ContentsTypeTask ),
 Index: kmail/messagelistview/core/model.cpp
 ===================================================================
---- kmail/messagelistview/core/model.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1020187)
-+++ kmail/messagelistview/core/model.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1020187)
+--- kmail/messagelistview/core/model.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/messagelistview/core/model.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
 @@ -60,6 +60,7 @@
  #include <QScrollBar>
  
@@ -36,7 +170,17 @@
  #include <KGlobal>
  #include <KDebug>
  #include <kcursorsaver.h>
-@@ -1182,34 +1183,6 @@
+@@ -309,7 +310,8 @@
+ void Model::setAggregation( const Aggregation * aggregation )
+ {
+   mAggregation = aggregation;
+-  mView->setRootIsDecorated( mAggregation->grouping() == Aggregation::NoGrouping );
++  mView->setRootIsDecorated( ( mAggregation->grouping() == Aggregation::NoGrouping ) &&
++                             ( mAggregation->threading() != Aggregation::NoThreading ) );
+ }
+ 
+ void Model::setTheme( const Theme * theme )
+@@ -1182,34 +1184,6 @@
    }
  }
  
@@ -71,7 +215,7 @@
  void Model::attachMessageToGroupHeader( MessageItem *mi )
  {
    QString groupLabel;
-@@ -1265,24 +1238,12 @@
+@@ -1265,24 +1239,12 @@
          if ( dateWeekNumber == todayWeekNumber )
          {
            // within this week
@@ -99,7 +243,7 @@
        }
  
      }
-@@ -1335,7 +1296,7 @@
+@@ -1335,7 +1297,7 @@
          if ( dateWeekNumber == todayWeekNumber )
          {
            // within this week
@@ -108,7 +252,7 @@
          } else {
            // previous weeks
            int weekDiff = todayWeekNumber - dateWeekNumber;
-@@ -1364,10 +1325,12 @@
+@@ -1364,10 +1326,12 @@
          )
          {
            // group by months, this year (so no year appended)
@@ -123,36 +267,610 @@
          }
        }
      }
+Index: kmail/kmpopfiltercnfrmdlg.cpp
+===================================================================
+--- kmail/kmpopfiltercnfrmdlg.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/kmpopfiltercnfrmdlg.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -55,9 +55,6 @@
+               << i18nc("@title:column", "Sender") << i18nc("@title:column", "Receiver")
+               << i18nc("@title:column", "Date") << i18nc("@title:column", "Size");
+   QTreeWidgetItem *headerItem = new QTreeWidgetItem( headerNames );
+-  headerItem->setTextAlignment( 0, Qt::AlignHCenter );
+-  headerItem->setTextAlignment( 1, Qt::AlignHCenter );
+-  headerItem->setTextAlignment( 2, Qt::AlignHCenter );
+   headerItem->setTextAlignment( 7, Qt::AlignRight );
+   headerItem->setToolTip( 0, i18nc("@action:button", "Download all messages now") );
+   headerItem->setToolTip( 1, i18nc("@action:button", "Download all messages later") );
+@@ -76,9 +73,9 @@
+   //    Disable it for now.
+   //header()->setResizeMode( 3, QHeaderView::Stretch );
+   header()->setStretchLastSection( false );
+-  setColumnWidth( 0, 22 );    // Download Now icon
+-  setColumnWidth( 1, 22 );    // Download Later icon
+-  setColumnWidth( 2, 22 );    // Delete icon
++  setColumnWidth( 0, IconSize( KIconLoader::Small ) + 6 );    // Download Now icon
++  setColumnWidth( 1, IconSize( KIconLoader::Small ) + 6 );    // Download Later icon
++  setColumnWidth( 2, IconSize( KIconLoader::Small ) + 6 );    // Delete icon
+   setColumnWidth( 3, 180 );   // Subject
+   setColumnWidth( 4, 140 );   // Sender
+   setColumnWidth( 5, 140);    // Receiver
+@@ -150,7 +147,8 @@
+   }
+ }
+ 
+-void KMPopHeadersView::slotRadioButtonClicked( QTreeWidgetItem* item, int column ) {
++void KMPopHeadersView::slotRadioButtonClicked( QTreeWidgetItem* item, int column )
++{
+   assert( item && column >= 0 && column < NoAction );
+   mDialog->setAction( item, mapToAction( column ) );
+ 
+Index: kmail/cachedimapjob.cpp
+===================================================================
+--- kmail/cachedimapjob.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/cachedimapjob.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -510,7 +510,7 @@
+         bool b = kmkernel->iCalIface().isResourceQuiet();
+         kmkernel->iCalIface().setResourceQuiet( true );
+ 
+-        mFolder->take( i );
++        mFolder->takeTemporarily( i );
+         mFolder->addMsgKeepUID( mMsg );
+         mMsg->setTransferInProgress( false );
+ 
+Index: kmail/kmlineeditspell.cpp
+===================================================================
+--- kmail/kmlineeditspell.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/kmlineeditspell.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -97,7 +97,7 @@
+   const QAction *result = menu.exec( QCursor::pos() );
+   if ( !result )
+     return;
+-  setText( contents + result->text() );
++  setText( contents + KGlobal::locale()->removeAcceleratorMarker( result->text() ) );
+ }
+ 
+ void KMLineEdit::dropEvent(QDropEvent *event)
+@@ -202,8 +202,13 @@
+       int idx = addCompletionSource( i18n( "Recent Addresses" ) );
+       for ( ; it != recent.end(); ++it ) {
+         KABC::Addressee addr;
+-        KPIMUtils::extractEmailAddressAndName(*it, email, name);
+-        addr.setNameFromString( KPIMUtils::quoteNameIfNecessary( name ));
++        KPIMUtils::extractEmailAddressAndName( *it, email, name );
++        name = KPIMUtils::quoteNameIfNecessary( name );
++        if ( ( name[0] == '"' ) && ( name[name.length() - 1] == '"' ) ) {
++          name.remove( 0, 1 );
++          name.truncate( name.length() - 1 );
++        }
++        addr.setNameFromString( name );
+         addr.insertEmail( email, true );
+         addContact( addr, 120, idx ); // more weight than kabc entries and more than ldap results
+       }
+Index: kmail/kmreaderwin.cpp
+===================================================================
+--- kmail/kmreaderwin.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/kmreaderwin.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -2489,13 +2489,13 @@
+ //-----------------------------------------------------------------------------
+ void KMReaderWin::slotScrollPrior()
+ {
+-  mViewer->view()->scrollBy( 0, -(int)(height() * 0.8 ) );
++  mViewer->view()->scrollBy( 0, -(int)(mViewer->widget()->height() * 0.8 ) );
+ }
+ 
+ //-----------------------------------------------------------------------------
+ void KMReaderWin::slotScrollNext()
+ {
+-  mViewer->view()->scrollBy( 0, (int)(height() * 0.8 ) );
++  mViewer->view()->scrollBy( 0, (int)(mViewer->widget()->height() * 0.8 ) );
+ }
+ 
+ //-----------------------------------------------------------------------------
+Index: kmail/kmmessage.cpp
+===================================================================
+--- kmail/kmmessage.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/kmmessage.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -3237,18 +3237,17 @@
+ }
+ 
+ //-----------------------------------------------------------------------------
+-void KMMessage::updateAttachmentState( DwBodyPart *part )
++void KMMessage::updateAttachmentState( DwBodyPart *partGiven )
+ {
++  DwEntity *part = partGiven;
++  DwBodyPart *firstPart = partGiven;
++
+   if ( !part ) {
+-    part = getFirstDwBodyPart();
++    part = firstPart = getFirstDwBodyPart();
+   }
+ 
+   if ( !part ) {
+-    // kDebug() <<"updateAttachmentState - no part!";
+-    if ( mStatus.hasAttachment() ) {
+-      toggleStatus( MessageStatus::statusHasAttachment() );
+-    }
+-    return;
++    part = mMsg;  // no part, use message itself
+   }
+ 
+   bool filenameEmpty = true;
+@@ -3294,8 +3293,8 @@
+   }
+ 
+   // next part
+-  if ( part->Next() ) {
+-    updateAttachmentState( part->Next() );
++  if ( firstPart && firstPart->Next() ) {
++    updateAttachmentState( firstPart->Next() );
+   } else if ( attachmentState() == KMMsgAttachmentUnknown &&
+               mStatus.hasAttachment() ) {
+     toggleStatus( MessageStatus::statusHasAttachment() );
+Index: kmail/messageactions.cpp
+===================================================================
+--- kmail/messageactions.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/messageactions.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -149,28 +149,29 @@
+   mForwardActionMenu  = new KActionMenu(KIcon("mail-forward"), i18nc("Message->","&Forward"), this);
+   mActionCollection->addAction("message_forward", mForwardActionMenu );
+ 
+-  mForwardAttachedAction  = new KAction(KIcon("mail-forward"), i18nc("Message->Forward->","As &Attachment..."), this);
+-  mActionCollection->addAction("message_forward_as_attachment", mForwardAttachedAction );
+-  mForwardAttachedAction->setShortcut(QKeySequence(Qt::Key_F));
+-  connect( mForwardAttachedAction, SIGNAL(triggered(bool) ),
+-           parent, SLOT(slotForwardAttachedMsg()) );
++  mForwardAttachedAction = new KAction( KIcon("mail-forward"),
++                                        i18nc( "@action:inmenu Message->Forward->",
++                                               "As &Attachment..." ),
++                                        this );
++  connect( mForwardAttachedAction, SIGNAL( triggered( bool ) ),
++           parent, SLOT( slotForwardAttachedMsg() ) );
++  mActionCollection->addAction( "message_forward_as_attachment", mForwardAttachedAction );
+ 
+-  mForwardInlineAction  = new KAction( KIcon( "mail-forward" ),
++  mForwardInlineAction = new KAction( KIcon( "mail-forward" ),
+                                        i18nc( "@action:inmenu Message->Forward->",
+                                               "&Inline..." ),
+                                        this );
++  connect( mForwardInlineAction, SIGNAL( triggered( bool ) ),
++           parent, SLOT( slotForwardInlineMsg() ) );
+   mActionCollection->addAction( "message_forward_inline", mForwardInlineAction );
+-  mForwardInlineAction->setShortcut( QKeySequence( Qt::SHIFT + Qt::Key_F ) );
+-  connect( mForwardInlineAction, SIGNAL(triggered(bool) ),
+-           parent, SLOT(slotForwardInlineMsg()) );
+ 
+   setupForwardActions();
+ 
+-  mRedirectAction  = new KAction(i18nc("Message->Forward->", "&Redirect..."), this);
+-  mActionCollection->addAction("message_forward_redirect", mRedirectAction );
+-  connect( mRedirectAction, SIGNAL(triggered(bool)),
+-           parent, SLOT(slotRedirectMsg()));
+-  mRedirectAction->setShortcut(QKeySequence(Qt::Key_E));
++  mRedirectAction  = new KAction(i18nc("Message->Forward->", "&Redirect..."), this );
++  mActionCollection->addAction( "message_forward_redirect", mRedirectAction );
++  connect( mRedirectAction, SIGNAL( triggered( bool ) ),
++           parent, SLOT( slotRedirectMsg() ) );
++  mRedirectAction->setShortcut( QKeySequence( Qt::Key_E ) );
+   mForwardActionMenu->addAction( mRedirectAction );
+ 
+   updateActions();
+@@ -269,18 +270,18 @@
+ 
+ void MessageActions::setupForwardingActionsList( KXMLGUIClient *guiClient )
+ {
+-  QList<QAction*> mForwardActionList;
++  QList<QAction*> forwardActionList;
+   guiClient->unplugActionList( "forward_action_list" );
+   if ( GlobalSettings::self()->forwardingInlineByDefault() ) {
+-    mForwardActionList.append( mForwardInlineAction );
+-    mForwardActionList.append( mForwardAttachedAction );
++    forwardActionList.append( mForwardInlineAction );
++    forwardActionList.append( mForwardAttachedAction );
+   }
+   else {
+-    mForwardActionList.append( mForwardAttachedAction );
+-    mForwardActionList.append( mForwardInlineAction );
++    forwardActionList.append( mForwardAttachedAction );
++    forwardActionList.append( mForwardInlineAction );
+   }
+-  mForwardActionList.append( mRedirectAction );
+-  guiClient->plugActionList( "forward_action_list", mForwardActionList );
++  forwardActionList.append( mRedirectAction );
++  guiClient->plugActionList( "forward_action_list", forwardActionList );
+ }
+ 
+ 
+Index: kmail/kmaccount.cpp
+===================================================================
+--- kmail/kmaccount.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/kmaccount.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -395,7 +395,6 @@
+           SLOT(precommandExited(bool)));
+ 
+   kDebug() << "Running precommand" << precommand;
+-  mPrecommandEventLoop = new QEventLoop();
+   if ( !precommandProcess.start() )
+     return false;
+ 
+@@ -403,9 +402,10 @@
+   // the precommand is running (which may take a while).
+   // The exec call will block until the event loop is exited, which happens in
+   // precommandExited().
+-  if ( mPrecommandEventLoop ) { // yes it can be 0 due to races with precommandProcess.start()
+-    mPrecommandEventLoop->exec();
+-  }
++  mPrecommandEventLoop = new QEventLoop();
++  mPrecommandEventLoop->exec();
++  delete mPrecommandEventLoop;
++  mPrecommandEventLoop = 0;
+ 
+   return mPrecommandSuccess;
+ }
+@@ -413,18 +413,12 @@
+ //-----------------------------------------------------------------------------
+ void KMAccount::precommandExited(bool success)
+ {
+-  Q_ASSERT( mPrecommandEventLoop != 0 );
+   mPrecommandSuccess = success;
+-
+-  // Exit and delete the event loop. This makes sure the execution continues
+-  // in runPrecommand(), where the event loop was entered.
+-  mPrecommandEventLoop->exit();
+-
+-  // Use deleteLater, because we are called inside of this very eventloop
+-  mPrecommandEventLoop->deleteLater();
+-  mPrecommandEventLoop = 0;
++  if ( mPrecommandEventLoop )  // don't crash when kmail exits while mPrecommandEventLoop runs
++    mPrecommandEventLoop->exit();
+ }
+ 
++//-----------------------------------------------------------------------------
+ void KMAccount::slotIdentitiesChanged()
+ {
+   // Fall back to the default identity if the one used currently is invalid
 Index: kmail/kmcommands.cpp
 ===================================================================
---- kmail/kmcommands.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1020187)
-+++ kmail/kmcommands.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1020187)
-@@ -2441,6 +2441,10 @@
-       s = node->msgPart().name().trimmed().replace( ':', '_' );
+--- kmail/kmcommands.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/kmcommands.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -767,11 +767,16 @@
+   return OK;
+ }
+ 
+-static KUrl subjectToUrl( const QString &subject ) {
++static KUrl subjectToUrl( const QString &subject )
++{
++  QString fileName = KMCommand::cleanFileName( subject.trimmed() );
+ 
+-  return KFileDialog::getSaveUrl( KUrl::fromPath( subject.trimmed()
+-                                  .replace( QDir::separator(), '_' ) ),
+-                                  "*.mbox" );
++  // avoid stripping off the last part of the subject after a "."
++  // by KFileDialog, which thinks it's an extension
++  if ( !fileName.endsWith( ".mbox" ) )
++    fileName += ".mbox";
++
++  return KFileDialog::getSaveUrl( KUrl::fromPath( fileName ), "*.mbox" );
+ }
+ 
+ KMSaveMsgCommand::KMSaveMsgCommand( QWidget *parent, KMMessage *msg )
+@@ -2434,13 +2439,14 @@
+   else {
+     // only one item, get the desired filename
+     partNode *node = mAttachmentMap.begin().key();
+-    // replace all ':' with '_' because ':' isn't allowed on FAT volumes
+-    QString s =
+-      node->msgPart().fileName().trimmed().replace( ':', '_' );
++    QString s = node->msgPart().fileName().trimmed();
+     if ( s.isEmpty() )
+-      s = node->msgPart().name().trimmed().replace( ':', '_' );
++      s = node->msgPart().name().trimmed();
      if ( s.isEmpty() )
        s = i18nc("filename for an unnamed attachment", "attachment.1");
-+    else {  // better not use a dir-delimiter in a filename
-+      s = s.replace( '/', '_' );
-+      s = s.replace( '\\', '_' );
-+    }
++    else
++      s = cleanFileName( s );
++
      url = KFileDialog::getSaveUrl( KUrl( "kfiledialog:///saveAttachment/" + s ),
                                     QString(),
                                     parentWidget(),
-@@ -2474,6 +2478,10 @@
+@@ -2464,16 +2470,18 @@
+     KUrl curUrl;
+     if ( !dirUrl.isEmpty() ) {
+       curUrl = dirUrl;
+-      QString s =
+-        it.key()->msgPart().fileName().trimmed().replace( ':', '_' );
++      QString s = it.key()->msgPart().fileName().trimmed();
+       if ( s.isEmpty() )
+-        s = it.key()->msgPart().name().trimmed().replace( ':', '_' );
++        s = it.key()->msgPart().name().trimmed();
+       if ( s.isEmpty() ) {
+         ++unnamedAtmCount;
+         s = i18nc("filename for the %1-th unnamed attachment",
                   "attachment.%1",
                unnamedAtmCount );
        }
-+      else {  // better not use a dir-delimiter in a filename
-+        s = s.replace( '/', '_' );
-+        s = s.replace( '\\', '_' );
-+      }
++      else
++        s = cleanFileName( s );
++
        curUrl.setFileName( s );
      } else {
        curUrl = url;
+@@ -2541,6 +2549,18 @@
+   deleteLater();
+ }
+ 
++QString KMCommand::cleanFileName( const QString &name )
++{
++  QString fileName = name.trimmed();
++  // replace all ':' with '_' because ':' isn't allowed on FAT volumes
++  fileName.replace( ':', '_' );
++  // better not use a dir-delimiter in a filename
++  fileName.replace( '/', '_' );
++  fileName.replace( '\\', '_' );
++
++  return fileName;
++}
++
+ KMCommand::Result KMSaveAttachmentsCommand::saveItem( partNode *node,
+                                                       const KUrl& url )
+ {
+Index: kmail/kmfoldercachedimap.cpp
+===================================================================
+--- kmail/kmfoldercachedimap.cpp	(.../tags/KDE/4.3.1/kdepim)	(wersja 1023019)
++++ kmail/kmfoldercachedimap.cpp	(.../branches/KDE/4.3/kdepim)	(wersja 1023019)
+@@ -527,6 +527,11 @@
+   return KMFolderMaildir::take( idx );
+ }
+ 
++void KMFolderCachedImap::takeTemporarily( int idx )
++{
++  KMFolderMaildir::take( idx );
++}
++
+ int KMFolderCachedImap::addMsgInternal( KMMessage *msg, bool newMail, int *index_return )
+ {
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kde4-kdepim/kde4-kdepim-branch.diff?r1=1.13&r2=1.14&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kde4-kdepim/kde4-kdepim.spec?r1=1.110&r2=1.111&f=u



More information about the pld-cvs-commit mailing list