[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