karm_plugin.cpp
00001 /* 00002 This file is part of Kontact. 00003 00004 Copyright (c) 2004 Tobias Koenig <tokoe@kde.org> 00005 adapted for karm 2005 by Thorsten Staerk <kde@staerk.de> 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 2 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program; if not, write to the Free Software 00019 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00020 00021 As a special exception, permission is given to link this program 00022 with any edition of TQt, and distribute the resulting executable, 00023 without including the source code for TQt in the source distribution. 00024 */ 00025 00026 #include <kgenericfactory.h> 00027 #include <kparts/componentfactory.h> 00028 00029 #include "core.h" 00030 #include "plugin.h" 00031 00032 #include "karm_plugin.h" 00033 #include "karmdcopiface_stub.h" 00034 00035 typedef KGenericFactory<KarmPlugin, Kontact::Core> KarmPluginFactory; 00036 K_EXPORT_COMPONENT_FACTORY( libkontact_karm, 00037 KarmPluginFactory( "kontact_karm" ) ) 00038 00039 KarmPlugin::KarmPlugin( Kontact::Core *core, const char *, const TQStringList& ) 00040 : Kontact::Plugin( core, TQT_TQOBJECT(core), "KArm" ) 00041 { 00042 setInstance( KarmPluginFactory::instance() ); 00043 (void)dcopClient(); 00044 insertNewAction( new KAction( i18n( "New Task" ), "karm", 00045 CTRL+SHIFT+Key_W, this, TQT_SLOT( newTask() ), actionCollection(), 00046 "new_task" ) ); 00047 } 00048 00049 KarmPlugin::~KarmPlugin() 00050 { 00051 } 00052 00053 KParts::ReadOnlyPart* KarmPlugin::createPart() 00054 { 00055 KParts::ReadOnlyPart * part = loadPart(); 00056 if ( !part ) return 0; 00057 00058 // this calls a DCOP interface from karm via the lib KarmDCOPIface_stub that is generated automatically 00059 mStub = new KarmDCOPIface_stub( dcopClient(), "KArm", 00060 "KarmDCOPIface" ); 00061 00062 return part; 00063 } 00064 00065 void KarmPlugin::newTask() 00066 { 00067 kdDebug() << "Entering newTask" << endl; 00068 mStub->addTask("New Task"); 00069 } 00070 00071 #include "karm_plugin.moc"