Hide Q<Platform>MenuAction
authorAurelien Gateau <agateau@kde.org>
Thu, 7 Oct 2010 13:23:42 +0000 (15:23 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 31 Aug 2011 11:12:43 +0000 (13:12 +0200)
This will help abstracting the platform specific parts of QMenuBarPrivate in a
common interface.

Merge-request: 1254
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
(cherry picked from commit 68d633cc840c5526a0ad77985404f53ada6ba91a)

Change-Id: I733b8dfb71ae0dc78536cfe48b466394206d1de3
Reviewed-on: http://codereview.qt.nokia.com/3931
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
src/gui/widgets/qmenu_mac.mm
src/gui/widgets/qmenu_symbian.cpp
src/gui/widgets/qmenu_wince.cpp
src/gui/widgets/qmenubar.cpp
src/gui/widgets/qmenubar_p.h

index 9db068c..56658b3 100644 (file)
@@ -1639,7 +1639,7 @@ QMenuBarPrivate::QMacMenuBarPrivate::~QMacMenuBarPrivate()
 }
 
 void
-QMenuBarPrivate::QMacMenuBarPrivate::addAction(QAction *a, QMacMenuAction *before)
+QMenuBarPrivate::QMacMenuBarPrivate::addAction(QAction *a, QAction *before)
 {
     if (a->isSeparator() || !menu)
         return;
@@ -1649,7 +1649,7 @@ QMenuBarPrivate::QMacMenuBarPrivate::addAction(QAction *a, QMacMenuAction *befor
 #ifndef QT_MAC_USE_COCOA
     action->command = qt_mac_menu_static_cmd_id++;
 #endif
-    addAction(action, before);
+    addAction(action, findAction(before));
 }
 
 void
index 56eca9a..4250601 100644 (file)
@@ -398,12 +398,12 @@ void QMenuPrivate::QSymbianMenuPrivate::rebuild(bool)
 {
 }
 
-void QMenuBarPrivate::QSymbianMenuBarPrivate::addAction(QAction *a, QSymbianMenuAction *before)
+void QMenuBarPrivate::QSymbianMenuBarPrivate::addAction(QAction *a, QAction *before)
 {
     QSymbianMenuAction *action = new QSymbianMenuAction;
     action->action = a;
     action->command = qt_symbian_menu_static_cmd_id++;
-    addAction(action, before);
+    addAction(action, findAction(before));
 }
 
 void QMenuBarPrivate::QSymbianMenuBarPrivate::addAction(QSymbianMenuAction *action, QSymbianMenuAction *before)
index 1157fff..b0c6c1b 100644 (file)
@@ -504,12 +504,12 @@ void QMenuPrivate::QWceMenuPrivate::removeAction(QWceMenuAction *action)
     rebuild();
 }
 
-void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QAction *a, QWceMenuAction *before)
+void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QAction *a, QAction *before)
 {
     QWceMenuAction *action = new QWceMenuAction;
     action->action = a;
     action->command = qt_wce_menu_static_cmd_id++;
-    addAction(action, before);
+    addAction(action, findAction(before));
 }
 
 void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QWceMenuAction *action, QWceMenuAction *before)
index 56a1f04..0c31172 100644 (file)
@@ -1287,7 +1287,7 @@ void QMenuBar::actionEvent(QActionEvent *e)
         if (!nativeMenuBar)
             return;
         if(e->type() == QEvent::ActionAdded)
-            nativeMenuBar->addAction(e->action(), nativeMenuBar->findAction(e->before()));
+            nativeMenuBar->addAction(e->action(), e->before());
         else if(e->type() == QEvent::ActionRemoved)
             nativeMenuBar->removeAction(e->action());
         else if(e->type() == QEvent::ActionChanged)
index 1ac694e..341b1f7 100644 (file)
@@ -181,7 +181,7 @@ public:
         QMacMenuBarPrivate();
         ~QMacMenuBarPrivate();
 
-        void addAction(QAction *, QMacMenuAction* =0);
+        void addAction(QAction *, QAction* =0);
         void addAction(QMacMenuAction *, QMacMenuAction* =0);
         void syncAction(QMacMenuAction *);
         inline void syncAction(QAction *a) { syncAction(findAction(a)); }
@@ -220,7 +220,7 @@ public:
 
         QWceMenuBarPrivate(QMenuBarPrivate *menubar);
         ~QWceMenuBarPrivate();
-        void addAction(QAction *, QWceMenuAction* =0);
+        void addAction(QAction *, QAction* =0);
         void addAction(QWceMenuAction *, QWceMenuAction* =0);
         void syncAction(QWceMenuAction *);
         inline void syncAction(QAction *a) { syncAction(findAction(a)); }
@@ -250,7 +250,7 @@ public:
         QMenuBarPrivate *d;
         QSymbianMenuBarPrivate(QMenuBarPrivate *menubar);
         ~QSymbianMenuBarPrivate();
-        void addAction(QAction *, QSymbianMenuAction* =0);
+        void addAction(QAction *, QAction* =0);
         void addAction(QSymbianMenuAction *, QSymbianMenuAction* =0);
         void syncAction(QSymbianMenuAction *);
         inline void syncAction(QAction *a) { syncAction(findAction(a)); }