Support the showIsFullScreen style hint in widgets.

Now QWidget::show() will be the same as QWidget::showFullScreen() if the
style hint is set.
This is consistent with QQuickView now.

De-inline related methods to make it easier to change them later
without breaking compatibility.

Change-Id: I843ac6f846428217bfc5dc9f1d0a554de9d0c08f
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
This commit is contained in:
Thomas McGuire 2012-06-27 15:45:42 +02:00 committed by Qt by Nokia
parent f06a928978
commit 2d450f8f6e
2 changed files with 26 additions and 13 deletions

View File

@ -57,6 +57,7 @@
#include "qvariant.h"
#include "qwidget.h"
#include "qstyleoption.h"
#include "qstylehints.h"
#ifndef QT_NO_ACCESSIBILITY
# include "qaccessible.h"
#endif
@ -2793,7 +2794,7 @@ void QWidget::showFullScreen()
setWindowState((windowState() & ~(Qt::WindowMinimized | Qt::WindowMaximized))
| Qt::WindowFullScreen);
show();
setVisible(true);
activateWindow();
}
@ -6909,15 +6910,22 @@ void QWidget::setUpdatesEnabled(bool enable)
d->setUpdatesEnabled_helper(enable);
}
/*! \fn void QWidget::show()
/*!
Shows the widget and its child widgets. This function is
equivalent to setVisible(true).
equivalent to setVisible(true) in the normal case, and equivalent
to showFullScreen() if the QStyleHints::showIsFullScreen() hint
is true.
\sa raise(), showEvent(), hide(), setVisible(), showMinimized(), showMaximized(),
showNormal(), isVisible()
*/
void QWidget::show()
{
if (isWindow() && qApp->styleHints()->showIsFullScreen())
showFullScreen();
else
setVisible(true);
}
/*! \internal
@ -7091,8 +7099,7 @@ void QWidgetPrivate::show_helper()
data.in_show = false; // reset qws optimization
}
/*! \fn void QWidget::hide()
/*!
Hides the widget. This function is equivalent to
setVisible(false).
@ -7103,6 +7110,10 @@ void QWidgetPrivate::show_helper()
\sa hideEvent(), isHidden(), show(), setVisible(), isVisible(), close()
*/
void QWidget::hide()
{
setVisible(false);
}
/*!\internal
*/
@ -7313,11 +7324,13 @@ void QWidget::setVisible(bool visible)
}
}
/*!\fn void QWidget::setHidden(bool hidden)
/*!
Convenience function, equivalent to setVisible(!\a hidden).
*/
void QWidget::setHidden(bool hidden)
{
setVisible(!hidden);
}
void QWidgetPrivate::_q_showIfNotHidden()
{

View File

@ -465,9 +465,9 @@ public Q_SLOTS:
// Widget management functions
virtual void setVisible(bool visible);
inline void setHidden(bool hidden) { setVisible(!hidden); }
inline void show() { setVisible(true); }
inline void hide() { setVisible(false); }
void setHidden(bool hidden);
void show();
void hide();
void showMinimized();
void showMaximized();