summaryrefslogtreecommitdiff
path: root/misc/kdepim3/patches
diff options
context:
space:
mode:
authormarkd <markd>2005-12-11 11:40:02 +0000
committermarkd <markd>2005-12-11 11:40:02 +0000
commit83497628c81aca70f4bf94ed64fa737d75abedd8 (patch)
tree6c36a05f8cdcd800a650655984b9041f1b769c9e /misc/kdepim3/patches
parent1aa8dca6d29913dbf773a5134fe56cbf5ee8ad1a (diff)
downloadpkgsrc-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-ac55
-rw-r--r--misc/kdepim3/patches/patch-ad34
-rw-r--r--misc/kdepim3/patches/patch-ae59
-rw-r--r--misc/kdepim3/patches/patch-af35
-rw-r--r--misc/kdepim3/patches/patch-ag18
-rw-r--r--misc/kdepim3/patches/patch-ah12
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*/