shared/idian: Make checked status of collapsible rows public
This commit is contained in:
committed by
Ryan Foster
parent
22ce393680
commit
a9a506e984
@@ -179,11 +179,17 @@ public:
|
||||
void setCheckable(bool check);
|
||||
bool isCheckable() { return checkable; }
|
||||
|
||||
void setChecked(bool checked);
|
||||
bool isChecked() { return toggleSwitch->isChecked(); };
|
||||
|
||||
virtual void setTitle(const QString &title) override;
|
||||
virtual void setDescription(const QString &description) override;
|
||||
|
||||
void addRow(GenericRow *actionRow);
|
||||
|
||||
signals:
|
||||
void toggled(bool checked);
|
||||
|
||||
private:
|
||||
void toggleVisibility();
|
||||
|
||||
|
||||
@@ -300,7 +300,6 @@ CollapsibleRow::CollapsibleRow(QWidget *parent) : GenericRow(parent)
|
||||
actionRow->setFocusProxy(expandButton);
|
||||
|
||||
connect(expandButton, &QAbstractButton::clicked, this, &CollapsibleRow::toggleVisibility);
|
||||
|
||||
connect(actionRow, &Row::clicked, expandButton, &QAbstractButton::click);
|
||||
}
|
||||
|
||||
@@ -316,6 +315,7 @@ void CollapsibleRow::setCheckable(bool check)
|
||||
|
||||
actionRow->setSuffix(toggleSwitch, false);
|
||||
connect(toggleSwitch, &ToggleSwitch::toggled, propertyList, &PropertiesList::setEnabled);
|
||||
connect(toggleSwitch, &ToggleSwitch::toggled, this, &CollapsibleRow::toggled);
|
||||
}
|
||||
|
||||
if (!checkable && toggleSwitch) {
|
||||
@@ -326,6 +326,15 @@ void CollapsibleRow::setCheckable(bool check)
|
||||
}
|
||||
}
|
||||
|
||||
void CollapsibleRow::setChecked(bool checked)
|
||||
{
|
||||
if (!isCheckable()) {
|
||||
throw std::logic_error("Called setChecked on a non-checkable row.");
|
||||
}
|
||||
|
||||
toggleSwitch->setChecked(checked);
|
||||
}
|
||||
|
||||
void CollapsibleRow::setTitle(const QString &name)
|
||||
{
|
||||
actionRow->setTitle(name);
|
||||
|
||||
Reference in New Issue
Block a user