mirror of
https://github.com/86Box/86Box.git
synced 2026-02-22 09:35:32 -07:00
Manager: Streamline details label caching code to address an incorrect assumption
This commit is contained in:
@@ -179,9 +179,10 @@ VMManagerDetailSection::setSections()
|
||||
continue;
|
||||
}
|
||||
|
||||
auto item = frameGridLayout->itemAtPosition(row, 1);
|
||||
auto label = item ? ((QLabel *) item->widget()) : nullptr;
|
||||
if (label) {
|
||||
auto item = frameGridLayout->itemAtPosition(row, 1);
|
||||
QLabel *label;
|
||||
if (item) {
|
||||
label = (QLabel *) item->widget();
|
||||
label->setVisible(true);
|
||||
} else {
|
||||
label = new QLabel();
|
||||
@@ -193,25 +194,21 @@ VMManagerDetailSection::setSections()
|
||||
|
||||
item = frameGridLayout->itemAtPosition(row, 0);
|
||||
if (!labelKey) {
|
||||
if (item)
|
||||
if (item) {
|
||||
labelKey = (QLabel *) item->widget();
|
||||
if (labelKey) {
|
||||
labelKey->setVisible(true);
|
||||
} else {
|
||||
labelKey = new QLabel();
|
||||
labelKey->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
|
||||
labelKey->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
|
||||
labelKey->setText(QCoreApplication::translate("", QString(section.name + ":").toUtf8().data()));
|
||||
frameGridLayout->addWidget(labelKey, row, 0, Qt::AlignLeft);
|
||||
}
|
||||
labelKey->setText(QCoreApplication::translate("", QString(section.name + ":").toUtf8().data()));
|
||||
} else if (item) {
|
||||
label = (QLabel *) item->widget();
|
||||
if (label)
|
||||
label->setVisible(false);
|
||||
item->widget()->setVisible(false);
|
||||
}
|
||||
|
||||
item = frameGridLayout->itemAtPosition(row, 2);
|
||||
if (!item || !item->widget()) {
|
||||
if (!frameGridLayout->itemAtPosition(row, 2)) {
|
||||
const auto hSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||
frameGridLayout->addItem(hSpacer, row, 2);
|
||||
}
|
||||
@@ -224,13 +221,10 @@ VMManagerDetailSection::setSections()
|
||||
int prevUsedRows = usedRows;
|
||||
usedRows = row;
|
||||
for (; row < prevUsedRows; row++) {
|
||||
for (int i = 0; i <= 2; i++) {
|
||||
for (int i = 0; i <= 1; i++) {
|
||||
auto item = frameGridLayout->itemAtPosition(row, i);
|
||||
if (item) {
|
||||
auto widget = item->widget();
|
||||
if (widget)
|
||||
widget->setVisible(false);
|
||||
}
|
||||
if (item)
|
||||
item->widget()->setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user