--- qsampler/trunk/src/qsamplerOptions.cpp 2015/03/06 23:18:51 2723 +++ qsampler/trunk/src/qsamplerOptions.cpp 2015/06/15 14:11:33 2779 @@ -369,25 +369,34 @@ { // Try to restore old form window positioning. if (pWidget) { - QPoint wpos; - QSize wsize; m_settings.beginGroup("/Geometry/" + pWidget->objectName()); - wpos.setX(m_settings.value("/x", -1).toInt()); - wpos.setY(m_settings.value("/y", -1).toInt()); - wsize.setWidth(m_settings.value("/width", -1).toInt()); - wsize.setHeight(m_settings.value("/height", -1).toInt()); - if (!bVisible) bVisible = m_settings.value("/visible", false).toBool(); - m_settings.endGroup(); - if (wpos.x() > 0 && wpos.y() > 0) - pWidget->move(wpos); - if (wsize.width() > 0 && wsize.height() > 0) - pWidget->resize(wsize); - // else - // pWidget->adjustSize(); + const QByteArray& geometry + = m_settings.value("/geometry").toByteArray(); + if (!geometry.isEmpty()) { + pWidget->restoreGeometry(geometry); + } else { + #if 1//--LOAD_OLD_GEOMETRY + QPoint wpos; + QSize wsize; + wpos.setX(m_settings.value("/x", -1).toInt()); + wpos.setY(m_settings.value("/y", -1).toInt()); + wsize.setWidth(m_settings.value("/width", -1).toInt()); + wsize.setHeight(m_settings.value("/height", -1).toInt()); + if (wpos.x() > 0 && wpos.y() > 0) + pWidget->move(wpos); + if (wsize.width() > 0 && wsize.height() > 0) + pWidget->resize(wsize); + else + #endif + pWidget->adjustSize(); + } + if (!bVisible) + bVisible = m_settings.value("/visible", false).toBool(); if (bVisible) pWidget->show(); - // else - // pWidget->hide(); + else + pWidget->hide(); + m_settings.endGroup(); } } @@ -399,13 +408,16 @@ // only save the form geometry while its up and visible) if (pWidget) { m_settings.beginGroup("/Geometry/" + pWidget->objectName()); + #if 0//--SAVE_OLD_GEOMETRY const QPoint& wpos = pWidget->pos(); const QSize& wsize = pWidget->size(); - if (!bVisible) bVisible = pWidget->isVisible(); m_settings.setValue("/x", wpos.x()); m_settings.setValue("/y", wpos.y()); m_settings.setValue("/width", wsize.width()); m_settings.setValue("/height", wsize.height()); + #endif + m_settings.setValue("/geometry", pWidget->saveGeometry()); + if (!bVisible) bVisible = pWidget->isVisible(); m_settings.setValue("/visible", bVisible); m_settings.endGroup(); }