shared/idian: Make title and description common to all row types
This commit is contained in:
committed by
Ryan Foster
parent
795988bd69
commit
22ce393680
@@ -103,7 +103,8 @@ OBSIdianPlayground::OBSIdianPlayground(QWidget *parent) : QDialog(parent), ui(ne
|
||||
tmp->setSuffix(new ToggleSwitch);
|
||||
test->properties()->addRow(tmp);
|
||||
|
||||
CollapsibleRow *tmp2 = new CollapsibleRow("A Collapsible row!", this);
|
||||
CollapsibleRow *tmp2 = new CollapsibleRow(this);
|
||||
tmp2->setTitle("A Collapsible row!");
|
||||
tmp2->setCheckable(true);
|
||||
test->addRow(tmp2);
|
||||
|
||||
|
||||
@@ -40,6 +40,9 @@ class GenericRow : public QFrame, public Utils {
|
||||
|
||||
public:
|
||||
GenericRow(QWidget *parent = nullptr) : QFrame(parent), Utils(this) { setAccessibleName(""); };
|
||||
|
||||
virtual void setTitle(const QString &title) = 0;
|
||||
virtual void setDescription(const QString &description) = 0;
|
||||
};
|
||||
|
||||
// Row widget containing one or more controls
|
||||
@@ -61,8 +64,8 @@ public:
|
||||
void setPrefixEnabled(bool enabled);
|
||||
void setSuffixEnabled(bool enabled);
|
||||
|
||||
void setTitle(QString name);
|
||||
void setDescription(QString description);
|
||||
virtual void setTitle(const QString &title) override;
|
||||
virtual void setDescription(const QString &description) override;
|
||||
|
||||
void showTitle(bool visible);
|
||||
void showDescription(bool visible);
|
||||
@@ -171,12 +174,14 @@ class CollapsibleRow : public GenericRow {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CollapsibleRow(const QString &name, QWidget *parent = nullptr);
|
||||
CollapsibleRow(const QString &name, const QString &desc = nullptr, QWidget *parent = nullptr);
|
||||
CollapsibleRow(QWidget *parent = nullptr);
|
||||
|
||||
void setCheckable(bool check);
|
||||
bool isCheckable() { return checkable; }
|
||||
|
||||
virtual void setTitle(const QString &title) override;
|
||||
virtual void setDescription(const QString &description) override;
|
||||
|
||||
void addRow(GenericRow *actionRow);
|
||||
|
||||
private:
|
||||
|
||||
@@ -112,14 +112,14 @@ void Row::setSuffixEnabled(bool enabled)
|
||||
suffix_->setVisible(enabled);
|
||||
}
|
||||
|
||||
void Row::setTitle(QString name)
|
||||
void Row::setTitle(const QString &name)
|
||||
{
|
||||
nameLabel->setText(name);
|
||||
setAccessibleName(name);
|
||||
showTitle(true);
|
||||
}
|
||||
|
||||
void Row::setDescription(QString description)
|
||||
void Row::setDescription(const QString &description)
|
||||
{
|
||||
descriptionLabel->setText(description);
|
||||
setAccessibleDescription(description);
|
||||
@@ -260,7 +260,7 @@ void ExpandButton::paintEvent(QPaintEvent *)
|
||||
}
|
||||
|
||||
// Row variant that can be expanded to show another properties list
|
||||
CollapsibleRow::CollapsibleRow(const QString &name, QWidget *parent) : GenericRow(parent)
|
||||
CollapsibleRow::CollapsibleRow(QWidget *parent) : GenericRow(parent)
|
||||
{
|
||||
layout = new QVBoxLayout;
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
@@ -274,7 +274,6 @@ CollapsibleRow::CollapsibleRow(const QString &name, QWidget *parent) : GenericRo
|
||||
rowWidget->setLayout(rowLayout);
|
||||
|
||||
actionRow = new Row();
|
||||
actionRow->setTitle(name);
|
||||
actionRow->setChangeCursor(false);
|
||||
|
||||
rowLayout->addWidget(actionRow);
|
||||
@@ -305,11 +304,6 @@ CollapsibleRow::CollapsibleRow(const QString &name, QWidget *parent) : GenericRo
|
||||
connect(actionRow, &Row::clicked, expandButton, &QAbstractButton::click);
|
||||
}
|
||||
|
||||
CollapsibleRow::CollapsibleRow(const QString &name, const QString &desc, QWidget *parent) : CollapsibleRow(name, parent)
|
||||
{
|
||||
actionRow->setDescription(desc);
|
||||
}
|
||||
|
||||
void CollapsibleRow::setCheckable(bool check)
|
||||
{
|
||||
checkable = check;
|
||||
@@ -332,6 +326,16 @@ void CollapsibleRow::setCheckable(bool check)
|
||||
}
|
||||
}
|
||||
|
||||
void CollapsibleRow::setTitle(const QString &name)
|
||||
{
|
||||
actionRow->setTitle(name);
|
||||
}
|
||||
|
||||
void CollapsibleRow::setDescription(const QString &description)
|
||||
{
|
||||
actionRow->setDescription(description);
|
||||
}
|
||||
|
||||
void CollapsibleRow::toggleVisibility()
|
||||
{
|
||||
bool visible = !propertyList->isVisible();
|
||||
|
||||
Reference in New Issue
Block a user