MCPcopy Create free account
hub / github.com/KDAB/GammaRay / restoreState

Method restoreState

ui/uistatemanager.cpp:185–220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

183}
184
185void UIStateManager::restoreState()
186{
187 if (!Endpoint::instance()->isConnected())
188 return;
189
190 if (!m_initialized) {
191 qWarning() << Q_FUNC_INFO << "Attempting to restoreState for a not yet initialized state manager.";
192 return;
193 }
194
195 if (m_settingsAccess) {
196 qWarning() << Q_FUNC_INFO << "Recursive restore/save state detected" << widgetPath(m_widget) << m_widget;
197 Q_ASSERT(false);
198 return;
199 }
200
201 m_settingsAccess = true;
202
203 restoreWindowState();
204 restoreSplitterState();
205 restoreHeaderState();
206
207 // Allow restore state per end point
208 if (m_targetStateSource) {
209 Q_ASSERT(!Endpoint::instance()->key().isEmpty());
210 m_stateSettings->beginGroup(Endpoint::instance()->key());
211 QMetaMethod method = m_targetStateSource->method(m_targetRestoreMethodId);
212 QObject *target = m_targetStateSource == m_widget->metaObject() ? qobject_cast<QObject *>(m_widget) : this;
213 // clang-format off
214 method.invoke(target, Q_ARG(QSettings*, m_stateSettings));
215 // clang-format on
216 m_stateSettings->endGroup();
217 }
218
219 m_settingsAccess = false;
220}
221
222void UIStateManager::saveState()
223{

Callers 4

restoreWindowStateMethod · 0.45
restoreSplitterStateMethod · 0.45
restoreHeaderStateMethod · 0.45
setupLayoutMethod · 0.45

Calls 4

keyMethod · 0.80
isConnectedMethod · 0.45
isEmptyMethod · 0.45
metaObjectMethod · 0.45

Tested by

no test coverage detected