From d08deb0b4a64e24884eedaf5d8e20f967c38e82a Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Wed, 8 Mar 2017 20:11:43 +0100 Subject: Add feature.abstractbutton Change-Id: Ie93c6d0a8256bc466d3419408b753d5f3738aa6b Reviewed-by: Lars Knoll --- src/widgets/itemviews/qtableview.cpp | 10 ++++++++++ src/widgets/itemviews/qtableview.h | 4 ++++ src/widgets/itemviews/qtableview_p.h | 2 ++ 3 files changed, 16 insertions(+) (limited to 'src/widgets/itemviews') diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp index c7cc1d155e..ed6482a8bc 100644 --- a/src/widgets/itemviews/qtableview.cpp +++ b/src/widgets/itemviews/qtableview.cpp @@ -49,7 +49,9 @@ #include #include #include +#if QT_CONFIG(abstractbutton) #include +#endif #include #include #include @@ -578,6 +580,7 @@ bool QSpanCollection::checkConsistency() const } #endif +#if QT_CONFIG(abstractbutton) class QTableCornerButton : public QAbstractButton { Q_OBJECT @@ -600,6 +603,7 @@ public: style()->drawControl(QStyle::CE_Header, &opt, &painter, this); } }; +#endif void QTableViewPrivate::init() { @@ -619,9 +623,11 @@ void QTableViewPrivate::init() tabKeyNavigation = true; +#if QT_CONFIG(abstractbutton) cornerWidget = new QTableCornerButton(q); cornerWidget->setFocusPolicy(Qt::NoFocus); QObject::connect(cornerWidget, SIGNAL(clicked()), q, SLOT(selectAll())); +#endif } /*! @@ -2121,6 +2127,7 @@ void QTableView::updateGeometries() if (d->horizontalHeader->isHidden()) QMetaObject::invokeMethod(d->horizontalHeader, "updateGeometries"); +#if QT_CONFIG(abstractbutton) // update cornerWidget if (d->horizontalHeader->isHidden() || d->verticalHeader->isHidden()) { d->cornerWidget->setHidden(true); @@ -2128,6 +2135,7 @@ void QTableView::updateGeometries() d->cornerWidget->setHidden(false); d->cornerWidget->setGeometry(verticalLeft, horizontalTop, width, height); } +#endif // update scroll bars @@ -2642,6 +2650,7 @@ bool QTableView::wordWrap() const return d->wrapItemText; } +#if QT_CONFIG(abstractbutton) /*! \property QTableView::cornerButtonEnabled \brief whether the button in the top-left corner is enabled @@ -2664,6 +2673,7 @@ bool QTableView::isCornerButtonEnabled() const Q_D(const QTableView); return d->cornerWidget->isEnabled(); } +#endif /*! \internal diff --git a/src/widgets/itemviews/qtableview.h b/src/widgets/itemviews/qtableview.h index 8c9ac379bc..b1c38d521f 100644 --- a/src/widgets/itemviews/qtableview.h +++ b/src/widgets/itemviews/qtableview.h @@ -58,7 +58,9 @@ class Q_WIDGETS_EXPORT QTableView : public QAbstractItemView Q_PROPERTY(Qt::PenStyle gridStyle READ gridStyle WRITE setGridStyle) Q_PROPERTY(bool sortingEnabled READ isSortingEnabled WRITE setSortingEnabled) Q_PROPERTY(bool wordWrap READ wordWrap WRITE setWordWrap) +#if QT_CONFIG(abstractbutton) Q_PROPERTY(bool cornerButtonEnabled READ isCornerButtonEnabled WRITE setCornerButtonEnabled) +#endif public: explicit QTableView(QWidget *parent = Q_NULLPTR); @@ -103,8 +105,10 @@ public: void setWordWrap(bool on); bool wordWrap() const; +#if QT_CONFIG(abstractbutton) void setCornerButtonEnabled(bool enable); bool isCornerButtonEnabled() const; +#endif QRect visualRect(const QModelIndex &index) const Q_DECL_OVERRIDE; void scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible) Q_DECL_OVERRIDE; diff --git a/src/widgets/itemviews/qtableview_p.h b/src/widgets/itemviews/qtableview_p.h index 2ca158d657..d2f45d557d 100644 --- a/src/widgets/itemviews/qtableview_p.h +++ b/src/widgets/itemviews/qtableview_p.h @@ -192,7 +192,9 @@ public: QVector rowsToUpdate; QHeaderView *horizontalHeader; QHeaderView *verticalHeader; +#if QT_CONFIG(abstractbutton) QWidget *cornerWidget; +#endif bool sortingEnabled; bool geometryRecursionBlock; QPoint visualCursor; // (Row,column) cell coordinates to track through span navigation. -- cgit v1.2.3