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