summaryrefslogtreecommitdiffstats
path: root/src/gui/widgets
diff options
context:
space:
mode:
authorAurélien Gâteau <agateau@kde.org>2011-04-14 10:00:30 +0200
committerOlivier Goffart <olivier.goffart@nokia.com>2011-05-10 12:54:46 +0200
commit9317fee1d9cb3a871cf0efdd357688e0c86c6f84 (patch)
tree98ae74435ee306ca96d285065713ff618b36238b /src/gui/widgets
parent03b0eb416f64b4d24b978988e62adf87d4a9b435 (diff)
QAbstractMenuBarImpl::allowSetVisible => setVisible
This makes it possible to alter the behavior of QMenuBar::setVisible(). It seems to be needed for the Mac menubar. Merge-request: 916 Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com> (cherry picked from commit bafeffd7b8b2c40761369ba496ee655dff6cf2a5)
Diffstat (limited to 'src/gui/widgets')
-rw-r--r--src/gui/widgets/qabstractmenubarimpl_p.h3
-rw-r--r--src/gui/widgets/qmenubar.cpp5
-rw-r--r--src/gui/widgets/qmenubarimpl.cpp10
-rw-r--r--src/gui/widgets/qmenubarimpl_p.h2
4 files changed, 6 insertions, 14 deletions
diff --git a/src/gui/widgets/qabstractmenubarimpl_p.h b/src/gui/widgets/qabstractmenubarimpl_p.h
index 76eef2890d..25441dff4a 100644
--- a/src/gui/widgets/qabstractmenubarimpl_p.h
+++ b/src/gui/widgets/qabstractmenubarimpl_p.h
@@ -77,8 +77,7 @@ public:
// QMenuBarPrivate::init()
virtual void init(QMenuBar *) = 0;
- // QMenuBar::setVisible()
- virtual bool allowSetVisible() const = 0;
+ virtual void setVisible(bool visible) = 0;
virtual void actionEvent(QActionEvent *) = 0;
diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp
index ec19908169..556c1923b4 100644
--- a/src/gui/widgets/qmenubar.cpp
+++ b/src/gui/widgets/qmenubar.cpp
@@ -1055,10 +1055,7 @@ void QMenuBar::paintEvent(QPaintEvent *e)
void QMenuBar::setVisible(bool visible)
{
Q_D(QMenuBar);
- if (!d->impl->allowSetVisible()) {
- return;
- }
- QWidget::setVisible(visible);
+ d->impl->setVisible(visible);
}
/*!
diff --git a/src/gui/widgets/qmenubarimpl.cpp b/src/gui/widgets/qmenubarimpl.cpp
index 4844e4eb72..1ca2e11966 100644
--- a/src/gui/widgets/qmenubarimpl.cpp
+++ b/src/gui/widgets/qmenubarimpl.cpp
@@ -90,20 +90,16 @@ void QMenuBarImpl::init(QMenuBar *_menuBar)
#endif
}
-bool QMenuBarImpl::allowSetVisible() const
+void QMenuBarImpl::setVisible(bool visible)
{
#if defined(Q_WS_MAC) || defined(Q_OS_WINCE) || defined(Q_WS_S60)
- // FIXME: Port this to a setVisible() method
- /*
if (isNativeMenuBar()) {
if (!visible)
- QWidget::setVisible(false);
+ menuBar->QWidget::setVisible(false);
return;
}
- */
- return !isNativeMenuBar();
#endif
- return true;
+ menuBar->QWidget::setVisible(visible);
}
void QMenuBarImpl::actionEvent(QActionEvent *e)
diff --git a/src/gui/widgets/qmenubarimpl_p.h b/src/gui/widgets/qmenubarimpl_p.h
index 0546eb22f7..e7a3bdeae7 100644
--- a/src/gui/widgets/qmenubarimpl_p.h
+++ b/src/gui/widgets/qmenubarimpl_p.h
@@ -56,7 +56,7 @@ public:
virtual void init(QMenuBar *);
- virtual bool allowSetVisible() const;
+ virtual void setVisible(bool visible);
virtual void actionEvent(QActionEvent *e);