shared/idian: Make checked status of collapsible rows public

This commit is contained in:
Sebastian Beckmann
2025-05-29 21:05:32 +02:00
committed by Ryan Foster
parent 22ce393680
commit a9a506e984
2 changed files with 16 additions and 1 deletions

View File

@@ -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();

View File

@@ -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);