diff options
author | markd <markd> | 2005-12-11 11:40:02 +0000 |
---|---|---|
committer | markd <markd> | 2005-12-11 11:40:02 +0000 |
commit | 83497628c81aca70f4bf94ed64fa737d75abedd8 (patch) | |
tree | 6c36a05f8cdcd800a650655984b9041f1b769c9e /misc/kdepim3/patches | |
parent | 1aa8dca6d29913dbf773a5134fe56cbf5ee8ad1a (diff) | |
download | pkgsrc-83497628c81aca70f4bf94ed64fa737d75abedd8.tar.gz |
Update to KDE 3.5
Many new features and refinements.
Notable changes include:
* Konqueror is the second web browser to pass the Acid2 CSS test,
ahead of Firefox and Internet Explorer
* Konqueror can also now free web pages from adverts with its
ad-block feature
* SuperKaramba is included in KDE, providing well-integrated and
easy-to-install widgets for the user's desktop
* Kopete has support for MSN and Yahoo! webcams
* The edutainment module has three new applications (KGeography,
Kanagram and blinKen), and has seen huge improvements in Kalzium
Diffstat (limited to 'misc/kdepim3/patches')
-rw-r--r-- | misc/kdepim3/patches/patch-ac | 55 | ||||
-rw-r--r-- | misc/kdepim3/patches/patch-ad | 34 | ||||
-rw-r--r-- | misc/kdepim3/patches/patch-ae | 59 | ||||
-rw-r--r-- | misc/kdepim3/patches/patch-af | 35 | ||||
-rw-r--r-- | misc/kdepim3/patches/patch-ag | 18 | ||||
-rw-r--r-- | misc/kdepim3/patches/patch-ah | 12 |
6 files changed, 213 insertions, 0 deletions
diff --git a/misc/kdepim3/patches/patch-ac b/misc/kdepim3/patches/patch-ac new file mode 100644 index 00000000000..b1176598953 --- /dev/null +++ b/misc/kdepim3/patches/patch-ac @@ -0,0 +1,55 @@ +$NetBSD: patch-ac,v 1.9 2005/12/11 11:40:02 markd Exp $ + +--- kmail/actionscheduler.cpp.orig 2005-09-10 20:24:02.000000000 +1200 ++++ kmail/actionscheduler.cpp +@@ -570,7 +570,7 @@ void ActionScheduler::filterMessage() + (!mAccount || + (mAccount && (*mFilterIt).applyOnAccount(mAccountId)))) || + ((mSet & KMFilterMgr::Explicit) && (*mFilterIt).applyOnExplicit())) { +- ++ + // filter is applicable + if ( FilterLog::instance()->isLogging() ) { + QString logText( i18n( "<b>Evaluating filter rules:</b> " ) ); +@@ -646,8 +646,11 @@ void ActionScheduler::moveMessage() + if (!orgMsg || !orgMsg->parent()) { + // Original message is gone, no point filtering it anymore + mSrcFolder->removeMsg( mSrcFolder->find( msg ) ); ++ kdDebug(5006) << "The original serial number is missing. " ++ << "Cannot complete the filtering." << endl; + mExecutingLock = false; + processMessageTimer->start( 0, true ); ++ return; + } else { + if (!folder) // no filter folder specified leave in current place + folder = orgMsg->parent(); +@@ -659,7 +662,7 @@ void ActionScheduler::moveMessage() + mSrcFolder->addMsg( msg ); + mIgnore = false; + +- if (msg && kmkernel->folderIsTrash( folder )) ++ if (msg && folder && kmkernel->folderIsTrash( folder )) + KMFilterAction::sendMDN( msg, KMime::MDN::Deleted ); + + timeOutTime = QTime::currentTime(); +@@ -722,8 +725,6 @@ void ActionScheduler::moveMessageFinishe + + void ActionScheduler::copyMessageFinished( KMCommand *command ) + { +- // FIXME remove the debug output +- kdDebug(5006) << "##### ActionScheduler::copyMessageFinished( KMCommand *command )" << endl; + if ( command->result() != KMCommand::OK ) + actionMessage( KMFilterAction::ErrorButGoOn ); + else +@@ -803,4 +804,11 @@ bool ActionScheduler::isEnabled() + return sEnabled; + } + ++bool ActionScheduler::ignoreChanges( bool ignore ) ++{ ++ bool oldValue = mIgnore; ++ mIgnore = ignore; ++ return oldValue; ++} ++ + #include "actionscheduler.moc" diff --git a/misc/kdepim3/patches/patch-ad b/misc/kdepim3/patches/patch-ad new file mode 100644 index 00000000000..a320d6c8370 --- /dev/null +++ b/misc/kdepim3/patches/patch-ad @@ -0,0 +1,34 @@ +$NetBSD: patch-ad,v 1.7 2005/12/11 11:40:02 markd Exp $ + +--- kmail/actionscheduler.h.orig 2005-09-10 20:24:02.000000000 +1200 ++++ kmail/actionscheduler.h +@@ -77,10 +77,10 @@ public: + of messages left to process is empty */ + void setFilterList( QValueList<KMFilter*> filters ); + +- /* Set the id of the account associated with this scheduler */ ++ /** Set the id of the account associated with this scheduler */ + void setAccountId( uint id ) { mAccountId = id; mAccount = true; } + +- /* Clear the id of the account associated with this scheduler */ ++ /** Clear the id of the account associated with this scheduler */ + void clearAccountId() { mAccountId = 0; mAccount = false; } + + /** Queue a message for filtering */ +@@ -88,9 +88,16 @@ public: + void execFilters(const QPtrList<KMMsgBase> msgList); + void execFilters(KMMsgBase* msgBase); + void execFilters(Q_UINT32 serNum); ++ + static QString debug(); + static bool isEnabled(); + ++ /** Allow or deny manipulations on the message to be filtered. ++ This is needed when using pipe-through filters, because the ++ changes made by the filter have to be written back. ++ The old value before applying the new value is returned. */ ++ bool ignoreChanges( bool ignore ); ++ + signals: + /** Emitted when filtering is completed */ + void result(ReturnCode); diff --git a/misc/kdepim3/patches/patch-ae b/misc/kdepim3/patches/patch-ae new file mode 100644 index 00000000000..addda33b815 --- /dev/null +++ b/misc/kdepim3/patches/patch-ae @@ -0,0 +1,59 @@ +$NetBSD: patch-ae,v 1.7 2005/12/11 11:40:02 markd Exp $ + +--- kmail/kmcommands.cpp.orig 2005-10-11 04:02:11.000000000 +1300 ++++ kmail/kmcommands.cpp +@@ -1496,30 +1496,30 @@ KMMetaFilterActionCommand::KMMetaFilterA + + void KMMetaFilterActionCommand::start() + { +-#if 0 // use action scheduler +- KMFilterMgr::FilterSet set = KMFilterMgr::All; +- QPtrList<KMFilter> filters; +- filters.append( mFilter ); +- ActionScheduler *scheduler = new ActionScheduler( set, filters, mHeaders ); +- scheduler->setAlwaysMatch( true ); +- scheduler->setAutoDestruct( true ); +- +- int contentX, contentY; +- HeaderItem *nextItem = mHeaders->prepareMove( &contentX, &contentY ); +- QPtrList<KMMsgBase> msgList = *mHeaders->selectedMsgs(true); +- mHeaders->finalizeMove( nextItem, contentX, contentY ); +- +- +- for (KMMsgBase *msg = msgList.first(); msg; msg = msgList.next()) +- scheduler->execFilters( msg ); +-#else +- KMCommand *filterCommand = new KMFilterActionCommand( mMainWidget, +- *mHeaders->selectedMsgs(), mFilter); +- filterCommand->start(); +- int contentX, contentY; +- HeaderItem *item = mHeaders->prepareMove( &contentX, &contentY ); +- mHeaders->finalizeMove( item, contentX, contentY ); +-#endif ++ if (ActionScheduler::isEnabled() ) { ++ // use action scheduler ++ KMFilterMgr::FilterSet set = KMFilterMgr::All; ++ QValueList<KMFilter*> filters; ++ filters.append( mFilter ); ++ ActionScheduler *scheduler = new ActionScheduler( set, filters, mHeaders ); ++ scheduler->setAlwaysMatch( true ); ++ scheduler->setAutoDestruct( true ); ++ ++ int contentX, contentY; ++ HeaderItem *nextItem = mHeaders->prepareMove( &contentX, &contentY ); ++ QPtrList<KMMsgBase> msgList = *mHeaders->selectedMsgs(true); ++ mHeaders->finalizeMove( nextItem, contentX, contentY ); ++ ++ for (KMMsgBase *msg = msgList.first(); msg; msg = msgList.next()) ++ scheduler->execFilters( msg ); ++ } else { ++ KMCommand *filterCommand = new KMFilterActionCommand( mMainWidget, ++ *mHeaders->selectedMsgs(), mFilter); ++ filterCommand->start(); ++ int contentX, contentY; ++ HeaderItem *item = mHeaders->prepareMove( &contentX, &contentY ); ++ mHeaders->finalizeMove( item, contentX, contentY ); ++ } + } + + FolderShortcutCommand::FolderShortcutCommand( KMMainWidget *mainwidget, diff --git a/misc/kdepim3/patches/patch-af b/misc/kdepim3/patches/patch-af new file mode 100644 index 00000000000..4845355805c --- /dev/null +++ b/misc/kdepim3/patches/patch-af @@ -0,0 +1,35 @@ +$NetBSD: patch-af,v 1.3 2005/12/11 11:40:02 markd Exp $ + +--- kmail/kmfilteraction.cpp.orig 2005-09-10 20:24:02.000000000 +1200 ++++ kmail/kmfilteraction.cpp +@@ -1617,6 +1617,9 @@ class PipeJob : public KPIM::ThreadWeave + FILE *p; + QByteArray ba; + ++ // backup the serial number in case the header gets lost ++ QString origSerNum = mMsg->headerField( "X-KMail-Filtered" ); ++ + p = popen(QFile::encodeName(mCmd), "r"); + int len =100; + char buffer[100]; +@@ -1630,7 +1633,20 @@ class PipeJob : public KPIM::ThreadWeave + pclose(p); + if ( !ba.isEmpty() ) { + KPIM::ThreadWeaver::debug (1, "PipeJob::run: %s", QString(ba).latin1() ); ++ KMFolder *filterFolder = mMsg->parent(); ++ ActionScheduler *handler = MessageProperty::filterHandler( mMsg->getMsgSerNum() ); ++ + mMsg->fromByteArray( ba ); ++ if ( !origSerNum.isEmpty() ) ++ mMsg->setHeaderField( "X-KMail-Filtered", origSerNum ); ++ if ( filterFolder && handler ) { ++ bool oldStatus = handler->ignoreChanges( true ); ++ filterFolder->take( filterFolder->find( mMsg ) ); ++ filterFolder->addMsg( mMsg ); ++ handler->ignoreChanges( oldStatus ); ++ } else { ++ kdDebug(5006) << "Warning: Cannot refresh the message from the external filter." << endl; ++ } + } + + KPIM::ThreadWeaver::debug (1, "PipeJob::run: done.\n" ); diff --git a/misc/kdepim3/patches/patch-ag b/misc/kdepim3/patches/patch-ag new file mode 100644 index 00000000000..0858d5412a0 --- /dev/null +++ b/misc/kdepim3/patches/patch-ag @@ -0,0 +1,18 @@ +$NetBSD: patch-ag,v 1.3 2005/12/11 11:40:02 markd Exp $ + +--- kmail/kmkernel.cpp.orig 2005-11-09 11:33:29.000000000 +1300 ++++ kmail/kmkernel.cpp +@@ -1432,11 +1432,11 @@ void KMKernel::init() + the_msgIndex = 0; + #endif + +-#if 0 ++//#if 0 + the_weaver = new KPIM::ThreadWeaver::Weaver( this ); + the_weaverLogger = new KPIM::ThreadWeaver::WeaverThreadLogger(this); + the_weaverLogger->attach (the_weaver); +-#endif ++//#endif + + connect( the_folderMgr, SIGNAL( folderRemoved(KMFolder*) ), + this, SIGNAL( folderRemoved(KMFolder*) ) ); diff --git a/misc/kdepim3/patches/patch-ah b/misc/kdepim3/patches/patch-ah new file mode 100644 index 00000000000..2bfa6a6db65 --- /dev/null +++ b/misc/kdepim3/patches/patch-ah @@ -0,0 +1,12 @@ +$NetBSD: patch-ah,v 1.4 2005/12/11 11:40:02 markd Exp $ + +--- kmail/kmversion.h.orig 2005-11-09 11:33:29.000000000 +1300 ++++ kmail/kmversion.h +@@ -3,6 +3,6 @@ + #ifndef kmversion_h + #define kmversion_h + +-#define KMAIL_VERSION "1.9" ++#define KMAIL_VERSION "1.9.1" + + #endif /*kmversion_h*/ |