[rkward/work/preview_with_menu] rkward: Clean up some hacks.

Thomas Friedrichsmeier thomas.friedrichsmeier at ruhr-uni-bochum.de
Wed Feb 3 19:38:35 UTC 2016


Git commit 14254af4f4238f2360b217740ae35f779728d834 by Thomas Friedrichsmeier.
Committed on 03/02/2016 at 19:30.
Pushed by tfry into branch 'work/preview_with_menu'.

Clean up some hacks.

M  +4    -1    rkward/misc/rkxmlguipreviewarea.cpp
M  +2    -0    rkward/misc/rkxmlguipreviewarea.h
M  +3    -2    rkward/plugin/rkstandardcomponentgui.cpp

http://commits.kde.org/rkward/14254af4f4238f2360b217740ae35f779728d834

diff --git a/rkward/misc/rkxmlguipreviewarea.cpp b/rkward/misc/rkxmlguipreviewarea.cpp
index e4e5675..67f4110 100644
--- a/rkward/misc/rkxmlguipreviewarea.cpp
+++ b/rkward/misc/rkxmlguipreviewarea.cpp
@@ -39,7 +39,6 @@ RKXMLGUIPreviewArea::RKXMLGUIPreviewArea (QWidget* parent) : KXmlGuiWindow (pare
 	menu_button = new QToolButton (this);
 	menu_button->setPopupMode (QToolButton::InstantPopup);
 	menu_button->setIcon (QIcon::fromTheme ("menu_new"));
-	menu_button->setObjectName ("menubutton");
 	menu_button->setMenu (menu = new QMenu ());
 	// KF5 TODO:
 	connect (menu, SIGNAL (aboutToShow()), this, SLOT (prepareMenu()));
@@ -58,6 +57,10 @@ RKXMLGUIPreviewArea::~RKXMLGUIPreviewArea () {
 	}
 }
 
+QWidget* RKXMLGUIPreviewArea::menuButton() const {
+	return menu_button;
+}
+
 void RKXMLGUIPreviewArea::childEvent (QChildEvent *event) {
 	RK_TRACE (PLUGIN);
 
diff --git a/rkward/misc/rkxmlguipreviewarea.h b/rkward/misc/rkxmlguipreviewarea.h
index af3f4f5..4981b8e 100644
--- a/rkward/misc/rkxmlguipreviewarea.h
+++ b/rkward/misc/rkxmlguipreviewarea.h
@@ -31,6 +31,8 @@ class RKXMLGUIPreviewArea : public KXmlGuiWindow {
 public:
 	explicit RKXMLGUIPreviewArea (QWidget* parent);
 	~RKXMLGUIPreviewArea ();
+
+	QWidget *menuButton () const;
 protected:
 	/** build / destroy menu, when child is added removed. Note that we are in the fortunate situation that RKMDIWindow-children only ever get to the
 	 *  preview area via reparenting, i.e. contrary to usual QEvent::ChildAdded semnatics, they are always fully constructed, when added. */
diff --git a/rkward/plugin/rkstandardcomponentgui.cpp b/rkward/plugin/rkstandardcomponentgui.cpp
index f3223bf..bcfef44 100644
--- a/rkward/plugin/rkstandardcomponentgui.cpp
+++ b/rkward/plugin/rkstandardcomponentgui.cpp
@@ -36,6 +36,7 @@
 #include "rkcomponentmap.h"
 #include "../misc/rkcommonfunctions.h"
 #include "../misc/rkstandardicons.h"
+#include "../misc/rkxmlguipreviewarea.h"
 #include "../windows/rkworkplace.h"
 #include "../windows/rkcommandeditorwindow.h"
 #include "../rbackend/rinterface.h"
@@ -197,8 +198,8 @@ void RKStandardComponentGUI::finalize () {
 		tb->setIcon (RKStandardIcons::getIcon (RKStandardIcons::ActionDelete));
 		tb->setProperty ("preview_area", QVariant::fromValue (dummy));
 		connect (tb, SIGNAL (clicked()), this, SLOT (previewCloseButtonClicked()));
-		QWidget *button = previews[i].area->findChild<QWidget *> ("menubutton");
-		if (button) hl->addWidget (button);
+		RKXMLGUIPreviewArea *parea = qobject_cast<RKXMLGUIPreviewArea*> (previews[i].area);
+		if (parea) hl->addWidget (parea->menuButton ());
 		hl->addStretch ();
 		hl->addWidget (lab);
 		hl->addWidget (tb);



More information about the rkward-tracker mailing list