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>();
|
d->m_button = createSubWidget<QCheckBox>();
|
||||||
}
|
}
|
||||||
switch (d->m_labelPlacement) {
|
switch (d->m_labelPlacement) {
|
||||||
|
case LabelPlacement::AtCheckBoxWithoutDummyLabel:
|
||||||
|
d->m_button->setText(labelText());
|
||||||
|
parent.addItem(d->m_button.data());
|
||||||
|
break;
|
||||||
case LabelPlacement::AtCheckBox:
|
case LabelPlacement::AtCheckBox:
|
||||||
d->m_button->setText(labelText());
|
d->m_button->setText(labelText());
|
||||||
|
parent.addItem(empty());
|
||||||
parent.addItem(d->m_button.data());
|
parent.addItem(d->m_button.data());
|
||||||
break;
|
break;
|
||||||
case LabelPlacement::InExtraLabel:
|
case LabelPlacement::InExtraLabel:
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ public:
|
|||||||
bool defaultValue() const;
|
bool defaultValue() const;
|
||||||
void setDefaultValue(bool val);
|
void setDefaultValue(bool val);
|
||||||
|
|
||||||
enum class LabelPlacement { AtCheckBox, InExtraLabel };
|
enum class LabelPlacement { AtCheckBox, AtCheckBoxWithoutDummyLabel, InExtraLabel };
|
||||||
void setLabel(const QString &labelText,
|
void setLabel(const QString &labelText,
|
||||||
LabelPlacement labelPlacement = LabelPlacement::InExtraLabel);
|
LabelPlacement labelPlacement = LabelPlacement::InExtraLabel);
|
||||||
void setLabelPlacement(LabelPlacement labelPlacement);
|
void setLabelPlacement(LabelPlacement labelPlacement);
|
||||||
|
|||||||
@@ -229,6 +229,7 @@ struct ResultItem
|
|||||||
int space = -1;
|
int space = -1;
|
||||||
int stretch = -1;
|
int stretch = -1;
|
||||||
int span = 1;
|
int span = 1;
|
||||||
|
bool empty = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Slice
|
struct Slice
|
||||||
@@ -287,6 +288,8 @@ static void addItemToBoxLayout(QBoxLayout *layout, const ResultItem &item)
|
|||||||
layout->addSpacing(item.space);
|
layout->addSpacing(item.space);
|
||||||
} else if (!item.text.isEmpty()) {
|
} else if (!item.text.isEmpty()) {
|
||||||
layout->addWidget(createLabel(item.text));
|
layout->addWidget(createLabel(item.text));
|
||||||
|
} else if (item.empty) {
|
||||||
|
// Nothing to do, but no reason to warn, either.
|
||||||
} else {
|
} else {
|
||||||
QTC_CHECK(false);
|
QTC_CHECK(false);
|
||||||
}
|
}
|
||||||
@@ -654,8 +657,8 @@ LayoutItem empty()
|
|||||||
LayoutItem item;
|
LayoutItem item;
|
||||||
item.onAdd = [](LayoutBuilder &builder) {
|
item.onAdd = [](LayoutBuilder &builder) {
|
||||||
ResultItem ri;
|
ResultItem ri;
|
||||||
ri.span = 1;
|
ri.empty = true;
|
||||||
builder.stack.last().pendingItems.append(ResultItem());
|
builder.stack.last().pendingItems.append(ri);
|
||||||
};
|
};
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ void TerminalAspect::addToLayout(LayoutItem &parent)
|
|||||||
m_checkBox = createSubWidget<QCheckBox>(Tr::tr("Run in terminal"));
|
m_checkBox = createSubWidget<QCheckBox>(Tr::tr("Run in terminal"));
|
||||||
m_checkBox->setChecked(m_useTerminal);
|
m_checkBox->setChecked(m_useTerminal);
|
||||||
m_checkBox->setEnabled(isEnabled());
|
m_checkBox->setEnabled(isEnabled());
|
||||||
parent.addItems({{}, m_checkBox.data()});
|
parent.addItems({empty(), m_checkBox.data()});
|
||||||
connect(m_checkBox.data(), &QAbstractButton::clicked, this, [this] {
|
connect(m_checkBox.data(), &QAbstractButton::clicked, this, [this] {
|
||||||
m_userSet = true;
|
m_userSet = true;
|
||||||
m_useTerminal = m_checkBox->isChecked();
|
m_useTerminal = m_checkBox->isChecked();
|
||||||
|
|||||||
Reference in New Issue
Block a user