From 29f6b507325862fe3dd728913b5911f8edde9d35 Mon Sep 17 00:00:00 2001 From: Sergio Martins Date: Mon, 21 Nov 2016 19:16:31 +0000 Subject: Windows: Don't raise inactive windows when showing a tooltip The Qt4 Q_WS_WIN ifdef never got ported. Change-Id: Iad1ca1a3e20bd5254895781eee09897520b7d7d1 Task-Id: QTBUG-39147 Reviewed-by: Friedemann Kleint --- src/widgets/kernel/qtooltip.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/kernel/qtooltip.cpp b/src/widgets/kernel/qtooltip.cpp index 48afeb1dcc..830a328948 100644 --- a/src/widgets/kernel/qtooltip.cpp +++ b/src/widgets/kernel/qtooltip.cpp @@ -493,12 +493,12 @@ void QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w, cons } if (!text.isEmpty()){ // no tip can be reused, create new tip: -#if 1 // Used to be excluded in Qt4 for Q_WS_WIN - new QTipLabel(text, w, msecDisplayTime); // sets QTipLabel::instance to itself -#else +#ifdef Q_OS_WIN32 // On windows, we can't use the widget as parent otherwise the window will be // raised when the tooltip will be shown new QTipLabel(text, QApplication::desktop()->screen(QTipLabel::getTipScreen(pos, w)), msecDisplayTime); +#else + new QTipLabel(text, w, msecDisplayTime); // sets QTipLabel::instance to itself #endif QTipLabel::instance->setTipRect(w, rect); QTipLabel::instance->placeTip(pos, w); -- cgit v1.2.3 From 922e410ebbf3b589385863b70e261e267968b9a4 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Wed, 19 Jul 2017 16:07:34 -0700 Subject: Fix 32-bit build on macOS Some customers still need this for interoperability with legacy code. Let's continue to keep it working in 5.9.x, and then move to 64-bit exclusive features (thus dropping 32-bit entirely) in 5.10. Task-number: QTBUG-58401 Change-Id: Ibb7200c1885e9caba70439df5f7c86c81b1312b5 Reviewed-by: Gabriel de Dietrich --- src/widgets/styles/qmacstyle_mac.mm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 99526683dd..6e8796970f 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -1018,17 +1018,17 @@ void QMacStylePrivate::drawFocusRing(QPainter *p, const QRect &targetRect, int h NSBezierPath *focusRingPath; if (radius > 0) { const CGFloat roundedRectInset = -1.5; - focusRingPath = [NSBezierPath bezierPathWithRoundedRect:CGRectInset(focusRingRect, roundedRectInset, roundedRectInset) + focusRingPath = [NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(CGRectInset(focusRingRect, roundedRectInset, roundedRectInset)) xRadius:radius yRadius:radius]; } else { const CGFloat outerClipInset = -focusRingWidth / 2; - NSBezierPath *focusRingClipPath = [NSBezierPath bezierPathWithRect:CGRectInset(focusRingRect, outerClipInset, outerClipInset)]; + NSBezierPath *focusRingClipPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(CGRectInset(focusRingRect, outerClipInset, outerClipInset))]; const CGFloat innerClipInset = 1; - NSBezierPath *focusRingInnerClipPath = [NSBezierPath bezierPathWithRect:CGRectInset(focusRingRect, innerClipInset, innerClipInset)]; + NSBezierPath *focusRingInnerClipPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(CGRectInset(focusRingRect, innerClipInset, innerClipInset))]; [focusRingClipPath appendBezierPath:focusRingInnerClipPath.bezierPathByReversingPath]; [focusRingClipPath setClip]; - focusRingPath = [NSBezierPath bezierPathWithRect:focusRingRect]; + focusRingPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(focusRingRect)]; focusRingPath.lineJoinStyle = NSRoundLineJoinStyle; } -- cgit v1.2.3 From e70258a155e5dbc0429ff75bcc857d188b60dbfd Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sun, 9 Jul 2017 17:01:21 +0200 Subject: Convert features.listview to QT_[REQUIRE_]CONFIG Change-Id: I707a839bcfc7ad481342d1adb98c9b593f5ca6e2 Reviewed-by: Oswald Buddenhagen --- src/widgets/accessible/complexwidgets.cpp | 1 - src/widgets/accessible/itemviews.cpp | 4 +++- src/widgets/graphicsview/qgraphicsproxywidget.cpp | 1 - src/widgets/itemviews/itemviews.pri | 11 ++++++++--- src/widgets/itemviews/qlistview.cpp | 3 --- src/widgets/itemviews/qlistview.h | 7 ++----- src/widgets/itemviews/qlistview_p.h | 4 +--- src/widgets/styles/qmacstyle_mac_p_p.h | 2 ++ src/widgets/styles/qpixmapstyle.cpp | 2 ++ src/widgets/styles/qwindowsstyle.cpp | 4 +++- src/widgets/styles/qwindowsvistastyle_p_p.h | 2 ++ src/widgets/styles/qwindowsxpstyle.cpp | 2 ++ src/widgets/util/qcompleter.cpp | 14 ++++++++------ 13 files changed, 33 insertions(+), 24 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp index 50aba759c3..42775d7324 100644 --- a/src/widgets/accessible/complexwidgets.cpp +++ b/src/widgets/accessible/complexwidgets.cpp @@ -45,7 +45,6 @@ #include #include #include -#include #include #include #include diff --git a/src/widgets/accessible/itemviews.cpp b/src/widgets/accessible/itemviews.cpp index 4d1a4589ee..1ccfcbe4e5 100644 --- a/src/widgets/accessible/itemviews.cpp +++ b/src/widgets/accessible/itemviews.cpp @@ -43,7 +43,9 @@ #if QT_CONFIG(tableview) #include #endif +#if QT_CONFIG(listview) #include +#endif #if QT_CONFIG(treeview) #include #include @@ -96,7 +98,7 @@ QAccessibleTable::QAccessibleTable(QWidget *w) m_role = QAccessible::Tree; } else #endif -#ifndef QT_NO_LISTVIEW +#if QT_CONFIG(listview) if (qobject_cast(view())) { m_role = QAccessible::List; } else diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.cpp b/src/widgets/graphicsview/qgraphicsproxywidget.cpp index eface182ae..5e692abd73 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget.cpp +++ b/src/widgets/graphicsview/qgraphicsproxywidget.cpp @@ -55,7 +55,6 @@ #include #include #include -#include #include #include diff --git a/src/widgets/itemviews/itemviews.pri b/src/widgets/itemviews/itemviews.pri index c68aa590bc..effe9017e9 100644 --- a/src/widgets/itemviews/itemviews.pri +++ b/src/widgets/itemviews/itemviews.pri @@ -6,8 +6,6 @@ HEADERS += \ itemviews/qabstractitemview_p.h \ itemviews/qheaderview.h \ itemviews/qheaderview_p.h \ - itemviews/qlistview.h \ - itemviews/qlistview_p.h \ itemviews/qbsptree_p.h \ itemviews/qabstractitemdelegate.h \ itemviews/qabstractitemdelegate_p.h \ @@ -22,7 +20,6 @@ HEADERS += \ SOURCES += \ itemviews/qabstractitemview.cpp \ itemviews/qheaderview.cpp \ - itemviews/qlistview.cpp \ itemviews/qbsptree.cpp \ itemviews/qabstractitemdelegate.cpp \ itemviews/qitemdelegate.cpp \ @@ -43,6 +40,14 @@ qtConfig(columnview) { itemviews/qcolumnviewgrip.cpp } +qtConfig(listview) { + HEADERS += \ + itemviews/qlistview.h \ + itemviews/qlistview_p.h + + SOURCES += itemviews/qlistview.cpp +} + qtConfig(listwidget) { HEADERS += \ itemviews/qlistwidget.h \ diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index ca416d9c04..83962f3bbc 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -40,7 +40,6 @@ #include "qlistview.h" -#ifndef QT_NO_LISTVIEW #include #include #include @@ -3298,5 +3297,3 @@ QSize QListView::viewportSizeHint() const QT_END_NAMESPACE #include "moc_qlistview.cpp" - -#endif // QT_NO_LISTVIEW diff --git a/src/widgets/itemviews/qlistview.h b/src/widgets/itemviews/qlistview.h index 6b164aeec8..66ec9b18b1 100644 --- a/src/widgets/itemviews/qlistview.h +++ b/src/widgets/itemviews/qlistview.h @@ -43,10 +43,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(listview); -#ifndef QT_NO_LISTVIEW +QT_BEGIN_NAMESPACE class QListViewPrivate; @@ -195,8 +194,6 @@ private: Q_DISABLE_COPY(QListView) }; -#endif // QT_NO_LISTVIEW - QT_END_NAMESPACE #endif // QLISTVIEW_H diff --git a/src/widgets/itemviews/qlistview_p.h b/src/widgets/itemviews/qlistview_p.h index 6c0e470a93..8d29767951 100644 --- a/src/widgets/itemviews/qlistview_p.h +++ b/src/widgets/itemviews/qlistview_p.h @@ -58,7 +58,7 @@ #include #include -#ifndef QT_NO_LISTVIEW +QT_REQUIRE_CONFIG(listview); QT_BEGIN_NAMESPACE @@ -474,6 +474,4 @@ inline bool QCommonListViewBase::isRightToLeft() const { return qq->isRightToLef QT_END_NAMESPACE -#endif // QT_NO_LISTVIEW - #endif // QLISTVIEW_P_H diff --git a/src/widgets/styles/qmacstyle_mac_p_p.h b/src/widgets/styles/qmacstyle_mac_p_p.h index 7ff6279284..4a3ff1b8bf 100644 --- a/src/widgets/styles/qmacstyle_mac_p_p.h +++ b/src/widgets/styles/qmacstyle_mac_p_p.h @@ -69,7 +69,9 @@ #include #include #include +#if QT_CONFIG(listview) #include +#endif #include #include #include diff --git a/src/widgets/styles/qpixmapstyle.cpp b/src/widgets/styles/qpixmapstyle.cpp index 88482d28c9..20c9040a53 100644 --- a/src/widgets/styles/qpixmapstyle.cpp +++ b/src/widgets/styles/qpixmapstyle.cpp @@ -54,7 +54,9 @@ #include #include #include +#if QT_CONFIG(listview) #include +#endif #include #include #include diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index f805e29db1..d0ede56010 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -65,7 +65,9 @@ #if QT_CONFIG(wizard) #include "qwizard.h" #endif +#if QT_CONFIG(listview) #include "qlistview.h" +#endif #include #include #include @@ -548,7 +550,7 @@ int QWindowsStyle::styleHint(StyleHint hint, const QStyleOption *opt, const QWid break; case SH_ItemView_ShowDecorationSelected: -#ifndef QT_NO_LISTVIEW +#if QT_CONFIG(listview) if (qobject_cast(widget)) ret = 1; #endif diff --git a/src/widgets/styles/qwindowsvistastyle_p_p.h b/src/widgets/styles/qwindowsvistastyle_p_p.h index 5d772204a7..5c342df5a6 100644 --- a/src/widgets/styles/qwindowsvistastyle_p_p.h +++ b/src/widgets/styles/qwindowsvistastyle_p_p.h @@ -76,7 +76,9 @@ #include #include #include +#if QT_CONFIG(listview) #include +#endif #if QT_CONFIG(treeview) #include #endif diff --git a/src/widgets/styles/qwindowsxpstyle.cpp b/src/widgets/styles/qwindowsxpstyle.cpp index 87ac2ee4ae..e1c32d4ed6 100644 --- a/src/widgets/styles/qwindowsxpstyle.cpp +++ b/src/widgets/styles/qwindowsxpstyle.cpp @@ -63,7 +63,9 @@ #include #include #include +#if QT_CONFIG(listview) #include +#endif #include #if QT_CONFIG(pushbutton) #include diff --git a/src/widgets/util/qcompleter.cpp b/src/widgets/util/qcompleter.cpp index c412c4cbd5..9119c7896f 100644 --- a/src/widgets/util/qcompleter.cpp +++ b/src/widgets/util/qcompleter.cpp @@ -152,7 +152,9 @@ #include "QtWidgets/qfilesystemmodel.h" #endif #include "QtWidgets/qheaderview.h" +#if QT_CONFIG(listview) #include "QtWidgets/qlistview.h" +#endif #include "QtWidgets/qapplication.h" #include "QtGui/qevent.h" #include "QtWidgets/qdesktopwidget.h" @@ -816,11 +818,11 @@ void QCompleterPrivate::init(QAbstractItemModel *m) proxy = new QCompletionModel(this, q); QObject::connect(proxy, SIGNAL(rowsAdded()), q, SLOT(_q_autoResizePopup())); q->setModel(m); -#ifdef QT_NO_LISTVIEW +#if !QT_CONFIG(listview) q->setCompletionMode(QCompleter::InlineCompletion); #else q->setCompletionMode(QCompleter::PopupCompletion); -#endif // QT_NO_LISTVIEW +#endif // QT_CONFIG(listview) } void QCompleterPrivate::setCurrentIndex(QModelIndex index, bool select) @@ -1214,7 +1216,7 @@ void QCompleter::setPopup(QAbstractItemView *popup) popup->setFocusProxy(d->widget); popup->installEventFilter(this); popup->setItemDelegate(new QCompleterItemDelegate(popup)); -#ifndef QT_NO_LISTVIEW +#if QT_CONFIG(listview) if (QListView *listView = qobject_cast(popup)) { listView->setModelColumn(d->column); } @@ -1238,7 +1240,7 @@ void QCompleter::setPopup(QAbstractItemView *popup) QAbstractItemView *QCompleter::popup() const { Q_D(const QCompleter); -#ifndef QT_NO_LISTVIEW +#if QT_CONFIG(listview) if (!d->popup && completionMode() != QCompleter::InlineCompletion) { QListView *listView = new QListView; listView->setEditTriggers(QAbstractItemView::NoEditTriggers); @@ -1249,7 +1251,7 @@ QAbstractItemView *QCompleter::popup() const QCompleter *that = const_cast(this); that->setPopup(listView); } -#endif // QT_NO_LISTVIEW +#endif // QT_CONFIG(listview) return d->popup; } @@ -1580,7 +1582,7 @@ void QCompleter::setCompletionColumn(int column) Q_D(QCompleter); if (d->column == column) return; -#ifndef QT_NO_LISTVIEW +#if QT_CONFIG(listview) if (QListView *listView = qobject_cast(d->popup)) listView->setModelColumn(column); #endif -- cgit v1.2.3 From f9afae9e08986e84c5c4028fd09a849e92378300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= Date: Thu, 13 Jul 2017 22:19:31 +0200 Subject: QListView: Fix item movement in icon mode Since b13aa15e1007a1b5ed61049bbd9ef8f95b6d12a5 the event must not be accepted when calling "canDrop()" method. Inside it "dropOn()" method is called which requires not accepted event. Otherwise the event will be ignored later in "QListView::dragMoveEvent()". On next movement it will be accepted again - the event is now ignored, so "dropOn() method will work properly. If "filterDragMoveEvent()" returns false for any reason, the event acceptance is not changed - the same behavior as before. Task-number: QTBUG-61951 Change-Id: I2d49ce5b15300c42e2efc745e8e32d3d17f34a2f Reviewed-by: Friedemann Kleint Reviewed-by: Richard Moe Gustavsen --- src/widgets/itemviews/qlistview.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index 83962f3bbc..9e959c8e1e 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -2814,11 +2814,17 @@ bool QIconModeViewBase::filterDragLeaveEvent(QDragLeaveEvent *e) bool QIconModeViewBase::filterDragMoveEvent(QDragMoveEvent *e) { - if (e->source() != qq || !dd->canDrop(e)) - return false; + const bool wasAccepted = e->isAccepted(); // ignore by default e->ignore(); + + if (e->source() != qq || !dd->canDrop(e)) { + // restore previous acceptance on failure + e->setAccepted(wasAccepted); + return false; + } + // get old dragged items rect QRect itemsRect = this->itemsRect(draggedItems); viewport()->update(itemsRect.translated(draggedItemsDelta())); -- cgit v1.2.3 From fcfee98f62b8a8b8c3b1ac11cbb23620788a586c Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Thu, 13 Jul 2017 14:37:00 +0200 Subject: QLineEdit: Don't move the cursor after internalInsert() has done so internalInsert() will set the cursor to the right position which accounts for any input mask set on the control as well. Therefore it will already be placed at the next correct position and should not be changed again after that. Task-number: QTBUG-40943 Change-Id: Ic0f5fad6999ddd367e435ec4409a5db5b9eacb7b Reviewed-by: Daniel Teske Reviewed-by: David Faure --- src/widgets/widgets/qwidgetlinecontrol.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 97df3427b0..976cd173c5 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -548,10 +548,10 @@ void QWidgetLineControl::processInputMethodEvent(QInputMethodEvent *event) if (!event->commitString().isEmpty()) { internalInsert(event->commitString()); cursorPositionChanged = true; + } else { + m_cursor = qBound(0, c, m_text.length()); } - m_cursor = qBound(0, c, m_text.length()); - for (int i = 0; i < event->attributes().size(); ++i) { const QInputMethodEvent::Attribute &a = event->attributes().at(i); if (a.type == QInputMethodEvent::Selection) { -- cgit v1.2.3 From 43b7c0c609ad4f01a392eb081a6d41adb80a92c7 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sat, 22 Jul 2017 15:11:58 +0200 Subject: Convert features.dirmodel to QT_[REQUIRE_]CONFIG Change-Id: I8e2c6b49857ffb292c4b08ccab560c59665cc3a4 Reviewed-by: Oswald Buddenhagen --- src/widgets/itemviews/itemviews.pri | 7 +++++-- src/widgets/itemviews/qdirmodel.cpp | 3 --- src/widgets/itemviews/qdirmodel.h | 7 ++----- src/widgets/util/qcompleter.cpp | 16 +++++++++------- 4 files changed, 16 insertions(+), 17 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/itemviews/itemviews.pri b/src/widgets/itemviews/itemviews.pri index effe9017e9..bdab346522 100644 --- a/src/widgets/itemviews/itemviews.pri +++ b/src/widgets/itemviews/itemviews.pri @@ -10,7 +10,6 @@ HEADERS += \ itemviews/qabstractitemdelegate.h \ itemviews/qabstractitemdelegate_p.h \ itemviews/qitemdelegate.h \ - itemviews/qdirmodel.h \ itemviews/qwidgetitemdata_p.h \ itemviews/qitemeditorfactory.h \ itemviews/qitemeditorfactory_p.h \ @@ -23,7 +22,6 @@ SOURCES += \ itemviews/qbsptree.cpp \ itemviews/qabstractitemdelegate.cpp \ itemviews/qitemdelegate.cpp \ - itemviews/qdirmodel.cpp \ itemviews/qitemeditorfactory.cpp \ itemviews/qdatawidgetmapper.cpp \ itemviews/qstyleditemdelegate.cpp @@ -40,6 +38,11 @@ qtConfig(columnview) { itemviews/qcolumnviewgrip.cpp } +qtConfig(dirmodel) { + HEADERS += itemviews/qdirmodel.h + SOURCES += itemviews/qdirmodel.cpp +} + qtConfig(listview) { HEADERS += \ itemviews/qlistview.h \ diff --git a/src/widgets/itemviews/qdirmodel.cpp b/src/widgets/itemviews/qdirmodel.cpp index 5526da8509..2cf76262e6 100644 --- a/src/widgets/itemviews/qdirmodel.cpp +++ b/src/widgets/itemviews/qdirmodel.cpp @@ -39,7 +39,6 @@ #include "qdirmodel.h" -#ifndef QT_NO_DIRMODEL #include #include #include @@ -1389,5 +1388,3 @@ QFileInfo QDirModelPrivate::resolvedInfo(QFileInfo info) QT_END_NAMESPACE #include "moc_qdirmodel.cpp" - -#endif // QT_NO_DIRMODEL diff --git a/src/widgets/itemviews/qdirmodel.h b/src/widgets/itemviews/qdirmodel.h index 90a9809986..30810cf4f6 100644 --- a/src/widgets/itemviews/qdirmodel.h +++ b/src/widgets/itemviews/qdirmodel.h @@ -45,10 +45,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(dirmodel); -#ifndef QT_NO_DIRMODEL +QT_BEGIN_NAMESPACE class QDirModelPrivate; @@ -143,8 +142,6 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_refresh()) }; -#endif // QT_NO_DIRMODEL - QT_END_NAMESPACE #endif // QDIRMODEL_H diff --git a/src/widgets/util/qcompleter.cpp b/src/widgets/util/qcompleter.cpp index 9119c7896f..9ae0384020 100644 --- a/src/widgets/util/qcompleter.cpp +++ b/src/widgets/util/qcompleter.cpp @@ -147,7 +147,9 @@ #include "QtWidgets/qscrollbar.h" #include "QtCore/qstringlistmodel.h" +#if QT_CONFIG(dirmodel) #include "QtWidgets/qdirmodel.h" +#endif #if QT_CONFIG(filesystemmodel) #include "QtWidgets/qfilesystemmodel.h" #endif @@ -465,7 +467,7 @@ QMatchData QCompletionEngine::filterHistory() if (curParts.count() <= 1 || c->proxy->showAll || !source) return QMatchData(); -#ifndef QT_NO_DIRMODEL +#if QT_CONFIG(dirmodel) const bool isDirModel = (qobject_cast(source) != 0); #else const bool isDirModel = false; @@ -869,7 +871,7 @@ void QCompleterPrivate::_q_complete(QModelIndex index, bool highlighted) QModelIndex si = proxy->mapToSource(index); si = si.sibling(si.row(), column); // for clicked() completion = q->pathFromIndex(si); -#ifndef QT_NO_DIRMODEL +#if QT_CONFIG(dirmodel) // add a trailing separator in inline if (mode == QCompleter::InlineCompletion) { if (qobject_cast(proxy->sourceModel()) && QFileInfo(completion).isDir()) @@ -1057,7 +1059,7 @@ void QCompleter::setModel(QAbstractItemModel *model) setPopup(d->popup); // set the model and make new connections if (oldModel && oldModel->QObject::parent() == this) delete oldModel; -#ifndef QT_NO_DIRMODEL +#if QT_CONFIG(dirmodel) if (qobject_cast(model)) { #if defined(Q_OS_WIN) setCaseSensitivity(Qt::CaseInsensitive); @@ -1065,7 +1067,7 @@ void QCompleter::setModel(QAbstractItemModel *model) setCaseSensitivity(Qt::CaseSensitive); #endif } -#endif // QT_NO_DIRMODEL +#endif // QT_CONFIG(dirmodel) #if QT_CONFIG(filesystemmodel) QFileSystemModel *fsModel = qobject_cast(model); if (fsModel) { @@ -1771,7 +1773,7 @@ QString QCompleter::pathFromIndex(const QModelIndex& index) const return QString(); bool isDirModel = false; bool isFsModel = false; -#ifndef QT_NO_DIRMODEL +#if QT_CONFIG(dirmodel) isDirModel = qobject_cast(d->proxy->sourceModel()) != 0; #endif #if QT_CONFIG(filesystemmodel) @@ -1820,12 +1822,12 @@ QStringList QCompleter::splitPath(const QString& path) const { bool isDirModel = false; bool isFsModel = false; -#ifndef QT_NO_DIRMODEL +#if QT_CONFIG(dirmodel) Q_D(const QCompleter); isDirModel = qobject_cast(d->proxy->sourceModel()) != 0; #endif #if QT_CONFIG(filesystemmodel) -#ifdef QT_NO_DIRMODEL +#if !QT_CONFIG(dirmodel) Q_D(const QCompleter); #endif isFsModel = qobject_cast(d->proxy->sourceModel()) != 0; -- cgit v1.2.3 From 9a0e8895d6c254e060125060b15b039784405b85 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sat, 22 Jul 2017 15:13:53 +0200 Subject: Convert features.datawidgetmappper to QT_[REQUIRE_]CONFIG Change-Id: Icabee2b146a16b489ff6aa40261a694f74268dc1 Reviewed-by: Oswald Buddenhagen --- src/widgets/itemviews/itemviews.pri | 7 +++++-- src/widgets/itemviews/qdatawidgetmapper.cpp | 4 ---- src/widgets/itemviews/qdatawidgetmapper.h | 5 +---- 3 files changed, 6 insertions(+), 10 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/itemviews/itemviews.pri b/src/widgets/itemviews/itemviews.pri index bdab346522..e95b640d18 100644 --- a/src/widgets/itemviews/itemviews.pri +++ b/src/widgets/itemviews/itemviews.pri @@ -13,7 +13,6 @@ HEADERS += \ itemviews/qwidgetitemdata_p.h \ itemviews/qitemeditorfactory.h \ itemviews/qitemeditorfactory_p.h \ - itemviews/qdatawidgetmapper.h \ itemviews/qstyleditemdelegate.h SOURCES += \ @@ -23,7 +22,6 @@ SOURCES += \ itemviews/qabstractitemdelegate.cpp \ itemviews/qitemdelegate.cpp \ itemviews/qitemeditorfactory.cpp \ - itemviews/qdatawidgetmapper.cpp \ itemviews/qstyleditemdelegate.cpp } @@ -38,6 +36,11 @@ qtConfig(columnview) { itemviews/qcolumnviewgrip.cpp } +qtConfig(datawidgetmapper) { + HEADERS += itemviews/qdatawidgetmapper.h + SOURCES += itemviews/qdatawidgetmapper.cpp +} + qtConfig(dirmodel) { HEADERS += itemviews/qdirmodel.h SOURCES += itemviews/qdirmodel.cpp diff --git a/src/widgets/itemviews/qdatawidgetmapper.cpp b/src/widgets/itemviews/qdatawidgetmapper.cpp index 99704c7911..1f0dbff7a9 100644 --- a/src/widgets/itemviews/qdatawidgetmapper.cpp +++ b/src/widgets/itemviews/qdatawidgetmapper.cpp @@ -39,8 +39,6 @@ #include "qdatawidgetmapper.h" -#ifndef QT_NO_DATAWIDGETMAPPER - #include "qabstractitemmodel.h" #include "qitemdelegate.h" #include "qmetaobject.h" @@ -827,5 +825,3 @@ QDataWidgetMapper::SubmitPolicy QDataWidgetMapper::submitPolicy() const QT_END_NAMESPACE #include "moc_qdatawidgetmapper.cpp" - -#endif // QT_NO_DATAWIDGETMAPPER diff --git a/src/widgets/itemviews/qdatawidgetmapper.h b/src/widgets/itemviews/qdatawidgetmapper.h index 4d244349ad..7d4d61378a 100644 --- a/src/widgets/itemviews/qdatawidgetmapper.h +++ b/src/widgets/itemviews/qdatawidgetmapper.h @@ -43,11 +43,10 @@ #include #include "QtCore/qobject.h" -#ifndef QT_NO_DATAWIDGETMAPPER +QT_REQUIRE_CONFIG(datawidgetmapper); QT_BEGIN_NAMESPACE - class QAbstractItemDelegate; class QAbstractItemModel; class QModelIndex; @@ -117,6 +116,4 @@ private: QT_END_NAMESPACE -#endif // QT_NO_DATAWIDGETMAPPER #endif - -- cgit v1.2.3 From 3ade30a2af5b64cb2437d214f25e4dcbfa00c49d Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sat, 22 Jul 2017 15:15:12 +0200 Subject: Convert features.calendarwidget to QT_[REQUIRE_]CONFIG Change-Id: I93c2e00828a233f004c599bd0702d0a470ae29ff Reviewed-by: Oswald Buddenhagen --- src/widgets/accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/accessible/qaccessiblewidgets.cpp | 6 ++++-- src/widgets/accessible/qaccessiblewidgets_p.h | 4 ++-- src/widgets/widgets/qcalendarwidget.cpp | 4 ---- src/widgets/widgets/qcalendarwidget.h | 8 ++------ src/widgets/widgets/widgets.pri | 7 +++++-- 6 files changed, 14 insertions(+), 17 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index a39674dc7a..20104eea68 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -209,7 +209,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje } else if (classname == QLatin1String("QScrollArea")) { iface = new QAccessibleScrollArea(widget); #endif -#ifndef QT_NO_CALENDARWIDGET +#if QT_CONFIG(calendarwidget) } else if (classname == QLatin1String("QCalendarWidget")) { iface = new QAccessibleCalendarWidget(widget); #endif diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index 60f489d487..eec60ac0c8 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -62,7 +62,9 @@ #include #endif #include +#if QT_CONFIG(calendarwidget) #include +#endif #include #include #include @@ -506,7 +508,7 @@ QAccessible::Role QAccessibleTextBrowser::role() const } #endif // QT_NO_TEXTBROWSER && QT_NO_CURSOR -#ifndef QT_NO_CALENDARWIDGET +#if QT_CONFIG(calendarwidget) // ===================== QAccessibleCalendarWidget ======================== QAccessibleCalendarWidget::QAccessibleCalendarWidget(QWidget *widget) : QAccessibleWidget(widget, QAccessible::Table) @@ -561,7 +563,7 @@ QWidget *QAccessibleCalendarWidget::navigationBar() const } return 0; } -#endif // QT_NO_CALENDARWIDGET +#endif // QT_CONFIG(calendarwidget) #ifndef QT_NO_DOCKWIDGET diff --git a/src/widgets/accessible/qaccessiblewidgets_p.h b/src/widgets/accessible/qaccessiblewidgets_p.h index 4d945a2016..781e297a3b 100644 --- a/src/widgets/accessible/qaccessiblewidgets_p.h +++ b/src/widgets/accessible/qaccessiblewidgets_p.h @@ -266,7 +266,7 @@ public: }; #endif // QT_NO_TEXTBROWSER && QT_NO_CURSOR -#ifndef QT_NO_CALENDARWIDGET +#if QT_CONFIG(calendarwidget) class QAccessibleCalendarWidget : public QAccessibleWidget { public: @@ -284,7 +284,7 @@ private: QAbstractItemView *calendarView() const; QWidget *navigationBar() const; }; -#endif // QT_NO_CALENDARWIDGET +#endif // QT_CONFIG(calendarwidget) #ifndef QT_NO_DOCKWIDGET class QAccessibleDockWidget: public QAccessibleWidget diff --git a/src/widgets/widgets/qcalendarwidget.cpp b/src/widgets/widgets/qcalendarwidget.cpp index b96492d623..94911d1cb1 100644 --- a/src/widgets/widgets/qcalendarwidget.cpp +++ b/src/widgets/widgets/qcalendarwidget.cpp @@ -39,8 +39,6 @@ #include "qcalendarwidget.h" -#ifndef QT_NO_CALENDARWIDGET - #include #include #include @@ -3129,5 +3127,3 @@ QT_END_NAMESPACE #include "qcalendarwidget.moc" #include "moc_qcalendarwidget.cpp" - -#endif //QT_NO_CALENDARWIDGET diff --git a/src/widgets/widgets/qcalendarwidget.h b/src/widgets/widgets/qcalendarwidget.h index 7780065117..29e2ff698b 100644 --- a/src/widgets/widgets/qcalendarwidget.h +++ b/src/widgets/widgets/qcalendarwidget.h @@ -44,10 +44,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(calendarwidget); -#ifndef QT_NO_CALENDARWIDGET +QT_BEGIN_NAMESPACE class QDate; class QTextCharFormat; @@ -184,9 +183,6 @@ private: }; -#endif // QT_NO_CALENDARWIDGET - QT_END_NAMESPACE #endif // QCALENDARWIDGET_H - diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 610932c6ce..ee510bd120 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -5,7 +5,6 @@ HEADERS += \ widgets/qbuttongroup_p.h \ widgets/qabstractspinbox.h \ widgets/qabstractspinbox_p.h \ - widgets/qcalendarwidget.h \ widgets/qcombobox.h \ widgets/qcombobox_p.h \ widgets/qdial.h \ @@ -67,7 +66,6 @@ HEADERS += \ SOURCES += \ widgets/qbuttongroup.cpp \ widgets/qabstractspinbox.cpp \ - widgets/qcalendarwidget.cpp \ widgets/qcombobox.cpp \ widgets/qdial.cpp \ widgets/qdockwidget.cpp \ @@ -129,6 +127,11 @@ qtConfig(abstractslider) { widgets/qabstractslider.cpp } +qtConfig(calendarwidget) { + HEADERS += widgets/qcalendarwidget.h + SOURCES += widgets/qcalendarwidget.cpp +} + qtConfig(checkbox) { HEADERS += \ widgets/qcheckbox.h -- cgit v1.2.3 From 163863f77d891f56573e4dae316d16cfc2fefc8f Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sat, 22 Jul 2017 15:16:51 +0200 Subject: Convert features.combobox to QT_[REQUIRE_]CONFIG Change-Id: I2f415de8556289a6461a645d559be17089c43c99 Reviewed-by: Oswald Buddenhagen --- src/widgets/accessible/complexwidgets.cpp | 6 ++++-- src/widgets/accessible/complexwidgets_p.h | 4 ++-- .../accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/itemviews/qitemeditorfactory.cpp | 18 +++++++++++------- src/widgets/styles/qcommonstyle.cpp | 20 ++++++++++---------- src/widgets/styles/qfusionstyle.cpp | 2 ++ src/widgets/styles/qmacstyle_mac.mm | 22 ++++++++++++---------- src/widgets/styles/qmacstyle_mac_p_p.h | 2 ++ src/widgets/styles/qpixmapstyle.cpp | 2 ++ src/widgets/styles/qstylesheetstyle.cpp | 20 +++++++++++--------- src/widgets/styles/qwindowsstyle.cpp | 8 ++++---- src/widgets/styles/qwindowsvistastyle.cpp | 8 ++++---- src/widgets/styles/qwindowsvistastyle_p_p.h | 2 ++ src/widgets/styles/qwindowsxpstyle.cpp | 14 ++++++++------ src/widgets/widgets/qcombobox.cpp | 3 --- src/widgets/widgets/qcombobox.h | 6 ++---- src/widgets/widgets/qcombobox_p.h | 5 ++--- src/widgets/widgets/qdatetimeedit_p.h | 1 - src/widgets/widgets/qtoolbar.cpp | 2 ++ src/widgets/widgets/widgets.pri | 11 ++++++++--- 20 files changed, 89 insertions(+), 69 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp index 42775d7324..29e11556aa 100644 --- a/src/widgets/accessible/complexwidgets.cpp +++ b/src/widgets/accessible/complexwidgets.cpp @@ -44,7 +44,9 @@ #include #include #include +#if QT_CONFIG(combobox) #include +#endif #include #include #include @@ -260,7 +262,7 @@ QString QAccessibleTabBar::text(QAccessible::Text t) const #endif // QT_NO_TABBAR -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) /*! \class QAccessibleComboBox \brief The QAccessibleComboBox class implements the QAccessibleInterface for editable and read-only combo boxes. @@ -378,7 +380,7 @@ QStringList QAccessibleComboBox::keyBindingsForAction(const QString &/*actionNam return QStringList(); } -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) #ifndef QT_NO_SCROLLAREA // ======================= QAccessibleAbstractScrollArea ======================= diff --git a/src/widgets/accessible/complexwidgets_p.h b/src/widgets/accessible/complexwidgets_p.h index d43b06f4a4..b4b4e89a1a 100644 --- a/src/widgets/accessible/complexwidgets_p.h +++ b/src/widgets/accessible/complexwidgets_p.h @@ -124,7 +124,7 @@ protected: }; #endif // QT_NO_TABBAR -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) class QAccessibleComboBox : public QAccessibleWidget { public: @@ -146,7 +146,7 @@ public: protected: QComboBox *comboBox() const; }; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) #endif // QT_NO_ACCESSIBILITY diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 20104eea68..371158c73c 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -79,7 +79,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje else iface = new QAccessibleLineEdit(widget); #endif -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) } else if (classname == QLatin1String("QComboBox")) { iface = new QAccessibleComboBox(widget); #endif diff --git a/src/widgets/itemviews/qitemeditorfactory.cpp b/src/widgets/itemviews/qitemeditorfactory.cpp index a31689e0b5..dcfe4065a6 100644 --- a/src/widgets/itemviews/qitemeditorfactory.cpp +++ b/src/widgets/itemviews/qitemeditorfactory.cpp @@ -43,7 +43,9 @@ #ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(combobox) #include +#endif #if QT_CONFIG(datetimeedit) #include #endif @@ -52,6 +54,8 @@ #endif #include #include +#include +#include #include #include #include @@ -62,7 +66,7 @@ QT_BEGIN_NAMESPACE -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) class QBooleanComboBox : public QComboBox { @@ -75,7 +79,7 @@ public: bool value() const; }; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) #ifndef QT_NO_SPINBOX @@ -234,7 +238,7 @@ public: QWidget *QDefaultItemEditorFactory::createEditor(int userType, QWidget *parent) const { switch (userType) { -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case QVariant::Bool: { QBooleanComboBox *cb = new QBooleanComboBox(parent); cb->setFrame(false); @@ -300,7 +304,7 @@ QWidget *QDefaultItemEditorFactory::createEditor(int userType, QWidget *parent) QByteArray QDefaultItemEditorFactory::valuePropertyName(int userType) const { switch (userType) { -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case QVariant::Bool: return "currentIndex"; #endif @@ -595,7 +599,7 @@ void QExpandingLineEdit::resizeToContents() #endif // QT_NO_LINEEDIT -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) QBooleanComboBox::QBooleanComboBox(QWidget *parent) : QComboBox(parent) @@ -614,11 +618,11 @@ bool QBooleanComboBox::value() const return (currentIndex() == 1); } -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) QT_END_NAMESPACE -#if !defined(QT_NO_LINEEDIT) || !defined(QT_NO_COMBOBOX) +#if !defined(QT_NO_LINEEDIT) || QT_CONFIG(combobox) #include "qitemeditorfactory.moc" #endif diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 973e89b3ef..b1b84501c5 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -2096,7 +2096,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, case CE_HeaderEmptyArea: p->fillRect(opt->rect, opt->palette.background()); break; -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CE_ComboBoxLabel: if (const QStyleOptionComboBox *cb = qstyleoption_cast(opt)) { QRect editRect = proxy()->subControlRect(CC_ComboBox, cb, SC_ComboBoxEditField, widget); @@ -2128,7 +2128,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, p->restore(); } break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) #ifndef QT_NO_TOOLBAR case CE_ToolBar: if (const QStyleOptionToolBar *toolBar = qstyleoption_cast(opt)) { @@ -2505,7 +2505,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, } break; #endif // QT_NO_PROGRESSBAR -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case SE_ComboBoxFocusRect: if (const QStyleOptionComboBox *cb = qstyleoption_cast(opt)) { int margin = cb->frame ? 3 : 0; @@ -2514,7 +2514,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, r = visualRect(opt->direction, opt->rect, r); } break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) #ifndef QT_NO_TOOLBOX case SE_ToolBoxTabContents: r = opt->rect; @@ -3892,7 +3892,7 @@ QStyle::SubControl QCommonStyle::hitTestComplexControl(ComplexControl cc, const } } break; -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CC_ComboBox: if (const QStyleOptionComboBox *cb = qstyleoption_cast(opt)) { QRect r; @@ -3907,7 +3907,7 @@ QStyle::SubControl QCommonStyle::hitTestComplexControl(ComplexControl cc, const } } break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) #ifndef QT_NO_GROUPBOX case CC_GroupBox: if (const QStyleOptionGroupBox *groupBox = qstyleoption_cast(opt)) { @@ -4140,7 +4140,7 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex } break; #endif // QT_NO_TOOLBUTTON -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CC_ComboBox: if (const QStyleOptionComboBox *cb = qstyleoption_cast(opt)) { int x = cb->rect.x(), @@ -4172,7 +4172,7 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex ret = visualRect(cb->direction, cb->rect, ret); } break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) case CC_TitleBar: if (const QStyleOptionTitleBar *tb = qstyleoption_cast(opt)) { const int controlMargin = 2; @@ -4839,7 +4839,7 @@ QSize QCommonStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, sz = QSize(sz.width() + 6, sz.height() + 5); break; #endif // QT_NO_TOOLBUTTON -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CT_ComboBox: if (const QStyleOptionComboBox *cmb = qstyleoption_cast(opt)) { int fw = cmb->frame ? proxy()->pixelMetric(PM_ComboBoxFrameWidth, opt, widget) * 2 : 0; @@ -4849,7 +4849,7 @@ QSize QCommonStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, sz = QSize(sz.width() + fw + other, sz.height() + fw); } break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) case CT_HeaderSection: if (const QStyleOptionHeader *hdr = qstyleoption_cast(opt)) { bool nullIcon = hdr->icon.isNull(); diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index b6e61e7cc9..792d958d8b 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -42,7 +42,9 @@ #if QT_CONFIG(style_fusion) || defined(QT_PLUGIN) #include "qcommonstyle_p.h" +#if QT_CONFIG(combobox) #include +#endif #if QT_CONFIG(pushbutton) #include #endif diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 6e8796970f..dbba51b00d 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -51,12 +51,14 @@ //#define DEBUG_SIZE_CONSTRAINT #include -#include #include #include #include #include +#if QT_CONFIG(combobox) +#include #include +#endif #if QT_CONFIG(dialogbuttonbox) #include #endif @@ -643,7 +645,7 @@ static QSize qt_aqua_get_known_size(QStyle::ContentsType ct, const QWidget *widg else if (qobject_cast(widg)) ct = QStyle::CT_CheckBox; #endif -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) else if (qobject_cast(widg)) ct = QStyle::CT_ComboBox; #endif @@ -889,7 +891,7 @@ static QSize qt_aqua_get_known_size(QStyle::ContentsType ct, const QWidget *widg break; } #endif -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case QStyle::CT_LineEdit: if (!widg || !qobject_cast(widg->parentWidget())) { //should I take into account the font dimentions of the lineedit? -Sam @@ -2264,7 +2266,7 @@ void QMacStyle::polish(QWidget* w) #ifndef QT_NO_MENU if (qobject_cast(w) -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) || qobject_cast(w) #endif ) { @@ -2332,7 +2334,7 @@ void QMacStyle::unpolish(QWidget* w) w->setWindowOpacity(1.0); } -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (QComboBox *combo = qobject_cast(w)) { if (!combo->isEditable()) { if (QWidget *widget = combo->findChild()) @@ -4484,7 +4486,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter // Always be normal or disabled to follow the Mac style. int smallIconSize = proxy()->pixelMetric(PM_SmallIconSize); QSize iconSize(smallIconSize, smallIconSize); -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (const QComboBox *comboBox = qobject_cast(w)) { iconSize = comboBox->iconSize(); } @@ -5065,7 +5067,7 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt, #endif case SE_LineEditContents: rect = QCommonStyle::subElementRect(sr, opt, widget); -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (widget && qobject_cast(widget->parentWidget())) rect.adjust(-1, -2, 0, 0); else @@ -6742,7 +6744,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, case QStyle::CT_MenuItem: if (const QStyleOptionMenuItem *mi = qstyleoption_cast(opt)) { int maxpmw = mi->maxIconWidth; -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) const QComboBox *comboBox = qobject_cast(widget); #endif int w = sz.width(), @@ -6755,7 +6757,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, } else { h = mi->fontMetrics.height() + 2; if (!mi->icon.isNull()) { -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (comboBox) { const QSize &iconSize = comboBox->iconSize(); h = qMax(h, iconSize.height() + 4); @@ -6776,7 +6778,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, w += maxpmw + 6; // add space for a check. All items have place for a check too. w += 20; -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (comboBox && comboBox->isVisible()) { QStyleOptionComboBox cmb; cmb.initFrom(comboBox); diff --git a/src/widgets/styles/qmacstyle_mac_p_p.h b/src/widgets/styles/qmacstyle_mac_p_p.h index 4a3ff1b8bf..17e60e3bef 100644 --- a/src/widgets/styles/qmacstyle_mac_p_p.h +++ b/src/widgets/styles/qmacstyle_mac_p_p.h @@ -48,7 +48,9 @@ #include "qmacstyle_mac_p.h" #include "qcommonstyle_p.h" #include +#if QT_CONFIG(combobox) #include +#endif #include #include #include diff --git a/src/widgets/styles/qpixmapstyle.cpp b/src/widgets/styles/qpixmapstyle.cpp index 20c9040a53..795fe34975 100644 --- a/src/widgets/styles/qpixmapstyle.cpp +++ b/src/widgets/styles/qpixmapstyle.cpp @@ -52,7 +52,9 @@ #include #include #include +#if QT_CONFIG(combobox) #include +#endif #include #if QT_CONFIG(listview) #include diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 5d977d75c0..e23a1f60b5 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -51,7 +51,9 @@ #include #include #include +#if QT_CONFIG(combobox) #include +#endif #include "private/qcssparser_p.h" #include "private/qmath_p.h" #include @@ -1639,7 +1641,7 @@ int QStyleSheetStyle::nativeFrameWidth(const QWidget *w) return base->pixelMetric(QStyle::PM_SpinBoxFrameWidth, 0, w); #endif -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (qobject_cast(w)) return base->pixelMetric(QStyle::PM_ComboBoxFrameWidth, 0, w); #endif @@ -2338,7 +2340,7 @@ QRect QStyleSheetStyle::positionRect(const QWidget *w, const QRenderRule& rule1, */ static QWidget *embeddedWidget(QWidget *w) { -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (QComboBox *cmb = qobject_cast(w)) { if (cmb->isEditable()) return cmb->lineEdit(); @@ -2372,7 +2374,7 @@ static QWidget *containerWidget(const QWidget *w) #ifndef QT_NO_LINEEDIT if (qobject_cast(w)) { //if the QLineEdit is an embeddedWidget, we need the rule of the real widget -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (qobject_cast(w->parentWidget())) return w->parentWidget(); #endif @@ -2411,7 +2413,7 @@ static bool unstylable(const QWidget *w) // detect QComboBoxPrivateContainer else if (qobject_cast(w)) { if (0 -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) || qobject_cast(w->parentWidget()) #endif ) @@ -2436,7 +2438,7 @@ static quint64 extendedPseudoClass(const QWidget *w) pc |= ((slider->orientation() == Qt::Vertical) ? PseudoClass_Vertical : PseudoClass_Horizontal); } else #endif -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (const QComboBox *combo = qobject_cast(w)) { if (combo->isEditable()) pc |= (combo->isEditable() ? PseudoClass_Editable : PseudoClass_ReadOnly); @@ -3769,7 +3771,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q } return; -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CE_ComboBoxLabel: if (!rule.hasBox()) break; @@ -3805,7 +3807,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q return; } break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) case CE_Header: if (hasStyleRule(w, PseudoElement_HeaderViewUpArrow) @@ -5297,7 +5299,7 @@ int QStyleSheetStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWi case SH_TabBar_ElideMode: s = QLatin1String("tabbar-elide-mode"); break; case SH_TabBar_PreferNoArrows: s = QLatin1String("tabbar-prefer-no-arrows"); break; case SH_ComboBox_PopupFrameStyle: -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) if (qobject_cast(w)) { QAbstractItemView *view = w->findChild(); if (view) { @@ -5307,7 +5309,7 @@ int QStyleSheetStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWi return QFrame::NoFrame; } } -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) break; case SH_DialogButtonBox_ButtonsHaveIcons: s = QLatin1String("dialogbuttonbox-buttons-have-icons"); break; case SH_Workspace_FillSpaceOnMaximize: s = QLatin1String("mdi-fill-space-on-maximize"); break; diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index d0ede56010..7b6da75089 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -1859,7 +1859,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai } return; #endif // QT_NO_DOCKWIDGET -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CE_ComboBoxLabel: if (const QStyleOptionComboBox *cb = qstyleoption_cast(opt)) { if (cb->state & State_HasFocus) { @@ -1872,7 +1872,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai } QCommonStyle::drawControl(ce, opt, p, widget); break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) default: QCommonStyle::drawControl(ce, opt, p, widget); } @@ -2150,7 +2150,7 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp } break; #endif // QT_NO_SCROLLBAR -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CC_ComboBox: if (const QStyleOptionComboBox *cmb = qstyleoption_cast(opt)) { QBrush editBrush = cmb->palette.brush(QPalette::Base); @@ -2223,7 +2223,7 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp } } break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) #ifndef QT_NO_SPINBOX case CC_SpinBox: if (const QStyleOptionSpinBox *sb = qstyleoption_cast(opt)) { diff --git a/src/widgets/styles/qwindowsvistastyle.cpp b/src/widgets/styles/qwindowsvistastyle.cpp index ae1b83957c..e400820256 100644 --- a/src/widgets/styles/qwindowsvistastyle.cpp +++ b/src/widgets/styles/qwindowsvistastyle.cpp @@ -1474,11 +1474,11 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption break; } #endif // QT_NO_ITEMVIEWS -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CE_ComboBoxLabel: QCommonStyle::drawControl(element, option, painter, widget); break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) default: QWindowsXPStyle::drawControl(element, option, painter, widget); break; @@ -2121,7 +2121,7 @@ QRect QWindowsVistaStyle::subControlRect(ComplexControl control, const QStyleOpt QRect rect = QWindowsXPStyle::subControlRect(control, option, subControl, widget); switch (control) { -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CC_ComboBox: if (const QStyleOptionComboBox *cb = qstyleoption_cast(option)) { int x = cb->rect.x(), @@ -2154,7 +2154,7 @@ QRect QWindowsVistaStyle::subControlRect(ComplexControl control, const QStyleOpt return rect; } break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) case CC_TitleBar: if (const QStyleOptionTitleBar *tb = qstyleoption_cast(option)) { if (!buttonVisible(subControl, tb)) diff --git a/src/widgets/styles/qwindowsvistastyle_p_p.h b/src/widgets/styles/qwindowsvistastyle_p_p.h index 5c342df5a6..22ca1d3534 100644 --- a/src/widgets/styles/qwindowsvistastyle_p_p.h +++ b/src/widgets/styles/qwindowsvistastyle_p_p.h @@ -72,7 +72,9 @@ #include #include #include +#if QT_CONFIG(combobox) #include +#endif #include #include #include diff --git a/src/widgets/styles/qwindowsxpstyle.cpp b/src/widgets/styles/qwindowsxpstyle.cpp index e1c32d4ed6..418c4d256e 100644 --- a/src/widgets/styles/qwindowsxpstyle.cpp +++ b/src/widgets/styles/qwindowsxpstyle.cpp @@ -59,7 +59,9 @@ #include #include #include +#if QT_CONFIG(combobox) #include +#endif #include #include #include @@ -1147,9 +1149,9 @@ void QWindowsXPStyle::polish(QWidget *widget) #endif || qobject_cast(widget) || qobject_cast(widget) -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) || qobject_cast(widget) -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) || qobject_cast(widget) || qobject_cast(widget) || qobject_cast(widget) @@ -1222,9 +1224,9 @@ void QWindowsXPStyle::unpolish(QWidget *widget) #endif || qobject_cast(widget) || qobject_cast(widget) -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) || qobject_cast(widget) -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) || qobject_cast(widget) || qobject_cast(widget) || qobject_cast(widget) @@ -2550,7 +2552,7 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo } break; #endif // QT_NO_SPINBOX -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) case CC_ComboBox: if (const QStyleOptionComboBox *cmb = qstyleoption_cast(option)) { @@ -2601,7 +2603,7 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo } } break; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) case CC_ScrollBar: if (const QStyleOptionSlider *scrollbar = qstyleoption_cast(option)) { diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 6a8167b5e5..506986f4ba 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -39,7 +39,6 @@ #include "qcombobox.h" -#ifndef QT_NO_COMBOBOX #include #include #include @@ -3486,5 +3485,3 @@ QT_END_NAMESPACE #include "moc_qcombobox.cpp" #include "moc_qcombobox_p.cpp" - -#endif // QT_NO_COMBOBOX diff --git a/src/widgets/widgets/qcombobox.h b/src/widgets/widgets/qcombobox.h index 8f99594a76..a6aac6f8aa 100644 --- a/src/widgets/widgets/qcombobox.h +++ b/src/widgets/widgets/qcombobox.h @@ -46,9 +46,9 @@ #include #include -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(combobox); -#ifndef QT_NO_COMBOBOX +QT_BEGIN_NAMESPACE class QAbstractItemView; class QLineEdit; @@ -277,8 +277,6 @@ inline void QComboBox::insertItem(int aindex, const QString &atext, const QVariant &auserData) { insertItem(aindex, QIcon(), atext, auserData); } -#endif // QT_NO_COMBOBOX - QT_END_NAMESPACE #endif // QCOMBOBOX_H diff --git a/src/widgets/widgets/qcombobox_p.h b/src/widgets/widgets/qcombobox_p.h index 6c36359f81..ab4dd0281f 100644 --- a/src/widgets/widgets/qcombobox_p.h +++ b/src/widgets/widgets/qcombobox_p.h @@ -54,7 +54,6 @@ #include #include "QtWidgets/qcombobox.h" -#ifndef QT_NO_COMBOBOX #include "QtWidgets/qabstractslider.h" #include "QtWidgets/qapplication.h" #include "QtWidgets/qitemdelegate.h" @@ -74,6 +73,8 @@ #include +QT_REQUIRE_CONFIG(combobox); + QT_BEGIN_NAMESPACE class QAction; @@ -423,6 +424,4 @@ public: QT_END_NAMESPACE -#endif // QT_NO_COMBOBOX - #endif // QCOMBOBOX_P_H diff --git a/src/widgets/widgets/qdatetimeedit_p.h b/src/widgets/widgets/qdatetimeedit_p.h index bc70780de9..5ac5a9db6a 100644 --- a/src/widgets/widgets/qdatetimeedit_p.h +++ b/src/widgets/widgets/qdatetimeedit_p.h @@ -52,7 +52,6 @@ // #include -#include "QtWidgets/qcombobox.h" #include "QtWidgets/qcalendarwidget.h" #include "QtWidgets/qspinbox.h" #include "QtWidgets/qtoolbutton.h" diff --git a/src/widgets/widgets/qtoolbar.cpp b/src/widgets/widgets/qtoolbar.cpp index bdb17f10d3..893506f16f 100644 --- a/src/widgets/widgets/qtoolbar.cpp +++ b/src/widgets/widgets/qtoolbar.cpp @@ -42,7 +42,9 @@ #ifndef QT_NO_TOOLBAR #include +#if QT_CONFIG(combobox) #include +#endif #include #include #include diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index ee510bd120..7a39f3fb3e 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -5,8 +5,6 @@ HEADERS += \ widgets/qbuttongroup_p.h \ widgets/qabstractspinbox.h \ widgets/qabstractspinbox_p.h \ - widgets/qcombobox.h \ - widgets/qcombobox_p.h \ widgets/qdial.h \ widgets/qdockwidget.h \ widgets/qdockwidget_p.h \ @@ -66,7 +64,6 @@ HEADERS += \ SOURCES += \ widgets/qbuttongroup.cpp \ widgets/qabstractspinbox.cpp \ - widgets/qcombobox.cpp \ widgets/qdial.cpp \ widgets/qdockwidget.cpp \ widgets/qdockarealayout.cpp \ @@ -140,6 +137,14 @@ qtConfig(checkbox) { widgets/qcheckbox.cpp } +qtConfig(combobox) { + HEADERS += \ + widgets/qcombobox.h \ + widgets/qcombobox_p.h + + SOURCES += widgets/qcombobox.cpp +} + qtConfig(commandlinkbutton) { HEADERS += \ widgets/qcommandlinkbutton.h -- cgit v1.2.3 From 16f375f5490dec4bc69ceb52cd1f26e68011484f Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sat, 22 Jul 2017 15:19:13 +0200 Subject: Convert features.itemviews to QT_[REQUIRE_]CONFIG The QT_NO_ITEMVIEWS queries in corelib/ seem to had no effect at all. Change-Id: I494ee2309a96b0cf25de18781fc9a675878a2ee9 Reviewed-by: Oswald Buddenhagen --- src/widgets/accessible/accessible.pri | 7 +++++-- src/widgets/accessible/complexwidgets.cpp | 2 ++ src/widgets/accessible/complexwidgets_p.h | 2 ++ src/widgets/accessible/itemviews.cpp | 3 --- src/widgets/accessible/itemviews_p.h | 5 +---- .../accessible/qaccessiblewidgetfactory.cpp | 6 ++++-- src/widgets/accessible/qaccessiblewidgets.cpp | 2 ++ src/widgets/itemviews/qabstractitemdelegate.cpp | 3 --- src/widgets/itemviews/qabstractitemdelegate.h | 7 ++----- src/widgets/itemviews/qabstractitemdelegate_p.h | 4 +--- src/widgets/itemviews/qabstractitemview.cpp | 3 --- src/widgets/itemviews/qabstractitemview.h | 7 ++----- src/widgets/itemviews/qabstractitemview_p.h | 4 +--- src/widgets/itemviews/qheaderview.cpp | 3 --- src/widgets/itemviews/qheaderview.h | 7 ++----- src/widgets/itemviews/qheaderview_p.h | 6 ++---- src/widgets/itemviews/qitemdelegate.cpp | 3 --- src/widgets/itemviews/qitemdelegate.h | 7 ++----- src/widgets/itemviews/qitemeditorfactory.cpp | 4 ---- src/widgets/itemviews/qitemeditorfactory.h | 7 ++----- src/widgets/itemviews/qitemeditorfactory_p.h | 7 ++----- src/widgets/itemviews/qstyleditemdelegate.cpp | 3 --- src/widgets/itemviews/qstyleditemdelegate.h | 7 ++----- src/widgets/styles/qcommonstyle.cpp | 24 ++++++++++++---------- src/widgets/styles/qcommonstyle_p.h | 6 +++--- src/widgets/styles/qpixmapstyle.cpp | 4 +++- src/widgets/styles/qstyleoption.cpp | 4 ++-- src/widgets/styles/qstyleoption.h | 6 +++--- src/widgets/styles/qstylesheetstyle.cpp | 18 ++++++++-------- src/widgets/styles/qwindowsvistastyle.cpp | 4 ++-- src/widgets/widgets/qabstractbutton.cpp | 4 +++- src/widgets/widgets/qabstractscrollarea.cpp | 2 ++ src/widgets/widgets/qlineedit.cpp | 2 ++ src/widgets/widgets/qlineedit_p.cpp | 2 ++ src/widgets/widgets/qscrollbar.h | 2 +- src/widgets/widgets/qtabbar.cpp | 2 ++ src/widgets/widgets/qwidgetlinecontrol.cpp | 2 ++ 37 files changed, 84 insertions(+), 107 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/accessible/accessible.pri b/src/widgets/accessible/accessible.pri index e63ae28d30..06467d0ff0 100644 --- a/src/widgets/accessible/accessible.pri +++ b/src/widgets/accessible/accessible.pri @@ -5,7 +5,6 @@ qtConfig(accessibility) { accessible/qaccessiblewidget.h \ accessible/qaccessiblewidgetfactory_p.h \ accessible/complexwidgets_p.h \ - accessible/itemviews_p.h \ accessible/qaccessiblemenu_p.h \ accessible/qaccessiblewidgets_p.h \ accessible/rangecontrols_p.h \ @@ -15,9 +14,13 @@ qtConfig(accessibility) { accessible/qaccessiblewidget.cpp \ accessible/qaccessiblewidgetfactory.cpp \ accessible/complexwidgets.cpp \ - accessible/itemviews.cpp \ accessible/qaccessiblemenu.cpp \ accessible/qaccessiblewidgets.cpp \ accessible/rangecontrols.cpp \ accessible/simplewidgets.cpp + + qtConfig(itemviews) { + HEADERS += accessible/itemviews_p.h + SOURCES += accessible/itemviews.cpp + } } diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp index 29e11556aa..9475b5a96c 100644 --- a/src/widgets/accessible/complexwidgets.cpp +++ b/src/widgets/accessible/complexwidgets.cpp @@ -42,7 +42,9 @@ #include #include #include +#if QT_CONFIG(itemviews) #include +#endif #include #if QT_CONFIG(combobox) #include diff --git a/src/widgets/accessible/complexwidgets_p.h b/src/widgets/accessible/complexwidgets_p.h index b4b4e89a1a..849169ab8a 100644 --- a/src/widgets/accessible/complexwidgets_p.h +++ b/src/widgets/accessible/complexwidgets_p.h @@ -54,7 +54,9 @@ #include #include #include +#if QT_CONFIG(itemviews) #include +#endif QT_BEGIN_NAMESPACE diff --git a/src/widgets/accessible/itemviews.cpp b/src/widgets/accessible/itemviews.cpp index 1ccfcbe4e5..4d37400dc9 100644 --- a/src/widgets/accessible/itemviews.cpp +++ b/src/widgets/accessible/itemviews.cpp @@ -56,7 +56,6 @@ QT_BEGIN_NAMESPACE -#ifndef QT_NO_ITEMVIEWS /* Implementation of the IAccessible2 table2 interface. Much simpler than the other table interfaces since there is only the main table and cells: @@ -1215,8 +1214,6 @@ QHeaderView *QAccessibleTableHeaderCell::headerView() const return header; } -#endif // QT_NO_ITEMVIEWS - QT_END_NAMESPACE #endif // QT_NO_ACCESSIBILITY diff --git a/src/widgets/accessible/itemviews_p.h b/src/widgets/accessible/itemviews_p.h index 9542a569db..72841b8a0f 100644 --- a/src/widgets/accessible/itemviews_p.h +++ b/src/widgets/accessible/itemviews_p.h @@ -58,13 +58,12 @@ #include #include +QT_REQUIRE_CONFIG(itemviews); QT_BEGIN_NAMESPACE #ifndef QT_NO_ACCESSIBILITY -#ifndef QT_NO_ITEMVIEWS - class QAccessibleTableCell; class QAccessibleTableHeaderCell; @@ -299,8 +298,6 @@ private: }; -#endif - #endif // QT_NO_ACCESSIBILITY QT_END_NAMESPACE diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 371158c73c..8c1e591f0e 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -43,7 +43,9 @@ #include "simplewidgets_p.h" #include "rangecontrols_p.h" #include "complexwidgets_p.h" +#if QT_CONFIG(itemviews) #include "itemviews_p.h" +#endif #include #if QT_CONFIG(treeview) @@ -146,11 +148,11 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje } else if (classname == QLatin1String("QTreeView")) { iface = new QAccessibleTree(widget); #endif // QT_CONFIG(treeview) -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) } else if (classname == QLatin1String("QTableView") || classname == QLatin1String("QListView")) { iface = new QAccessibleTable(widget); // ### This should be cleaned up. We return the parent for the scrollarea to hide it. -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) #ifndef QT_NO_TABBAR } else if (classname == QLatin1String("QTabBar")) { iface = new QAccessibleTabBar(widget); diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index eec60ac0c8..676ac67b56 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -65,7 +65,9 @@ #if QT_CONFIG(calendarwidget) #include #endif +#if QT_CONFIG(itemviews) #include +#endif #include #include #include diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp index 5b119cc79e..fd4699409c 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.cpp +++ b/src/widgets/itemviews/qabstractitemdelegate.cpp @@ -39,7 +39,6 @@ #include "qabstractitemdelegate.h" -#ifndef QT_NO_ITEMVIEWS #include #include #include @@ -606,5 +605,3 @@ void QAbstractItemDelegatePrivate::_q_commitDataAndCloseEditor(QWidget *editor) QT_END_NAMESPACE #include "moc_qabstractitemdelegate.cpp" - -#endif // QT_NO_ITEMVIEWS diff --git a/src/widgets/itemviews/qabstractitemdelegate.h b/src/widgets/itemviews/qabstractitemdelegate.h index 9f7a7716af..9b6bde1c87 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.h +++ b/src/widgets/itemviews/qabstractitemdelegate.h @@ -44,10 +44,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(itemviews); -#ifndef QT_NO_ITEMVIEWS +QT_BEGIN_NAMESPACE class QPainter; class QModelIndex; @@ -127,8 +126,6 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_commitDataAndCloseEditor(QWidget*)) }; -#endif // QT_NO_ITEMVIEWS - QT_END_NAMESPACE #endif // QABSTRACTITEMDELEGATE_H diff --git a/src/widgets/itemviews/qabstractitemdelegate_p.h b/src/widgets/itemviews/qabstractitemdelegate_p.h index 0b03be63f0..da76d31e8b 100644 --- a/src/widgets/itemviews/qabstractitemdelegate_p.h +++ b/src/widgets/itemviews/qabstractitemdelegate_p.h @@ -55,7 +55,7 @@ #include "qabstractitemdelegate.h" #include -#ifndef QT_NO_ITEMVIEWS +QT_REQUIRE_CONFIG(itemviews); QT_BEGIN_NAMESPACE @@ -73,6 +73,4 @@ public: QT_END_NAMESPACE -#endif // QT_NO_ITEMVIEWS - #endif // QABSTRACTITEMDELEGATE_P_H diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index 396016c44d..f056b7e5e5 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -39,7 +39,6 @@ #include "qabstractitemview.h" -#ifndef QT_NO_ITEMVIEWS #include #include #include @@ -4490,5 +4489,3 @@ QModelIndexList QAbstractItemViewPrivate::selectedDraggableIndexes() const QT_END_NAMESPACE #include "moc_qabstractitemview.cpp" - -#endif // QT_NO_ITEMVIEWS diff --git a/src/widgets/itemviews/qabstractitemview.h b/src/widgets/itemviews/qabstractitemview.h index f315ea6e4c..6be776ec52 100644 --- a/src/widgets/itemviews/qabstractitemview.h +++ b/src/widgets/itemviews/qabstractitemview.h @@ -49,10 +49,9 @@ class tst_QAbstractItemView; class tst_QTreeView; -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(itemviews); -#ifndef QT_NO_ITEMVIEWS +QT_BEGIN_NAMESPACE class QMenu; class QDrag; @@ -381,8 +380,6 @@ private: Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractItemView::EditTriggers) -#endif // QT_NO_ITEMVIEWS - QT_END_NAMESPACE #endif // QABSTRACTITEMVIEW_H diff --git a/src/widgets/itemviews/qabstractitemview_p.h b/src/widgets/itemviews/qabstractitemview_p.h index 5e3858f491..d8af96af55 100644 --- a/src/widgets/itemviews/qabstractitemview_p.h +++ b/src/widgets/itemviews/qabstractitemview_p.h @@ -64,7 +64,7 @@ #include "QtCore/qbasictimer.h" #include "QtCore/qelapsedtimer.h" -#ifndef QT_NO_ITEMVIEWS +QT_REQUIRE_CONFIG(itemviews); QT_BEGIN_NAMESPACE @@ -477,6 +477,4 @@ inline int qBinarySearch(const QVector &vec, const T &item, int start, int en QT_END_NAMESPACE -#endif // QT_NO_ITEMVIEWS - #endif // QABSTRACTITEMVIEW_P_H diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp index 6a6991ebb8..213cc96b03 100644 --- a/src/widgets/itemviews/qheaderview.cpp +++ b/src/widgets/itemviews/qheaderview.cpp @@ -39,7 +39,6 @@ #include "qheaderview.h" -#ifndef QT_NO_ITEMVIEWS #include #include #include @@ -3949,6 +3948,4 @@ bool QHeaderViewPrivate::read(QDataStream &in) QT_END_NAMESPACE -#endif // QT_NO_ITEMVIEWS - #include "moc_qheaderview.cpp" diff --git a/src/widgets/itemviews/qheaderview.h b/src/widgets/itemviews/qheaderview.h index 4be97c0c7e..ec4500d81e 100644 --- a/src/widgets/itemviews/qheaderview.h +++ b/src/widgets/itemviews/qheaderview.h @@ -43,10 +43,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(itemviews); -#ifndef QT_NO_ITEMVIEWS +QT_BEGIN_NAMESPACE class QHeaderViewPrivate; class QStyleOptionHeader; @@ -265,8 +264,6 @@ inline void QHeaderView::hideSection(int alogicalIndex) inline void QHeaderView::showSection(int alogicalIndex) { setSectionHidden(alogicalIndex, false); } -#endif // QT_NO_ITEMVIEWS - QT_END_NAMESPACE #endif // QHEADERVIEW_H diff --git a/src/widgets/itemviews/qheaderview_p.h b/src/widgets/itemviews/qheaderview_p.h index d6b119512c..8fc8b88aa5 100644 --- a/src/widgets/itemviews/qheaderview_p.h +++ b/src/widgets/itemviews/qheaderview_p.h @@ -54,14 +54,14 @@ #include #include "private/qabstractitemview_p.h" -#ifndef QT_NO_ITEMVIEWS - #include "QtCore/qbitarray.h" #include "QtWidgets/qapplication.h" #if QT_CONFIG(label) #include "QtWidgets/qlabel.h" #endif +QT_REQUIRE_CONFIG(itemviews); + QT_BEGIN_NAMESPACE class QHeaderViewPrivate: public QAbstractItemViewPrivate @@ -391,6 +391,4 @@ Q_DECLARE_TYPEINFO(QHeaderViewPrivate::SectionItem, Q_PRIMITIVE_TYPE); QT_END_NAMESPACE -#endif // QT_NO_ITEMVIEWS - #endif // QHEADERVIEW_P_H diff --git a/src/widgets/itemviews/qitemdelegate.cpp b/src/widgets/itemviews/qitemdelegate.cpp index 6a6220cd0a..68c02e9edb 100644 --- a/src/widgets/itemviews/qitemdelegate.cpp +++ b/src/widgets/itemviews/qitemdelegate.cpp @@ -39,7 +39,6 @@ #include "qitemdelegate.h" -#ifndef QT_NO_ITEMVIEWS #include #include #include @@ -1199,5 +1198,3 @@ QStyleOptionViewItem QItemDelegate::setOptions(const QModelIndex &index, QT_END_NAMESPACE #include "moc_qitemdelegate.cpp" - -#endif // QT_NO_ITEMVIEWS diff --git a/src/widgets/itemviews/qitemdelegate.h b/src/widgets/itemviews/qitemdelegate.h index 3d98419c80..21594327ef 100644 --- a/src/widgets/itemviews/qitemdelegate.h +++ b/src/widgets/itemviews/qitemdelegate.h @@ -46,10 +46,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(itemviews); -#ifndef QT_NO_ITEMVIEWS +QT_BEGIN_NAMESPACE class QItemDelegatePrivate; class QItemEditorFactory; @@ -126,8 +125,6 @@ private: Q_DISABLE_COPY(QItemDelegate) }; -#endif // QT_NO_ITEMVIEWS - QT_END_NAMESPACE #endif // QITEMDELEGATE_H diff --git a/src/widgets/itemviews/qitemeditorfactory.cpp b/src/widgets/itemviews/qitemeditorfactory.cpp index dcfe4065a6..54b7c6666f 100644 --- a/src/widgets/itemviews/qitemeditorfactory.cpp +++ b/src/widgets/itemviews/qitemeditorfactory.cpp @@ -41,8 +41,6 @@ #include "qitemeditorfactory.h" #include "qitemeditorfactory_p.h" -#ifndef QT_NO_ITEMVIEWS - #if QT_CONFIG(combobox) #include #endif @@ -627,5 +625,3 @@ QT_END_NAMESPACE #endif #include "moc_qitemeditorfactory_p.cpp" - -#endif // QT_NO_ITEMVIEWS diff --git a/src/widgets/itemviews/qitemeditorfactory.h b/src/widgets/itemviews/qitemeditorfactory.h index dea9bce794..f2610ad3de 100644 --- a/src/widgets/itemviews/qitemeditorfactory.h +++ b/src/widgets/itemviews/qitemeditorfactory.h @@ -46,10 +46,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(itemviews); -#ifndef QT_NO_ITEMVIEWS +QT_BEGIN_NAMESPACE class QWidget; @@ -111,8 +110,6 @@ private: QHash creatorMap; }; -#endif // QT_NO_ITEMVIEWS - QT_END_NAMESPACE #endif // QITEMEDITORFACTORY_H diff --git a/src/widgets/itemviews/qitemeditorfactory_p.h b/src/widgets/itemviews/qitemeditorfactory_p.h index 91edcf65ba..409ecc684f 100644 --- a/src/widgets/itemviews/qitemeditorfactory_p.h +++ b/src/widgets/itemviews/qitemeditorfactory_p.h @@ -55,12 +55,11 @@ #include #include -#ifndef QT_NO_ITEMVIEWS - #ifndef QT_NO_LINEEDIT -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(itemviews); +QT_BEGIN_NAMESPACE class QExpandingLineEdit : public QLineEdit { @@ -92,6 +91,4 @@ QT_END_NAMESPACE #endif // QT_NO_LINEEDIT -#endif //QT_NO_ITEMVIEWS - #endif //QITEMEDITORFACTORY_P_H diff --git a/src/widgets/itemviews/qstyleditemdelegate.cpp b/src/widgets/itemviews/qstyleditemdelegate.cpp index 0b8019c21c..bda3325adb 100644 --- a/src/widgets/itemviews/qstyleditemdelegate.cpp +++ b/src/widgets/itemviews/qstyleditemdelegate.cpp @@ -39,7 +39,6 @@ #include "qstyleditemdelegate.h" -#ifndef QT_NO_ITEMVIEWS #include #include #include @@ -643,5 +642,3 @@ bool QStyledItemDelegate::editorEvent(QEvent *event, QT_END_NAMESPACE #include "moc_qstyleditemdelegate.cpp" - -#endif // QT_NO_ITEMVIEWS diff --git a/src/widgets/itemviews/qstyleditemdelegate.h b/src/widgets/itemviews/qstyleditemdelegate.h index d30e6e0e9c..f3b7c4d1f4 100644 --- a/src/widgets/itemviews/qstyleditemdelegate.h +++ b/src/widgets/itemviews/qstyleditemdelegate.h @@ -46,10 +46,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(itemviews); -#ifndef QT_NO_ITEMVIEWS +QT_BEGIN_NAMESPACE class QStyledItemDelegatePrivate; class QItemEditorFactory; @@ -101,8 +100,6 @@ private: Q_DISABLE_COPY(QStyledItemDelegate) }; -#endif // QT_NO_ITEMVIEWS - QT_END_NAMESPACE #endif // QSTYLEDITEMDELEGATE_H diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index b1b84501c5..7a177fa604 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -41,7 +41,9 @@ #include "qcommonstyle_p.h" #include +#if QT_CONFIG(itemviews) #include +#endif #include #include #include @@ -91,7 +93,7 @@ #include -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) # include "private/qtextengine_p.h" #endif @@ -675,7 +677,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q else p->drawRect(rect); break; } -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) case PE_PanelItemViewRow: if (const QStyleOptionViewItem *vopt = qstyleoption_cast(opt)) { QPalette::ColorGroup cg = (widget ? widget->isEnabled() : (vopt->state & QStyle::State_Enabled)) @@ -713,7 +715,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q } } break; -#endif //QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) case PE_PanelScrollAreaCorner: { const QBrush brush(opt->palette.brush(QPalette::Window)); p->fillRect(opt->rect, brush); @@ -824,7 +826,7 @@ static void drawArrow(const QStyle *style, const QStyleOptionToolButton *toolbut } #endif // QT_NO_TOOLBUTTON -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) static QSizeF viewItemTextLayout(QTextLayout &textLayout, int lineWidth) { @@ -1095,7 +1097,7 @@ void QCommonStylePrivate::viewItemLayout(const QStyleOptionViewItem *opt, QRect *textRect = display; } } -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) #ifndef QT_NO_TABBAR @@ -2168,7 +2170,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, } break; -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) case CE_ItemViewItem: if (const QStyleOptionViewItem *vopt = qstyleoption_cast(opt)) { p->save(); @@ -2248,7 +2250,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, } break; -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) #ifndef QT_NO_FRAME case CE_ShapedFrame: if (const QStyleOptionFrame *f = qstyleoption_cast(opt)) { @@ -3020,7 +3022,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, break; } #endif -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) case SE_ItemViewItemCheckIndicator: if (!qstyleoption_cast(opt)) { r = subElementRect(SE_CheckBoxIndicator, opt, widget); @@ -3047,7 +3049,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, r = d->displayRect; } break; -#endif //QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) #ifndef QT_NO_TOOLBAR case SE_ToolBarHandle: if (const QStyleOptionToolBar *tbopt = qstyleoption_cast(opt)) { @@ -4897,7 +4899,7 @@ QSize QCommonStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, sz = QSize(1 + 3 * (buttonSize + 1), buttonSize); } break; -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) case CT_ItemViewItem: if (const QStyleOptionViewItem *vopt = qstyleoption_cast(opt)) { QRect decorationRect, displayRect, checkRect; @@ -4909,7 +4911,7 @@ QSize QCommonStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, break; #else Q_UNUSED(d); -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) #ifndef QT_NO_SPINBOX case CT_SpinBox: if (const QStyleOptionSpinBox *vopt = qstyleoption_cast(opt)) { diff --git a/src/widgets/styles/qcommonstyle_p.h b/src/widgets/styles/qcommonstyle_p.h index 2ef7f30d21..7c69109ff7 100644 --- a/src/widgets/styles/qcommonstyle_p.h +++ b/src/widgets/styles/qcommonstyle_p.h @@ -68,7 +68,7 @@ class QCommonStylePrivate : public QStylePrivate Q_DECLARE_PUBLIC(QCommonStyle) public: inline QCommonStylePrivate() : -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) cachedOption(0), #endif animationFps(30) @@ -79,12 +79,12 @@ public: #ifndef QT_NO_ANIMATION qDeleteAll(animations); #endif -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) delete cachedOption; #endif } -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) void viewItemDrawText(QPainter *p, const QStyleOptionViewItem *option, const QRect &rect) const; void viewItemLayout(const QStyleOptionViewItem *opt, QRect *checkRect, QRect *pixmapRect, QRect *textRect, bool sizehint) const; diff --git a/src/widgets/styles/qpixmapstyle.cpp b/src/widgets/styles/qpixmapstyle.cpp index 795fe34975..63308a5e36 100644 --- a/src/widgets/styles/qpixmapstyle.cpp +++ b/src/widgets/styles/qpixmapstyle.cpp @@ -55,11 +55,13 @@ #if QT_CONFIG(combobox) #include #endif +#if QT_CONFIG(itemviews) #include +#include +#endif #if QT_CONFIG(listview) #include #endif -#include #include #include diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp index 452f112117..80585a4825 100644 --- a/src/widgets/styles/qstyleoption.cpp +++ b/src/widgets/styles/qstyleoption.cpp @@ -3000,7 +3000,7 @@ QStyleOptionTitleBar::QStyleOptionTitleBar(int version) \sa Qt::WindowFlags */ -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) /*! \class QStyleOptionViewItem \brief The QStyleOptionViewItem class is used to describe the @@ -3267,7 +3267,7 @@ QStyleOptionViewItem::QStyleOptionViewItem(int version) therefore both at the beginning and the end. */ -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) /*! \fn T qstyleoption_cast(const QStyleOption *option) \relates QStyleOption diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h index a3ed35c762..c57c3eefef 100644 --- a/src/widgets/styles/qstyleoption.h +++ b/src/widgets/styles/qstyleoption.h @@ -53,7 +53,7 @@ #include #endif #include -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) # include #endif @@ -388,7 +388,7 @@ protected: typedef Q_DECL_DEPRECATED QStyleOptionDockWidget QStyleOptionDockWidgetV2; -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) class Q_WIDGETS_EXPORT QStyleOptionViewItem : public QStyleOption { @@ -443,7 +443,7 @@ typedef Q_DECL_DEPRECATED QStyleOptionViewItem QStyleOptionViewItemV2; typedef Q_DECL_DEPRECATED QStyleOptionViewItem QStyleOptionViewItemV3; typedef Q_DECL_DEPRECATED QStyleOptionViewItem QStyleOptionViewItemV4; -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) class Q_WIDGETS_EXPORT QStyleOptionToolBox : public QStyleOption { diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index e23a1f60b5..4e4907b1d4 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -71,7 +71,9 @@ #include #endif #include +#if QT_CONFIG(itemviews) #include +#endif #include #include #include @@ -2008,7 +2010,7 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption extraClass |= PseudoClass_Movable; } #endif // QT_NO_DOCKWIDGET -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) else if (const QStyleOptionViewItem *vopt = qstyleoption_cast(opt)) { if (vopt->features & QStyleOptionViewItem::Alternate) extraClass |= PseudoClass_Alternate; @@ -2805,7 +2807,7 @@ void QStyleSheetStyle::polish(QWidget *w) QRenderRule rule = renderRule(w, PseudoElement_None, PseudoClass_Any); if (rule.hasDrawable() || rule.hasBox()) { if (w->metaObject() == &QWidget::staticMetaObject -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) || qobject_cast(w) #endif #ifndef QT_NO_TABBAR @@ -4069,7 +4071,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q fallback = true; break; -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) case CE_ItemViewItem: if (const QStyleOptionViewItem *vopt = qstyleoption_cast(opt)) { QRenderRule subRule = renderRule(w, opt, PseudoElement_ViewItem); @@ -4086,7 +4088,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q return; } break; -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) #ifndef QT_NO_TABBAR case CE_TabBarTab: @@ -5107,7 +5109,7 @@ QSize QStyleSheetStyle::sizeFromContents(ContentsType ct, const QStyleOption *op } break; -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) case CT_ItemViewItem: { QRenderRule subRule = renderRule(w, opt, PseudoElement_ViewItem); sz = baseStyle()->sizeFromContents(ct, opt, csz, w); @@ -5116,7 +5118,7 @@ QSize QStyleSheetStyle::sizeFromContents(ContentsType ct, const QStyleOption *op sz = subRule.boxSize(sz); return sz; } -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) default: break; @@ -5756,7 +5758,7 @@ QRect QStyleSheetStyle::subElementRect(SubElement se, const QStyleOption *opt, c case SE_CheckBoxClickRect: // relies on indicator and contents return ParentStyle::subElementRect(se, opt, w); -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) case SE_ViewItemCheckIndicator: if (!qstyleoption_cast(opt)) { return subElementRect(SE_CheckBoxIndicator, opt, w); @@ -5785,7 +5787,7 @@ QRect QStyleSheetStyle::subElementRect(SubElement se, const QStyleOption *opt, c } } break; -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) case SE_HeaderArrow: { QRenderRule subRule = renderRule(w, opt, PseudoElement_HeaderViewUpArrow); diff --git a/src/widgets/styles/qwindowsvistastyle.cpp b/src/widgets/styles/qwindowsvistastyle.cpp index e400820256..8ab4a61f5f 100644 --- a/src/widgets/styles/qwindowsvistastyle.cpp +++ b/src/widgets/styles/qwindowsvistastyle.cpp @@ -1438,7 +1438,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption } } break; -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) case CE_ItemViewItem: { const QStyleOptionViewItem *vopt; @@ -1473,7 +1473,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption } break; } -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) #if QT_CONFIG(combobox) case CE_ComboBoxLabel: QCommonStyle::drawControl(element, option, painter, widget); diff --git a/src/widgets/widgets/qabstractbutton.cpp b/src/widgets/widgets/qabstractbutton.cpp index e65613d5cd..1d78d24a88 100644 --- a/src/widgets/widgets/qabstractbutton.cpp +++ b/src/widgets/widgets/qabstractbutton.cpp @@ -40,7 +40,9 @@ #include "private/qabstractbutton_p.h" #include "private/qbuttongroup_p.h" +#if QT_CONFIG(itemviews) #include "qabstractitemview.h" +#endif #include "qbuttongroup.h" #include "qabstractbutton_p.h" #include "qevent.h" @@ -1071,7 +1073,7 @@ void QAbstractButton::keyPressEvent(QKeyEvent *e) #ifndef QT_NO_BUTTONGROUP || d->group #endif -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) || (pw && qobject_cast(pw->parentWidget())) #endif ) { diff --git a/src/widgets/widgets/qabstractscrollarea.cpp b/src/widgets/widgets/qabstractscrollarea.cpp index 673983d575..14498c8b90 100644 --- a/src/widgets/widgets/qabstractscrollarea.cpp +++ b/src/widgets/widgets/qabstractscrollarea.cpp @@ -50,7 +50,9 @@ #include "qboxlayout.h" #include "qpainter.h" #include "qmargins.h" +#if QT_CONFIG(itemviews) #include "qheaderview.h" +#endif #include diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index b9b50c307b..50eb1a7371 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -68,7 +68,9 @@ #ifndef QT_NO_ACCESSIBILITY #include "qaccessible.h" #endif +#if QT_CONFIG(itemviews) #include "qabstractitemview.h" +#endif #include "private/qstylesheetstyle_p.h" #ifndef QT_NO_SHORTCUT diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index e1c7a4e280..83dab9e110 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -43,7 +43,9 @@ #ifndef QT_NO_LINEEDIT #include "qvariant.h" +#if QT_CONFIG(itemviews) #include "qabstractitemview.h" +#endif #include "qdrag.h" #include "qwidgetaction.h" #include "qclipboard.h" diff --git a/src/widgets/widgets/qscrollbar.h b/src/widgets/widgets/qscrollbar.h index 963ae4263b..c180a62585 100644 --- a/src/widgets/widgets/qscrollbar.h +++ b/src/widgets/widgets/qscrollbar.h @@ -85,7 +85,7 @@ private: Q_DISABLE_COPY(QScrollBar) Q_DECLARE_PRIVATE(QScrollBar) -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) friend class QTableView; friend class QTreeViewPrivate; friend class QCommonListViewBase; diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index 9e803f4388..5ec60b0425 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -38,7 +38,9 @@ ****************************************************************************/ #include "private/qlayoutengine_p.h" +#if QT_CONFIG(itemviews) #include "qabstractitemdelegate.h" +#endif #include "qapplication.h" #include "qbitmap.h" #include "qcursor.h" diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 976cd173c5..9555ccc5b6 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -41,7 +41,9 @@ #ifndef QT_NO_LINEEDIT +#if QT_CONFIG(itemviews) #include "qabstractitemview.h" +#endif #include "qclipboard.h" #include #include -- cgit v1.2.3 From 4d70a501dbbb9fd94818e30d9cd87a2482deb7e2 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sun, 23 Jul 2017 11:34:00 +0200 Subject: Convert features.tabwidget to QT_[REQUIRE_]CONFIG Change-Id: Iab985564fd2069188df01f8ff3e00add86eb86f4 Reviewed-by: Oswald Buddenhagen --- src/widgets/kernel/qwidget.cpp | 2 ++ src/widgets/styles/qcommonstyle.cpp | 8 +++++--- src/widgets/styles/qmacstyle_mac.mm | 10 +++++----- src/widgets/styles/qstyleoption.cpp | 4 ++-- src/widgets/styles/qstyleoption.h | 6 ++++-- src/widgets/styles/qstylesheetstyle.cpp | 14 +++++++------- src/widgets/widgets/qmainwindow.cpp | 4 ++-- src/widgets/widgets/qmainwindow.h | 10 ++++++---- src/widgets/widgets/qmainwindowlayout.cpp | 12 ++++++------ src/widgets/widgets/qmainwindowlayout_p.h | 4 ++-- src/widgets/widgets/qmdiarea.cpp | 20 ++++++++++---------- src/widgets/widgets/qmdiarea.h | 6 ++++-- src/widgets/widgets/qmdiarea_p.h | 2 +- src/widgets/widgets/qtabbar.cpp | 4 +++- src/widgets/widgets/qtabwidget.cpp | 3 --- src/widgets/widgets/qtabwidget.h | 7 ++----- src/widgets/widgets/widgets.pri | 7 +++++-- 17 files changed, 66 insertions(+), 57 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 79b4d67fdc..88f332d34b 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -108,7 +108,9 @@ #include "private/qgesturemanager_p.h" #ifdef QT_KEYPAD_NAVIGATION +#if QT_CONFIG(tabwidget) #include "qtabwidget.h" // Needed in inTabWidget() +#endif #endif // QT_KEYPAD_NAVIGATION #include "qwindowcontainer_p.h" diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 7a177fa604..e7b6f6bf35 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -68,7 +68,9 @@ #include #include #include +#if QT_CONFIG(tabwidget) #include +#endif #include #include #if QT_CONFIG(rubberband) @@ -2566,7 +2568,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, r = subElementRect(SE_CheckBoxFocusRect, opt, widget); r |= subElementRect(SE_CheckBoxIndicator, opt, widget); break; -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) case SE_TabWidgetTabBar: if (const QStyleOptionTabWidgetFrame *twf = qstyleoption_cast(opt)) { @@ -2808,7 +2810,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, } break; -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) #ifndef QT_NO_TABBAR case SE_TabBarTearIndicator: if (const QStyleOptionTab *tab = qstyleoption_cast(opt)) { @@ -5179,7 +5181,7 @@ int QCommonStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget case SH_FocusFrame_AboveWidget: ret = false; break; -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) case SH_TabWidget_DefaultTabPosition: ret = QTabWidget::North; break; diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index dbba51b00d..b9d3542d57 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -2893,7 +2893,7 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w ret = Qt::AlignRight; break; case SH_TabBar_Alignment: { -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) if (const QTabWidget *tab = qobject_cast(w)) { if (tab->documentMode()) { ret = Qt::AlignLeft; @@ -3560,7 +3560,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai } break; -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) case PE_FrameTabWidget: if (const QStyleOptionTabWidgetFrame *twf = qstyleoption_cast(opt)) { @@ -4934,7 +4934,7 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt, int(outRect.size.height)); break; } -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) case SE_TabWidgetLeftCorner: if (const QStyleOptionTabWidgetFrame *twf = qstyleoption_cast(opt)) { @@ -5211,7 +5211,7 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt, } rect.setBottom(rect.bottom() - 1); break; -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) case SE_TabWidgetLayoutItem: if (const QStyleOptionTabWidgetFrame *tabWidgetOpt = qstyleoption_cast(opt)) { @@ -6645,7 +6645,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, * overlap is how much the pane should overlap the tab bar */ // then add the size between the stackwidget and the "contentsRect" -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) if (const QStyleOptionTabWidgetFrame *twf = qstyleoption_cast(opt)) { QSize extra(0,0); diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp index 80585a4825..ae28dc9374 100644 --- a/src/widgets/styles/qstyleoption.cpp +++ b/src/widgets/styles/qstyleoption.cpp @@ -3290,7 +3290,7 @@ QStyleOptionViewItem::QStyleOptionViewItem(int version) Returns a T or 0 depending on the type of the given \a option. */ -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) /*! \class QStyleOptionTabWidgetFrame \brief The QStyleOptionTabWidgetFrame class is used to describe the @@ -3434,7 +3434,7 @@ QStyleOptionTabWidgetFrame::QStyleOptionTabWidgetFrame(int version) and the height set to 0. */ -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) #ifndef QT_NO_TABBAR diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h index c57c3eefef..a951596776 100644 --- a/src/widgets/styles/qstyleoption.h +++ b/src/widgets/styles/qstyleoption.h @@ -48,7 +48,9 @@ #include #include #include +#if QT_CONFIG(tabwidget) #include +#endif #if QT_CONFIG(rubberband) #include #endif @@ -143,7 +145,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionFrame::FrameFeatures) typedef Q_DECL_DEPRECATED QStyleOptionFrame QStyleOptionFrameV2; typedef Q_DECL_DEPRECATED QStyleOptionFrame QStyleOptionFrameV3; -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) class Q_WIDGETS_EXPORT QStyleOptionTabWidgetFrame : public QStyleOption { public: @@ -168,7 +170,7 @@ protected: }; typedef Q_DECL_DEPRECATED QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2; -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) #ifndef QT_NO_TABBAR diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 4e4907b1d4..2b89baaf27 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -1887,7 +1887,7 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption extraClass |= PseudoClass_NextSelected; else if (hdr->selectedPosition == QStyleOptionHeader::PreviousIsSelected) extraClass |= PseudoClass_PreviousSelected; -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) } else if (const QStyleOptionTabWidgetFrame *tab = qstyleoption_cast(opt)) { switch (tab->shape) { case QTabBar::RoundedNorth: @@ -4479,7 +4479,7 @@ void QStyleSheetStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *op rule.drawBorder(p, opt->rect); return; -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) case PE_FrameTabWidget: if (const QStyleOptionTabWidgetFrame *frm = qstyleoption_cast(opt)) { QRenderRule subRule = renderRule(w, opt, PseudoElement_TabWidgetPane); @@ -4494,7 +4494,7 @@ void QStyleSheetStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *op return; } break; -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) case PE_IndicatorProgressChunk: pseudoElement = PseudoElement_ProgressBarChunk; @@ -4792,7 +4792,7 @@ int QStyleSheetStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const } break; -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) case PM_TabBarTabHSpace: case PM_TabBarTabVSpace: subRule = renderRule(w, opt, PseudoElement_TabBarTab); @@ -4825,7 +4825,7 @@ int QStyleSheetStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const } break; } -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) case PM_SliderThickness: // horizontal slider's height (sizeHint) case PM_SliderLength: // minimum length of slider @@ -5277,13 +5277,13 @@ int QStyleSheetStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWi case SH_ScrollBar_RollBetweenButtons: s = QLatin1String("scrollbar-roll-between-buttons"); break; case SH_ScrollBar_ScrollWhenPointerLeavesControl: s = QLatin1String("scrollbar-scroll-when-pointer-leaves-control"); break; case SH_TabBar_Alignment: -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) if (qobject_cast(w)) { rule = renderRule(w, opt, PseudoElement_TabWidgetTabBar); if (rule.hasPosition()) return rule.position()->position; } -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) s = QLatin1String("alignment"); break; #ifndef QT_NO_TABBAR diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp index 2cc7ce35da..1e7abe0f55 100644 --- a/src/widgets/widgets/qmainwindow.cpp +++ b/src/widgets/widgets/qmainwindow.cpp @@ -1038,7 +1038,7 @@ void QMainWindow::setDocumentMode(bool enabled) } #endif // QT_NO_TABBAR -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) /*! \property QMainWindow::tabShape \brief the tab shape used for tabbed dock widgets. @@ -1090,7 +1090,7 @@ void QMainWindow::setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosit { d_func()->layout->setTabPosition(areas, tabPosition); } -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) /*! Adds the given \a dockwidget to the specified \a area. diff --git a/src/widgets/widgets/qmainwindow.h b/src/widgets/widgets/qmainwindow.h index bab1176d8a..b0ea0ba47e 100644 --- a/src/widgets/widgets/qmainwindow.h +++ b/src/widgets/widgets/qmainwindow.h @@ -42,7 +42,9 @@ #include #include +#if QT_CONFIG(tabwidget) #include +#endif QT_BEGIN_NAMESPACE @@ -67,9 +69,9 @@ class Q_WIDGETS_EXPORT QMainWindow : public QWidget #ifndef QT_NO_TABBAR Q_PROPERTY(bool documentMode READ documentMode WRITE setDocumentMode) #endif // QT_NO_TABBAR -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) Q_PROPERTY(QTabWidget::TabShape tabShape READ tabShape WRITE setTabShape) -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) Q_PROPERTY(bool dockNestingEnabled READ isDockNestingEnabled WRITE setDockNestingEnabled) #endif // QT_NO_DOCKWIDGET Q_PROPERTY(DockOptions dockOptions READ dockOptions WRITE setDockOptions) @@ -109,12 +111,12 @@ public: void setDocumentMode(bool enabled); #endif -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) QTabWidget::TabShape tabShape() const; void setTabShape(QTabWidget::TabShape tabShape); QTabWidget::TabPosition tabPosition(Qt::DockWidgetArea area) const; void setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition); -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) void setDockOptions(DockOptions options); DockOptions dockOptions() const; diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index 1393294f0a..d2f043c407 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -1477,7 +1477,7 @@ void QMainWindowLayout::setVerticalTabsEnabled(bool enabled) #endif // QT_NO_TABBAR } -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) QTabWidget::TabShape QMainWindowLayout::tabShape() const { return _tabShape; @@ -1533,12 +1533,12 @@ static inline QTabBar::Shape tabBarShapeFrom(QTabWidget::TabShape shape, QTabWid return rounded ? QTabBar::RoundedWest : QTabBar::TriangularWest; return QTabBar::RoundedNorth; } -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) #ifndef QT_NO_TABBAR void QMainWindowLayout::updateTabBarShapes() { -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) const QTabWidget::TabPosition vertical[] = { QTabWidget::West, QTabWidget::East, @@ -1557,7 +1557,7 @@ void QMainWindowLayout::updateTabBarShapes() QDockAreaLayout &layout = layoutState.dockAreaLayout; for (int i = 0; i < QInternal::DockCount; ++i) { -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) QTabWidget::TabPosition pos = verticalTabsEnabled ? vertical[i] : tabPositions[i]; QTabBar::Shape shape = tabBarShapeFrom(_tabShape, pos); #else @@ -2267,7 +2267,7 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLay #ifndef QT_NO_TABBAR , _documentMode(false) , verticalTabsEnabled(false) -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) , _tabShape(QTabWidget::Rounded) #endif #endif @@ -2286,7 +2286,7 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLay sep = mainwindow->style()->pixelMetric(QStyle::PM_DockWidgetSeparatorExtent, 0, mainwindow); #endif -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) for (int i = 0; i < QInternal::DockCount; ++i) tabPositions[i] = QTabWidget::South; #endif diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h index 5544730c30..b0eae3762f 100644 --- a/src/widgets/widgets/qmainwindowlayout_p.h +++ b/src/widgets/widgets/qmainwindowlayout_p.h @@ -248,7 +248,7 @@ public: QList unusedSeparatorWidgets; int sep; // separator extent -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) QTabWidget::TabPosition tabPositions[4]; QTabWidget::TabShape _tabShape; @@ -258,7 +258,7 @@ public: void setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition); QDockWidgetGroupWindow *createTabbedDockWindow(); -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) #endif // QT_NO_TABBAR // separators diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp index e25b454409..2e0ecd4831 100644 --- a/src/widgets/widgets/qmdiarea.cpp +++ b/src/widgets/widgets/qmdiarea.cpp @@ -257,7 +257,7 @@ static inline QMdiArea *mdiAreaParent(QWidget *widget) return 0; } -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) static inline QTabBar::Shape tabBarShapeFrom(QTabWidget::TabShape shape, QTabWidget::TabPosition position) { const bool rounded = (shape == QTabWidget::Rounded); @@ -271,7 +271,7 @@ static inline QTabBar::Shape tabBarShapeFrom(QTabWidget::TabShape shape, QTabWid return rounded ? QTabBar::RoundedWest : QTabBar::TriangularWest; return QTabBar::RoundedNorth; } -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) static inline QString tabTextFor(QMdiSubWindow *subWindow) { @@ -685,7 +685,7 @@ QMdiAreaPrivate::QMdiAreaPrivate() tabsClosable(false), tabsMovable(false), #endif -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) tabShape(QTabWidget::Rounded), tabPosition(QTabWidget::North), #endif @@ -1570,7 +1570,7 @@ void QMdiAreaPrivate::setViewMode(QMdiArea::ViewMode mode) tabBar->setDocumentMode(documentMode); tabBar->setTabsClosable(tabsClosable); tabBar->setMovable(tabsMovable); -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) tabBar->setShape(tabBarShapeFrom(tabShape, tabPosition)); #endif @@ -1634,7 +1634,7 @@ void QMdiAreaPrivate::updateTabBarGeometry() return; Q_Q(QMdiArea); -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) Q_ASSERT(tabBarShapeFrom(tabShape, tabPosition) == tabBar->shape()); #endif const QSize tabBarSizeHint = tabBar->sizeHint(); @@ -1648,7 +1648,7 @@ void QMdiAreaPrivate::updateTabBarGeometry() areaWidth -= vbar->width(); QRect tabBarRect; -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) switch (tabPosition) { case QTabWidget::North: q->setViewportMargins(0, tabBarSizeHint.height(), 0, 0); @@ -1675,7 +1675,7 @@ void QMdiAreaPrivate::updateTabBarGeometry() default: break; } -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) tabBar->setGeometry(QStyle::visualRect(q->layoutDirection(), q->contentsRect(), tabBarRect)); } @@ -1691,7 +1691,7 @@ void QMdiAreaPrivate::refreshTabBar() tabBar->setDocumentMode(documentMode); tabBar->setTabsClosable(tabsClosable); tabBar->setMovable(tabsMovable); -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) tabBar->setShape(tabBarShapeFrom(tabShape, tabPosition)); #endif updateTabBarGeometry(); @@ -2218,7 +2218,7 @@ void QMdiArea::setTabsMovable(bool movable) } #endif // QT_NO_TABBAR -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) /*! \property QMdiArea::tabShape \brief the shape of the tabs in tabbed view mode. @@ -2270,7 +2270,7 @@ void QMdiArea::setTabPosition(QTabWidget::TabPosition position) d->tabPosition = position; d->refreshTabBar(); } -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) /*! \reimp diff --git a/src/widgets/widgets/qmdiarea.h b/src/widgets/widgets/qmdiarea.h index 44a40948af..a2cc478856 100644 --- a/src/widgets/widgets/qmdiarea.h +++ b/src/widgets/widgets/qmdiarea.h @@ -42,7 +42,9 @@ #include #include +#if QT_CONFIG(tabwidget) #include +#endif QT_BEGIN_NAMESPACE @@ -63,7 +65,7 @@ class Q_WIDGETS_EXPORT QMdiArea : public QAbstractScrollArea Q_PROPERTY(bool tabsClosable READ tabsClosable WRITE setTabsClosable) Q_PROPERTY(bool tabsMovable READ tabsMovable WRITE setTabsMovable) #endif -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) Q_PROPERTY(QTabWidget::TabShape tabShape READ tabShape WRITE setTabShape) Q_PROPERTY(QTabWidget::TabPosition tabPosition READ tabPosition WRITE setTabPosition) #endif @@ -121,7 +123,7 @@ public: void setTabsMovable(bool movable); bool tabsMovable() const; #endif -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) void setTabShape(QTabWidget::TabShape shape); QTabWidget::TabShape tabShape() const; diff --git a/src/widgets/widgets/qmdiarea_p.h b/src/widgets/widgets/qmdiarea_p.h index b77f3f63ea..6bdbe28b51 100644 --- a/src/widgets/widgets/qmdiarea_p.h +++ b/src/widgets/widgets/qmdiarea_p.h @@ -163,7 +163,7 @@ public: bool tabsClosable; bool tabsMovable; #endif -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) QTabWidget::TabShape tabShape; QTabWidget::TabPosition tabPosition; #endif diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index 5ec60b0425..75744c2adb 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -49,7 +49,9 @@ #include "qstyle.h" #include "qstyleoption.h" #include "qstylepainter.h" +#if QT_CONFIG(tabwidget) #include "qtabwidget.h" +#endif #include "qtooltip.h" #if QT_CONFIG(whatsthis) #include "qwhatsthis.h" @@ -207,7 +209,7 @@ void QTabBarPrivate::initBasicStyleOption(QStyleOptionTab *option, int tabIndex) option->position = QStyleOptionTab::Middle; } -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) if (const QTabWidget *tw = qobject_cast(q->parentWidget())) { option->features |= QStyleOptionTab::HasFrame; if (tw->cornerWidget(Qt::TopLeftCorner) || tw->cornerWidget(Qt::BottomLeftCorner)) diff --git a/src/widgets/widgets/qtabwidget.cpp b/src/widgets/widgets/qtabwidget.cpp index c84c78275d..c496d267b3 100644 --- a/src/widgets/widgets/qtabwidget.cpp +++ b/src/widgets/widgets/qtabwidget.cpp @@ -39,7 +39,6 @@ #include "qtabwidget.h" -#ifndef QT_NO_TABWIDGET #include "private/qwidget_p.h" #include "private/qtabbar_p.h" #include "qapplication.h" @@ -1375,5 +1374,3 @@ void QTabWidget::clear() QT_END_NAMESPACE #include "moc_qtabwidget.cpp" - -#endif //QT_NO_TABWIDGET diff --git a/src/widgets/widgets/qtabwidget.h b/src/widgets/widgets/qtabwidget.h index 7d8864241a..b80fdba1fb 100644 --- a/src/widgets/widgets/qtabwidget.h +++ b/src/widgets/widgets/qtabwidget.h @@ -44,10 +44,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(tabwidget); -#ifndef QT_NO_TABWIDGET +QT_BEGIN_NAMESPACE class QTabBar; class QTabWidgetPrivate; @@ -181,8 +180,6 @@ private: void setUpLayout(bool = false); }; -#endif // QT_NO_TABWIDGET - QT_END_NAMESPACE #endif // QTABWIDGET_H diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 7a39f3fb3e..0fcd389030 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -39,7 +39,6 @@ HEADERS += \ widgets/qstatusbar.h \ widgets/qtabbar.h \ widgets/qtabbar_p.h \ - widgets/qtabwidget.h \ widgets/qtextedit.h \ widgets/qtextedit_p.h \ widgets/qtextbrowser.h \ @@ -88,7 +87,6 @@ SOURCES += \ widgets/qstackedwidget.cpp \ widgets/qstatusbar.cpp \ widgets/qtabbar.cpp \ - widgets/qtabwidget.cpp \ widgets/qtextedit.cpp \ widgets/qtextbrowser.cpp \ widgets/qtoolbar.cpp \ @@ -222,6 +220,11 @@ qtConfig(splashscreen) { widgets/qsplashscreen.cpp } +qtConfig(tabwidget) { + HEADERS += widgets/qtabwidget.h + SOURCES += widgets/qtabwidget.cpp +} + qtConfig(widgettextcontrol) { HEADERS += \ widgets/qwidgettextcontrol_p.h \ -- cgit v1.2.3 From 2d02c4c799a4c45fe3f096a9bce95bd0b48b2743 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sun, 23 Jul 2017 11:35:27 +0200 Subject: Convert features.dockwidget to QT_[REQUIRE_]CONFIG Change-Id: I1d4b0268df01f8bc0aec28af52cc4b639a376863 Reviewed-by: Oswald Buddenhagen --- .../accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/accessible/qaccessiblewidgets.cpp | 8 +- src/widgets/accessible/qaccessiblewidgets_p.h | 4 +- src/widgets/styles/qcommonstyle.cpp | 20 +-- src/widgets/styles/qmacstyle_mac.mm | 6 +- src/widgets/styles/qmacstyle_mac_p_p.h | 2 + src/widgets/styles/qstylesheetstyle.cpp | 8 +- src/widgets/styles/qwindowsstyle.cpp | 12 +- src/widgets/styles/qwindowsvistastyle_p_p.h | 2 + src/widgets/styles/qwindowsxpstyle.cpp | 4 +- src/widgets/widgets/qdockarealayout.cpp | 4 - src/widgets/widgets/qdockarealayout_p.h | 4 +- src/widgets/widgets/qdockwidget.cpp | 3 - src/widgets/widgets/qdockwidget.h | 7 +- src/widgets/widgets/qdockwidget_p.h | 4 +- src/widgets/widgets/qmainwindow.cpp | 36 +++--- src/widgets/widgets/qmainwindow.h | 16 +-- src/widgets/widgets/qmainwindowlayout.cpp | 144 +++++++++++---------- src/widgets/widgets/qmainwindowlayout_p.h | 16 ++- src/widgets/widgets/qtoolbarlayout.cpp | 2 +- src/widgets/widgets/widgets.pri | 16 ++- 21 files changed, 165 insertions(+), 155 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 8c1e591f0e..796485c81a 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -215,7 +215,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje } else if (classname == QLatin1String("QCalendarWidget")) { iface = new QAccessibleCalendarWidget(widget); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) } else if (classname == QLatin1String("QDockWidget")) { iface = new QAccessibleDockWidget(widget); #endif diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index 676ac67b56..e28833274e 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -68,9 +68,11 @@ #if QT_CONFIG(itemviews) #include #endif +#if QT_CONFIG(dockwidget) #include -#include #include +#endif +#include #include #ifndef QT_NO_ACCESSIBILITY @@ -567,7 +569,7 @@ QWidget *QAccessibleCalendarWidget::navigationBar() const } #endif // QT_CONFIG(calendarwidget) -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) // Dock Widget - order of children: // - Content widget @@ -648,7 +650,7 @@ QString QAccessibleDockWidget::text(QAccessible::Text t) const } return QString(); } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #ifndef QT_NO_CURSOR diff --git a/src/widgets/accessible/qaccessiblewidgets_p.h b/src/widgets/accessible/qaccessiblewidgets_p.h index 781e297a3b..3ff67c0c9b 100644 --- a/src/widgets/accessible/qaccessiblewidgets_p.h +++ b/src/widgets/accessible/qaccessiblewidgets_p.h @@ -286,7 +286,7 @@ private: }; #endif // QT_CONFIG(calendarwidget) -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) class QAccessibleDockWidget: public QAccessibleWidget { public: @@ -302,7 +302,7 @@ protected: QDockWidgetLayout *dockWidgetLayout() const; }; -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #ifndef QT_NO_MAINWINDOW class QAccessibleMainWindow : public QAccessibleWidget diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index e7b6f6bf35..12b4783827 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -49,7 +49,9 @@ #include #include #include +#if QT_CONFIG(dockwidget) #include +#endif #include #if QT_CONFIG(dialogbuttonbox) #include @@ -454,7 +456,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q } break; #endif // QT_NO_GROUPBOX -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case PE_FrameDockWidget: if (const QStyleOptionFrame *frame = qstyleoption_cast(opt)) { int lw = frame->lineWidth; @@ -464,7 +466,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q qDrawShadePanel(p, frame->rect, frame->palette, false, lw); } break; -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #ifndef QT_NO_TOOLBAR case PE_IndicatorToolBarHandle: p->save(); @@ -2040,7 +2042,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, } break; } #endif // QT_CONFIG(rubberband) -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case CE_DockWidgetTitle: if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast(opt)) { QRect r = dwOpt->rect.adjusted(0, 0, -1, -1); @@ -2072,7 +2074,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, } } break; -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) case CE_Header: if (const QStyleOptionHeader *header = qstyleoption_cast(opt)) { QRegion clipRegion = p->clipRegion(); @@ -2923,7 +2925,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, r = f->rect.adjusted(frameWidth, frameWidth, -frameWidth, -frameWidth); } break; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case SE_DockWidgetCloseButton: case SE_DockWidgetFloatButton: case SE_DockWidgetTitleBarText: @@ -3443,7 +3445,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl ir = proxy()->subControlRect(CC_TitleBar, tb, SC_TitleBarCloseButton, widget); down = tb->activeSubControls & SC_TitleBarCloseButton && (opt->state & State_Sunken); if ((tb->titleBarFlags & Qt::WindowType_Mask) == Qt::Tool -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) || qobject_cast(widget) #endif ) @@ -4416,7 +4418,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid if (const QStyleOptionTitleBar *tb = qstyleoption_cast(opt)) { if ((tb->titleBarFlags & Qt::WindowType_Mask) == Qt::Tool) { ret = qMax(widget ? widget->fontMetrics().height() : opt->fontMetrics.height(), 16); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) } else if (qobject_cast(widget)) { ret = qMax(widget->fontMetrics().height(), int(QStyleHelper::dpiScaled(13))); #endif @@ -4528,7 +4530,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid } break; #endif // QT_NO_SLIDER -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case PM_DockWidgetSeparatorExtent: ret = int(QStyleHelper::dpiScaled(6.)); break; @@ -4542,7 +4544,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid case PM_DockWidgetFrameWidth: ret = 1; break; -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) case PM_SpinBoxSliderHeight: case PM_MenuBarPanelWidth: diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index b9d3542d57..beedb5ee39 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -62,7 +62,9 @@ #if QT_CONFIG(dialogbuttonbox) #include #endif +#if QT_CONFIG(dockwidget) #include +#endif #include #include #include @@ -4319,7 +4321,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter } break; #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case CE_DockWidgetTitle: if (const QDockWidget *dockWidget = qobject_cast(w)) { bool floating = dockWidget->isFloating(); @@ -5226,7 +5228,7 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt, } break; #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case SE_DockWidgetCloseButton: case SE_DockWidgetFloatButton: case SE_DockWidgetTitleBarText: diff --git a/src/widgets/styles/qmacstyle_mac_p_p.h b/src/widgets/styles/qmacstyle_mac_p_p.h index 17e60e3bef..e465222137 100644 --- a/src/widgets/styles/qmacstyle_mac_p_p.h +++ b/src/widgets/styles/qmacstyle_mac_p_p.h @@ -62,7 +62,9 @@ #if QT_CONFIG(dialogbuttonbox) #include #endif +#if QT_CONFIG(dockwidget) #include +#endif #include #include #include diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 2b89baaf27..2274e5280f 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -79,7 +79,9 @@ #include #include #include +#if QT_CONFIG(dockwidget) #include +#endif #include #if QT_CONFIG(dialog) #include @@ -1721,7 +1723,7 @@ static quint64 pseudoClass(QStyle::State state) static void qt_check_if_internal_object(const QObject **obj, int *element) { -#ifdef QT_NO_DOCKWIDGET +#if !QT_CONFIG(dockwidget) Q_UNUSED(obj); Q_UNUSED(element); #else @@ -1996,7 +1998,7 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption extraClass |= PseudoClass_PreviousSelected; } #endif // QT_NO_TOOLBOX -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) else if (const QStyleOptionDockWidget *dw = qstyleoption_cast(opt)) { if (dw->verticalTitleBar) extraClass |= PseudoClass_Vertical; @@ -2009,7 +2011,7 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption if (dw->movable) extraClass |= PseudoClass_Movable; } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #if QT_CONFIG(itemviews) else if (const QStyleOptionViewItem *vopt = qstyleoption_cast(opt)) { if (vopt->features & QStyleOptionViewItem::Alternate) diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index 7b6da75089..a8c4c33ada 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -717,7 +717,7 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, case PE_FrameButtonTool: case PE_PanelButtonTool: { QPen oldPen = p->pen(); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (w && w->inherits("QDockWidgetTitleButton")) { if (const QWidget *dw = w->parentWidget()) if (dw->isWindow()){ @@ -727,7 +727,7 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, return; } } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) QBrush fill; bool stippled; bool panel = (pe == PE_PanelButtonTool); @@ -1022,7 +1022,7 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, popupPal.setColor(QPalette::Midlight, opt->palette.light().color()); qDrawWinPanel(p, opt->rect, popupPal, opt->state & State_Sunken); break; } -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case PE_IndicatorDockWidgetResizeHandle: break; case PE_FrameDockWidget: @@ -1030,7 +1030,7 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, proxy()->drawPrimitive(QStyle::PE_FrameWindow, opt, p, w); } break; -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) case PE_FrameStatusBarItem: qDrawShadePanel(p, opt->rect, opt->palette, true, 1, 0); @@ -1784,7 +1784,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai } break; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case CE_DockWidgetTitle: if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast(opt)) { @@ -1858,7 +1858,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai p->restore(); } return; -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #if QT_CONFIG(combobox) case CE_ComboBoxLabel: if (const QStyleOptionComboBox *cb = qstyleoption_cast(opt)) { diff --git a/src/widgets/styles/qwindowsvistastyle_p_p.h b/src/widgets/styles/qwindowsvistastyle_p_p.h index 22ca1d3534..5e2200b876 100644 --- a/src/widgets/styles/qwindowsvistastyle_p_p.h +++ b/src/widgets/styles/qwindowsvistastyle_p_p.h @@ -77,7 +77,9 @@ #endif #include #include +#if QT_CONFIG(dockwidget) #include +#endif #if QT_CONFIG(listview) #include #endif diff --git a/src/widgets/styles/qwindowsxpstyle.cpp b/src/widgets/styles/qwindowsxpstyle.cpp index 418c4d256e..3c6b27bf7f 100644 --- a/src/widgets/styles/qwindowsxpstyle.cpp +++ b/src/widgets/styles/qwindowsxpstyle.cpp @@ -2290,7 +2290,7 @@ void QWindowsXPStyle::drawControl(ControlElement element, const QStyleOption *op drawItemText(p, mbi->rect, alignment, mbi->palette, mbi->state & State_Enabled, mbi->text, textRole); } return; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case CE_DockWidgetTitle: if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast(option)) { @@ -2415,7 +2415,7 @@ void QWindowsXPStyle::drawControl(ControlElement element, const QStyleOption *op return; } break; -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #if QT_CONFIG(rubberband) case CE_RubberBand: if (qstyleoption_cast(option)) { diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp index 8140fa6def..742148b7ec 100644 --- a/src/widgets/widgets/qdockarealayout.cpp +++ b/src/widgets/widgets/qdockarealayout.cpp @@ -56,8 +56,6 @@ #include #include -#ifndef QT_NO_DOCKWIDGET - QT_BEGIN_NAMESPACE // qmainwindow.cpp @@ -3483,5 +3481,3 @@ void QDockAreaLayout::styleChangedEvent() } QT_END_NAMESPACE - -#endif // QT_NO_DOCKWIDGET diff --git a/src/widgets/widgets/qdockarealayout_p.h b/src/widgets/widgets/qdockarealayout_p.h index 21787283f4..e7bfc305ca 100644 --- a/src/widgets/widgets/qdockarealayout_p.h +++ b/src/widgets/widgets/qdockarealayout_p.h @@ -58,7 +58,7 @@ #include "QtCore/qvector.h" #include "QtWidgets/qlayout.h" -#ifndef QT_NO_DOCKWIDGET +QT_REQUIRE_CONFIG(dockwidget); QT_BEGIN_NAMESPACE @@ -310,6 +310,4 @@ public: QT_END_NAMESPACE -#endif // QT_NO_QDOCKWIDGET - #endif // QDOCKAREALAYOUT_P_H diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 6d9731e962..12235e48b7 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -39,7 +39,6 @@ #include "qdockwidget.h" -#ifndef QT_NO_DOCKWIDGET #include #include #include @@ -1695,5 +1694,3 @@ QT_END_NAMESPACE #include "qdockwidget.moc" #include "moc_qdockwidget.cpp" #include "moc_qdockwidget_p.cpp" - -#endif // QT_NO_DOCKWIDGET diff --git a/src/widgets/widgets/qdockwidget.h b/src/widgets/widgets/qdockwidget.h index 80df009007..b53fa19a03 100644 --- a/src/widgets/widgets/qdockwidget.h +++ b/src/widgets/widgets/qdockwidget.h @@ -43,10 +43,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(dockwidget); -#ifndef QT_NO_DOCKWIDGET +QT_BEGIN_NAMESPACE class QDockAreaLayout; class QDockWidgetPrivate; @@ -134,8 +133,6 @@ private: Q_DECLARE_OPERATORS_FOR_FLAGS(QDockWidget::DockWidgetFeatures) -#endif // QT_NO_DOCKWIDGET - QT_END_NAMESPACE #endif // QDYNAMICDOCKWIDGET_H diff --git a/src/widgets/widgets/qdockwidget_p.h b/src/widgets/widgets/qdockwidget_p.h index 2d62cf5acd..2c16176c37 100644 --- a/src/widgets/widgets/qdockwidget_p.h +++ b/src/widgets/widgets/qdockwidget_p.h @@ -57,7 +57,7 @@ #include "QtWidgets/qboxlayout.h" #include "QtWidgets/qdockwidget.h" -#ifndef QT_NO_DOCKWIDGET +QT_REQUIRE_CONFIG(dockwidget); QT_BEGIN_NAMESPACE @@ -204,6 +204,4 @@ inline QDockWidgetLayout *QDockWidgetItem::dockWidgetLayout() const QT_END_NAMESPACE -#endif // QT_NO_DOCKWIDGET - #endif // QDYNAMICDOCKWIDGET_P_H diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp index 1e7abe0f55..5b9d728b86 100644 --- a/src/widgets/widgets/qmainwindow.cpp +++ b/src/widgets/widgets/qmainwindow.cpp @@ -44,7 +44,9 @@ #ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(dockwidget) #include "qdockwidget.h" +#endif #include "qtoolbar.h" #include @@ -84,7 +86,7 @@ public: , useHIToolBar(false) , activateUnifiedToolbarAfterFullScreen(false) #endif -#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_CURSOR) +#if QT_CONFIG(dockwidget) && !defined(QT_NO_CURSOR) , hasOldCursor(false) , cursorAdjusted(false) #endif { } @@ -103,7 +105,7 @@ public: QList hoverSeparator; QPoint hoverPos; -#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_CURSOR) +#if QT_CONFIG(dockwidget) && !defined(QT_NO_CURSOR) QCursor separatorCursor(const QList &path) const; void adjustCursor(const QPoint &pos); QCursor oldCursor; @@ -377,7 +379,7 @@ void QMainWindowPrivate::init() \sa setToolButtonStyle() */ -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) /*! \fn void QMainWindow::tabifiedDockWidgetActivated(QDockWidget *dockWidget) @@ -689,7 +691,7 @@ QWidget *QMainWindow::takeCentralWidget() return oldcentralwidget; } -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) /*! Sets the given dock widget \a area to occupy the specified \a corner. @@ -795,12 +797,12 @@ void QMainWindow::addToolBar(Qt::ToolBarArea area, QToolBar *toolbar) if(toolbar->d_func()->state && toolbar->d_func()->state->dragging) { //removing a toolbar which is dragging will cause crash -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) bool animated = isAnimated(); setAnimated(false); #endif toolbar->d_func()->endDrag(); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) setAnimated(animated); #endif } @@ -903,7 +905,7 @@ bool QMainWindow::toolBarBreak(QToolBar *toolbar) const #endif // QT_NO_TOOLBAR -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) /*! \property QMainWindow::animated \brief whether manipulating dock widgets and tool bars is animated @@ -1280,7 +1282,7 @@ void QMainWindow::resizeDocks(const QList &docks, } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) /*! Saves the current state of this mainwindow's toolbars and @@ -1344,7 +1346,7 @@ bool QMainWindow::restoreState(const QByteArray &state, int version) return restored; } -#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_CURSOR) +#if QT_CONFIG(dockwidget) && !defined(QT_NO_CURSOR) QCursor QMainWindowPrivate::separatorCursor(const QList &path) const { QDockAreaLayoutInfo *info = layout->layoutState.dockAreaLayout.info(path); @@ -1426,7 +1428,7 @@ bool QMainWindow::event(QEvent *event) Q_D(QMainWindow); switch (event->type()) { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case QEvent::Paint: { QPainter p(this); QRegion r = static_cast(event)->region(); @@ -1510,7 +1512,7 @@ bool QMainWindow::event(QEvent *event) #endif // QT_CONFIG(statustip) case QEvent::StyleChange: -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) d->layout->layoutState.dockAreaLayout.styleChangedEvent(); #endif if (!d->explicitIconSize) @@ -1536,7 +1538,7 @@ bool QMainWindow::event(QEvent *event) } break; #endif -#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_CURSOR) +#if QT_CONFIG(dockwidget) && !defined(QT_NO_CURSOR) case QEvent::CursorChange: // CursorChange events are triggered as mouse moves to new widgets even // if the cursor doesn't actually change, so do not change oldCursor if @@ -1639,7 +1641,7 @@ bool QMainWindow::unifiedTitleAndToolBarOnMac() const */ bool QMainWindow::isSeparator(const QPoint &pos) const { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) Q_D(const QMainWindow); return !d->layout->layoutState.dockAreaLayout.findSeparator(pos).isEmpty(); #else @@ -1666,7 +1668,7 @@ void QMainWindow::contextMenuEvent(QContextMenuEvent *event) break; } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (QDockWidget *dw = qobject_cast(child)) { if (dw->parentWidget() != this) return; @@ -1677,7 +1679,7 @@ void QMainWindow::contextMenuEvent(QContextMenuEvent *event) } break; } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #ifndef QT_NO_TOOLBAR if (QToolBar *tb = qobject_cast(child)) { if (tb->parentWidget() != this) @@ -1725,7 +1727,7 @@ QMenu *QMainWindow::createPopupMenu() { Q_D(QMainWindow); QMenu *menu = 0; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) QList dockwidgets = findChildren(); if (dockwidgets.size()) { menu = new QMenu(this); @@ -1748,7 +1750,7 @@ QMenu *QMainWindow::createPopupMenu() } menu->addSeparator(); } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #ifndef QT_NO_TOOLBAR QList toolbars = findChildren(); if (toolbars.size()) { diff --git a/src/widgets/widgets/qmainwindow.h b/src/widgets/widgets/qmainwindow.h index b0ea0ba47e..3c808ac669 100644 --- a/src/widgets/widgets/qmainwindow.h +++ b/src/widgets/widgets/qmainwindow.h @@ -64,7 +64,7 @@ class Q_WIDGETS_EXPORT QMainWindow : public QWidget Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize) Q_PROPERTY(Qt::ToolButtonStyle toolButtonStyle READ toolButtonStyle WRITE setToolButtonStyle) -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) Q_PROPERTY(bool animated READ isAnimated WRITE setAnimated) #ifndef QT_NO_TABBAR Q_PROPERTY(bool documentMode READ documentMode WRITE setDocumentMode) @@ -73,7 +73,7 @@ class Q_WIDGETS_EXPORT QMainWindow : public QWidget Q_PROPERTY(QTabWidget::TabShape tabShape READ tabShape WRITE setTabShape) #endif // QT_CONFIG(tabwidget) Q_PROPERTY(bool dockNestingEnabled READ isDockNestingEnabled WRITE setDockNestingEnabled) -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) Q_PROPERTY(DockOptions dockOptions READ dockOptions WRITE setDockOptions) #ifndef QT_NO_TOOLBAR Q_PROPERTY(bool unifiedTitleAndToolBarOnMac READ unifiedTitleAndToolBarOnMac WRITE setUnifiedTitleAndToolBarOnMac) @@ -101,7 +101,7 @@ public: Qt::ToolButtonStyle toolButtonStyle() const; void setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) bool isAnimated() const; bool isDockNestingEnabled() const; #endif @@ -141,7 +141,7 @@ public: QWidget *takeCentralWidget(); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) void setCorner(Qt::Corner corner, Qt::DockWidgetArea area); Qt::DockWidgetArea corner(Qt::Corner corner) const; #endif @@ -162,7 +162,7 @@ public: Qt::ToolBarArea toolBarArea(QToolBar *toolbar) const; bool toolBarBreak(QToolBar *toolbar) const; #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) void addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget); void addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orientation orientation); @@ -177,7 +177,7 @@ public: void resizeDocks(const QList &docks, const QList &sizes, Qt::Orientation orientation); -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) QByteArray saveState(int version = 0) const; bool restoreState(const QByteArray &state, int version = 0); @@ -187,7 +187,7 @@ public: #endif public Q_SLOTS: -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) void setAnimated(bool enabled); void setDockNestingEnabled(bool enabled); #endif @@ -198,7 +198,7 @@ public Q_SLOTS: Q_SIGNALS: void iconSizeChanged(const QSize &iconSize); void toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) void tabifiedDockWidgetActivated(QDockWidget *dockWidget); #endif diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index d2f043c407..3d716046c0 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -39,11 +39,13 @@ ****************************************************************************/ #include "qmainwindowlayout_p.h" -#include "qdockarealayout_p.h" #ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(dockwidget) +#include "qdockarealayout_p.h" #include "qdockwidget.h" #include "qdockwidget_p.h" +#endif #include "qtoolbar_p.h" #include "qmainwindow.h" #include "qtoolbar.h" @@ -85,7 +87,7 @@ extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window); ** debug */ -#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_DEBUG_STREAM) +#if QT_CONFIG(dockwidget) && !defined(QT_NO_DEBUG_STREAM) static void dumpLayout(QTextStream &qout, const QDockAreaLayoutInfo &layout, QString indent); @@ -174,7 +176,7 @@ QDebug operator<<(QDebug debug, const QMainWindowLayout *layout) return debug; } -#endif // !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_DEBUG) +#endif // QT_CONFIG(dockwidget) && !defined(QT_NO_DEBUG) /****************************************************************************** ** QDockWidgetGroupWindow @@ -183,7 +185,7 @@ QDebug operator<<(QDebug debug, const QMainWindowLayout *layout) // dockwidgets are dragged together (QMainWindow::GroupedDragging feature). // QDockWidgetGroupLayout is the layout of that window and use a QDockAreaLayoutInfo to layout // the tabs inside it. -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) class QDockWidgetGroupLayout : public QLayout { QDockAreaLayoutInfo info; QWidgetResizeHandler *resizer; @@ -462,7 +464,7 @@ QMainWindowLayoutState::QMainWindowLayoutState(QMainWindow *win) #ifndef QT_NO_TOOLBAR toolBarAreaLayout(win), #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) dockAreaLayout(win) #else centralWidgetItem(0) @@ -477,7 +479,7 @@ QSize QMainWindowLayoutState::sizeHint() const QSize result(0, 0); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) result = dockAreaLayout.sizeHint(); #else if (centralWidgetItem != 0) @@ -495,7 +497,7 @@ QSize QMainWindowLayoutState::minimumSize() const { QSize result(0, 0); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) result = dockAreaLayout.minimumSize(); #else if (centralWidgetItem != 0) @@ -515,7 +517,7 @@ void QMainWindowLayoutState::apply(bool animated) toolBarAreaLayout.apply(animated); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) // dumpLayout(dockAreaLayout, QString()); dockAreaLayout.apply(animated); #else @@ -537,7 +539,7 @@ void QMainWindowLayoutState::fitLayout() r = toolBarAreaLayout.fitLayout(); #endif // QT_NO_TOOLBAR -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) dockAreaLayout.rect = r; dockAreaLayout.fitLayout(); #else @@ -551,14 +553,14 @@ void QMainWindowLayoutState::deleteAllLayoutItems() toolBarAreaLayout.deleteAllLayoutItems(); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) dockAreaLayout.deleteAllLayoutItems(); #endif } void QMainWindowLayoutState::deleteCentralWidgetItem() { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) delete dockAreaLayout.centralWidgetItem; dockAreaLayout.centralWidgetItem = 0; #else @@ -574,7 +576,7 @@ QLayoutItem *QMainWindowLayoutState::itemAt(int index, int *x) const return ret; #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (QLayoutItem *ret = dockAreaLayout.itemAt(x, index)) return ret; #else @@ -592,7 +594,7 @@ QLayoutItem *QMainWindowLayoutState::takeAt(int index, int *x) return ret; #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (QLayoutItem *ret = dockAreaLayout.takeAt(x, index)) return ret; #else @@ -620,7 +622,7 @@ QList QMainWindowLayoutState::indexOf(QWidget *widget) const } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) // is it a dock widget? if (qobject_cast(widget) || qobject_cast(widget)) { result = dockAreaLayout.indexOf(widget); @@ -628,14 +630,14 @@ QList QMainWindowLayoutState::indexOf(QWidget *widget) const result.prepend(1); return result; } -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return result; } bool QMainWindowLayoutState::contains(QWidget *widget) const { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (dockAreaLayout.centralWidgetItem != 0 && dockAreaLayout.centralWidgetItem->widget() == widget) return true; if (!dockAreaLayout.indexOf(widget).isEmpty()) @@ -661,7 +663,7 @@ void QMainWindowLayoutState::setCentralWidget(QWidget *widget) if (widget != 0) item = new QWidgetItemV2(widget); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) dockAreaLayout.centralWidgetItem = item; #else centralWidgetItem = item; @@ -672,7 +674,7 @@ QWidget *QMainWindowLayoutState::centralWidget() const { QLayoutItem *item = 0; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) item = dockAreaLayout.centralWidgetItem; #else item = centralWidgetItem; @@ -698,7 +700,7 @@ QList QMainWindowLayoutState::gapIndex(QWidget *widget, } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) // is it a dock widget? if (qobject_cast(widget) != 0 || qobject_cast(widget)) { @@ -707,7 +709,7 @@ QList QMainWindowLayoutState::gapIndex(QWidget *widget, result.prepend(1); return result; } -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return result; } @@ -726,12 +728,12 @@ bool QMainWindowLayoutState::insertGap(const QList &path, QLayoutItem *item } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (i == 1) { Q_ASSERT(qobject_cast(item->widget()) || qobject_cast(item->widget())); return dockAreaLayout.insertGap(path.mid(1), item); } -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return false; } @@ -745,10 +747,10 @@ void QMainWindowLayoutState::remove(const QList &path) toolBarAreaLayout.remove(path.mid(1)); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (i == 1) dockAreaLayout.remove(path.mid(1)); -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) } void QMainWindowLayoutState::remove(QLayoutItem *item) @@ -757,14 +759,14 @@ void QMainWindowLayoutState::remove(QLayoutItem *item) toolBarAreaLayout.remove(item); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) // is it a dock widget? if (QDockWidget *dockWidget = qobject_cast(item->widget())) { QList path = dockAreaLayout.indexOf(dockWidget); if (!path.isEmpty()) dockAreaLayout.remove(path); } -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) } void QMainWindowLayoutState::clear() @@ -773,7 +775,7 @@ void QMainWindowLayoutState::clear() toolBarAreaLayout.clear(); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) dockAreaLayout.clear(); #else centralWidgetRect = QRect(); @@ -799,10 +801,10 @@ QLayoutItem *QMainWindowLayoutState::item(const QList &path) } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (i == 1) return dockAreaLayout.item(path.mid(1)).widgetItem; -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return 0; } @@ -816,10 +818,10 @@ QRect QMainWindowLayoutState::itemRect(const QList &path) const return toolBarAreaLayout.itemRect(path.mid(1)); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (i == 1) return dockAreaLayout.itemRect(path.mid(1)); -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return QRect(); } @@ -833,10 +835,10 @@ QRect QMainWindowLayoutState::gapRect(const QList &path) const return toolBarAreaLayout.itemRect(path.mid(1)); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (i == 1) return dockAreaLayout.gapRect(path.mid(1)); -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return QRect(); } @@ -850,10 +852,10 @@ QLayoutItem *QMainWindowLayoutState::plug(const QList &path) return toolBarAreaLayout.plug(path.mid(1)); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (i == 1) return dockAreaLayout.plug(path.mid(1)); -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return 0; } @@ -869,17 +871,17 @@ QLayoutItem *QMainWindowLayoutState::unplug(const QList &path, QMainWindowL return toolBarAreaLayout.unplug(path.mid(1), other ? &other->toolBarAreaLayout : 0); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (i == 1) return dockAreaLayout.unplug(path.mid(1)); -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return 0; } void QMainWindowLayoutState::saveState(QDataStream &stream) const { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) dockAreaLayout.saveState(stream); #ifndef QT_NO_TABBAR QList floatingTabs = @@ -913,7 +915,7 @@ static QList findChildrenHelper(const QObject *o) return result; } -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) static QList allMyDockWidgets(const QWidget *mainWindow) { QList result; @@ -930,7 +932,7 @@ static QList allMyDockWidgets(const QWidget *mainWindow) return result; } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) //pre4.3 tests the format that was used before 4.3 bool QMainWindowLayoutState::checkFormat(QDataStream &stream) @@ -952,7 +954,7 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) break; #endif // QT_NO_TOOLBAR -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case QDockAreaLayout::DockWidgetStateMarker: { const auto dockWidgets = allMyDockWidgets(mainWindow); @@ -973,7 +975,7 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) } break; #endif // QT_NO_TABBAR -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) default: //there was an error during the parsing return false; @@ -1008,7 +1010,7 @@ bool QMainWindowLayoutState::restoreState(QDataStream &_stream, stream >> marker; switch(marker) { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) case QDockAreaLayout::DockWidgetStateMarker: { const auto dockWidgets = allMyDockWidgets(mainWindow); @@ -1057,7 +1059,7 @@ bool QMainWindowLayoutState::restoreState(QDataStream &_stream, } break; #endif // QT_CONFIG(tabwidget) -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #ifndef QT_NO_TOOLBAR case QToolBarAreaLayout::ToolBarStateMarker: @@ -1358,7 +1360,7 @@ void QMainWindowLayout::toggleToolBarsVisible() ** QMainWindowLayoutState - dock areas */ -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) static QInternal::DockPosition toDockPos(Qt::DockWidgetArea area) { @@ -1823,7 +1825,7 @@ void QMainWindowLayout::raise(QDockWidget *widget) #endif } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) /****************************************************************************** @@ -1953,7 +1955,7 @@ void QMainWindowLayout::invalidate() minSize = szHint = QSize(); } -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) void QMainWindowLayout::setCurrentHoveredFloat(QWidget *w) { if (currentHoveredFloat != w) { @@ -1972,7 +1974,7 @@ void QMainWindowLayout::setCurrentHoveredFloat(QWidget *w) updateGapIndicator(); } } -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) /****************************************************************************** ** QMainWindowLayout - remaining stuff @@ -2030,7 +2032,7 @@ void QMainWindowLayout::revert(QLayoutItem *widgetItem) bool QMainWindowLayout::plug(QLayoutItem *widgetItem) { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (currentHoveredFloat) { QWidget *widget = widgetItem->widget(); QList previousPath = layoutState.indexOf(widget); @@ -2087,7 +2089,7 @@ bool QMainWindowLayout::plug(QLayoutItem *widgetItem) QWidget *widget = widgetItem->widget(); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) // Let's remove the widget from any possible group window foreach (QDockWidgetGroupWindow *dwgw, parent()->findChildren(QString(), Qt::FindDirectChildrenOnly)) { @@ -2109,7 +2111,7 @@ bool QMainWindowLayout::plug(QLayoutItem *widgetItem) pluggingWidget = widget; QRect globalRect = currentGapRect; globalRect.moveTopLeft(parentWidget()->mapToGlobal(globalRect.topLeft())); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (qobject_cast(widget) != 0) { QDockWidgetLayout *layout = qobject_cast(widget->layout()); if (layout->nativeWindowDeco()) { @@ -2143,7 +2145,7 @@ void QMainWindowLayout::animationFinished(QWidget *widget) if (widget == pluggingWidget) { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (QDockWidgetGroupWindow *dwgw = qobject_cast(widget)) { // When the animated widget was a QDockWidgetGroupWindow, it means each of the // embedded QDockWidget needs to be plugged back into the QMainWindow layout. @@ -2217,7 +2219,7 @@ void QMainWindowLayout::animationFinished(QWidget *widget) //and all the geometries (especially the one from the central widget) is correct layoutState.apply(false); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) #ifndef QT_NO_TABBAR if (qobject_cast(widget) != 0) { // info() might return null if the widget is destroyed while @@ -2231,13 +2233,13 @@ void QMainWindowLayout::animationFinished(QWidget *widget) if (!widgetAnimator.animating()) { //all animations are finished -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) parentWidget()->update(layoutState.dockAreaLayout.separatorRegion()); #ifndef QT_NO_TABBAR foreach (QTabBar *tab_bar, usedTabBars) tab_bar->show(); #endif // QT_NO_TABBAR -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) } updateGapIndicator(); @@ -2263,7 +2265,7 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLay , savedState(mainwindow) , dockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks) , statusbar(0) -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) #ifndef QT_NO_TABBAR , _documentMode(false) , verticalTabsEnabled(false) @@ -2271,7 +2273,7 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLay , _tabShape(QTabWidget::Rounded) #endif #endif -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) , widgetAnimator(this) , pluggingWidget(0) #if 0 // Used to be included in Qt4 for Q_WS_MAC @@ -2281,7 +2283,7 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLay if (parentLayout) setParent(parentLayout); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) #ifndef QT_NO_TABBAR sep = mainwindow->style()->pixelMetric(QStyle::PM_DockWidgetSeparatorExtent, 0, mainwindow); #endif @@ -2290,7 +2292,7 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLay for (int i = 0; i < QInternal::DockCount; ++i) tabPositions[i] = QTabWidget::South; #endif -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) pluggingWidget = 0; setObjectName(mainwindow->objectName() + QLatin1String("_layout")); @@ -2315,7 +2317,7 @@ void QMainWindowLayout::setDockOptions(QMainWindow::DockOptions opts) dockOptions = opts; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) setVerticalTabsEnabled(opts & QMainWindow::VerticalTabs); #endif @@ -2347,7 +2349,7 @@ void QMainWindowLayout::setCentralWidget(QWidget *widget) addChildWidget(widget); layoutState.setCentralWidget(widget); if (savedState.isValid()) { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) savedState.dockAreaLayout.centralWidgetItem = layoutState.dockAreaLayout.centralWidgetItem; savedState.dockAreaLayout.fallbackToSizeHints = true; #else @@ -2369,7 +2371,7 @@ void QMainWindowLayout::setCentralWidget(QWidget *widget) */ QLayoutItem *QMainWindowLayout::unplug(QWidget *widget, bool group) { -#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_TABBAR) +#if QT_CONFIG(dockwidget) && !defined(QT_NO_TABBAR) if (!widget->isWindow() && qobject_cast(widget->parentWidget())) { if (group) { // We are just dragging a floating window as it, not need to do anything, we just have to @@ -2397,7 +2399,7 @@ QLayoutItem *QMainWindowLayout::unplug(QWidget *widget, bool group) QRect r = layoutState.itemRect(path); savedState = layoutState; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (QDockWidget *dw = qobject_cast(widget)) { Q_ASSERT(path.constFirst() == 1); bool actualGroup = false; @@ -2427,7 +2429,7 @@ QLayoutItem *QMainWindowLayout::unplug(QWidget *widget, bool group) dw->d_func()->unplug(r); } } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #ifndef QT_NO_TOOLBAR if (QToolBar *tb = qobject_cast(widget)) { tb->d_func()->unplug(r); @@ -2490,7 +2492,7 @@ void QMainWindowLayout::hover(QLayoutItem *widgetItem, const QPoint &mousePos) QWidget *widget = widgetItem->widget(); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if ((dockOptions & QMainWindow::GroupedDragging) && (qobject_cast(widget) || qobject_cast(widget))) { @@ -2528,7 +2530,7 @@ void QMainWindowLayout::hover(QLayoutItem *widgetItem, const QPoint &mousePos) } } setCurrentHoveredFloat(nullptr); -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) QPoint pos = parentWidget()->mapFromGlobal(mousePos); @@ -2540,7 +2542,7 @@ void QMainWindowLayout::hover(QLayoutItem *widgetItem, const QPoint &mousePos) if (!path.isEmpty()) { bool allowed = false; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (QDockWidget *dw = qobject_cast(widget)) allowed = dw->isAreaAllowed(toDockWidgetArea(path.at(1))); @@ -2587,7 +2589,7 @@ void QMainWindowLayout::hover(QLayoutItem *widgetItem, const QPoint &mousePos) currentGapRect = newState.gapRect(currentGapPos); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) parentWidget()->update(layoutState.dockAreaLayout.separatorRegion()); #endif layoutState = newState; @@ -2666,7 +2668,7 @@ bool QMainWindowLayout::restoreState(QDataStream &stream) savedState.deleteAllLayoutItems(); savedState.clear(); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (parentWidget()->isVisible()) { #ifndef QT_NO_TABBAR foreach (QTabBar *tab_bar, usedTabBars) @@ -2674,7 +2676,7 @@ bool QMainWindowLayout::restoreState(QDataStream &stream) #endif } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return true; } @@ -2697,7 +2699,7 @@ bool QMainWindowLayout::usesHIToolBar(QToolBar *toolbar) const void QMainWindowLayout::timerEvent(QTimerEvent *e) { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (e->timerId() == separatorMoveTimer.timerId()) { //let's move the separators separatorMoveTimer.stop(); diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h index b0eae3762f..a7ae76eb69 100644 --- a/src/widgets/widgets/qmainwindowlayout_p.h +++ b/src/widgets/widgets/qmainwindowlayout_p.h @@ -64,7 +64,9 @@ #include "private/qlayoutengine_p.h" #include "private/qwidgetanimator_p.h" +#if QT_CONFIG(dockwidget) #include "qdockarealayout_p.h" +#endif #include "qtoolbararealayout_p.h" QT_BEGIN_NAMESPACE @@ -72,7 +74,7 @@ QT_BEGIN_NAMESPACE class QToolBar; class QRubberBand; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) class QDockWidgetGroupWindow : public QWidget { Q_OBJECT @@ -126,7 +128,7 @@ public: QToolBarAreaLayout toolBarAreaLayout; #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) QDockAreaLayout dockAreaLayout; #else QLayoutItem *centralWidgetItem; @@ -217,7 +219,7 @@ public: // dock widgets -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) void setCorner(Qt::Corner corner, Qt::DockWidgetArea area); Qt::DockWidgetArea corner(Qt::Corner corner) const; void addDockWidget(Qt::DockWidgetArea area, @@ -271,7 +273,7 @@ public: bool separatorMove(const QPoint &pos); bool endSeparatorMove(const QPoint &pos); void keepSize(QDockWidget *w); -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) // save/restore @@ -304,7 +306,7 @@ public: #if QT_CONFIG(rubberband) QPointer gapIndicator; #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) QPointer currentHoveredFloat; // set when dragging over a floating dock widget void setCurrentHoveredFloat(QWidget *w); #endif @@ -321,7 +323,7 @@ public: private Q_SLOTS: void updateGapIndicator(); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) #ifndef QT_NO_TABBAR void tabChanged(); void tabMoved(int from, int to); @@ -367,7 +369,7 @@ public: #endif }; -#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_DEBUG_STREAM) +#if QT_CONFIG(dockwidget) && !defined(QT_NO_DEBUG_STREAM) class QDebug; QDebug operator<<(QDebug debug, const QDockAreaLayout &layout); QDebug operator<<(QDebug debug, const QMainWindowLayout *layout); diff --git a/src/widgets/widgets/qtoolbarlayout.cpp b/src/widgets/widgets/qtoolbarlayout.cpp index 79174bdbff..39e61a1951 100644 --- a/src/widgets/widgets/qtoolbarlayout.cpp +++ b/src/widgets/widgets/qtoolbarlayout.cpp @@ -666,7 +666,7 @@ void QToolBarLayout::setExpanded(bool exp) extension->setChecked(expanded); if (QMainWindow *win = qobject_cast(tb->parentWidget())) { -#ifdef QT_NO_DOCKWIDGET +#if !QT_CONFIG(dockwidget) animating = false; #else animating = !tb->isWindow() && win->isAnimated(); diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 0fcd389030..83ddba04bb 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -6,9 +6,6 @@ HEADERS += \ widgets/qabstractspinbox.h \ widgets/qabstractspinbox_p.h \ widgets/qdial.h \ - widgets/qdockwidget.h \ - widgets/qdockwidget_p.h \ - widgets/qdockarealayout_p.h \ widgets/qframe.h \ widgets/qframe_p.h \ widgets/qgroupbox.h \ @@ -64,8 +61,6 @@ SOURCES += \ widgets/qbuttongroup.cpp \ widgets/qabstractspinbox.cpp \ widgets/qdial.cpp \ - widgets/qdockwidget.cpp \ - widgets/qdockarealayout.cpp \ widgets/qeffects.cpp \ widgets/qframe.cpp \ widgets/qgroupbox.cpp \ @@ -160,6 +155,17 @@ qtConfig(datetimeedit) { widgets/qdatetimeedit.cpp } +qtConfig(dockwidget) { + HEADERS += \ + widgets/qdockwidget.h \ + widgets/qdockwidget_p.h \ + widgets/qdockarealayout_p.h + + SOURCES += \ + widgets/qdockwidget.cpp \ + widgets/qdockarealayout.cpp +} + qtConfig(fontcombobox) { HEADERS += widgets/qfontcombobox.h SOURCES += widgets/qfontcombobox.cpp -- cgit v1.2.3 From 7964b7468de65459f3c0e431549fa93408c19a62 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sun, 23 Jul 2017 11:37:00 +0200 Subject: Convert features.tabbar to QT_[REQUIRE_]CONFIG Change-Id: Id21a95cbc61b2559a8f517ee60548b61536e3cc4 Reviewed-by: Oswald Buddenhagen --- src/widgets/accessible/complexwidgets.cpp | 8 +- src/widgets/accessible/complexwidgets_p.h | 4 +- .../accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/styles/qcommonstyle.cpp | 24 +++-- src/widgets/styles/qcommonstyle_p.h | 2 +- src/widgets/styles/qmacstyle_mac.mm | 28 ++--- src/widgets/styles/qmacstyle_mac_p_p.h | 2 +- src/widgets/styles/qstyleoption.cpp | 8 +- src/widgets/styles/qstyleoption.h | 10 +- src/widgets/styles/qstylesheetstyle.cpp | 32 +++--- src/widgets/styles/qwindowsstyle.cpp | 8 +- src/widgets/styles/qwindowsxpstyle.cpp | 2 + src/widgets/widgets/qdockarealayout.cpp | 118 ++++++++++----------- src/widgets/widgets/qdockarealayout_p.h | 14 ++- src/widgets/widgets/qdockwidget.cpp | 4 +- src/widgets/widgets/qmainwindow.cpp | 6 +- src/widgets/widgets/qmainwindow.h | 6 +- src/widgets/widgets/qmainwindowlayout.cpp | 40 +++---- src/widgets/widgets/qmainwindowlayout_p.h | 10 +- src/widgets/widgets/qmdiarea.cpp | 54 +++++----- src/widgets/widgets/qmdiarea.h | 4 +- src/widgets/widgets/qmdiarea_p.h | 4 +- src/widgets/widgets/qmdisubwindow.h | 2 +- src/widgets/widgets/qtabbar.cpp | 4 - src/widgets/widgets/qtabbar.h | 7 +- src/widgets/widgets/qtabbar_p.h | 7 +- src/widgets/widgets/widgets.pri | 11 +- 27 files changed, 216 insertions(+), 205 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp index 9475b5a96c..5442c145a0 100644 --- a/src/widgets/accessible/complexwidgets.cpp +++ b/src/widgets/accessible/complexwidgets.cpp @@ -45,7 +45,10 @@ #if QT_CONFIG(itemviews) #include #endif +#if QT_CONFIG(tabbar) #include +#include +#endif #if QT_CONFIG(combobox) #include #endif @@ -56,7 +59,6 @@ #if QT_CONFIG(whatsthis) #include #endif -#include #include #include #include @@ -69,7 +71,7 @@ QT_BEGIN_NAMESPACE QString qt_accStripAmp(const QString &text); QString qt_accHotKey(const QString &text); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \class QAccessibleTabBar \brief The QAccessibleTabBar class implements the QAccessibleInterface for tab bars. @@ -262,7 +264,7 @@ QString QAccessibleTabBar::text(QAccessible::Text t) const return QString(); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #if QT_CONFIG(combobox) /*! diff --git a/src/widgets/accessible/complexwidgets_p.h b/src/widgets/accessible/complexwidgets_p.h index 849169ab8a..6f5c950631 100644 --- a/src/widgets/accessible/complexwidgets_p.h +++ b/src/widgets/accessible/complexwidgets_p.h @@ -107,7 +107,7 @@ public: }; #endif // QT_NO_SCROLLAREA -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) class QAccessibleTabBar : public QAccessibleWidget { public: @@ -124,7 +124,7 @@ protected: QTabBar *tabBar() const; mutable QHash m_childInterfaces; }; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #if QT_CONFIG(combobox) class QAccessibleComboBox : public QAccessibleWidget diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 796485c81a..c3de7a7dd6 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -153,7 +153,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje iface = new QAccessibleTable(widget); // ### This should be cleaned up. We return the parent for the scrollarea to hide it. #endif // QT_CONFIG(itemviews) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) } else if (classname == QLatin1String("QTabBar")) { iface = new QAccessibleTabBar(widget); #endif diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 12b4783827..5e43d69e8f 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -69,7 +69,9 @@ #include #include #include +#if QT_CONFIG(tabbar) #include +#endif #if QT_CONFIG(tabwidget) #include #endif @@ -368,7 +370,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q p->setPen(oldPen); } break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case PE_FrameTabBarBase: if (const QStyleOptionTabBarBase *tbb = qstyleoption_cast(opt)) { @@ -431,7 +433,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q } #else Q_UNUSED(d); -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) case PE_FrameTabWidget: case PE_FrameWindow: qDrawWinPanel(p, opt->rect, opt->palette, false, 0); @@ -575,7 +577,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q p->setBrush(oldBrush); break; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case PE_IndicatorTabTear: if (const QStyleOptionTab *tab = qstyleoption_cast(opt)) { bool rtl = tab->direction == Qt::RightToLeft; @@ -609,7 +611,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q p->drawPath(path); } break; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #ifndef QT_NO_LINEEDIT case PE_PanelLineEdit: if (const QStyleOptionFrame *panel = qstyleoption_cast(opt)) { @@ -1104,7 +1106,7 @@ void QCommonStylePrivate::viewItemLayout(const QStyleOptionViewItem *opt, QRect #endif // QT_CONFIG(itemviews) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \internal Compute the textRect and the pixmapRect from the opt rect @@ -1171,7 +1173,7 @@ void QCommonStylePrivate::tabLayout(const QStyleOptionTab *opt, const QWidget *w *textRect = tr; } -#endif //QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #ifndef QT_NO_ANIMATION /*! \internal */ @@ -1718,7 +1720,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, } break; #endif // QT_NO_TOOLBOX -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case CE_TabBarTab: if (const QStyleOptionTab *tab = qstyleoption_cast(opt)) { proxy()->drawControl(CE_TabBarTabShape, tab, p, widget); @@ -1938,7 +1940,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, } } break; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #ifndef QT_NO_SIZEGRIP case CE_SizeGrip: { p->save(); @@ -2813,7 +2815,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, break; #endif // QT_CONFIG(tabwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case SE_TabBarTearIndicator: if (const QStyleOptionTab *tab = qstyleoption_cast(opt)) { switch (tab->shape) { @@ -4581,7 +4583,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid break; #endif // QT_NO_TOOLBAR -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case PM_TabBarTabOverlap: ret = 3; break; @@ -5225,7 +5227,7 @@ int QCommonStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget case SH_ItemView_DrawDelegateFrame: ret = 0; break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case SH_TabBar_CloseButtonPosition: ret = QTabBar::RightSide; break; diff --git a/src/widgets/styles/qcommonstyle_p.h b/src/widgets/styles/qcommonstyle_p.h index 7c69109ff7..9fb731239a 100644 --- a/src/widgets/styles/qcommonstyle_p.h +++ b/src/widgets/styles/qcommonstyle_p.h @@ -110,7 +110,7 @@ public: } #endif mutable QIcon tabBarcloseButtonIcon; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void tabLayout(const QStyleOptionTab *opt, const QWidget *widget, QRect *textRect, QRect *pixmapRect) const; #endif diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index beedb5ee39..6117ea22c7 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -51,7 +51,9 @@ //#define DEBUG_SIZE_CONSTRAINT #include +#if QT_CONFIG(tabbar) #include +#endif #include #include #include @@ -232,7 +234,7 @@ static const qreal closeButtonCornerRadius = 2.0; typedef HIRect * (*PtrHIShapeGetBounds)(HIShapeRef, HIRect *); static PtrHIShapeGetBounds ptrHIShapeGetBounds = 0; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) static bool isVerticalTabs(const QTabBar::Shape shape) { return (shape == QTabBar::RoundedEast || shape == QTabBar::TriangularEast @@ -291,7 +293,7 @@ static void drawTabCloseButton(QPainter *p, bool hover, bool selected, bool pres p->drawLine(margin, height - margin, width - margin, margin); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QRect rotateTabPainter(QPainter *p, QTabBar::Shape shape, QRect tabRect) { if (isVerticalTabs(shape)) { @@ -435,7 +437,7 @@ static inline bool isTreeView(const QWidget *widget) } #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) static inline ThemeTabDirection getTabDirection(QTabBar::Shape shape) { ThemeTabDirection ttd; @@ -1077,7 +1079,7 @@ void QMacStylePrivate::drawFocusRing(QPainter *p, const QRect &targetRect, int h QRect(focusRingPixmap.width() - shCornerSize, svCornerSize, shCornerSize, focusRingPixmap.width() - 2 * svCornerSize)); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void QMacStylePrivate::tabLayout(const QStyleOptionTab *opt, const QWidget *widget, QRect *textRect, QRect *iconRect) const { Q_ASSERT(textRect); @@ -1140,7 +1142,7 @@ void QMacStylePrivate::tabLayout(const QStyleOptionTab *opt, const QWidget *widg *textRect = tr; } -#endif //QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) QAquaWidgetSize QMacStylePrivate::effectiveAquaSizeConstrain(const QStyleOption *option, const QWidget *widg, @@ -2293,7 +2295,7 @@ void QMacStyle::polish(QWidget* w) } #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (QTabBar *tb = qobject_cast(w)) { if (tb->documentMode()) { w->setAttribute(Qt::WA_Hover); @@ -2345,7 +2347,7 @@ void QMacStyle::unpolish(QWidget* w) } #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (qobject_cast(w)) { if (!w->testAttribute(Qt::WA_SetFont)) w->setFont(qApp->font(w)); @@ -2870,7 +2872,7 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w ret = QEvent::MouseButtonRelease; break; case SH_TabBar_SelectMouseType: -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (const QStyleOptionTabBarBase *opt2 = qstyleoption_cast(opt)) { ret = opt2->documentMode ? QEvent::MouseButtonPress : QEvent::MouseButtonRelease; } else @@ -2903,7 +2905,7 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w } } #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (const QTabBar *tab = qobject_cast(w)) { if (tab->documentMode()) { ret = Qt::AlignLeft; @@ -3080,7 +3082,7 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w case SH_ItemView_PaintAlternatingRowColorsForEmptyArea: ret = true; break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case SH_TabBar_CloseButtonPosition: ret = QTabBar::LeftSide; break; @@ -3236,7 +3238,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai p->drawPath(path); p->restore(); break; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case PE_FrameTabBarBase: if (const QStyleOptionTabBarBase *tbb = qstyleoption_cast(opt)) { @@ -4135,7 +4137,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter QCommonStyle::drawControl(CE_ComboBoxLabel, &comboCopy, p, w); } break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case CE_TabBarTabShape: if (const QStyleOptionTab *tabOpt = qstyleoption_cast(opt)) { if (tabOpt->documentMode) { @@ -6663,7 +6665,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, } #endif break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case QStyle::CT_TabBarTab: if (const QStyleOptionTab *tab = qstyleoption_cast(opt)) { const QAquaWidgetSize AquaSize = d->aquaSizeConstrain(opt, widget); diff --git a/src/widgets/styles/qmacstyle_mac_p_p.h b/src/widgets/styles/qmacstyle_mac_p_p.h index e465222137..50596e572d 100644 --- a/src/widgets/styles/qmacstyle_mac_p_p.h +++ b/src/widgets/styles/qmacstyle_mac_p_p.h @@ -244,7 +244,7 @@ public: void drawFocusRing(QPainter *p, const QRect &targetRect, int hMargin, int vMargin, qreal radius = 0) const; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void tabLayout(const QStyleOptionTab *opt, const QWidget *widget, QRect *textRect, QRect *iconRect) const; #endif diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp index ae28dc9374..5d11b86ae7 100644 --- a/src/widgets/styles/qstyleoption.cpp +++ b/src/widgets/styles/qstyleoption.cpp @@ -1231,7 +1231,7 @@ QStyleOptionToolBar::QStyleOptionToolBar(int version) #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \class QStyleOptionTab \brief The QStyleOptionTab class is used to describe the @@ -1479,7 +1479,7 @@ QStyleOptionTab::QStyleOptionTab(int version) The default value is QSize(-1, -1), i.e. an invalid size; */ -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) /*! \class QStyleOptionProgressBar @@ -3436,7 +3436,7 @@ QStyleOptionTabWidgetFrame::QStyleOptionTabWidgetFrame(int version) #endif // QT_CONFIG(tabwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \class QStyleOptionTabBarBase @@ -3556,7 +3556,7 @@ QStyleOptionTabBarBase::QStyleOptionTabBarBase(int version) The default value is false; */ -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #ifndef QT_NO_SIZEGRIP /*! diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h index a951596776..af97479ef0 100644 --- a/src/widgets/styles/qstyleoption.h +++ b/src/widgets/styles/qstyleoption.h @@ -47,7 +47,9 @@ #include #include #include +#if QT_CONFIG(tabbar) #include +#endif #if QT_CONFIG(tabwidget) #include #endif @@ -173,7 +175,7 @@ typedef Q_DECL_DEPRECATED QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV #endif // QT_CONFIG(tabwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) class Q_WIDGETS_EXPORT QStyleOptionTabBarBase : public QStyleOption { public: @@ -193,7 +195,7 @@ protected: }; typedef Q_DECL_DEPRECATED QStyleOptionTabBarBase QStyleOptionTabBarBaseV2; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) class Q_WIDGETS_EXPORT QStyleOptionHeader : public QStyleOption { @@ -247,7 +249,7 @@ protected: Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionButton::ButtonFeatures) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) class Q_WIDGETS_EXPORT QStyleOptionTab : public QStyleOption { public: @@ -286,7 +288,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionTab::CornerWidgets) typedef Q_DECL_DEPRECATED QStyleOptionTab QStyleOptionTabV2; typedef Q_DECL_DEPRECATED QStyleOptionTab QStyleOptionTabV3; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #ifndef QT_NO_TOOLBAR diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 2274e5280f..5557dba430 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -76,7 +76,9 @@ #endif #include #include +#if QT_CONFIG(tabbar) #include +#endif #include #include #if QT_CONFIG(dockwidget) @@ -1912,7 +1914,7 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption break; } #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) } else if (const QStyleOptionTab *tab = qstyleoption_cast(opt)) { if (tab->position == QStyleOptionTab::OnlyOneTab) extraClass |= PseudoClass_OnlyOne; @@ -1948,7 +1950,7 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption default: break; } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) } else if (const QStyleOptionButton *btn = qstyleoption_cast(opt)) { if (btn->features & QStyleOptionButton::Flat) extraClass |= PseudoClass_Flat; @@ -2425,7 +2427,7 @@ static bool unstylable(const QWidget *w) } #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (w->metaObject() == &QWidget::staticMetaObject && qobject_cast(w->parentWidget())) return true; // The moving tab of a QTabBar @@ -2812,7 +2814,7 @@ void QStyleSheetStyle::polish(QWidget *w) #if QT_CONFIG(itemviews) || qobject_cast(w) #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) || qobject_cast(w) #endif #ifndef QT_NO_FRAME @@ -2916,7 +2918,7 @@ void QStyleSheetStyle::unpolish(QApplication *app) styleSheetCaches->styleSheetCache.remove(qApp); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) inline static bool verticalTabs(QTabBar::Shape shape) { return shape == QTabBar::RoundedWest @@ -2924,7 +2926,7 @@ inline static bool verticalTabs(QTabBar::Shape shape) || shape == QTabBar::TriangularWest || shape == QTabBar::TriangularEast; } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p, const QWidget *w) const @@ -4092,7 +4094,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q break; #endif // QT_CONFIG(itemviews) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case CE_TabBarTab: if (hasStyleRule(w, PseudoElement_TabBarTab)) { QWindowsStyle::drawControl(ce, opt, p, w); @@ -4127,7 +4129,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q return; } break; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) case CE_ColumnViewGrip: if (rule.hasDrawable()) { @@ -4534,7 +4536,7 @@ void QStyleSheetStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *op case PE_IndicatorSpinPlus: pseudoElement = PseudoElement_SpinBoxUpArrow; break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case PE_IndicatorTabClose: if (w) w = w->parentWidget(); //match on the QTabBar instead of the CloseButton @@ -5055,7 +5057,7 @@ QSize QStyleSheetStyle::sizeFromContents(ContentsType ct, const QStyleOption *op return rule.boxSize(sz); break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case CT_TabBarTab: { QRenderRule subRule = renderRule(w, opt, PseudoElement_TabBarTab); if (subRule.hasBox() || !subRule.hasNativeBorder()) { @@ -5079,7 +5081,7 @@ QSize QStyleSheetStyle::sizeFromContents(ContentsType ct, const QStyleOption *op sz = subRule.adjustSize(csz); break; } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) case CT_MdiControls: if (const QStyleOptionComplex *ccOpt = qstyleoption_cast(opt)) { @@ -5288,7 +5290,7 @@ int QStyleSheetStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWi #endif // QT_CONFIG(tabwidget) s = QLatin1String("alignment"); break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case SH_TabBar_CloseButtonPosition: rule = renderRule(w, opt, PseudoElement_TabBarTabCloseButton); if (rule.hasPosition()) { @@ -5694,7 +5696,7 @@ QRect QStyleSheetStyle::subElementRect(SubElement se, const QStyleOption *opt, c RECURSION_GUARD(return baseStyle()->subElementRect(se, opt, w)) QRenderRule rule = renderRule(w, opt); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) int pe = PseudoElement_None; #endif @@ -5822,7 +5824,7 @@ QRect QStyleSheetStyle::subElementRect(SubElement se, const QStyleOption *opt, c } break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case SE_TabWidgetLeftCorner: pe = PseudoElement_TabWidgetLeftCorner; // intentionally falls through @@ -5889,7 +5891,7 @@ QRect QStyleSheetStyle::subElementRect(SubElement se, const QStyleOption *opt, c } break; } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) case SE_DockWidgetCloseButton: case SE_DockWidgetFloatButton: { diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index a8c4c33ada..1c51360c1f 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -55,7 +55,9 @@ #include "qrubberband.h" #endif #include "qstyleoption.h" +#if QT_CONFIG(tabbar) #include "qtabbar.h" +#endif #include "qwidget.h" #include "qdebug.h" #include "qmainwindow.h" @@ -334,7 +336,7 @@ int QWindowsStylePrivate::fixedPixelMetric(QStyle::PixelMetric pm) break; case QStyle::PM_DockWidgetSeparatorExtent: return 4; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case QStyle::PM_TabBarTabShiftHorizontal: return 0; case QStyle::PM_TabBarTabShiftVertical: @@ -1283,7 +1285,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai } break; #endif // QT_NO_MENUBAR -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case CE_TabBarTabShape: if (const QStyleOptionTab *tab = qstyleoption_cast(opt)) { bool rtlHorTabs = (tab->direction == Qt::RightToLeft @@ -1486,7 +1488,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai } } break; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) case CE_ToolBoxTabShape: qDrawShadePanel(p, opt->rect, opt->palette, opt->state & (State_Sunken | State_On), 1, diff --git a/src/widgets/styles/qwindowsxpstyle.cpp b/src/widgets/styles/qwindowsxpstyle.cpp index 3c6b27bf7f..bb2c0688c4 100644 --- a/src/widgets/styles/qwindowsxpstyle.cpp +++ b/src/widgets/styles/qwindowsxpstyle.cpp @@ -58,7 +58,9 @@ #include #include +#if QT_CONFIG(tabbar) #include +#endif #if QT_CONFIG(combobox) #include #endif diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp index 742148b7ec..21d1d4cb85 100644 --- a/src/widgets/widgets/qdockarealayout.cpp +++ b/src/widgets/widgets/qdockarealayout.cpp @@ -40,7 +40,9 @@ #include "QtWidgets/qapplication.h" #include "QtWidgets/qwidget.h" +#if QT_CONFIG(tabbar) #include "QtWidgets/qtabbar.h" +#endif #include "QtWidgets/qstyle.h" #include "QtWidgets/qdesktopwidget.h" #include "QtWidgets/qapplication.h" @@ -212,7 +214,7 @@ QDockAreaLayoutItem ** QDockAreaLayoutInfo */ -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) static quintptr tabId(const QDockAreaLayoutItem &item) { if (item.widgetItem == 0) @@ -225,7 +227,7 @@ static const int zero = 0; QDockAreaLayoutInfo::QDockAreaLayoutInfo() : sep(&zero), dockPos(QInternal::LeftDock), o(Qt::Horizontal), mainWindow(0) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) , tabbed(false), tabBar(0), tabBarShape(QTabBar::RoundedSouth) #endif { @@ -235,11 +237,11 @@ QDockAreaLayoutInfo::QDockAreaLayoutInfo(const int *_sep, QInternal::DockPositio Qt::Orientation _o, int tbshape, QMainWindow *window) : sep(_sep), dockPos(_dockPos), o(_o), mainWindow(window) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) , tabbed(false), tabBar(0), tabBarShape(static_cast(tbshape)) #endif { -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) Q_UNUSED(tbshape); #endif } @@ -253,7 +255,7 @@ void QDockAreaLayoutInfo::clear() { item_list.clear(); rect = QRect(); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) tabbed = false; tabBar = 0; #endif @@ -287,7 +289,7 @@ QSize QDockAreaLayoutInfo::minimumSize() const continue; QSize min_size = item.minimumSize(); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { a = qMax(a, pick(o, min_size)); } else @@ -306,7 +308,7 @@ QSize QDockAreaLayoutInfo::minimumSize() const rpick(o, result) = a; rperp(o, result) = b; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QSize tbm = tabBarMinimumSize(); if (!tbm.isNull()) { switch (tabBarShape) { @@ -328,7 +330,7 @@ QSize QDockAreaLayoutInfo::minimumSize() const break; } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) return result; } @@ -339,7 +341,7 @@ QSize QDockAreaLayoutInfo::maximumSize() const return QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX); int a = 0, b = QWIDGETSIZE_MAX; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) a = QWIDGETSIZE_MAX; #endif @@ -355,7 +357,7 @@ QSize QDockAreaLayoutInfo::maximumSize() const QSize max_size = item.maximumSize(); min_perp = qMax(min_perp, perp(o, item.minimumSize())); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { a = qMin(a, pick(o, max_size)); } else @@ -379,7 +381,7 @@ QSize QDockAreaLayoutInfo::maximumSize() const rpick(o, result) = a; rperp(o, result) = b; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QSize tbh = tabBarSizeHint(); if (!tbh.isNull()) { switch (tabBarShape) { @@ -395,7 +397,7 @@ QSize QDockAreaLayoutInfo::maximumSize() const break; } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) return result; } @@ -420,7 +422,7 @@ QSize QDockAreaLayoutInfo::sizeHint() const min_perp = qMax(min_perp, perp(o, item.minimumSize())); max_perp = qMin(max_perp, perp(o, item.maximumSize())); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { a = qMax(a, gap ? item.size : pick(o, size_hint)); } else @@ -445,7 +447,7 @@ QSize QDockAreaLayoutInfo::sizeHint() const rpick(o, result) = a; rperp(o, result) = b; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { QSize tbh = tabBarSizeHint(); switch (tabBarShape) { @@ -467,7 +469,7 @@ QSize QDockAreaLayoutInfo::sizeHint() const break; } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) return result; } @@ -543,7 +545,7 @@ static int realMaxSize(const QDockAreaLayoutInfo &info) void QDockAreaLayoutInfo::fitItems() { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { return; } @@ -757,7 +759,7 @@ QList QDockAreaLayoutInfo::gapIndex(const QPoint& _pos, QRect item_rect; int item_index = 0; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { item_rect = tabContentRect(); } else @@ -777,7 +779,7 @@ QList QDockAreaLayoutInfo::gapIndex(const QPoint& _pos, continue; if (item.subinfo != 0 -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) && !item.subinfo->tabbed #endif ) { @@ -939,7 +941,7 @@ static int separatorMoveHelper(QVector &list, int index, int delt int QDockAreaLayoutInfo::separatorMove(int index, int delta) { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) Q_ASSERT(!tabbed); #endif @@ -1045,7 +1047,7 @@ QLayoutItem *QDockAreaLayoutInfo::plug(const QList &path) QRect result; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { } else #endif @@ -1090,7 +1092,7 @@ QLayoutItem *QDockAreaLayoutInfo::unplug(const QList &path) Q_ASSERT(!(item.flags & QDockAreaLayoutItem::GapItem)); item.flags |= QDockAreaLayoutItem::GapItem; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { } else #endif @@ -1106,7 +1108,7 @@ QLayoutItem *QDockAreaLayoutInfo::unplug(const QList &path) return item.widgetItem; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) quintptr QDockAreaLayoutInfo::currentTabId() const { @@ -1138,7 +1140,7 @@ void QDockAreaLayoutInfo::setCurrentTabId(quintptr id) } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) static QRect dockedGeometry(QWidget *widget) { @@ -1171,7 +1173,7 @@ bool QDockAreaLayoutInfo::insertGap(const QList &path, QLayoutItem *dockWid QDockAreaLayoutItem &item = item_list[index]; if (item.subinfo == 0 -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) || (item.subinfo->tabbed && !insert_tabbed) #endif ) { @@ -1184,7 +1186,7 @@ bool QDockAreaLayoutInfo::insertGap(const QList &path, QLayoutItem *dockWid QRect r = subinfo == 0 ? widgetItem ? dockedGeometry(widgetItem->widget()) : placeHolderItem->topLevelRect : subinfo->rect; Qt::Orientation opposite = o == Qt::Horizontal ? Qt::Vertical : Qt::Horizontal; -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) const int tabBarShape = 0; #endif QDockAreaLayoutInfo *new_info @@ -1202,7 +1204,7 @@ bool QDockAreaLayoutInfo::insertGap(const QList &path, QLayoutItem *dockWid new_item.size = pick(opposite, r.size()); new_item.pos = pick(opposite, r.topLeft()); new_info->item_list.append(new_item); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (insert_tabbed) { new_info->tabbed = true; } @@ -1217,7 +1219,7 @@ bool QDockAreaLayoutInfo::insertGap(const QList &path, QLayoutItem *dockWid gap_item.flags |= QDockAreaLayoutItem::GapItem; gap_item.widgetItem = dockWidgetItem; // so minimumSize(), maximumSize() and // sizeHint() will work -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (!tabbed) #endif { @@ -1292,7 +1294,7 @@ QDockAreaLayoutInfo *QDockAreaLayoutInfo::info(QWidget *widget) if (item.skip()) continue; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed && widget == tabBar) return this; #endif @@ -1330,7 +1332,7 @@ QRect QDockAreaLayoutInfo::itemRect(int index) const QRect result; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { if (tabId(item) == currentTabId()) result = tabContentRect(); @@ -1365,7 +1367,7 @@ QRect QDockAreaLayoutInfo::itemRect(const QList &path) const QRect QDockAreaLayoutInfo::separatorRect(int index) const { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) return QRect(); #endif @@ -1397,7 +1399,7 @@ QRect QDockAreaLayoutInfo::separatorRect(const QList &path) const QList QDockAreaLayoutInfo::findSeparator(const QPoint &_pos) const { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) return QList(); #endif @@ -1508,7 +1510,7 @@ QDockWidget *QDockAreaLayoutInfo::apply(bool animate) { QWidgetAnimator &widgetAnimator = mainWindowLayout()->widgetAnimator; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { QRect tab_rect; QSize tbh = tabBarSizeHint(); @@ -1541,7 +1543,7 @@ QDockWidget *QDockAreaLayoutInfo::apply(bool animate) widgetAnimator.animate(tabBar, tab_rect, animate); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) QDockWidget *activated = nullptr; @@ -1577,10 +1579,10 @@ QDockWidget *QDockAreaLayoutInfo::apply(bool animate) } } } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (*sep == 1) updateSeparatorWidgets(); -#endif //QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) return activated; } @@ -1607,7 +1609,7 @@ QRegion QDockAreaLayoutInfo::separatorRegion() const if (isEmpty()) return result; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) return result; #endif @@ -1637,7 +1639,7 @@ void QDockAreaLayoutInfo::paintSeparators(QPainter *p, QWidget *widget, { if (isEmpty()) return; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) return; #endif @@ -1686,7 +1688,7 @@ int QDockAreaLayoutInfo::prev(int index) const void QDockAreaLayoutInfo::tab(int index, QLayoutItem *dockWidgetItem) { -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) Q_UNUSED(index); Q_UNUSED(dockWidgetItem); #else @@ -1705,7 +1707,7 @@ void QDockAreaLayoutInfo::tab(int index, QLayoutItem *dockWidgetItem) new_info->updateTabBar(); new_info->setCurrentTab(dockWidgetItem->widget()); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) } void QDockAreaLayoutInfo::split(int index, Qt::Orientation orientation, @@ -1714,7 +1716,7 @@ void QDockAreaLayoutInfo::split(int index, Qt::Orientation orientation, if (orientation == o) { item_list.insert(index + 1, QDockAreaLayoutItem(dockWidgetItem)); } else { -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) const int tabBarShape = 0; #endif QDockAreaLayoutInfo *new_info @@ -1795,7 +1797,7 @@ void QDockAreaLayoutInfo::deleteAllLayoutItems() void QDockAreaLayoutInfo::saveState(QDataStream &stream) const { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { stream << (uchar) TabMarker; @@ -1810,7 +1812,7 @@ void QDockAreaLayoutInfo::saveState(QDataStream &stream) const } stream << index; } else -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) { stream << (uchar) SequenceMarker; } @@ -1884,7 +1886,7 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList if (marker != TabMarker && marker != SequenceMarker) return false; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) tabbed = marker == TabMarker; int index = -1; @@ -1989,7 +1991,7 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList } } else if (nextMarker == SequenceMarker) { int dummy; -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) const int tabBarShape = 0; #endif QDockAreaLayoutItem item(new QDockAreaLayoutInfo(sep, dockPos, o, @@ -2010,7 +2012,7 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList } } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (!testing && tabbed && index >= 0 && index < item_list.count()) { updateTabBar(); setCurrentTabId(tabId(item_list.at(index))); @@ -2022,7 +2024,7 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList return true; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void QDockAreaLayoutInfo::updateSeparatorWidgets() const { if (tabbed) { @@ -2073,9 +2075,7 @@ void QDockAreaLayoutInfo::updateSeparatorWidgets() const separatorWidgets.resize(j); Q_ASSERT(separatorWidgets.size() == j); } -#endif //QT_NO_TABBAR -#ifndef QT_NO_TABBAR /*! \internal reparent all the widgets contained in this layout portion to the specified parent. This is used to reparent dock widgets and tabbars @@ -2301,7 +2301,7 @@ void QDockAreaLayoutInfo::moveTab(int from, int to) { item_list.move(tabIndexToListIndex(from), tabIndexToListIndex(to)); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) /****************************************************************************** ** QDockAreaLayout @@ -2311,7 +2311,7 @@ QDockAreaLayout::QDockAreaLayout(QMainWindow *win) : fallbackToSizeHints(true) { mainWindow = win; sep = win->style()->pixelMetric(QStyle::PM_DockWidgetSeparatorExtent, 0, win); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) const int tabShape = QTabBar::RoundedSouth; #else const int tabShape = 0; @@ -2431,7 +2431,7 @@ QList QDockAreaLayout::gapIndex(const QPoint &pos) const QMainWindow::DockOptions opts = mainWindow->dockOptions(); bool nestingEnabled = opts & QMainWindow::AllowNestedDocks; QDockAreaLayoutInfo::TabMode tabMode = QDockAreaLayoutInfo::NoTabs; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (opts & QMainWindow::AllowTabbedDocks || opts & QMainWindow::VerticalTabs) tabMode = QDockAreaLayoutInfo::AllowTabs; @@ -3122,14 +3122,14 @@ void QDockAreaLayout::addDockWidget(QInternal::DockPosition pos, QDockWidget *do QDockAreaLayoutItem new_item(dockWidgetItem); info.item_list.append(new_item); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (info.tabbed && !new_item.skip()) { info.updateTabBar(); info.setCurrentTabId(tabId(new_item)); } #endif } else { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) int tbshape = info.tabBarShape; #else int tbshape = 0; @@ -3230,10 +3230,10 @@ void QDockAreaLayout::apply(bool animate) widgetAnimator.animate(centralWidgetItem->widget(), centralWidgetRect, animate); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (sep == 1) updateSeparatorWidgets(); -#endif //QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) } void QDockAreaLayout::paintSeparators(QPainter *p, QWidget *widget, @@ -3311,7 +3311,7 @@ int QDockAreaLayout::separatorMove(const QList &separator, const QPoint &or return delta; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) // Sets the correct positions for the separator widgets // Allocates new sepearator widgets with getSeparatorWidget void QDockAreaLayout::updateSeparatorWidgets() const @@ -3345,7 +3345,7 @@ void QDockAreaLayout::updateSeparatorWidgets() const separatorWidgets.resize(j); } -#endif //QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) QLayoutItem *QDockAreaLayout::itemAt(int *x, int index) const { @@ -3388,7 +3388,7 @@ void QDockAreaLayout::deleteAllLayoutItems() docks[i].deleteAllLayoutItems(); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QSet QDockAreaLayout::usedTabBars() const { QSet result; @@ -3431,7 +3431,7 @@ QRect QDockAreaLayout::gapRect(const QList &path) const QRect result; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (info->tabbed) { result = info->tabContentRect(); } else diff --git a/src/widgets/widgets/qdockarealayout_p.h b/src/widgets/widgets/qdockarealayout_p.h index e7bfc305ca..82244c192e 100644 --- a/src/widgets/widgets/qdockarealayout_p.h +++ b/src/widgets/widgets/qdockarealayout_p.h @@ -196,12 +196,10 @@ public: QRect rect; QMainWindow *mainWindow; QList item_list; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void updateSeparatorWidgets() const; QSet usedSeparatorWidgets() const; -#endif //QT_NO_TABBAR -#ifndef QT_NO_TABBAR quintptr currentTabId() const; void setCurrentTab(QWidget *widget); void setCurrentTabId(quintptr id); @@ -220,7 +218,7 @@ public: int tabIndexToListIndex(int) const; void moveTab(int from, int to); -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) }; class Q_AUTOTEST_EXPORT QDockAreaLayout @@ -285,9 +283,9 @@ public: const QPoint &mouse) const; QRegion separatorRegion() const; int separatorMove(const QList &separator, const QPoint &origin, const QPoint &dest); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void updateSeparatorWidgets() const; -#endif //QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) QLayoutItem *itemAt(int *x, int index) const; QLayoutItem *takeAt(int *x, int index); @@ -301,10 +299,10 @@ public: QRect gapRect(const QList &path) const; void keepSize(QDockWidget *w); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QSet usedTabBars() const; QSet usedSeparatorWidgets() const; -#endif //QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) void styleChangedEvent(); }; diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 12235e48b7..2d5ee68f8e 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -1397,14 +1397,14 @@ void QDockWidget::changeEvent(QEvent *event) d->fixedWindowTitle = qt_setWindowTitle_helperHelper(windowTitle(), this); d->toggleViewAction->setText(d->fixedWindowTitle); #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) { if (QMainWindowLayout *winLayout = qt_mainwindow_layout_from_dock(this)) { if (QDockAreaLayoutInfo *info = winLayout->layoutState.dockAreaLayout.info(this)) info->updateTabBar(); } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) break; default: break; diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp index 5b9d728b86..271465ec00 100644 --- a/src/widgets/widgets/qmainwindow.cpp +++ b/src/widgets/widgets/qmainwindow.cpp @@ -1019,7 +1019,7 @@ static bool checkDockWidgetArea(Qt::DockWidgetArea area, const char *where) return false; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \property QMainWindow::documentMode \brief whether the tab bar for tabbed dockwidgets is set to document mode. @@ -1038,7 +1038,7 @@ void QMainWindow::setDocumentMode(bool enabled) { d_func()->layout->setDocumentMode(enabled); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #if QT_CONFIG(tabwidget) /*! @@ -1210,7 +1210,7 @@ void QMainWindow::tabifyDockWidget(QDockWidget *first, QDockWidget *second) QList QMainWindow::tabifiedDockWidgets(QDockWidget *dockwidget) const { QList ret; -#if defined(QT_NO_TABBAR) +#if !QT_CONFIG(tabbar) Q_UNUSED(dockwidget); #else const QDockAreaLayoutInfo *info = d_func()->layout->layoutState.dockAreaLayout.info(dockwidget); diff --git a/src/widgets/widgets/qmainwindow.h b/src/widgets/widgets/qmainwindow.h index 3c808ac669..aa26d4c23b 100644 --- a/src/widgets/widgets/qmainwindow.h +++ b/src/widgets/widgets/qmainwindow.h @@ -66,9 +66,9 @@ class Q_WIDGETS_EXPORT QMainWindow : public QWidget Q_PROPERTY(Qt::ToolButtonStyle toolButtonStyle READ toolButtonStyle WRITE setToolButtonStyle) #if QT_CONFIG(dockwidget) Q_PROPERTY(bool animated READ isAnimated WRITE setAnimated) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) Q_PROPERTY(bool documentMode READ documentMode WRITE setDocumentMode) -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #if QT_CONFIG(tabwidget) Q_PROPERTY(QTabWidget::TabShape tabShape READ tabShape WRITE setTabShape) #endif // QT_CONFIG(tabwidget) @@ -106,7 +106,7 @@ public: bool isDockNestingEnabled() const; #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) bool documentMode() const; void setDocumentMode(bool enabled); #endif diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index 3d716046c0..c0ad4e697d 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -54,7 +54,9 @@ #if QT_CONFIG(rubberband) #include "qrubberband.h" #endif +#if QT_CONFIG(tabbar) #include "qtabbar_p.h" +#endif #include #include @@ -883,7 +885,7 @@ void QMainWindowLayoutState::saveState(QDataStream &stream) const { #if QT_CONFIG(dockwidget) dockAreaLayout.saveState(stream); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QList floatingTabs = mainWindow->findChildren(QString(), Qt::FindDirectChildrenOnly); @@ -963,7 +965,7 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) } } break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case QDockAreaLayout::FloatingDockWidgetTabMarker: { QRect geom; @@ -974,7 +976,7 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) return false; } break; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #endif // QT_CONFIG(dockwidget) default: //there was an error during the parsing @@ -1444,7 +1446,7 @@ bool QMainWindowLayout::restoreDockWidget(QDockWidget *dockwidget) return true; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) bool QMainWindowLayout::documentMode() const { return _documentMode; @@ -1463,11 +1465,11 @@ void QMainWindowLayout::setDocumentMode(bool enabled) foreach (QTabBar *bar, unusedTabBars) bar->setDocumentMode(_documentMode); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) void QMainWindowLayout::setVerticalTabsEnabled(bool enabled) { -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) Q_UNUSED(enabled); #else if (verticalTabsEnabled == enabled) @@ -1476,7 +1478,7 @@ void QMainWindowLayout::setVerticalTabsEnabled(bool enabled) verticalTabsEnabled = enabled; updateTabBarShapes(); -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) } #if QT_CONFIG(tabwidget) @@ -1537,7 +1539,7 @@ static inline QTabBar::Shape tabBarShapeFrom(QTabWidget::TabShape shape, QTabWid } #endif // QT_CONFIG(tabwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void QMainWindowLayout::updateTabBarShapes() { #if QT_CONFIG(tabwidget) @@ -1568,7 +1570,7 @@ void QMainWindowLayout::updateTabBarShapes() layout.docks[i].setTabBarShape(shape); } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) void QMainWindowLayout::splitDockWidget(QDockWidget *after, QDockWidget *dockwidget, @@ -1593,7 +1595,7 @@ void QMainWindowLayout::keepSize(QDockWidget *w) layoutState.dockAreaLayout.keepSize(w); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) // Handle custom tooltip, and allow to drag tabs away. class QMainWindowTabBar : public QTabBar @@ -1778,7 +1780,7 @@ void QMainWindowLayout::tabMoved(int from, int to) info->moveTab(from, to); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) bool QMainWindowLayout::startSeparatorMove(const QPoint &pos) { @@ -1815,7 +1817,7 @@ bool QMainWindowLayout::endSeparatorMove(const QPoint&) void QMainWindowLayout::raise(QDockWidget *widget) { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QDockAreaLayoutInfo *info = dockInfo(widget); if (info == 0) return; @@ -2220,7 +2222,7 @@ void QMainWindowLayout::animationFinished(QWidget *widget) layoutState.apply(false); #if QT_CONFIG(dockwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (qobject_cast(widget) != 0) { // info() might return null if the widget is destroyed while // animating but before the animationFinished signal is received. @@ -2235,10 +2237,10 @@ void QMainWindowLayout::animationFinished(QWidget *widget) //all animations are finished #if QT_CONFIG(dockwidget) parentWidget()->update(layoutState.dockAreaLayout.separatorRegion()); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) foreach (QTabBar *tab_bar, usedTabBars) tab_bar->show(); -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #endif // QT_CONFIG(dockwidget) } @@ -2266,7 +2268,7 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLay , dockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks) , statusbar(0) #if QT_CONFIG(dockwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) , _documentMode(false) , verticalTabsEnabled(false) #if QT_CONFIG(tabwidget) @@ -2284,7 +2286,7 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLay setParent(parentLayout); #if QT_CONFIG(dockwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) sep = mainwindow->style()->pixelMetric(QStyle::PM_DockWidgetSeparatorExtent, 0, mainwindow); #endif @@ -2371,7 +2373,7 @@ void QMainWindowLayout::setCentralWidget(QWidget *widget) */ QLayoutItem *QMainWindowLayout::unplug(QWidget *widget, bool group) { -#if QT_CONFIG(dockwidget) && !defined(QT_NO_TABBAR) +#if QT_CONFIG(dockwidget) && QT_CONFIG(tabbar) if (!widget->isWindow() && qobject_cast(widget->parentWidget())) { if (group) { // We are just dragging a floating window as it, not need to do anything, we just have to @@ -2670,7 +2672,7 @@ bool QMainWindowLayout::restoreState(QDataStream &stream) #if QT_CONFIG(dockwidget) if (parentWidget()->isVisible()) { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) foreach (QTabBar *tab_bar, usedTabBars) tab_bar->show(); diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h index a7ae76eb69..ed0c6b96c5 100644 --- a/src/widgets/widgets/qmainwindowlayout_p.h +++ b/src/widgets/widgets/qmainwindowlayout_p.h @@ -57,7 +57,9 @@ #ifndef QT_NO_MAINWINDOW #include "QtWidgets/qlayout.h" +#if QT_CONFIG(tabbar) #include "QtWidgets/qtabbar.h" +#endif #include "QtCore/qvector.h" #include "QtCore/qset.h" #include "QtCore/qbasictimer.h" @@ -234,7 +236,7 @@ public: void setVerticalTabsEnabled(bool enabled); bool restoreDockWidget(QDockWidget *dockwidget); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QDockAreaLayoutInfo *dockInfo(QWidget *w); bool _documentMode; bool documentMode() const; @@ -261,7 +263,7 @@ public: QDockWidgetGroupWindow *createTabbedDockWindow(); #endif // QT_CONFIG(tabwidget) -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) // separators @@ -324,13 +326,13 @@ public: private Q_SLOTS: void updateGapIndicator(); #if QT_CONFIG(dockwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void tabChanged(); void tabMoved(int from, int to); #endif #endif private: -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void updateTabBarShapes(); #endif #if 0 // Used to be included in Qt4 for Q_WS_MAC diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp index 2e0ecd4831..513011f0ad 100644 --- a/src/widgets/widgets/qmdiarea.cpp +++ b/src/widgets/widgets/qmdiarea.cpp @@ -564,7 +564,7 @@ QPoint MinOverlapPlacer::place(const QSize &size, const QVector &rects, return findBestPlacement(domain, rects, candidates); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) class QMdiAreaTabBar : public QTabBar { public: @@ -662,7 +662,7 @@ QMdiSubWindow *QMdiAreaTabBar::subWindowFromIndex(int index) const return subWindow; } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) /*! \internal @@ -675,12 +675,12 @@ QMdiAreaPrivate::QMdiAreaPrivate() #if QT_CONFIG(rubberband) rubberBand(0), #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) tabBar(0), #endif activationOrder(QMdiArea::CreationOrder), viewMode(QMdiArea::SubWindowView), -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) documentMode(false), tabsClosable(false), tabsMovable(false), @@ -780,7 +780,7 @@ void QMdiAreaPrivate::_q_processWindowStateChanged(Qt::WindowStates oldState, void QMdiAreaPrivate::_q_currentTabChanged(int index) { -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) Q_UNUSED(index); #else if (!tabBar || index < 0) @@ -799,28 +799,28 @@ void QMdiAreaPrivate::_q_currentTabChanged(int index) QMdiSubWindow *subWindow = childWindows.at(index); Q_ASSERT(subWindow); activateWindow(subWindow); -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) } void QMdiAreaPrivate::_q_closeTab(int index) { -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) Q_UNUSED(index); #else QMdiSubWindow *subWindow = childWindows.at(index); Q_ASSERT(subWindow); subWindow->close(); -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) } void QMdiAreaPrivate::_q_moveTab(int from, int to) { -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) Q_UNUSED(from); Q_UNUSED(to); #else childWindows.move(from, to); -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) } /*! @@ -858,7 +858,7 @@ void QMdiAreaPrivate::appendChild(QMdiSubWindow *child) indicesToActivatedChildren.prepend(childWindows.size() - 1); Q_ASSERT(indicesToActivatedChildren.size() == childWindows.size()); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabBar) { tabBar->addTab(child->windowIcon(), tabTextFor(child)); updateTabBarGeometry(); @@ -1082,7 +1082,7 @@ void QMdiAreaPrivate::emitWindowActivated(QMdiSubWindow *activeWindow) aboutToBecomeActive = 0; Q_ASSERT(active->d_func()->isActive); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabBar && tabBar->currentIndex() != indexToActiveWindow) tabBar->setCurrentIndex(indexToActiveWindow); #endif @@ -1125,7 +1125,7 @@ void QMdiAreaPrivate::updateActiveWindow(int removedIndex, bool activeRemoved) { Q_ASSERT(indicesToActivatedChildren.size() == childWindows.size()); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabBar && removedIndex >= 0) { const QSignalBlocker blocker(tabBar); tabBar->removeTab(removedIndex); @@ -1563,7 +1563,7 @@ void QMdiAreaPrivate::setViewMode(QMdiArea::ViewMode mode) // Just a guard since we cannot set viewMode = mode here. inViewModeChange = true; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (mode == QMdiArea::TabbedView) { Q_ASSERT(!tabBar); tabBar = new QMdiAreaTabBar(q); @@ -1604,12 +1604,12 @@ void QMdiAreaPrivate::setViewMode(QMdiArea::ViewMode mode) QObject::connect(tabBar, SIGNAL(tabCloseRequested(int)), q, SLOT(_q_closeTab(int))); QObject::connect(tabBar, SIGNAL(tabMoved(int,int)), q, SLOT(_q_moveTab(int,int))); } else -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) { // SubWindowView -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) delete tabBar; tabBar = 0; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) viewMode = mode; q->setViewportMargins(0, 0, 0, 0); @@ -1624,7 +1624,7 @@ void QMdiAreaPrivate::setViewMode(QMdiArea::ViewMode mode) inViewModeChange = false; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \internal */ @@ -1696,7 +1696,7 @@ void QMdiAreaPrivate::refreshTabBar() #endif updateTabBarGeometry(); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) /*! Constructs an empty mdi area. \a parent is passed to QWidget's @@ -2141,7 +2141,7 @@ void QMdiArea::setViewMode(ViewMode mode) d->setViewMode(mode); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \property QMdiArea::documentMode \brief whether the tab bar is set to document mode in tabbed view mode. @@ -2216,7 +2216,7 @@ void QMdiArea::setTabsMovable(bool movable) d->tabsMovable = movable; d->refreshTabBar(); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) #if QT_CONFIG(tabwidget) /*! @@ -2297,7 +2297,7 @@ void QMdiArea::resizeEvent(QResizeEvent *resizeEvent) return; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) d->updateTabBarGeometry(); #endif @@ -2535,7 +2535,7 @@ bool QMdiArea::event(QEvent *event) d->setActive(d->active, false, false); d->setChildActivationEnabled(false); break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case QEvent::LayoutDirectionChange: d->updateTabBarGeometry(); break; @@ -2632,13 +2632,13 @@ bool QMdiArea::eventFilter(QObject *object, QEvent *event) d->isSubWindowsTiled = false; break; case QEvent::Show: -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (d->tabBar) { const int tabIndex = d->childWindows.indexOf(subWindow); if (!d->tabBar->isTabEnabled(tabIndex)) d->tabBar->setTabEnabled(tabIndex, true); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) // fall through case QEvent::Hide: d->isSubWindowsTiled = false; @@ -2649,7 +2649,7 @@ bool QMdiArea::eventFilter(QObject *object, QEvent *event) d->hideRubberBand(); break; #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case QEvent::WindowTitleChange: case QEvent::ModifiedChange: if (d->tabBar) @@ -2659,7 +2659,7 @@ bool QMdiArea::eventFilter(QObject *object, QEvent *event) if (d->tabBar) d->tabBar->setTabIcon(d->childWindows.indexOf(subWindow), subWindow->windowIcon()); break; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) default: break; } diff --git a/src/widgets/widgets/qmdiarea.h b/src/widgets/widgets/qmdiarea.h index a2cc478856..acc59296b6 100644 --- a/src/widgets/widgets/qmdiarea.h +++ b/src/widgets/widgets/qmdiarea.h @@ -60,7 +60,7 @@ class Q_WIDGETS_EXPORT QMdiArea : public QAbstractScrollArea Q_PROPERTY(QBrush background READ background WRITE setBackground) Q_PROPERTY(WindowOrder activationOrder READ activationOrder WRITE setActivationOrder) Q_PROPERTY(ViewMode viewMode READ viewMode WRITE setViewMode) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) Q_PROPERTY(bool documentMode READ documentMode WRITE setDocumentMode) Q_PROPERTY(bool tabsClosable READ tabsClosable WRITE setTabsClosable) Q_PROPERTY(bool tabsMovable READ tabsMovable WRITE setTabsMovable) @@ -113,7 +113,7 @@ public: void setViewMode(ViewMode mode); ViewMode viewMode() const; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) bool documentMode() const; void setDocumentMode(bool enabled); diff --git a/src/widgets/widgets/qmdiarea_p.h b/src/widgets/widgets/qmdiarea_p.h index 6bdbe28b51..10b5de6840 100644 --- a/src/widgets/widgets/qmdiarea_p.h +++ b/src/widgets/widgets/qmdiarea_p.h @@ -158,7 +158,7 @@ public: QMdiArea::WindowOrder activationOrder; QMdiArea::AreaOptions options; QMdiArea::ViewMode viewMode; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) bool documentMode; bool tabsClosable; bool tabsMovable; @@ -213,7 +213,7 @@ public: QList subWindowList(QMdiArea::WindowOrder, bool reversed = false) const; void disconnectSubWindow(QObject *subWindow); void setViewMode(QMdiArea::ViewMode mode); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void updateTabBarGeometry(); void refreshTabBar(); #endif diff --git a/src/widgets/widgets/qmdisubwindow.h b/src/widgets/widgets/qmdisubwindow.h index e2bb533ddf..875c9a22c8 100644 --- a/src/widgets/widgets/qmdisubwindow.h +++ b/src/widgets/widgets/qmdisubwindow.h @@ -138,7 +138,7 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_enterInteractiveMode()) Q_PRIVATE_SLOT(d_func(), void _q_processFocusChanged(QWidget *, QWidget *)) friend class QMdiAreaPrivate; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) friend class QMdiAreaTabBar; #endif friend class QMdi::ControlContainer; diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index 75744c2adb..adaafc7d21 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -67,8 +67,6 @@ #include "qdebug.h" #include "private/qtabbar_p.h" -#ifndef QT_NO_TABBAR - #if 0 // Used to be included in Qt4 for Q_WS_MAC #include #include @@ -2694,6 +2692,4 @@ QT_END_NAMESPACE #include "moc_qtabbar.cpp" -#endif // QT_NO_TABBAR - #include "moc_qtabbar_p.cpp" diff --git a/src/widgets/widgets/qtabbar.h b/src/widgets/widgets/qtabbar.h index 2a27a98661..ebcd1094ef 100644 --- a/src/widgets/widgets/qtabbar.h +++ b/src/widgets/widgets/qtabbar.h @@ -43,10 +43,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(tabbar); -#ifndef QT_NO_TABBAR +QT_BEGIN_NAMESPACE class QIcon; class QTabBarPrivate; @@ -221,8 +220,6 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_closeTab()) }; -#endif // QT_NO_TABBAR - QT_END_NAMESPACE #endif // QTABBAR_H diff --git a/src/widgets/widgets/qtabbar_p.h b/src/widgets/widgets/qtabbar_p.h index 354c2fc05a..52e139c707 100644 --- a/src/widgets/widgets/qtabbar_p.h +++ b/src/widgets/widgets/qtabbar_p.h @@ -60,12 +60,12 @@ #include #include -#ifndef QT_NO_TABBAR - #define ANIMATION_DURATION 250 #include +QT_REQUIRE_CONFIG(tabbar); + QT_BEGIN_NAMESPACE class QMovableTabWidget : public QWidget @@ -286,9 +286,6 @@ public: void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; }; - QT_END_NAMESPACE #endif - -#endif diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 83ddba04bb..aed3f53478 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -34,8 +34,6 @@ HEADERS += \ widgets/qsplitter_p.h \ widgets/qstackedwidget.h \ widgets/qstatusbar.h \ - widgets/qtabbar.h \ - widgets/qtabbar_p.h \ widgets/qtextedit.h \ widgets/qtextedit_p.h \ widgets/qtextbrowser.h \ @@ -81,7 +79,6 @@ SOURCES += \ widgets/qsplitter.cpp \ widgets/qstackedwidget.cpp \ widgets/qstatusbar.cpp \ - widgets/qtabbar.cpp \ widgets/qtextedit.cpp \ widgets/qtextbrowser.cpp \ widgets/qtoolbar.cpp \ @@ -226,6 +223,14 @@ qtConfig(splashscreen) { widgets/qsplashscreen.cpp } +qtConfig(tabbar) { + HEADERS += \ + widgets/qtabbar.h \ + widgets/qtabbar_p.h + + SOURCES += widgets/qtabbar.cpp +} + qtConfig(tabwidget) { HEADERS += widgets/qtabwidget.h SOURCES += widgets/qtabwidget.cpp -- cgit v1.2.3 From aca9c93fa06e266dd44a74410eb129bdbc719607 Mon Sep 17 00:00:00 2001 From: Dongmei Wang Date: Tue, 25 Jul 2017 13:11:04 -0700 Subject: QFileDialog: Fix a crash occurring when deleting a file A crash has been observed on Windows in the use case below: 1) In a non-native QFileDialog, select a file and press "Del" key to delete it, and a warning message box appears for user to confirm the deletion. 2) Delete the file in the Windows Explorer. 3) Click "Yes" on the warning message box, a crash happens In QFileDialog::_q_deleteCurrent(), use QPersistentModelIndex instead of QModelIndex to ensure that the index is valid to be deleted. The change is intended to fix . The patch is to use QPersistentModelIndex instead of QModelIndex in QFileDialog::_q_deleteCurrent() to ensure that the index is valid to be deleted. Change-Id: I8959124dc071f7cf0ab47f954d611211a789978d Reviewed-by: Friedemann Kleint --- src/widgets/dialogs/qfiledialog.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index b638adeaec..b953c63569 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -3417,7 +3417,7 @@ void QFileDialogPrivate::_q_deleteCurrent() QModelIndexList list = qFileDialogUi->listView->selectionModel()->selectedRows(); for (int i = list.count() - 1; i >= 0; --i) { - QModelIndex index = list.at(i); + QPersistentModelIndex index = list.at(i); if (index == qFileDialogUi->listView->rootIndex()) continue; @@ -3443,12 +3443,15 @@ void QFileDialogPrivate::_q_deleteCurrent() QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::No) return; + // the event loop has run, we have to validate if the index is valid because the model might have removed it. + if (!index.isValid()) + return; + #else if (!(p & QFile::WriteUser)) return; #endif // QT_CONFIG(messagebox) - // the event loop has run, we can NOT reuse index because the model might have removed it. if (isDir) { if (!removeDirectory(filePath)) { #if QT_CONFIG(messagebox) -- cgit v1.2.3 From 5157c3e8bd78d31efea885d8e2d36e24f41a4a2f Mon Sep 17 00:00:00 2001 From: Dongmei Wang Date: Sat, 22 Jul 2017 10:57:59 -0700 Subject: In QFileDialog delete a symlink rather than actual target it points to In QFileDialog, when a resolved symlink gets deleted, the actual target it points to gets deleted instead of the symlink itself. The patch is to delete the symlink rather than actual target by doing the following: 1. In QFileDialog, if a directory being deleted is a resolved symlink, do not remove the directory. Instead, call QFileSystemModel to remove the model index. 2. In QFileSystemModel::remove(), use the full file path instead of the resolved file path for deletion. For a symlink, delete the symlink itself. The patch is for Windows and Linux. Task-number: QTBUG-29770 Change-Id: I4db545f0b5963acde3f89a8ee858338c23104804 Reviewed-by: Friedemann Kleint Reviewed-by: Gabriel de Dietrich --- src/widgets/dialogs/qfiledialog.cpp | 3 +-- src/widgets/dialogs/qfilesystemmodel.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index b953c63569..97afce1734 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -3427,7 +3427,6 @@ void QFileDialogPrivate::_q_deleteCurrent() QString fileName = index.data(QFileSystemModel::FileNameRole).toString(); QString filePath = index.data(QFileSystemModel::FilePathRole).toString(); - bool isDir = model->isDir(index); QFile::Permissions p(index.parent().data(QFileSystemModel::FilePermissions).toInt()); #if QT_CONFIG(messagebox) @@ -3452,7 +3451,7 @@ void QFileDialogPrivate::_q_deleteCurrent() return; #endif // QT_CONFIG(messagebox) - if (isDir) { + if (model->isDir(index) && !model->fileInfo(index).isSymLink()) { if (!removeDirectory(filePath)) { #if QT_CONFIG(messagebox) QMessageBox::warning(q, q->windowTitle(), diff --git a/src/widgets/dialogs/qfilesystemmodel.cpp b/src/widgets/dialogs/qfilesystemmodel.cpp index 63b5cf7aaf..bf14b5c6fd 100644 --- a/src/widgets/dialogs/qfilesystemmodel.cpp +++ b/src/widgets/dialogs/qfilesystemmodel.cpp @@ -203,8 +203,12 @@ QFileInfo QFileSystemModel::fileInfo(const QModelIndex &index) const bool QFileSystemModel::remove(const QModelIndex &aindex) { - const QString path = filePath(aindex); - const bool success = QFileInfo(path).isFile() ? QFile::remove(path) : QDir(path).removeRecursively(); + Q_D(QFileSystemModel); + + const QString path = d->filePath(aindex); + const QFileInfo fileInfo(path); + const bool success = (fileInfo.isFile() || fileInfo.isSymLink()) + ? QFile::remove(path) : QDir(path).removeRecursively(); #ifndef QT_NO_FILESYSTEMWATCHER if (success) { QFileSystemModelPrivate * d = const_cast(d_func()); -- cgit v1.2.3 From 256854cf9760f2b8e8702c2ce2066f67213c0169 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 28 Jul 2017 10:54:44 +0200 Subject: Windows/QFileSystemModel: Fix updating of removed drives Previously, the updating of drives in QFileSystemModel was connected to a signal triggering when a drive containing watched files was removed via QFileSystemWatcher notification. This did not trigger when a drive that was not expanded in the view was removed, since no files were watched. Since QFileSystemModel is not interested in the path of the drive being removed, add a generic signal triggered by DBT_DEVTYP_VOLUME/DBT_DEVICEREMOVECOMPLETE and use that to update the drives. Complements 8e79806d08ab77aa0f87b69a2ef65789216f41c0. Task-number: QTBUG-18729 Task-number: QTBUG-53436 Change-Id: Ibcde4665824c41151042237d4d620c48bc1e2e18 Reviewed-by: Oliver Wolff Reviewed-by: Joerg Bornemann --- src/widgets/dialogs/qfileinfogatherer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets') diff --git a/src/widgets/dialogs/qfileinfogatherer.cpp b/src/widgets/dialogs/qfileinfogatherer.cpp index 9f2d15d31b..710ee611b9 100644 --- a/src/widgets/dialogs/qfileinfogatherer.cpp +++ b/src/widgets/dialogs/qfileinfogatherer.cpp @@ -98,7 +98,7 @@ QFileInfoGatherer::QFileInfoGatherer(QObject *parent) if (listener.canConvert()) { if (QObject *driveListener = listener.value()) { connect(driveListener, SIGNAL(driveAdded()), this, SLOT(driveAdded())); - connect(driveListener, SIGNAL(driveRemoved(QString)), this, SLOT(driveRemoved())); + connect(driveListener, SIGNAL(driveRemoved()), this, SLOT(driveRemoved())); } } # endif // Q_OS_WIN && !Q_OS_WINRT -- cgit v1.2.3 From fe9be10b9258f52c30fe5963207f96c791d6d795 Mon Sep 17 00:00:00 2001 From: Jesus Fernandez Date: Tue, 25 Jul 2017 13:26:24 +0200 Subject: Add a Q_FALLTHROUGH MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CID 11161 (#1 of 1): Missing break in switch (MISSING_BREAK) unterminated_case: The case for value Qt::BottomToolBarArea is not terminated by a 'break' statement. Coverity-Id: 11161 Change-Id: Ie254d0339e41a58004632e9997febac4a1ab4edd Reviewed-by: Jan Arve Sæther --- src/widgets/styles/qwindowsstyle.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/widgets') diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index 1c51360c1f..63f7cd43ef 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -1621,6 +1621,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai default: break; } + Q_FALLTHROUGH(); // It continues in the end of the next case case Qt::TopToolBarArea : switch(toolbar->positionWithinLine){ case QStyleOptionToolBar::Beginning: -- cgit v1.2.3