diff options
author | Carsten Lohrke <carlo@gentoo.org> | 2004-09-03 20:29:26 +0000 |
---|---|---|
committer | Carsten Lohrke <carlo@gentoo.org> | 2004-09-03 20:29:26 +0000 |
commit | fc7f7c5e8c554a34db65d50739571e32aa6cda9e (patch) | |
tree | 587f49994680ed40b265a17966cba1530ac79dea /kde-base | |
parent | Stable amd64, x86. (diff) | |
download | historical-fc7f7c5e8c554a34db65d50739571e32aa6cda9e.tar.gz historical-fc7f7c5e8c554a34db65d50739571e32aa6cda9e.tar.bz2 historical-fc7f7c5e8c554a34db65d50739571e32aa6cda9e.zip |
adjusted gpgme dependency, kmail spam-assistant patch
Diffstat (limited to 'kde-base')
-rw-r--r-- | kde-base/kdepim/ChangeLog | bin | 13148 -> 13352 bytes | |||
-rw-r--r-- | kde-base/kdepim/Manifest | 19 | ||||
-rw-r--r-- | kde-base/kdepim/files/digest-kdepim-3.3.0-r1 | 1 | ||||
-rw-r--r-- | kde-base/kdepim/files/kdepim-3.3.0-spam-assistant.patch | 617 | ||||
-rw-r--r-- | kde-base/kdepim/kdepim-3.3.0-r1.ebuild | 18 |
5 files changed, 647 insertions, 8 deletions
diff --git a/kde-base/kdepim/ChangeLog b/kde-base/kdepim/ChangeLog Binary files differindex 8bdd2885744b..995e73d7dddc 100644 --- a/kde-base/kdepim/ChangeLog +++ b/kde-base/kdepim/ChangeLog diff --git a/kde-base/kdepim/Manifest b/kde-base/kdepim/Manifest index e0c9f5420f61..0ba6410526c4 100644 --- a/kde-base/kdepim/Manifest +++ b/kde-base/kdepim/Manifest @@ -1,19 +1,22 @@ -MD5 19fe6bb0488b29cf0ce3ac3fbe16cd9b ChangeLog 13148 -MD5 20ad9e465bdba8ac154491af0bfce253 kdepim-3.1.5.ebuild 788 MD5 b94e9822234ab9cd1985465fc2c3cde0 kdepim-3.2.0-r2.ebuild 817 -MD5 f0398e0b633090bd83c16d3fb71c4378 kdepim-3.2.1.ebuild 843 -MD5 9b804c502e4f3943f9321f8e1455675d kdepim-3.2.2.ebuild 763 +MD5 20ad9e465bdba8ac154491af0bfce253 kdepim-3.1.5.ebuild 788 MD5 2bd08076067fdbc1cda3cddffb65faee kdepim-3.2.3.ebuild 753 -MD5 12e7aff5d2d743340e14fb119eec3d19 kdepim-3.3.0.ebuild 571 MD5 d2c30ca6c81a82a987adf7269b936505 kdepim-3.3.0_rc2.ebuild 555 +MD5 9b804c502e4f3943f9321f8e1455675d kdepim-3.2.2.ebuild 763 +MD5 12e7aff5d2d743340e14fb119eec3d19 kdepim-3.3.0.ebuild 571 +MD5 8db7a0fc825b84db4ff586a3128f9f5d kdepim-3.3.0-r1.ebuild 560 +MD5 fd55685002fb2830ca8aa540d2127bed ChangeLog 13352 MD5 14889ab75f97d76e58b0c1154e7683a9 metadata.xml 161 -MD5 bf481282b9583a3e4095dcdef1aee22c files/KMail-inboxEater-BRANCH.diff 1619 +MD5 f0398e0b633090bd83c16d3fb71c4378 kdepim-3.2.1.ebuild 843 +MD5 4eeb577118c8fce3af1c295c0b2ec0c3 files/kdepim-3.3.0-spam-assistant.patch 23551 MD5 0658e29c8e0fa024884f165bf129e8e9 files/digest-kdepim-3.1.5 66 -MD5 bafdafa3d2488fa1168ccbb4a981dd87 files/digest-kdepim-3.2.0-r2 66 MD5 af91bc84a08ead68b8cc99511ff098ab files/digest-kdepim-3.2.1 66 MD5 037cd03c8e7281aec672e6e44c15e7e6 files/digest-kdepim-3.2.2 66 MD5 318e6b50444a5837fed2a5ea9ecc57e9 files/digest-kdepim-3.2.3 66 MD5 b23510fd22323447768b483104d208b0 files/digest-kdepim-3.3.0 66 +MD5 bf481282b9583a3e4095dcdef1aee22c files/KMail-inboxEater-BRANCH.diff 1619 +MD5 6f3f2b21eacb5869a9cbb821ffcf48a6 files/kpilot-parallel-make-fix.patch 737 MD5 2f4f8596cf39e2af8261007490516cc4 files/digest-kdepim-3.3.0_rc2 70 +MD5 bafdafa3d2488fa1168ccbb4a981dd87 files/digest-kdepim-3.2.0-r2 66 +MD5 b23510fd22323447768b483104d208b0 files/digest-kdepim-3.3.0-r1 66 MD5 ee45bc53826f95bcf3a3367db4d3845e files/kmfilter.cpp.patch 1528 -MD5 6f3f2b21eacb5869a9cbb821ffcf48a6 files/kpilot-parallel-make-fix.patch 737 diff --git a/kde-base/kdepim/files/digest-kdepim-3.3.0-r1 b/kde-base/kdepim/files/digest-kdepim-3.3.0-r1 new file mode 100644 index 000000000000..55b963d55eeb --- /dev/null +++ b/kde-base/kdepim/files/digest-kdepim-3.3.0-r1 @@ -0,0 +1 @@ +MD5 94520aeae0db2fac5da7d1ece7b575a5 kdepim-3.3.0.tar.bz2 9951726 diff --git a/kde-base/kdepim/files/kdepim-3.3.0-spam-assistant.patch b/kde-base/kdepim/files/kdepim-3.3.0-spam-assistant.patch new file mode 100644 index 000000000000..d0afe4287795 --- /dev/null +++ b/kde-base/kdepim/files/kdepim-3.3.0-spam-assistant.patch @@ -0,0 +1,617 @@ +diff -ru kmail/antispamwizard.cpp /home/carsten/a/antispamwizard.cpp +--- kmail/antispamwizard.cpp 2004-08-05 21:26:52.000000000 +0200 ++++ /home/carsten/a/antispamwizard.cpp 2004-09-03 13:58:25.000000000 +0200 +@@ -141,6 +141,7 @@ + << mVirusRulesPage->selectedFolderName() << endl; + + KMFilterActionDict dict; ++ QPtrList<KMFilter> filterList; + + // Let's start with virus detection and handling, + // so we can avoid spam checks for viral messages +@@ -168,7 +169,7 @@ + pipeFilter->setStopProcessingHere( FALSE ); + pipeFilter->setConfigureShortcut( FALSE ); + +- KMKernel::self()->filterMgr()->appendFilter( pipeFilter ); ++ filterList.append( pipeFilter ); + } + } + +@@ -213,7 +214,7 @@ + virusFilter->setStopProcessingHere( TRUE ); + virusFilter->setConfigureShortcut( FALSE ); + +- KMKernel::self()->filterMgr()->appendFilter( virusFilter ); ++ filterList.append( virusFilter ); + } + } + else { // AntiSpam mode +@@ -240,7 +241,7 @@ + pipeFilter->setStopProcessingHere( FALSE ); + pipeFilter->setConfigureShortcut( FALSE ); + +- KMKernel::self()->filterMgr()->appendFilter( pipeFilter ); ++ filterList.append( pipeFilter ); + } + } + +@@ -288,7 +289,7 @@ + spamFilter->setStopProcessingHere( TRUE ); + spamFilter->setConfigureShortcut( FALSE ); + +- KMKernel::self()->filterMgr()->appendFilter( spamFilter ); ++ filterList.append( spamFilter ); + } + + if ( mSpamRulesPage->classifyRulesSelected() ) +@@ -323,7 +324,8 @@ + classSpamFilter->setApplyOnExplicit( FALSE ); + classSpamFilter->setStopProcessingHere( TRUE ); + classSpamFilter->setConfigureShortcut( TRUE ); +- KMKernel::self()->filterMgr()->appendFilter( classSpamFilter ); ++ classSpamFilter->setConfigureToolbar( TRUE ); ++ filterList.append( classSpamFilter ); + + // Classify messages manually as not Spam / as Ham + KMFilter* classHamFilter = new KMFilter(); +@@ -350,92 +352,15 @@ + classHamFilter->setApplyOnExplicit( FALSE ); + classHamFilter->setStopProcessingHere( TRUE ); + classHamFilter->setConfigureShortcut( TRUE ); +- KMKernel::self()->filterMgr()->appendFilter( classHamFilter ); ++ classHamFilter->setConfigureToolbar( TRUE ); ++ filterList.append( classHamFilter ); + +- // add the classification filter actions to the toolbar +- QString filterNameSpam = +- QString( "Filter %1" ).arg( classSpamFilterPattern->name() ); +- filterNameSpam = filterNameSpam.replace( " ", "_" ); +- QString filterNameHam = +- QString( "Filter %1" ).arg( classHamFilterPattern->name() ); +- filterNameHam = filterNameHam.replace( " ", "_" ); +- +- // FIXME post KDE 3.2 +- // The following code manipulates the kmmainwin.rc file directly. Usuallay +- // one would expect to let the toolbar write back it's change from above +- // i.e. the new structure including the two added actions. +- // In KDE 3.2 there is no API for that so I only fund the way to read in +- // the XML file myself, to change it and write it out then. +- // As soon as an API is available, the following part can certainly get +- // replaced by one or two statements. +- // (a.gungl@gmx.de) +- +- // make the toolbar changes persistent - let's be very conservative here +- QString config = +- KXMLGUIFactory::readConfigFile( "kmmainwin.rc", KMKernel::self()->xmlGuiInstance() ); +-#ifndef NDEBUG +- kdDebug(5006) << "Read kmmainwin.rc contents (last 1000 chars printed):" << endl; +- kdDebug(5006) << config.right( 1000 ) << endl; +- kdDebug(5006) << "#####################################################" << endl; +-#endif +- QDomDocument domDoc; +- domDoc.setContent( config ); +- QDomNodeList domNodeList = domDoc.elementsByTagName( "ToolBar" ); +- if ( domNodeList.count() > 0 ) +- kdDebug(5006) << "ToolBar section found." << endl; +- else +- kdDebug(5006) << "No ToolBar section found." << endl; +- for ( unsigned int i = 0; i < domNodeList.count(); i++ ) +- { +- QDomNode domNode = domNodeList.item( i ); +- QDomNamedNodeMap nodeMap = domNode.attributes(); +- kdDebug(5006) << "name=" << nodeMap.namedItem( "name" ).nodeValue() << endl; +- if ( nodeMap.namedItem( "name" ).nodeValue() == "mainToolBar" ) +- { +- kdDebug(5006) << "mainToolBar section found." << endl; +- bool spamActionFound = false; +- bool hamActionFound = false; +- QDomNodeList domNodeChildList = domNode.childNodes(); +- for ( unsigned int j = 0; j < domNodeChildList.count(); j++ ) +- { +- QDomNode innerDomNode = domNodeChildList.item( j ); +- QDomNamedNodeMap innerNodeMap = innerDomNode.attributes(); +- if ( innerNodeMap.namedItem( "name" ).nodeValue() == filterNameSpam ) +- spamActionFound = true; +- if ( innerNodeMap.namedItem( "name" ).nodeValue() == filterNameHam ) +- hamActionFound = true; +- } +- +- // append the new actions if not yet existing +- if ( !spamActionFound ) +- { +- QDomElement domElemSpam = domDoc.createElement( "Action" ); +- domElemSpam.setAttribute( "name", filterNameSpam ); +- domNode.appendChild( domElemSpam ); +- kdDebug(5006) << "Spam action added to toolbar." << endl; +- } +- if ( !hamActionFound ) +- { +- QDomElement domElemHam = domDoc.createElement( "Action" ); +- domElemHam.setAttribute( "name", filterNameHam ); +- domNode.appendChild( domElemHam ); +- kdDebug(5006) << "Ham action added to toolbar." << endl; +- } +- if ( !spamActionFound || !hamActionFound ) +- { +-#ifndef NDEBUG +- kdDebug(5006) << "New kmmainwin.rc structur (last 1000 chars printed):" << endl; +- kdDebug(5006) << domDoc.toString().right( 1000 ) << endl; +- kdDebug(5006) << "####################################################" << endl; +-#endif +- // write back the modified resource file +- KXMLGUIFactory::saveConfigFile( domDoc, "kmmainwin.rc", +- KMKernel::self()->xmlGuiInstance() ); +- } +- } +- else +- kdDebug(5006) << "No mainToolBar section found." << endl; +- } ++ /* Now that all the filters have been added to the list, tell ++ * the filter manager about it. That will emit filterListUpdate ++ * which will result in the filter list in kmmainwidget being ++ * initialized. This should happend only once. */ ++ KMKernel::self()->filterMgr()->appendFilters( filterList ); ++ + } + } + +diff -ru kmail/kmail_part.cpp /home/carsten/a/kmail_part.cpp +--- kmail/kmail_part.cpp 2004-08-05 21:26:53.000000000 +0200 ++++ /home/carsten/a/kmail_part.cpp 2004-09-03 13:58:38.000000000 +0200 +@@ -58,7 +58,7 @@ + + KMailPart::KMailPart(QWidget *parentWidget, const char *widgetName, + QObject *parent, const char *name, const QStringList &) : +- DCOPObject("KMailIface"), KParts::ReadOnlyPart(parent, name), ++ DCOPObject("KMailIface"), KPIM::Part(parent, name), + mParentWidget( parentWidget ) + { + kdDebug(5006) << "KMailPart()" << endl; +@@ -94,6 +94,8 @@ + kmsetSignalHandler(kmsignalHandler); + kapp->dcopClient()->resume(); // Ok. We are ready for DCOP requests. + ++ connect( kmailKernel, SIGNAL( showMailCalled() ), SIGNAL( raise() ) ); ++ + // create a canvas to insert our widget + QWidget *canvas = new QWidget(parentWidget, widgetName); + canvas->setFocusPolicy(QWidget::ClickFocus); +@@ -118,7 +120,8 @@ + setXMLFile( "kmmainwin.rc" ); + kmkernel->inboxFolder()->close(); + #else +- mainWidget = new KMMainWidget( canvas, "mainWidget", actionCollection(), kapp->config()); ++ mainWidget = new KMMainWidget( canvas, "mainWidget", this, actionCollection(), ++ kapp->config()); + QVBoxLayout *topLayout = new QVBoxLayout(canvas); + topLayout->addWidget(mainWidget); + mainWidget->setFocusPolicy(QWidget::ClickFocus); +@@ -237,6 +240,7 @@ + return mParentWidget; + } + ++ + KMailBrowserExtension::KMailBrowserExtension(KMailPart *parent) : + KParts::BrowserExtension(parent, "KMailBrowserExtension") + { +diff -ru kmail/kmfilter.cpp /home/carsten/a/kmfilter.cpp +--- kmail/kmfilter.cpp 2004-05-22 22:58:05.000000000 +0200 ++++ /home/carsten/a/kmfilter.cpp 2004-09-03 13:58:02.000000000 +0200 +@@ -180,6 +180,8 @@ + + bStopProcessingHere = config->readBoolEntry("StopProcessingHere", true); + bConfigureShortcut = config->readBoolEntry("ConfigureShortcut", false); ++ bConfigureToolbar = config->readBoolEntry("ConfigureToolbar", false); ++ bConfigureToolbar = bConfigureToolbar && bConfigureShortcut; + mIcon = config->readEntry( "Icon", "gear" ); + + int i, numActions; +@@ -251,6 +253,7 @@ + + config->writeEntry( "StopProcessingHere", bStopProcessingHere ); + config->writeEntry( "ConfigureShortcut", bConfigureShortcut ); ++ config->writeEntry( "ConfigureToolbar", bConfigureToolbar ); + config->writeEntry( "Icon", mIcon ); + + QString key; +diff -ru kmail/kmfilter.h /home/carsten/a/kmfilter.h +--- kmail/kmfilter.h 2004-05-22 22:58:05.000000000 +0200 ++++ /home/carsten/a/kmfilter.h 2004-09-03 13:57:48.000000000 +0200 +@@ -154,10 +154,42 @@ + void setStopProcessingHere( bool aStop ) { bStopProcessingHere = aStop; } + bool stopProcessingHere() const { return bStopProcessingHere; } + +- void setConfigureShortcut( bool aShort ) { bConfigureShortcut = aShort; } ++ /** Set whether this filter should be plugged into the filter menu. ++ */ ++ void setConfigureShortcut( bool aShort ) { ++ bConfigureShortcut = aShort; ++ bConfigureToolbar = bConfigureToolbar && bConfigureShortcut; ++ } ++ ++ /** @return TRUE if this filter should be plugged into the filter menu, ++ FALSE otherwise. ++ @see setConfigureShortcut ++ */ + bool configureShortcut() const { return bConfigureShortcut; } + ++ /** Set whether this filter should be plugged into the toolbar. ++ This can be done only if a shortcut is defined. ++ @see setConfigureShortcut ++ */ ++ void setConfigureToolbar( bool aTool ) { ++ bConfigureToolbar = aTool && bConfigureShortcut; ++ } ++ ++ /** @return TRUE if this filter should be plugged into the toolbar, ++ FALSE otherwise. ++ @see setConfigureToolbar ++ */ ++ bool configureToolbar() const { return bConfigureToolbar; } ++ ++ /** Set the icon to be used if plugged into the filter menu ++ or toolbar. Default is the gear icon. ++ @see setConfigureShortcut setConfigureToolbar ++ */ + void setIcon( QString icon ) { mIcon = icon; } ++ ++ /** @return The name of the icon to be used. ++ @see setIcon ++ */ + QString icon() const { return mIcon; } + + /** +@@ -191,6 +223,7 @@ + bool bApplyOnExplicit : 1; + bool bStopProcessingHere : 1; + bool bConfigureShortcut : 1; ++ bool bConfigureToolbar : 1; + }; + + #endif /*kmfilter_h*/ +diff -ru kmail/kmmainwidget.cpp /home/carsten/a/kmmainwidget.cpp +--- kmail/kmmainwidget.cpp 2004-08-09 11:27:48.000000000 +0200 ++++ /home/carsten/a/kmmainwidget.cpp 2004-09-03 13:55:55.000000000 +0200 +@@ -101,8 +101,9 @@ + static KStaticDeleter<QPtrList<KMMainWidget> > mwlsd; + + //----------------------------------------------------------------------------- +-KMMainWidget::KMMainWidget(QWidget *parent, const char *name, +- KActionCollection *actionCollection, KConfig* config ) : ++KMMainWidget::KMMainWidget(QWidget *parent, const char *name, ++ KXMLGUIClient *aGUIClient, ++ KActionCollection *actionCollection, KConfig* config ) : + QWidget(parent, name), + mQuickSearchLine( 0 ) + { +@@ -120,10 +121,15 @@ + mDestructed = false; + mActionCollection = actionCollection; + mTopLayout = new QVBoxLayout(this); +- mFilterActions.setAutoDelete(true); ++ mFilterMenuActions.setAutoDelete(true); ++ mFilterTBarActions.setAutoDelete(false); + mFilterCommands.setAutoDelete(true); + mJob = 0; + mConfig = config; ++ mGUIClient = aGUIClient; ++ // FIXME This should become a line separator as soon as the API ++ // is extended in kdelibs. ++ mToolbarActionSeparator = new KActionSeparator( actionCollection ); + + if( !s_mainWidgetList ) + mwlsd.setObject( s_mainWidgetList, new QPtrList<KMMainWidget>() ); +@@ -2086,12 +2092,11 @@ + + menu->insertSeparator(); + +- // these two only make sense if there is a reader window. +- // I guess. Not sure about view source ;). Till ++ // this one only make sense if there is a reader window. + if (mMsgView) { + toggleFixFontAction()->plug(menu); +- viewSourceAction()->plug(menu); + } ++ viewSourceAction()->plug(menu); + + menu->insertSeparator(); + mPrintAction->plug( menu ); +@@ -2715,6 +2720,9 @@ + SLOT(slotCollapseAllThreads()), + actionCollection(), "collapse_all_threads" ); + ++ mViewSourceAction = new KAction( i18n("&View Source"), Key_V, this, ++ SLOT(slotShowMsgSrc()), actionCollection(), ++ "view_source" ); + + //----- Go Menu + new KAction( KGuiItem( i18n("&Next Message"), QString::null, +@@ -2881,6 +2889,19 @@ + mHeaders->slotExpandOrCollapseAllThreads( false ); // collapse + } + ++//----------------------------------------------------------------------------- ++void KMMainWidget::slotShowMsgSrc() ++{ ++ KMMessage *msg = mHeaders->currentMsg(); ++ if ( !msg ) ++ return; ++ KMCommand *command = new KMShowMsgSrcCommand( this, msg, ++ mMsgView ++ ? mMsgView->isFixedFont() ++ : false ); ++ command->start(); ++} ++ + + //----------------------------------------------------------------------------- + void KMMainWidget::moveSelectedToFolder( int menuId ) +@@ -3007,9 +3028,7 @@ + replyListAction()->setEnabled( single_actions ); + redirectAction()->setEnabled( single_actions ); + printAction()->setEnabled( single_actions ); +- if (mMsgView) { +- viewSourceAction()->setEnabled( single_actions ); +- } ++ viewSourceAction()->setEnabled( single_actions ); + + mSendAgainAction->setEnabled( single_actions && + ( mHeaders->currentMsg() && mHeaders->currentMsg()->isSent() ) +@@ -3137,6 +3156,9 @@ + connect( kmkernel->filterMgr(), SIGNAL( filterListUpdated() ), + this, SLOT( initializeFilterActions() )); + ++ // plug shortcut filter actions now ++ initializeFilterActions(); ++ + QString newFeaturesMD5 = KMReaderWin::newFeaturesMD5(); + if ( kmkernel->firstStart() || + GlobalSettings::previousNewFeaturesMD5() != newFeaturesMD5 ) { +@@ -3153,7 +3175,7 @@ + if ( !startup ) + startup = kmkernel->inboxFolder(); + +- if ( mFolderTree ) ++ if ( mFolderTree ) + { + mFolderTree->reload(); + mFolderTree->showFolder( startup ); +@@ -3175,6 +3197,7 @@ + //----------------------------------------------------------------------------- + void KMMainWidget::slotChangeCaption(QListViewItem * i) + { ++ if ( !i ) return; + // set the caption to the current full path + QStringList names; + for ( QListViewItem * item = i ; item ; item = item->parent() ) +@@ -3256,12 +3279,22 @@ + { + QString filterName, normalizedName; + KMMetaFilterActionCommand *filterCommand; +- KAction *filterAction; +- mApplyFilterActionsMenu->popupMenu()->clear(); +- mFilterActions.clear(); ++ KAction *filterAction = 0; ++ ++ if ( !mFilterTBarActions.isEmpty() ) { ++ if ( mGUIClient->factory() ) ++ mGUIClient->unplugActionList( "toolbar_filter_actions" ); ++ mFilterTBarActions.clear(); ++ } ++ if ( !mFilterMenuActions.isEmpty() ) { ++ mApplyFilterActionsMenu->popupMenu()->clear(); ++ if ( mGUIClient->factory() ) ++ mGUIClient->unplugActionList( "menu_filter_actions" ); ++ mFilterMenuActions.clear(); ++ } + mFilterCommands.clear(); + for ( QPtrListIterator<KMFilter> it(*kmkernel->filterMgr()) ; +- it.current() ; ++it ) ++ it.current() ; ++it ) { + if (!(*it)->isEmpty() && (*it)->configureShortcut()) { + filterName = QString("Filter %1").arg((*it)->name()); + normalizedName = filterName.replace(" ", "_"); +@@ -3276,26 +3309,26 @@ + filterAction = new KAction(as, icon, 0, filterCommand, + SLOT(start()), actionCollection(), + normalizedName.local8Bit()); +- mFilterActions.append(filterAction); ++ filterAction->plug( mApplyFilterActionsMenu->popupMenu() ); ++ mFilterMenuActions.append(filterAction); ++ // FIXME ++ // uncomment the next if statement after the filter dialog supports ++ // separate activation of filters for the toolbar - currently ++ // we better use the coupled way ++ // if ( (*it)->configureToolbar() ) ++ mFilterTBarActions.append(filterAction); + } +- +- plugFilterActions(mApplyFilterActionsMenu->popupMenu()); ++ } ++ if ( !mFilterMenuActions.isEmpty() && mGUIClient->factory() ) ++ mGUIClient->plugActionList( "menu_filter_actions", mFilterMenuActions ); ++ if ( !mFilterTBarActions.isEmpty() && mGUIClient->factory() ) { ++ mFilterTBarActions.prepend( mToolbarActionSeparator ); ++ mGUIClient->plugActionList( "toolbar_filter_actions", mFilterTBarActions ); ++ } + } + + + //----------------------------------------------------------------------------- +-void KMMainWidget::plugFilterActions(QPopupMenu *menu) +-{ +- for (QPtrListIterator<KMFilter> it(*kmkernel->filterMgr()); it.current(); ++it) +- if (!(*it)->isEmpty() && (*it)->configureShortcut()) { +- QString filterName = QString("Filter %1").arg((*it)->name()); +- filterName = filterName.replace(" ","_"); +- KAction *filterAction = action(filterName.local8Bit()); +- if (filterAction && menu) +- filterAction->plug(menu); +- } +-} +- + void KMMainWidget::slotSubscriptionDialog() + { + if (!mFolder) return; +@@ -3355,7 +3388,6 @@ + AntiSpamWizard wiz( AntiSpamWizard::AntiSpam, + this, folderTree(), actionCollection() ); + wiz.exec(); +- emit modifiedToolBarConfig(); + } + + //----------------------------------------------------------------------------- +@@ -3364,7 +3396,6 @@ + AntiSpamWizard wiz( AntiSpamWizard::AntiVirus, + this, folderTree(), actionCollection() ); + wiz.exec(); +- //emit modifiedToolBarConfig(); + } + + //----------------------------------------------------------------------------- +diff -ru kmail/kmmainwidget.h /home/carsten/a/kmmainwidget.h +--- kmail/kmmainwidget.h 2004-08-05 21:26:53.000000000 +0200 ++++ /home/carsten/a/kmmainwidget.h 2004-09-03 13:55:26.000000000 +0200 +@@ -9,6 +9,7 @@ + #define __KMMAINWIDGET + + #include <kurl.h> ++#include <kxmlguiclient.h> + #include <qlistview.h> + #include <qvbox.h> + +@@ -67,7 +68,8 @@ + + public: + KMMainWidget(QWidget *parent, const char *name, +- KActionCollection *actionCollection, ++ KXMLGUIClient *aGUIClient, ++ KActionCollection *actionCollection, + KConfig*config = KMKernel::config() ); + virtual ~KMMainWidget(); + void destruct(); +@@ -116,6 +118,7 @@ + KAction *findInMessageAction() const { return mFindInMessageAction; } + KAction *saveAttachmentsAction() const { return mSaveAttachmentsAction; } + KAction *openAction() const { return mOpenAction; } ++ KAction *viewSourceAction() { return mViewSourceAction; } + + KActionMenu *statusMenu() const{ return mStatusMenu; } + KActionMenu *threadStatusMenu() const { return mThreadStatusMenu; } +@@ -128,7 +131,6 @@ + + // Forwarded to the reader window. + KToggleAction *toggleFixFontAction() { return mMsgView->toggleFixFontAction(); } +- KAction *viewSourceAction() { return mMsgView->viewSourceAction(); } + + KMHeaders *headers() const { return mHeaders; } + void toggleSystemTray(); +@@ -186,7 +188,6 @@ + signals: + void messagesTransfered( bool ); + void captionChangeRequest( const QString & caption ); +- void modifiedToolBarConfig( void ); + + protected: + void setupActions(); +@@ -257,6 +258,7 @@ + void slotExpandAllThreads(); + void slotCollapseThread(); + void slotCollapseAllThreads(); ++ void slotShowMsgSrc(); + void slotSetMsgStatusNew(); + void slotSetMsgStatusUnread(); + void slotSetMsgStatusRead(); +@@ -348,8 +350,6 @@ + void removeDuplicates(); + /** Create actions for marked filters */ + void initializeFilterActions(); +- /** Plug filter actions into a popup menu */ +- void plugFilterActions(QPopupMenu*); + + /** Slot to reply to a message */ + void slotReplyToMsg(); +@@ -373,7 +373,7 @@ + // Message actions + KAction *mTrashAction, *mDeleteAction, *mSaveAsAction, *mEditAction, + *mSendAgainAction, *mApplyFiltersAction, *mFindInMessageAction, +- *mSaveAttachmentsAction, *mOpenAction; ++ *mSaveAttachmentsAction, *mOpenAction, *mViewSourceAction; + // Composition actions + KAction *mPrintAction, *mReplyAction, *mReplyAllAction, *mReplyAuthorAction, + *mReplyListAction, +@@ -460,15 +460,18 @@ + + QGuardedPtr<KMail::Vacation> mVacation; + KActionCollection *mActionCollection; ++ KActionSeparator *mToolbarActionSeparator; + QVBoxLayout *mTopLayout; + bool mDestructed, mForceJumpToUnread; +- QPtrList<KAction> mFilterActions; ++ QPtrList<KAction> mFilterMenuActions; ++ QPtrList<KAction> mFilterTBarActions; + QPtrList<KMMetaFilterActionCommand> mFilterCommands; + QGuardedPtr <KMail::FolderJob> mJob; + + KMSystemTray *mSystemTray; + KConfig *mConfig; +- ++ KXMLGUIClient *mGUIClient; ++ + static QPtrList<KMMainWidget>* s_mainWidgetList; + }; + +diff -ru kmail/kmmainwin.cpp /home/carsten/a/kmmainwin.cpp +--- kmail/kmmainwin.cpp 2004-08-05 21:26:53.000000000 +0200 ++++ /home/carsten/a/kmmainwin.cpp 2004-09-03 13:54:47.000000000 +0200 +@@ -27,7 +27,7 @@ + mReallyClose( false ) + { + kapp->ref(); +- mKMMainWidget = new KMMainWidget( this, "KMMainWidget", actionCollection() ); ++ mKMMainWidget = new KMMainWidget( this, "KMMainWidget", this, actionCollection() ); + mKMMainWidget->resize( 450, 600 ); + setCentralWidget(mKMMainWidget); + setupStatusBar(); +@@ -44,8 +44,9 @@ + + KStdAction::quit( this, SLOT(slotQuit()), actionCollection()); + createGUI( "kmmainwin.rc", false ); ++ // Don't use conserveMemory() because this renders dynamic plugging ++ // of actions unusable! + +- conserveMemory(); + applyMainWindowSettings(KMKernel::config(), "Main Window"); + + connect( KPIM::BroadcastStatus::instance(), SIGNAL( statusMsg( const QString& ) ), +diff -ru kmail/kmmainwin.rc /home/carsten/a/kmmainwin.rc +--- kmail/kmmainwin.rc 2004-07-17 21:16:37.000000000 +0200 ++++ /home/carsten/a/kmmainwin.rc 2004-09-03 13:57:00.000000000 +0200 +@@ -1,5 +1,5 @@ + <!DOCTYPE kpartgui> +-<kpartgui version="77" name="kmmainwin" > ++<kpartgui version="78" name="kmmainwin" > + <MenuBar> + <Menu noMerge="1" name="file" > + <text>&File</text> +@@ -110,7 +110,11 @@ + <Action name="thread_ignored" /> + <Separator/> + <Action name="apply_filters" /> +- <Action name="apply_filter_actions" /> ++ <Separator/> ++ <Menu name="apply_filter_actions" > ++ <text>A&pply Filter</text> ++ <ActionList name="menu_filter_actions" /> ++ </Menu> + </Menu> + <Menu noMerge="1" name="tools"> + <text>&Tools</text> +@@ -163,5 +167,6 @@ + <Action name="move_to_trash" /> + <Separator/> + <Action name="search_messages" /> ++ <ActionList name="toolbar_filter_actions" /> + </ToolBar> + </kpartgui> diff --git a/kde-base/kdepim/kdepim-3.3.0-r1.ebuild b/kde-base/kdepim/kdepim-3.3.0-r1.ebuild new file mode 100644 index 000000000000..17d85c534cc9 --- /dev/null +++ b/kde-base/kdepim/kdepim-3.3.0-r1.ebuild @@ -0,0 +1,18 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/kde-base/kdepim/kdepim-3.3.0-r1.ebuild,v 1.1 2004/09/03 20:29:26 carlo Exp $ + +inherit kde-dist + +DESCRIPTION="KDE PIM (Personal Information Management) apps: korganizer, kmail, knode..." + +KEYWORDS="~x86 ~amd64 ~ppc64 ~sparc ~ppc" +IUSE="pda crypt" + +DEPEND="pda? ( app-pda/pilot-link dev-libs/libmal ) + crypt? ( >=app-crypt/gpgme-0.9.0-r1 )" + +src_unpack() { + kde_src_unpack + epatch ${FILESDIR}/${P}-spam-assistant.patch +}
\ No newline at end of file |