32 if ( event->type() == QEvent::Close ||
33 event->type() == QEvent::Destroy ||
34 event->type() == QEvent::Hide )
36 QWidget *widget = qobject_cast<QWidget *>(
object );
39 if ( widget->property(
"widgetStateHelperWasShown" ).toBool() )
41 const QString name = widgetSafeName( widget );
42 const QString key = mKeys[name];
46 else if ( event->type() == QEvent::Show )
48 QWidget *widget = qobject_cast<QWidget *>(
object );
49 const QString name = widgetSafeName( widget );
57 QWindow *win = widget->windowHandle();
59 return QObject::eventFilter(
object, event );
61 if ( !( win->windowStates() & Qt::WindowMaximized ) )
63 const QString key = mKeys[name];
67 widget->setProperty(
"widgetStateHelperWasShown", QVariant(
true ) );
69 return QObject::eventFilter(
object, event );
74 const QString name = widgetSafeName( widget );
76 widget->installEventFilter(
this );
79 QString QgsWidgetStateHelper::widgetSafeName( QWidget *widget )
81 if ( widget->objectName().isEmpty() )
83 return widget->metaObject()->className();
85 return widget->objectName();
bool restoreGeometry(QWidget *widget, const QString &keyName)
Restore the wigget geometry from settings.
void saveGeometry(QWidget *widget, const QString &keyName)
Save the wigget geometry into settings.