diff options
Diffstat (limited to 'src/libs/utils')
-rw-r--r-- | src/libs/utils/detailsbutton.cpp | 8 | ||||
-rw-r--r-- | src/libs/utils/detailsbutton.h | 1 | ||||
-rw-r--r-- | src/libs/utils/detailswidget.cpp | 10 | ||||
-rw-r--r-- | src/libs/utils/detailswidget.h | 2 |
4 files changed, 21 insertions, 0 deletions
diff --git a/src/libs/utils/detailsbutton.cpp b/src/libs/utils/detailsbutton.cpp index abceff7b2d..07c27d3b70 100644 --- a/src/libs/utils/detailsbutton.cpp +++ b/src/libs/utils/detailsbutton.cpp @@ -110,6 +110,14 @@ bool DetailsButton::event(QEvent *e) return false; } +void DetailsButton::changeEvent(QEvent *e) +{ + if (e->type() == QEvent::EnabledChange) { + m_checkedPixmap = QPixmap(); + m_uncheckedPixmap = QPixmap(); + } +} + void DetailsButton::paintEvent(QPaintEvent *e) { QWidget::paintEvent(e); diff --git a/src/libs/utils/detailsbutton.h b/src/libs/utils/detailsbutton.h index dabbe75918..3c7286e9ee 100644 --- a/src/libs/utils/detailsbutton.h +++ b/src/libs/utils/detailsbutton.h @@ -71,6 +71,7 @@ public: protected: void paintEvent(QPaintEvent *e) override; bool event(QEvent *e) override; + void changeEvent(QEvent *e) override; private: QPixmap cacheRendering(const QSize &size, bool checked); diff --git a/src/libs/utils/detailswidget.cpp b/src/libs/utils/detailswidget.cpp index dd02d1a4a5..06159b101e 100644 --- a/src/libs/utils/detailswidget.cpp +++ b/src/libs/utils/detailswidget.cpp @@ -229,6 +229,16 @@ void DetailsWidget::setUseCheckBox(bool b) d->updateControls(); } +void DetailsWidget::setCheckable(bool b) +{ + d->m_summaryCheckBox->setEnabled(b); +} + +void DetailsWidget::setExpandable(bool b) +{ + d->m_detailsButton->setEnabled(b); +} + void DetailsWidget::setChecked(bool b) { d->m_summaryCheckBox->setChecked(b); diff --git a/src/libs/utils/detailswidget.h b/src/libs/utils/detailswidget.h index f96f0f549d..e9c55c9eaf 100644 --- a/src/libs/utils/detailswidget.h +++ b/src/libs/utils/detailswidget.h @@ -78,6 +78,8 @@ public: bool useCheckBox(); void setUseCheckBox(bool b); + void setCheckable(bool b); + void setExpandable(bool b); void setIcon(const QIcon &icon); static QPixmap createBackground(const QSize &size, int topHeight, QWidget *widget); |