summaryrefslogtreecommitdiff
path: root/src/libs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/utils/detailsbutton.cpp8
-rw-r--r--src/libs/utils/detailsbutton.h1
-rw-r--r--src/libs/utils/detailswidget.cpp10
-rw-r--r--src/libs/utils/detailswidget.h2
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);