20 #include "summaryview_plugin.h"
22 #include "summaryview_part.h"
25 #include <kgenericfactory.h>
26 #include <tdeparts/componentfactory.h>
27 #include <tdeaboutdata.h>
28 #include <tdeaction.h>
30 #include <tqpopupmenu.h>
32 typedef KGenericFactory< SummaryView, Kontact::Core > SummaryViewFactory;
33 K_EXPORT_COMPONENT_FACTORY( libkontact_summaryplugin,
34 SummaryViewFactory( "kontact_summaryplugin" ) )
36 SummaryView::SummaryView( Kontact::Core *core, const char *name, const TQStringList& )
37 : Kontact::Plugin( core, TQT_TQOBJECT(core), name),
38 mAboutData( 0 ), mPart( 0 )
40 setInstance( SummaryViewFactory::instance() );
42 mSyncAction = new TDESelectAction( i18n( "Synchronize All" ), "reload", 0, 0,
43 0, actionCollection(),
44 "kontact_summary_sync" );
45 connect( mSyncAction, TQT_SIGNAL( activated( const TQString& ) ), this, TQT_SLOT( syncAccount( const TQString& ) ) );
46 connect( mSyncAction->popupMenu(), TQT_SIGNAL( aboutToShow() ), this, TQT_SLOT( fillSyncActionSubEntries() ) );
48 insertSyncAction( mSyncAction );
49 fillSyncActionSubEntries();
52 void SummaryView::fillSyncActionSubEntries()
54 TQStringList menuItems;
55 menuItems.append( i18n( "All") );
57 DCOPRef ref( "kmail", "KMailIface" );
58 DCOPReply reply = ref.call( "accounts" );
60 if ( reply.isValid() )
62 const TQStringList accounts = reply;
63 menuItems += accounts;
66 mSyncAction->setItems( menuItems );
69 void SummaryView::syncAccount( const TQString& account )
71 if ( account == i18n( "All") ) {
74 DCOPRef ref( "kmail", "KMailIface" );
75 ref.send( "checkAccount", account );
77 fillSyncActionSubEntries();
80 SummaryView::~SummaryView()
84 void SummaryView::doSync()
87 mPart->updateSummaries();
89 const TQValueList<Kontact::Plugin*> pluginList = core()->pluginList();
90 for ( TQValueList<Kontact::Plugin*>::ConstIterator it = pluginList.begin(), end = pluginList.end();
93 TQPtrList<TDEAction> *actions = (*it)->syncActions();
94 for ( TQPtrList<TDEAction>::Iterator jt = actions->begin(), end = actions->end(); jt != end; ++jt ) {
95 if ( *jt != mSyncAction )
99 fillSyncActionSubEntries();
102 KParts::ReadOnlyPart *SummaryView::createPart()
104 mPart = new SummaryViewPart( core(), "summarypartframe", aboutData(),
105 this, "summarypart" );
109 const TDEAboutData *SummaryView::aboutData()
112 mAboutData = new TDEAboutData( "kontactsummary", I18N_NOOP( "Kontact Summary"),
114 I18N_NOOP( "Kontact Summary View"),
115 TDEAboutData::License_LGPL,
116 I18N_NOOP( "(c) 2003 The Kontact developers" ) );
117 mAboutData->addAuthor( "Sven Lueppken", "", "sven@kde.org" );
118 mAboutData->addAuthor( "Cornelius Schumacher", "", "schumacher@kde.org" );
119 mAboutData->addAuthor( "Tobias Koenig", "", "tokoe@kde.org" );
120 mAboutData->setProductName( "kontact/summary" );
126 #include "summaryview_plugin.moc"
|