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

Daniel Molkentin molkentin at kde.org
Sun Jan 4 10:38:26 CET 2004


CVS commit by danimo: 

Add "New Article" Action here, too. This is critical, as you can't create a new
news article in Kontacte otherwise. Add's one i18n string. Sorry for that.

Patch by Volker Krause

CCMAIL:70462-done at bugs.kde.org


  M +2 -2      Makefile.am   1.3
  M +17 -3     knode_plugin.cpp   1.7
  M +7 -0      knode_plugin.h   1.7
  M +1 -1      knodeplugin.desktop   1.26


--- kdepim/kontact/plugins/knode/Makefile.am  #1.2:1.3
@@ -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.7
@@ -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.7
@@ -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;
 };
 

--- kdepim/kontact/plugins/knode/knodeplugin.desktop  #1.25:1.26
@@ -40,5 +40,5 @@
 Comment[xx]=xxKontact KNode Pluginxx
 Comment[zh_CN]=Kontact KNode 插件
-Name=News
+Name=Newsgroups
 Name[be]=Навіны
 Name[ca]=Notícies




More information about the Knode-devel mailing list