[rkward-cvs] SF.net SVN: rkward: [962] trunk/rkward/rkward/windows

tfry at users.sourceforge.net tfry at users.sourceforge.net
Tue Nov 28 12:50:38 UTC 2006


Revision: 962
          http://svn.sourceforge.net/rkward/?rev=962&view=rev
Author:   tfry
Date:     2006-11-28 04:50:38 -0800 (Tue, 28 Nov 2006)

Log Message:
-----------
Add context menu to command editor. Finally figured it out...

Modified Paths:
--------------
    trunk/rkward/rkward/windows/rkcommandeditorwindow.cpp
    trunk/rkward/rkward/windows/rkcommandeditorwindow.h
    trunk/rkward/rkward/windows/rkcommandeditorwindowpart.cpp
    trunk/rkward/rkward/windows/rkcommandeditorwindowpart.h
    trunk/rkward/rkward/windows/rkcommandeditorwindowpart.rc

Modified: trunk/rkward/rkward/windows/rkcommandeditorwindow.cpp
===================================================================
--- trunk/rkward/rkward/windows/rkcommandeditorwindow.cpp	2006-11-28 12:50:03 UTC (rev 961)
+++ trunk/rkward/rkward/windows/rkcommandeditorwindow.cpp	2006-11-28 12:50:38 UTC (rev 962)
@@ -35,6 +35,7 @@
 #include <qtabwidget.h>
 #include <qfile.h>
 #include <qtimer.h>
+#include <qobjectlist.h>
 
 #include <klocale.h>
 #include <kmenubar.h>
@@ -84,6 +85,7 @@
 	connect (m_doc, SIGNAL (modifiedChanged ()), this, SLOT (updateCaption ()));		// of course most of the time this causes a redundant call to updateCaption. Not if a modification is undone, however.
 	connect (m_doc, SIGNAL (textChanged ()), this, SLOT (tryCompletionProxy ()));
 	connect (m_view, SIGNAL (filterInsertString (KTextEditor::CompletionEntry *, QString *)), this, SLOT (fixCompletion (KTextEditor::CompletionEntry *, QString *)));
+	connect (m_view, SIGNAL (gotFocus (Kate::View *)), this, SLOT (setPopupMenu (Kate::View *)));
 	completion_timer = new QTimer (this);
 	connect (completion_timer, SIGNAL (timeout ()), this, SLOT (tryCompletion()));
 
@@ -95,6 +97,7 @@
 	}
 
 	updateCaption ();	// initialize
+	QTimer::singleShot (0, this, SLOT (setPopupMenu ()));
 }
 
 RKCommandEditorWindow::~RKCommandEditorWindow () {
@@ -103,6 +106,17 @@
 	delete m_doc;
 }
 
+void RKCommandEditorWindow::setPopupMenu () {
+	RK_TRACE (COMMANDEDITOR);
+
+	if (!m_view->factory ()) return;
+	m_view->installPopup (static_cast<QPopupMenu *> (m_view->factory ()->container ("ktexteditor_popup", m_view)));
+}
+
+void RKCommandEditorWindow::setPopupMenu (Kate::View*) {
+	setPopupMenu ();
+}
+
 QString RKCommandEditorWindow::getDescription () {
 	RK_TRACE (COMMANDEDITOR);
 
@@ -287,7 +301,6 @@
 
 //////////////////////// RKFunctionArgHinter //////////////////////////////
 
-#include <qobjectlist.h>
 #include <qvbox.h>
 
 #include "../core/rfunctionobject.h"

Modified: trunk/rkward/rkward/windows/rkcommandeditorwindow.h
===================================================================
--- trunk/rkward/rkward/windows/rkcommandeditorwindow.h	2006-11-28 12:50:03 UTC (rev 961)
+++ trunk/rkward/rkward/windows/rkcommandeditorwindow.h	2006-11-28 12:50:38 UTC (rev 962)
@@ -122,6 +122,8 @@
 	void tryCompletion ();
 /** called by the Kate part, if an entry was selected from the code completion box. Will remove the current symbol, as the kate part is about to re-add it (in completed form) */
 	void fixCompletion (KTextEditor::CompletionEntry *, QString *);
+	void setPopupMenu (Kate::View *);
+	void setPopupMenu ();
 protected:
 /** reimplemented from KMdiChildView: give the editor window a chance to object to being closed (if unsaved) */
 	void closeEvent (QCloseEvent *e);

Modified: trunk/rkward/rkward/windows/rkcommandeditorwindowpart.cpp
===================================================================
--- trunk/rkward/rkward/windows/rkcommandeditorwindowpart.cpp	2006-11-28 12:50:03 UTC (rev 961)
+++ trunk/rkward/rkward/windows/rkcommandeditorwindowpart.cpp	2006-11-28 12:50:38 UTC (rev 962)
@@ -20,7 +20,10 @@
 #include <kinstance.h>
 #include <klocale.h>
 #include <kaction.h>
+#include <kxmlguifactory.h>
 
+#include <qpopupmenu.h>
+
 #include "rkcommandeditorwindow.h"
 #include "../rkglobals.h"
 #include "../rbackend/rinterface.h"

Modified: trunk/rkward/rkward/windows/rkcommandeditorwindowpart.h
===================================================================
--- trunk/rkward/rkward/windows/rkcommandeditorwindowpart.h	2006-11-28 12:50:03 UTC (rev 961)
+++ trunk/rkward/rkward/windows/rkcommandeditorwindowpart.h	2006-11-28 12:50:38 UTC (rev 962)
@@ -23,7 +23,6 @@
 class RKCommandEditorWindow;
 class KAction;
 
-
 /** This class provides a KPart interface to RKCommandEditorWindow. Basically, it is responsible for creating the menu-entries the RKCommandEditorWindow provides, and keeps the corresponding Actions. The reason to use this, is so the required menus/menu-items can be merged in on the fly.
 
 @author Thomas Friedrichsmeier
@@ -34,7 +33,6 @@
 	RKCommandEditorWindowPart (QWidget *parent, RKCommandEditorWindow *editor_widget);
 
 	~RKCommandEditorWindowPart ();
-
 public slots:
 	void slotRunSelection ();
 	void slotRunLine ();

Modified: trunk/rkward/rkward/windows/rkcommandeditorwindowpart.rc
===================================================================
--- trunk/rkward/rkward/windows/rkcommandeditorwindowpart.rc	2006-11-28 12:50:03 UTC (rev 961)
+++ trunk/rkward/rkward/windows/rkcommandeditorwindowpart.rc	2006-11-28 12:50:38 UTC (rev 962)
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui>
-<kpartgui name="rkward" version="0.3.6">
+<kpartgui name="rkward" version="0.4.2">
 	<MenuBar>
 		<Menu name="edit" noMerge="1"><text>&Edit</text>
 			<Menu name="tools"><text>&Tools Move</text>
@@ -23,4 +23,13 @@
 		<Action name="run_selection"/>
 		<Action name="run_all"/>
 	</ToolBar>
+	<Menu name="ktexteditor_popup">
+		<Merge/>
+		<Separator/>
+		<Action name="run_line"/>
+		<Action name="run_selection"/>
+		<Action name="run_all"/>
+		<Separator/>
+		<Action name="function_reference"/>
+	</Menu>
 </kpartgui>
\ No newline at end of file


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the rkward-tracker mailing list