forked from qt-creator/qt-creator
Utils: Move bool aspect to second column in forms by default
Also let the user opt out if necessary. Change-Id: Ia7483a3b3de1ce0c119e00594b722e38fa2d0bb2 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -1474,8 +1474,13 @@ void BoolAspect::addToLayout(Layouting::LayoutItem &parent)
|
||||
d->m_button = createSubWidget<QCheckBox>();
|
||||
}
|
||||
switch (d->m_labelPlacement) {
|
||||
case LabelPlacement::AtCheckBoxWithoutDummyLabel:
|
||||
d->m_button->setText(labelText());
|
||||
parent.addItem(d->m_button.data());
|
||||
break;
|
||||
case LabelPlacement::AtCheckBox:
|
||||
d->m_button->setText(labelText());
|
||||
parent.addItem(empty());
|
||||
parent.addItem(d->m_button.data());
|
||||
break;
|
||||
case LabelPlacement::InExtraLabel:
|
||||
|
||||
@@ -237,7 +237,7 @@ public:
|
||||
bool defaultValue() const;
|
||||
void setDefaultValue(bool val);
|
||||
|
||||
enum class LabelPlacement { AtCheckBox, InExtraLabel };
|
||||
enum class LabelPlacement { AtCheckBox, AtCheckBoxWithoutDummyLabel, InExtraLabel };
|
||||
void setLabel(const QString &labelText,
|
||||
LabelPlacement labelPlacement = LabelPlacement::InExtraLabel);
|
||||
void setLabelPlacement(LabelPlacement labelPlacement);
|
||||
|
||||
@@ -229,6 +229,7 @@ struct ResultItem
|
||||
int space = -1;
|
||||
int stretch = -1;
|
||||
int span = 1;
|
||||
bool empty = false;
|
||||
};
|
||||
|
||||
struct Slice
|
||||
@@ -287,6 +288,8 @@ static void addItemToBoxLayout(QBoxLayout *layout, const ResultItem &item)
|
||||
layout->addSpacing(item.space);
|
||||
} else if (!item.text.isEmpty()) {
|
||||
layout->addWidget(createLabel(item.text));
|
||||
} else if (item.empty) {
|
||||
// Nothing to do, but no reason to warn, either.
|
||||
} else {
|
||||
QTC_CHECK(false);
|
||||
}
|
||||
@@ -654,8 +657,8 @@ LayoutItem empty()
|
||||
LayoutItem item;
|
||||
item.onAdd = [](LayoutBuilder &builder) {
|
||||
ResultItem ri;
|
||||
ri.span = 1;
|
||||
builder.stack.last().pendingItems.append(ResultItem());
|
||||
ri.empty = true;
|
||||
builder.stack.last().pendingItems.append(ri);
|
||||
};
|
||||
return item;
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ void TerminalAspect::addToLayout(LayoutItem &parent)
|
||||
m_checkBox = createSubWidget<QCheckBox>(Tr::tr("Run in terminal"));
|
||||
m_checkBox->setChecked(m_useTerminal);
|
||||
m_checkBox->setEnabled(isEnabled());
|
||||
parent.addItems({{}, m_checkBox.data()});
|
||||
parent.addItems({empty(), m_checkBox.data()});
|
||||
connect(m_checkBox.data(), &QAbstractButton::clicked, this, [this] {
|
||||
m_userSet = true;
|
||||
m_useTerminal = m_checkBox->isChecked();
|
||||
|
||||
Reference in New Issue
Block a user