Branch: master

14f963cd 2014-05-24 02:03:47 Michele Calgaro
Added XSLDbg handbook menu entry to KXSLDbg help menu. This resolves bug 1862.
M kxsldbg/kxsldbg.cpp
M kxsldbg/kxsldbg.h
diff --git a/kxsldbg/kxsldbg.cpp b/kxsldbg/kxsldbg.cpp
index 465bd8a..dd878bf 100644
--- a/kxsldbg/kxsldbg.cpp
+++ b/kxsldbg/kxsldbg.cpp
@@ -17,6 +17,9 @@
 #include <klibloader.h>
 #include <tdemessagebox.h>
 #include <kstatusbar.h>
+#include <tdepopupmenu.h>
+#include <tdemenubar.h>
+#include <kiconloader.h>
 
 KXsldbg::KXsldbg()
   : DCOPObject("KXsldbg"), KParts::MainWindow( 0L, "kxsldbg" )
@@ -50,12 +53,21 @@
             // and integrate the part's GUI with the shell's
             createGUI(m_part);
 
-	    // connect up signals
-	    kapp->dcopClient()->attach();
-	    connectDCOPSignal(0, 0, "debuggerPositionChanged(TQString,int)", "newDebuggerPosition(TQString,int)", false );
-	    connectDCOPSignal(0, 0, "editorPositionChanged(TQString,int,int)", "newCursorPosition(TQString,int,int)", false );
+            // connect up signals
+            kapp->dcopClient()->attach();
+            connectDCOPSignal(0, 0, "debuggerPositionChanged(TQString,int)", "newDebuggerPosition(TQString,int)", false );
+            connectDCOPSignal(0, 0, "editorPositionChanged(TQString,int,int)", "newCursorPosition(TQString,int,int)", false );
+            
+            // Add xsldbg handbook to help menu
+            TQMenuBar *mbar = menuBar();
+            TDEPopupMenu *help_menu = dynamic_cast<TDEPopupMenu*>
+                                      (menuBar()->findItem(mbar->idAt(mbar->count()-1))->popup());
+            if (help_menu)
+            {
+                help_menu->insertItem(SmallIconSet("contents"), i18n("&XSLDbg handbook"), TQT_TQOBJECT(this),
+                                      TQT_SLOT(showXSLDbgHelp()), NULL, -1, 1);
+            }
         }
-
     }
     else
     {
@@ -170,4 +182,9 @@
     newCursorPosition(file, lineNumber);
 }
 
+void KXsldbg::showXSLDbgHelp()
+{
+    kapp->invokeHelp(TQString(), "xsldbg");
+}
+
 #include "kxsldbg.moc"
diff --git a/kxsldbg/kxsldbg.h b/kxsldbg/kxsldbg.h
index b9a919f..a60805b 100644
--- a/kxsldbg/kxsldbg.h
+++ b/kxsldbg/kxsldbg.h
@@ -61,6 +61,7 @@
 
 public slots:
     void quit();
+    void showXSLDbgHelp();
 
 private slots:
     void optionsShowToolbar();