Reduze status label column to minimum size

This commit is contained in:
WarmUpTill
2023-04-15 00:31:10 +02:00
committed by WarmUpTill
parent 2c5caabab0
commit c6b693b4ac
3 changed files with 32 additions and 0 deletions

View File

@@ -1074,6 +1074,7 @@ void AdvSceneSwitcher::setupGeneralTab()
// as otherwise it could block user input
statusControl->hide();
MinimizeSizeOfColumn(ui->statusLayout, 0);
setWindowTitle(windowTitle() + " - " + g_GIT_TAG);
}

View File

@@ -250,6 +250,36 @@ void setLayoutVisible(QLayout *layout, bool visible)
}
}
void MinimizeSizeOfColumn(QGridLayout *layout, int idx)
{
if (idx >= layout->columnCount()) {
return;
}
for (int i = 0; i < layout->columnCount(); i++) {
if (i == idx) {
layout->setColumnStretch(i, 0);
} else {
layout->setColumnStretch(i, 1);
}
}
int columnWidth = 0;
for (int row = 0; row < layout->rowCount(); row++) {
auto item = layout->itemAtPosition(row, idx);
if (!item) {
continue;
}
auto widget = item->widget();
if (!widget) {
continue;
}
columnWidth = std::max(columnWidth,
widget->minimumSizeHint().width());
}
layout->setColumnMinimumWidth(idx, columnWidth);
}
bool compareIgnoringLineEnding(QString &s1, QString &s2)
{
// Let QT deal with different types of lineendings

View File

@@ -89,6 +89,7 @@ void placeWidgets(std::string text, QBoxLayout *layout,
void deleteLayoutItemWidget(QLayoutItem *item);
void clearLayout(QLayout *layout, int afterIdx = 0);
void setLayoutVisible(QLayout *layout, bool visible);
void MinimizeSizeOfColumn(QGridLayout *layout, int idx);
QMetaObject::Connection PulseWidget(QWidget *widget, QColor startColor,
QColor endColor = QColor(0, 0, 0, 0),
bool once = false);