[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [rkward/frameworks] rkward: Instead of creating a second action to open the import menu (which some 
From:       Thomas Friedrichsmeier <thomas.friedrichsmeier () ruhr-uni-bochum ! de>
Date:       2016-09-15 15:35:31
Message-ID: E1bkYhH-00035u-Vk () code ! kde ! org
[Download RAW message or body]

Git commit 06186a9ea9ce895695a0e915e6207a9883487af3 by Thomas Friedrichsmeier.
Committed on 15/09/2016 at 15:34.
Pushed by tfry into branch 'frameworks'.

Instead of creating a second action to open the import menu (which some versions of \
Qt do not seem to like), fetch the menu-action, and add that into the toolbar \
buttons.

M  +9    -7    rkward/rkward.cpp
M  +1    -1    rkward/rkward.h

http://commits.kde.org/rkward/06186a9ea9ce895695a0e915e6207a9883487af3

diff --git a/rkward/rkward.cpp b/rkward/rkward.cpp
index 8c36993..6e51041 100644
--- a/rkward/rkward.cpp
+++ b/rkward/rkward.cpp
@@ -153,6 +153,12 @@ RKWardMainWindow::RKWardMainWindow () : KParts::MainWindow \
((QWidget *)0, (Qt::W  createShellGUI (true);
 	RKXMLGUISyncer::self ()->watchXMLGUIClientUIrc (this);
 
+	// replicate File->import and export menus into the Open/Save toolbar button menus
+	QMenu *menu = dynamic_cast<QMenu*>(guiFactory ()->container ("import", this));
+	if (menu) open_any_action->addAction (menu->menuAction ());
+	menu = dynamic_cast<QMenu*>(guiFactory ()->container ("export", this));
+	save_any_action->addAction (menu->menuAction ());
+
 	RKComponentMap::initialize ();
 
 	// stuff which should wait until the event loop is running
@@ -202,8 +208,6 @@ void RKWardMainWindow::doPostInit () {
 	QString evaluate_code = RKGlobals::startup_options.take ("evaluate").toString ();
 
 	initPlugins ();
-	proxy_import->setMenu (dynamic_cast<QMenu*>(guiFactory ()->container ("import", \
                this)));
-	proxy_export->setMenu (dynamic_cast<QMenu*>(guiFactory ()->container ("export", \
this)));  gui_rebuild_locked = false;
 
 	show ();
@@ -532,7 +536,7 @@ void RKWardMainWindow::initActions() {
 	view_menu_dummy->setEnabled (false);
 
 	// collections for the toolbar:
-	KActionMenu* open_any_action = new KActionMenu \
(QIcon::fromTheme("document-open-folder"), i18n ("Open..."), this); +	open_any_action \
= new KActionMenu (QIcon::fromTheme("document-open-folder"), i18n ("Open..."), this); \
open_any_action->setDelayed (false);  actionCollection ()->addAction ("open_any", \
open_any_action);  
@@ -542,8 +546,7 @@ void RKWardMainWindow::initActions() {
 	open_any_action->addAction (fileOpen);
 	open_any_action->addAction (fileOpenRecent);
 	open_any_action->addSeparator ();
-	proxy_import = new QAction (i18n ("Import"), this);
-	open_any_action->addAction (proxy_import);
+	//open_any_action->addAction (proxy_import); -> later
 
 	KActionMenu* new_any_action = new KActionMenu (QIcon::fromTheme("document-new"), \
i18n ("Create..."), this);  new_any_action->setDelayed (false);
@@ -556,13 +559,12 @@ void RKWardMainWindow::initActions() {
 	save_any_action->setDelayed (false);
 	actionCollection ()->addAction ("save_any", save_any_action);
 
-	proxy_export = new QAction (i18n ("Export"), this);
 	save_any_action->addAction (fileSaveWorkspace);
 	save_any_action->addAction (fileSaveWorkspaceAs);
 	save_any_action->addSeparator ();
 // TODO: A way to add R-script-save actions, dynamically, would be nice
 	save_actions_plug_point = save_any_action->addSeparator ();
-	save_any_action->addAction (proxy_export);
+	//save_any_action->addAction (proxy_export); -> later
 }
 
 /*
diff --git a/rkward/rkward.h b/rkward/rkward.h
index 7a7da48..a04cc8e 100644
--- a/rkward/rkward.h
+++ b/rkward/rkward.h
@@ -168,7 +168,7 @@ private:
 	/** used so that if the menu is empty, there is a note in it, explaining that fact \
*/  QAction* view_menu_dummy;
 
-	QAction* proxy_export, *proxy_import;
+	KActionMenu* open_any_action;
 	KActionMenu* save_any_action;
 	QAction* save_actions_plug_point;
 	QList<QPointer <QAction> > plugged_save_actions;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic