[Knode-devel] osnabrueck_branch: kdepim/kontact/plugins/knode

Daniel Molkentin molkentin at kde.org
Sun Jan 4 10:36:23 CET 2004


CVS commit by danimo: 

Add a "New Article" method. This enables KNode in Kontact to actually create
an article *sight*


  M +2 -2      Makefile.am   1.2.2.1
  M +17 -3     knode_plugin.cpp   1.6.2.1
  M +7 -0      knode_plugin.h   1.6.2.1


--- kdepim/kontact/plugins/knode/Makefile.am  #1.2:1.2.2.1
@@ -5,5 +5,5 @@
 libkontact_knodeplugin_la_LIBADD = $(top_builddir)/kontact/interfaces/libkpinterfaces.la $(LIB_KPARTS)
 
-libkontact_knodeplugin_la_SOURCES = knode_plugin.cpp 
+libkontact_knodeplugin_la_SOURCES = knode_plugin.cpp knodeiface.stub 
 
 METASOURCES = AUTO
@@ -12,3 +12,3 @@
 service_DATA = knodeplugin.desktop
 
-knodeIface_DIR = $(top_srcdir)/knode
+knodeiface_DIR = $(top_srcdir)/knode

--- kdepim/kontact/plugins/knode/knode_plugin.cpp  #1.6:1.6.2.1
@@ -45,9 +45,11 @@ K_EXPORT_COMPONENT_FACTORY( libkontact_k
 
 KNodePlugin::KNodePlugin( Kontact::Core *core, const char *, const QStringList& )
-  : Kontact::Plugin( core, core, "knode" )
+  : Kontact::Plugin( core, core, "knode" ), mStub(0)
 {
   setInstance( KNodePluginFactory::instance() );
-}
 
+  insertNewAction( new KAction( i18n( "New Article" ), BarIcon( "mail_new" ),
+                   0, this, SLOT( slotPostArticle() ), actionCollection(), "post_article" ) );
+}
 
 KNodePlugin::~KNodePlugin()
@@ -74,7 +76,19 @@ QStringList KNodePlugin::invisibleToolba
 }
 
+void KNodePlugin::slotPostArticle()
+{
+  (void) part(); // ensure part is loaded
+  Q_ASSERT( mStub );
+  if ( mStub )
+    mStub->postArticle();
+}
+
 KParts::Part* KNodePlugin::createPart()
 {
-  return loadPart();
+  KParts::Part *part = loadPart();
+  if ( !part ) return 0;
+
+  mStub = new KNodeIface_stub( dcopClient(), "knode", "KNodeIface" );
+  return part;
 }
 

--- kdepim/kontact/plugins/knode/knode_plugin.h  #1.6:1.6.2.1
@@ -28,4 +28,5 @@
 #include <kparts/part.h>
 
+#include "knodeiface_stub.h"
 #include "plugin.h"
 
@@ -45,4 +46,10 @@ class KNodePlugin : public Kontact::Plug
   protected:
     virtual KParts::Part* createPart();
+  
+  protected slots:
+    void slotPostArticle();
+
+  private:
+    KNodeIface_stub *mStub;
 };
 




More information about the Knode-devel mailing list