mirror of
https://github.com/86Box/86Box.git
synced 2026-02-24 10:28:19 -07:00
Manager: Move the "remember size & position" option to Preferences dialog
This commit is contained in:
@@ -135,33 +135,39 @@ VMManagerMainWindow(QWidget *parent)
|
||||
|
||||
{
|
||||
auto config = new VMManagerConfig(VMManagerConfig::ConfigType::General);
|
||||
this->ui->actionRemember_size_and_position->setChecked(!!config->getStringValue("window_remember").toInt());
|
||||
if (ui->actionRemember_size_and_position->isChecked()) {
|
||||
QStringList list = config->getStringValue("window_coordinates").split(',');
|
||||
for (auto& cur : list) {
|
||||
cur = cur.trimmed();
|
||||
}
|
||||
QRect geom;
|
||||
geom.setX(list[0].toInt());
|
||||
geom.setY(list[1].toInt());
|
||||
geom.setWidth(list[2].toInt());
|
||||
geom.setHeight(list[3].toInt());
|
||||
if (!!config->getStringValue("window_remember").toInt()) {
|
||||
QString coords = config->getStringValue("window_coordinates");
|
||||
if (!coords.isEmpty()) {
|
||||
QStringList list = coords.split(',');
|
||||
for (auto& cur : list) {
|
||||
cur = cur.trimmed();
|
||||
}
|
||||
QRect geom;
|
||||
geom.setX(list[0].toInt());
|
||||
geom.setY(list[1].toInt());
|
||||
geom.setWidth(list[2].toInt());
|
||||
geom.setHeight(list[3].toInt());
|
||||
|
||||
setGeometry(geom);
|
||||
}
|
||||
|
||||
setGeometry(geom);
|
||||
if (!!config->getStringValue("window_maximized").toInt()) {
|
||||
setWindowState(windowState() | Qt::WindowMaximized);
|
||||
}
|
||||
|
||||
list = config->getStringValue("window_splitter").split(',');
|
||||
for (auto& cur : list) {
|
||||
cur = cur.trimmed();
|
||||
QString splitter = config->getStringValue("window_splitter");
|
||||
if (!splitter.isEmpty()) {
|
||||
QStringList list = splitter.split(',');
|
||||
for (auto& cur : list) {
|
||||
cur = cur.trimmed();
|
||||
}
|
||||
QList<int> paneSizes;
|
||||
paneSizes.append(list[0].toInt());
|
||||
paneSizes.append(list[1].toInt());
|
||||
|
||||
vmm->setPaneSizes(paneSizes);
|
||||
}
|
||||
QList<int> paneSizes;
|
||||
paneSizes.append(list[0].toInt());
|
||||
paneSizes.append(list[1].toInt());
|
||||
vmm->setPaneSizes(paneSizes);
|
||||
} else {
|
||||
config->setStringValue("window_remember", "");
|
||||
config->setStringValue("window_coordinates", "");
|
||||
config->setStringValue("window_maximized", "");
|
||||
config->setStringValue("window_splitter", "");
|
||||
@@ -224,13 +230,11 @@ VMManagerMainWindow::saveSettings() const
|
||||
const auto currentSelection = vmm->getCurrentSelection();
|
||||
const auto config = new VMManagerConfig(VMManagerConfig::ConfigType::General);
|
||||
config->setStringValue("last_selection", currentSelection);
|
||||
config->setStringValue("window_remember", QString::number(ui->actionRemember_size_and_position->isChecked()));
|
||||
if (ui->actionRemember_size_and_position->isChecked()) {
|
||||
if (!!config->getStringValue("window_remember").toInt()) {
|
||||
config->setStringValue("window_coordinates", QString::asprintf("%i, %i, %i, %i", this->geometry().x(), this->geometry().y(), this->geometry().width(), this->geometry().height()));
|
||||
config->setStringValue("window_maximized", this->isMaximized() ? "1" : "");
|
||||
config->setStringValue("window_splitter", QString::asprintf("%i, %i", vmm->getPaneSizes()[0], vmm->getPaneSizes()[1]));
|
||||
} else {
|
||||
config->setStringValue("window_remember", "");
|
||||
config->setStringValue("window_coordinates", "");
|
||||
config->setStringValue("window_maximized", "");
|
||||
config->setStringValue("window_splitter", "");
|
||||
|
||||
Reference in New Issue
Block a user