diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-08-02 22:49:38 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-08-02 22:52:32 +0200 |
commit | ee07b912a1768ea0b103544f9eeac41f3cf50cf6 (patch) | |
tree | 15bfa7e4a9c098511c1fc89e2b2c240520b85e2d /src/widgets | |
parent | 4bfff6a98b59b32605d881a463ad3edc221a7dc8 (diff) | |
parent | a96656a8fb6a3c1fc7765659efff28f807fd0deb (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/plugins/platforms/xcb/qxcbconnection.h
src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp
src/plugins/styles/mac/qmacstyle_mac.mm
src/widgets/widgets/qdockarealayout.cpp
src/widgets/widgets/qmainwindow.cpp
src/widgets/widgets/qmainwindowlayout.cpp
src/widgets/widgets/qmainwindowlayout_p.h
tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
tests/auto/other/macnativeevents/BLACKLIST
tests/auto/widgets/widgets/qmenu/BLACKLIST
Change-Id: Ic8e724b80a65e7b1af25511b0e674d209265e567
Diffstat (limited to 'src/widgets')
80 files changed, 637 insertions, 620 deletions
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 50aba759c3..5442c145a0 100644 --- a/src/widgets/accessible/complexwidgets.cpp +++ b/src/widgets/accessible/complexwidgets.cpp @@ -42,10 +42,16 @@ #include <qaccessible.h> #include <qapplication.h> #include <qevent.h> +#if QT_CONFIG(itemviews) #include <qheaderview.h> +#endif +#if QT_CONFIG(tabbar) #include <qtabbar.h> +#include <private/qtabbar_p.h> +#endif +#if QT_CONFIG(combobox) #include <qcombobox.h> -#include <qlistview.h> +#endif #include <qlineedit.h> #include <qstyle.h> #include <qstyleoption.h> @@ -53,7 +59,6 @@ #if QT_CONFIG(whatsthis) #include <qwhatsthis.h> #endif -#include <private/qtabbar_p.h> #include <QAbstractScrollArea> #include <QScrollArea> #include <QScrollBar> @@ -66,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. @@ -259,9 +264,9 @@ QString QAccessibleTabBar::text(QAccessible::Text t) const return QString(); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(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. @@ -379,7 +384,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..6f5c950631 100644 --- a/src/widgets/accessible/complexwidgets_p.h +++ b/src/widgets/accessible/complexwidgets_p.h @@ -54,7 +54,9 @@ #include <QtWidgets/private/qtwidgetsglobal_p.h> #include <QtCore/qpointer.h> #include <QtWidgets/qaccessiblewidget.h> +#if QT_CONFIG(itemviews) #include <QtWidgets/qabstractitemview.h> +#endif QT_BEGIN_NAMESPACE @@ -105,7 +107,7 @@ public: }; #endif // QT_NO_SCROLLAREA -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) class QAccessibleTabBar : public QAccessibleWidget { public: @@ -122,9 +124,9 @@ protected: QTabBar *tabBar() const; mutable QHash<int, QAccessible::Id> m_childInterfaces; }; -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) class QAccessibleComboBox : public QAccessibleWidget { public: @@ -146,7 +148,7 @@ public: protected: QComboBox *comboBox() const; }; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) #endif // QT_NO_ACCESSIBILITY diff --git a/src/widgets/accessible/itemviews.cpp b/src/widgets/accessible/itemviews.cpp index 4d1a4589ee..4d37400dc9 100644 --- a/src/widgets/accessible/itemviews.cpp +++ b/src/widgets/accessible/itemviews.cpp @@ -43,7 +43,9 @@ #if QT_CONFIG(tableview) #include <qtableview.h> #endif +#if QT_CONFIG(listview) #include <qlistview.h> +#endif #if QT_CONFIG(treeview) #include <qtreeview.h> #include <private/qtreeview_p.h> @@ -54,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: @@ -96,7 +97,7 @@ QAccessibleTable::QAccessibleTable(QWidget *w) m_role = QAccessible::Tree; } else #endif -#ifndef QT_NO_LISTVIEW +#if QT_CONFIG(listview) if (qobject_cast<const QListView*>(view())) { m_role = QAccessible::List; } else @@ -1213,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 <QtWidgets/qabstractitemview.h> #include <QtWidgets/qheaderview.h> +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 a39674dc7a..c3de7a7dd6 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 <qtoolbutton.h> #if QT_CONFIG(treeview) @@ -79,7 +81,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 @@ -146,12 +148,12 @@ 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 -#ifndef QT_NO_TABBAR +#endif // QT_CONFIG(itemviews) +#if QT_CONFIG(tabbar) } else if (classname == QLatin1String("QTabBar")) { iface = new QAccessibleTabBar(widget); #endif @@ -209,11 +211,11 @@ 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 -#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 60f489d487..e28833274e 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -62,11 +62,17 @@ #include <QRubberBand> #endif #include <QTextBrowser> +#if QT_CONFIG(calendarwidget) #include <QCalendarWidget> +#endif +#if QT_CONFIG(itemviews) #include <QAbstractItemView> +#endif +#if QT_CONFIG(dockwidget) #include <QDockWidget> -#include <QMainWindow> #include <private/qdockwidget_p.h> +#endif +#include <QMainWindow> #include <QFocusFrame> #ifndef QT_NO_ACCESSIBILITY @@ -506,7 +512,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,9 +567,9 @@ QWidget *QAccessibleCalendarWidget::navigationBar() const } return 0; } -#endif // QT_NO_CALENDARWIDGET +#endif // QT_CONFIG(calendarwidget) -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) // Dock Widget - order of children: // - Content widget @@ -644,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 4d945a2016..3ff67c0c9b 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,9 +284,9 @@ private: QAbstractItemView *calendarView() const; QWidget *navigationBar() const; }; -#endif // QT_NO_CALENDARWIDGET +#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/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index b638adeaec..97afce1734 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; @@ -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) @@ -3443,13 +3442,16 @@ 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 (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/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<QObject *>()) { if (QObject *driveListener = listener.value<QObject *>()) { 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 diff --git a/src/widgets/dialogs/qfilesystemmodel.cpp b/src/widgets/dialogs/qfilesystemmodel.cpp index 872b8daf22..f88ac71cf3 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<QFileSystemModelPrivate*>(d_func()); 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 <QtGui/qpainter.h> #include <QtWidgets/qstyleoption.h> #include <QtWidgets/qgraphicsview.h> -#include <QtWidgets/qlistview.h> #include <QtWidgets/qlineedit.h> #include <QtWidgets/qtextedit.h> diff --git a/src/widgets/itemviews/itemviews.pri b/src/widgets/itemviews/itemviews.pri index c68aa590bc..e95b640d18 100644 --- a/src/widgets/itemviews/itemviews.pri +++ b/src/widgets/itemviews/itemviews.pri @@ -6,29 +6,22 @@ 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 \ itemviews/qitemdelegate.h \ - itemviews/qdirmodel.h \ itemviews/qwidgetitemdata_p.h \ itemviews/qitemeditorfactory.h \ itemviews/qitemeditorfactory_p.h \ - itemviews/qdatawidgetmapper.h \ itemviews/qstyleditemdelegate.h SOURCES += \ itemviews/qabstractitemview.cpp \ itemviews/qheaderview.cpp \ - itemviews/qlistview.cpp \ itemviews/qbsptree.cpp \ itemviews/qabstractitemdelegate.cpp \ itemviews/qitemdelegate.cpp \ - itemviews/qdirmodel.cpp \ itemviews/qitemeditorfactory.cpp \ - itemviews/qdatawidgetmapper.cpp \ itemviews/qstyleditemdelegate.cpp } @@ -43,6 +36,24 @@ 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 +} + +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/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 <qabstractitemmodel.h> #include <qabstractitemview.h> #include <qfontmetrics.h> @@ -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 <QtCore/qobject.h> #include <QtWidgets/qstyleoption.h> -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 <private/qobject_p.h> -#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 78189c13c3..f7b0ecdf5d 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 <qpointer.h> #include <qapplication.h> #include <qclipboard.h> @@ -4502,5 +4501,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 e2249ec3aa..6a007da348 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; @@ -382,8 +381,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<T> &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/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 <QtWidgets/qtwidgetsglobal.h> #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 - diff --git a/src/widgets/itemviews/qdirmodel.cpp b/src/widgets/itemviews/qdirmodel.cpp index 9b54c5c2fe..449850c42e 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 <qfile.h> #include <qfilesystemmodel.h> #include <qurl.h> @@ -1374,5 +1373,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 <QtCore/qdir.h> #include <QtWidgets/qfileiconprovider.h> -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/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp index 89d0c7f93c..d6db7deee7 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 <qbitarray.h> #include <qbrush.h> #include <qdebug.h> @@ -3961,6 +3960,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 <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/qabstractitemview.h> -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 <QtWidgets/private/qtwidgetsglobal_p.h> #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 86deea75b7..d9caebec8a 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 <qabstractitemmodel.h> #include <qapplication.h> #include <qbrush.h> @@ -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 <QtGui/qpixmap.h> #include <QtCore/qvariant.h> -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 a31689e0b5..54b7c6666f 100644 --- a/src/widgets/itemviews/qitemeditorfactory.cpp +++ b/src/widgets/itemviews/qitemeditorfactory.cpp @@ -41,9 +41,9 @@ #include "qitemeditorfactory.h" #include "qitemeditorfactory_p.h" -#ifndef QT_NO_ITEMVIEWS - +#if QT_CONFIG(combobox) #include <qcombobox.h> +#endif #if QT_CONFIG(datetimeedit) #include <qdatetimeedit.h> #endif @@ -52,6 +52,8 @@ #endif #include <qlineedit.h> #include <qspinbox.h> +#include <qstyle.h> +#include <qstyleoption.h> #include <limits.h> #include <float.h> #include <qapplication.h> @@ -62,7 +64,7 @@ QT_BEGIN_NAMESPACE -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) class QBooleanComboBox : public QComboBox { @@ -75,7 +77,7 @@ public: bool value() const; }; -#endif // QT_NO_COMBOBOX +#endif // QT_CONFIG(combobox) #ifndef QT_NO_SPINBOX @@ -234,7 +236,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 +302,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 +597,7 @@ void QExpandingLineEdit::resizeToContents() #endif // QT_NO_LINEEDIT -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) QBooleanComboBox::QBooleanComboBox(QWidget *parent) : QComboBox(parent) @@ -614,14 +616,12 @@ 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 #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 <QtCore/qhash.h> #include <QtCore/qvariant.h> -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(itemviews); -#ifndef QT_NO_ITEMVIEWS +QT_BEGIN_NAMESPACE class QWidget; @@ -111,8 +110,6 @@ private: QHash<int, QItemEditorCreatorBase *> 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 <QtWidgets/private/qtwidgetsglobal_p.h> #include <qlineedit.h> -#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/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index e234bae4dd..0efee755a2 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 <qabstractitemdelegate.h> #include <qapplication.h> #include <qpainter.h> @@ -2814,11 +2813,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())); @@ -3297,5 +3302,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 <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/qabstractitemview.h> -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 <limits.h> #include <qscrollbar.h> -#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/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 <qabstractitemmodel.h> #include <qapplication.h> #include <qbrush.h> @@ -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 <QtGui/qpixmap.h> #include <QtCore/qvariant.h> -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/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); diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index e46ef55324..eee0908593 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -107,7 +107,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 ceff1a50a3..c15703ca58 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -41,13 +41,17 @@ #include "qcommonstyle_p.h" #include <qfile.h> +#if QT_CONFIG(itemviews) #include <qabstractitemview.h> +#endif #include <qapplication.h> #include <private/qguiapplication_p.h> #include <qpa/qplatformtheme.h> #include <qbitmap.h> #include <qcache.h> +#if QT_CONFIG(dockwidget) #include <qdockwidget.h> +#endif #include <qdrawutil.h> #if QT_CONFIG(dialogbuttonbox) #include <qdialogbuttonbox.h> @@ -65,8 +69,12 @@ #include <qpainterpath.h> #include <qslider.h> #include <qstyleoption.h> +#if QT_CONFIG(tabbar) #include <qtabbar.h> +#endif +#if QT_CONFIG(tabwidget) #include <qtabwidget.h> +#endif #include <qtoolbar.h> #include <qtoolbutton.h> #if QT_CONFIG(rubberband) @@ -91,7 +99,7 @@ #include <limits.h> -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) # include "private/qtextengine_p.h" #endif @@ -362,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<const QStyleOptionTabBarBase *>(opt)) { @@ -425,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); @@ -450,7 +458,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<const QStyleOptionFrame *>(opt)) { int lw = frame->lineWidth; @@ -460,7 +468,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(); @@ -569,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<const QStyleOptionTab *>(opt)) { bool rtl = tab->direction == Qt::RightToLeft; @@ -603,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<const QStyleOptionFrame *>(opt)) { @@ -675,7 +683,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<const QStyleOptionViewItem *>(opt)) { QPalette::ColorGroup cg = (widget ? widget->isEnabled() : (vopt->state & QStyle::State_Enabled)) @@ -713,7 +721,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 +832,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,10 +1103,10 @@ void QCommonStylePrivate::viewItemLayout(const QStyleOptionViewItem *opt, QRect *textRect = display; } } -#endif // QT_NO_ITEMVIEWS +#endif // QT_CONFIG(itemviews) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \internal Compute the textRect and the pixmapRect from the opt rect @@ -1165,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 */ @@ -1712,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<const QStyleOptionTab *>(opt)) { proxy()->drawControl(CE_TabBarTabShape, tab, p, widget); @@ -1932,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(); @@ -2036,7 +2044,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<const QStyleOptionDockWidget *>(opt)) { QRect r = dwOpt->rect.adjusted(0, 0, -1, -1); @@ -2068,7 +2076,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<const QStyleOptionHeader *>(opt)) { QRegion clipRegion = p->clipRegion(); @@ -2096,7 +2104,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<const QStyleOptionComboBox *>(opt)) { QRect editRect = proxy()->subControlRect(CC_ComboBox, cb, SC_ComboBoxEditField, widget); @@ -2128,7 +2136,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<const QStyleOptionToolBar *>(opt)) { @@ -2168,7 +2176,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<const QStyleOptionViewItem *>(opt)) { p->save(); @@ -2248,7 +2256,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<const QStyleOptionFrame *>(opt)) { @@ -2505,7 +2513,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<const QStyleOptionComboBox *>(opt)) { int margin = cb->frame ? 3 : 0; @@ -2514,7 +2522,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; @@ -2564,7 +2572,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<const QStyleOptionTabWidgetFrame *>(opt)) { @@ -2806,8 +2814,8 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, } break; -#endif // QT_NO_TABWIDGET -#ifndef QT_NO_TABBAR +#endif // QT_CONFIG(tabwidget) +#if QT_CONFIG(tabbar) case SE_TabBarTearIndicator: if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(opt)) { switch (tab->shape) { @@ -2919,7 +2927,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: @@ -3020,7 +3028,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<const QStyleOptionViewItem *>(opt)) { r = subElementRect(SE_CheckBoxIndicator, opt, widget); @@ -3047,7 +3055,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<const QStyleOptionToolBar *>(opt)) { @@ -3439,7 +3447,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<const QDockWidget *>(widget) #endif ) @@ -3892,7 +3900,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<const QStyleOptionComboBox *>(opt)) { QRect r; @@ -3907,7 +3915,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<const QStyleOptionGroupBox *>(opt)) { @@ -4140,7 +4148,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<const QStyleOptionComboBox *>(opt)) { int x = cb->rect.x(), @@ -4172,7 +4180,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<const QStyleOptionTitleBar *>(opt)) { const int controlMargin = 2; @@ -4412,7 +4420,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid if (const QStyleOptionTitleBar *tb = qstyleoption_cast<const QStyleOptionTitleBar *>(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<const QDockWidget*>(widget)) { ret = qMax(widget->fontMetrics().height(), int(QStyleHelper::dpiScaled(13))); #endif @@ -4524,7 +4532,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; @@ -4538,7 +4546,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: @@ -4575,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; @@ -4839,7 +4847,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<const QStyleOptionComboBox *>(opt)) { int fw = cmb->frame ? proxy()->pixelMetric(PM_ComboBoxFrameWidth, opt, widget) * 2 : 0; @@ -4849,7 +4857,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<const QStyleOptionHeader *>(opt)) { bool nullIcon = hdr->icon.isNull(); @@ -4897,7 +4905,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<const QStyleOptionViewItem *>(opt)) { QRect decorationRect, displayRect, checkRect; @@ -4909,7 +4917,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<const QStyleOptionSpinBox *>(opt)) { @@ -5177,7 +5185,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; @@ -5219,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 ebfc06139c..93db75ac2d 100644 --- a/src/widgets/styles/qcommonstyle_p.h +++ b/src/widgets/styles/qcommonstyle_p.h @@ -68,7 +68,7 @@ class Q_WIDGETS_EXPORT 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; @@ -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/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index 1e584f47b8..c1b240a381 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 <qcombobox.h> +#endif #if QT_CONFIG(pushbutton) #include <qpushbutton.h> #endif diff --git a/src/widgets/styles/qpixmapstyle.cpp b/src/widgets/styles/qpixmapstyle.cpp index 88482d28c9..63308a5e36 100644 --- a/src/widgets/styles/qpixmapstyle.cpp +++ b/src/widgets/styles/qpixmapstyle.cpp @@ -52,10 +52,16 @@ #include <QProgressBar> #include <QSlider> #include <QEvent> +#if QT_CONFIG(combobox) #include <QComboBox> +#endif +#if QT_CONFIG(itemviews) #include <QAbstractItemView> -#include <QListView> #include <QStyledItemDelegate> +#endif +#if QT_CONFIG(listview) +#include <QListView> +#endif #include <QAbstractScrollArea> #include <QScrollBar> diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp index 51fecd0d13..a346ee18c4 100644 --- a/src/widgets/styles/qstyleoption.cpp +++ b/src/widgets/styles/qstyleoption.cpp @@ -1227,7 +1227,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 @@ -1475,7 +1475,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 @@ -2996,7 +2996,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 @@ -3263,7 +3263,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<T>(const QStyleOption *option) \relates QStyleOption @@ -3286,7 +3286,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 @@ -3430,9 +3430,9 @@ QStyleOptionTabWidgetFrame::QStyleOptionTabWidgetFrame(int version) and the height set to 0. */ -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \class QStyleOptionTabBarBase @@ -3552,7 +3552,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 a3ed35c762..af97479ef0 100644 --- a/src/widgets/styles/qstyleoption.h +++ b/src/widgets/styles/qstyleoption.h @@ -47,13 +47,17 @@ #include <QtGui/qmatrix.h> #include <QtWidgets/qslider.h> #include <QtWidgets/qstyle.h> +#if QT_CONFIG(tabbar) #include <QtWidgets/qtabbar.h> +#endif +#if QT_CONFIG(tabwidget) #include <QtWidgets/qtabwidget.h> +#endif #if QT_CONFIG(rubberband) #include <QtWidgets/qrubberband.h> #endif #include <QtWidgets/qframe.h> -#ifndef QT_NO_ITEMVIEWS +#if QT_CONFIG(itemviews) # include <QtCore/qabstractitemmodel.h> #endif @@ -143,7 +147,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,10 +172,10 @@ protected: }; typedef Q_DECL_DEPRECATED QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2; -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) class Q_WIDGETS_EXPORT QStyleOptionTabBarBase : public QStyleOption { public: @@ -191,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 { @@ -245,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: @@ -284,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 @@ -388,7 +392,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 +447,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 4fe697a32f..b42876d72e 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -51,7 +51,9 @@ #include <qstyleoption.h> #include <qlineedit.h> #include <private/qwindowsstyle_p.h> +#if QT_CONFIG(combobox) #include <qcombobox.h> +#endif #include "private/qcssparser_p.h" #include "private/qmath_p.h" #include <qabstractscrollarea.h> @@ -69,13 +71,19 @@ #include <qcheckbox.h> #endif #include <qstatusbar.h> +#if QT_CONFIG(itemviews) #include <qheaderview.h> +#endif #include <private/qwindowsstyle_p_p.h> #include <private/qstyleanimation_p.h> +#if QT_CONFIG(tabbar) #include <qtabbar.h> +#endif #include <QMetaProperty> #include <qmainwindow.h> +#if QT_CONFIG(dockwidget) #include <qdockwidget.h> +#endif #include <qmdisubwindow.h> #if QT_CONFIG(dialog) #include <qdialog.h> @@ -1641,7 +1649,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<const QComboBox *>(w)) return base->pixelMetric(QStyle::PM_ComboBoxFrameWidth, 0, w); #endif @@ -1719,7 +1727,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 @@ -1885,7 +1893,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<const QStyleOptionTabWidgetFrame *>(opt)) { switch (tab->shape) { case QTabBar::RoundedNorth: @@ -1908,7 +1916,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<const QStyleOptionTab *>(opt)) { if (tab->position == QStyleOptionTab::OnlyOneTab) extraClass |= PseudoClass_OnlyOne; @@ -1944,7 +1952,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<const QStyleOptionButton *>(opt)) { if (btn->features & QStyleOptionButton::Flat) extraClass |= PseudoClass_Flat; @@ -1994,7 +2002,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<const QStyleOptionDockWidget *>(opt)) { if (dw->verticalTitleBar) extraClass |= PseudoClass_Vertical; @@ -2007,8 +2015,8 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption if (dw->movable) extraClass |= PseudoClass_Movable; } -#endif // QT_NO_DOCKWIDGET -#ifndef QT_NO_ITEMVIEWS +#endif // QT_CONFIG(dockwidget) +#if QT_CONFIG(itemviews) else if (const QStyleOptionViewItem *vopt = qstyleoption_cast<const QStyleOptionViewItem *>(opt)) { if (vopt->features & QStyleOptionViewItem::Alternate) extraClass |= PseudoClass_Alternate; @@ -2340,7 +2348,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<QComboBox *>(w)) { if (cmb->isEditable()) return cmb->lineEdit(); @@ -2374,7 +2382,7 @@ static QWidget *containerWidget(const QWidget *w) #ifndef QT_NO_LINEEDIT if (qobject_cast<const QLineEdit *>(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<const QComboBox *>(w->parentWidget())) return w->parentWidget(); #endif @@ -2413,7 +2421,7 @@ static bool unstylable(const QWidget *w) // detect QComboBoxPrivateContainer else if (qobject_cast<const QFrame *>(w)) { if (0 -#ifndef QT_NO_COMBOBOX +#if QT_CONFIG(combobox) || qobject_cast<const QComboBox *>(w->parentWidget()) #endif ) @@ -2421,7 +2429,7 @@ static bool unstylable(const QWidget *w) } #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (w->metaObject() == &QWidget::staticMetaObject && qobject_cast<const QTabBar*>(w->parentWidget())) return true; // The moving tab of a QTabBar @@ -2438,7 +2446,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<const QComboBox *>(w)) { if (combo->isEditable()) pc |= (combo->isEditable() ? PseudoClass_Editable : PseudoClass_ReadOnly); @@ -2805,10 +2813,10 @@ 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<QHeaderView *>(w) #endif -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) || qobject_cast<QTabBar *>(w) #endif #ifndef QT_NO_FRAME @@ -2912,7 +2920,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 @@ -2920,7 +2928,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 @@ -3771,7 +3779,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; @@ -3807,7 +3815,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) @@ -4069,7 +4077,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<const QStyleOptionViewItem *>(opt)) { QRenderRule subRule = renderRule(w, opt, PseudoElement_ViewItem); @@ -4086,9 +4094,9 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q return; } break; -#endif // QT_NO_ITEMVIEWS +#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); @@ -4123,7 +4131,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()) { @@ -4477,7 +4485,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<const QStyleOptionTabWidgetFrame *>(opt)) { QRenderRule subRule = renderRule(w, opt, PseudoElement_TabWidgetPane); @@ -4492,7 +4500,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; @@ -4530,7 +4538,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 @@ -4790,7 +4798,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); @@ -4823,7 +4831,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 @@ -5051,7 +5059,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()) { @@ -5075,7 +5083,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<const QStyleOptionComplex *>(opt)) { @@ -5107,7 +5115,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 +5124,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; @@ -5275,16 +5283,16 @@ 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<const QTabWidget *>(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 +#if QT_CONFIG(tabbar) case SH_TabBar_CloseButtonPosition: rule = renderRule(w, opt, PseudoElement_TabBarTabCloseButton); if (rule.hasPosition()) { @@ -5299,7 +5307,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<const QComboBox *>(w)) { QAbstractItemView *view = w->findChild<QAbstractItemView *>(); if (view) { @@ -5309,7 +5317,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; @@ -5692,7 +5700,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 @@ -5758,7 +5766,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<const QStyleOptionViewItem *>(opt)) { return subElementRect(SE_CheckBoxIndicator, opt, w); @@ -5787,7 +5795,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); @@ -5820,7 +5828,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 @@ -5887,7 +5895,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 f805e29db1..63f7cd43ef 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" @@ -65,7 +67,9 @@ #if QT_CONFIG(wizard) #include "qwizard.h" #endif +#if QT_CONFIG(listview) #include "qlistview.h" +#endif #include <private/qmath_p.h> #include <qmath.h> #include <QtGui/qscreen.h> @@ -332,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: @@ -548,7 +552,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<const QListView*>(widget)) ret = 1; #endif @@ -715,7 +719,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()){ @@ -725,7 +729,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); @@ -1020,7 +1024,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: @@ -1028,7 +1032,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); @@ -1281,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<const QStyleOptionTab *>(opt)) { bool rtlHorTabs = (tab->direction == Qt::RightToLeft @@ -1484,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, @@ -1617,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: @@ -1782,7 +1787,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<const QStyleOptionDockWidget *>(opt)) { @@ -1856,8 +1861,8 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai p->restore(); } return; -#endif // QT_NO_DOCKWIDGET -#ifndef QT_NO_COMBOBOX +#endif // QT_CONFIG(dockwidget) +#if QT_CONFIG(combobox) case CE_ComboBoxLabel: if (const QStyleOptionComboBox *cb = qstyleoption_cast<const QStyleOptionComboBox *>(opt)) { if (cb->state & State_HasFocus) { @@ -1870,7 +1875,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); } @@ -2148,7 +2153,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<const QStyleOptionComboBox *>(opt)) { QBrush editBrush = cmb->palette.brush(QPalette::Base); @@ -2221,7 +2226,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<const QStyleOptionSpinBox *>(opt)) { diff --git a/src/widgets/util/qcompleter.cpp b/src/widgets/util/qcompleter.cpp index 96f91188b8..3a1821240e 100644 --- a/src/widgets/util/qcompleter.cpp +++ b/src/widgets/util/qcompleter.cpp @@ -147,12 +147,16 @@ #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 #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" @@ -463,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<QDirModel *>(source) != 0); #else const bool isDirModel = false; @@ -833,11 +837,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) @@ -884,7 +888,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<QDirModel *>(proxy->sourceModel()) && QFileInfo(completion).isDir()) @@ -1072,7 +1076,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<QDirModel *>(model)) { #if defined(Q_OS_WIN) setCaseSensitivity(Qt::CaseInsensitive); @@ -1080,7 +1084,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<QFileSystemModel *>(model); if (fsModel) { @@ -1231,7 +1235,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<QListView *>(popup)) { listView->setModelColumn(d->column); } @@ -1255,7 +1259,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); @@ -1266,7 +1270,7 @@ QAbstractItemView *QCompleter::popup() const QCompleter *that = const_cast<QCompleter*>(this); that->setPopup(listView); } -#endif // QT_NO_LISTVIEW +#endif // QT_CONFIG(listview) return d->popup; } @@ -1597,7 +1601,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<QListView *>(d->popup)) listView->setModelColumn(column); #endif @@ -1786,7 +1790,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<QDirModel *>(d->proxy->sourceModel()) != 0; #endif #if QT_CONFIG(filesystemmodel) @@ -1835,12 +1839,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<QDirModel *>(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<QFileSystemModel *>(d->proxy->sourceModel()) != 0; 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<QAbstractItemView *>(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 <QDebug> 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 <qabstractitemmodel.h> #include <qitemdelegate.h> #include <qdatetime.h> @@ -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 <QtWidgets/qwidget.h> #include <QtCore/qdatetime.h> -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/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 1259c236e4..58a1ff9e7f 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 <qstylepainter.h> #include <qpa/qplatformtheme.h> #include <qpa/qplatformmenu.h> @@ -3508,5 +3507,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 <QtCore/qabstractitemmodel.h> #include <QtCore/qvariant.h> -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 8d3b46a950..6bee9409ee 100644 --- a/src/widgets/widgets/qcombobox_p.h +++ b/src/widgets/widgets/qcombobox_p.h @@ -54,7 +54,6 @@ #include <QtWidgets/private/qtwidgetsglobal_p.h> #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 <limits.h> +QT_REQUIRE_CONFIG(combobox); + QT_BEGIN_NAMESPACE class QAction; @@ -424,6 +425,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 <QtWidgets/private/qtwidgetsglobal_p.h> -#include "QtWidgets/qcombobox.h" #include "QtWidgets/qcalendarwidget.h" #include "QtWidgets/qspinbox.h" #include "QtWidgets/qtoolbutton.h" diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp index 60f6f6d26d..5edcbcf4ec 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" @@ -56,8 +58,6 @@ #include <qpainter.h> #include <qstyleoption.h> -#ifndef QT_NO_DOCKWIDGET - QT_BEGIN_NAMESPACE // qmainwindow.cpp @@ -214,7 +214,7 @@ QDockAreaLayoutItem ** QDockAreaLayoutInfo */ -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) static quintptr tabId(const QDockAreaLayoutItem &item) { if (item.widgetItem == 0) @@ -227,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 { @@ -237,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<QTabBar::Shape>(tbshape)) #endif { -#ifdef QT_NO_TABBAR +#if !QT_CONFIG(tabbar) Q_UNUSED(tbshape); #endif } @@ -255,7 +255,7 @@ void QDockAreaLayoutInfo::clear() { item_list.clear(); rect = QRect(); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) tabbed = false; tabBar = 0; #endif @@ -289,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 @@ -308,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) { @@ -330,7 +330,7 @@ QSize QDockAreaLayoutInfo::minimumSize() const break; } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) return result; } @@ -341,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 @@ -357,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 @@ -381,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) { @@ -397,7 +397,7 @@ QSize QDockAreaLayoutInfo::maximumSize() const break; } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) return result; } @@ -422,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 @@ -447,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) { @@ -469,7 +469,7 @@ QSize QDockAreaLayoutInfo::sizeHint() const break; } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) return result; } @@ -545,7 +545,7 @@ static int realMaxSize(const QDockAreaLayoutInfo &info) void QDockAreaLayoutInfo::fitItems() { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { return; } @@ -759,7 +759,7 @@ QList<int> 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 @@ -779,7 +779,7 @@ QList<int> QDockAreaLayoutInfo::gapIndex(const QPoint& _pos, continue; if (item.subinfo != 0 -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) && !item.subinfo->tabbed #endif ) { @@ -941,7 +941,7 @@ static int separatorMoveHelper(QVector<QLayoutStruct> &list, int index, int delt int QDockAreaLayoutInfo::separatorMove(int index, int delta) { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) Q_ASSERT(!tabbed); #endif @@ -1065,7 +1065,7 @@ QLayoutItem *QDockAreaLayoutInfo::unplug(const QList<int> &path) Q_ASSERT(!(item.flags & QDockAreaLayoutItem::GapItem)); item.flags |= QDockAreaLayoutItem::GapItem; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { } else #endif @@ -1081,7 +1081,7 @@ QLayoutItem *QDockAreaLayoutInfo::unplug(const QList<int> &path) return item.widgetItem; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) quintptr QDockAreaLayoutInfo::currentTabId() const { @@ -1113,7 +1113,7 @@ void QDockAreaLayoutInfo::setCurrentTabId(quintptr id) } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) static QRect dockedGeometry(QWidget *widget) { @@ -1146,7 +1146,7 @@ bool QDockAreaLayoutInfo::insertGap(const QList<int> &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 ) { @@ -1159,7 +1159,7 @@ bool QDockAreaLayoutInfo::insertGap(const QList<int> &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 @@ -1177,7 +1177,7 @@ bool QDockAreaLayoutInfo::insertGap(const QList<int> &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; } @@ -1192,7 +1192,7 @@ bool QDockAreaLayoutInfo::insertGap(const QList<int> &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 { @@ -1267,7 +1267,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 @@ -1308,7 +1308,7 @@ QRect QDockAreaLayoutInfo::itemRect(int index, bool isGap) const QRect result; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { if (isGap || tabId(item) == currentTabId()) result = tabContentRect(); @@ -1357,7 +1357,7 @@ QRect QDockAreaLayoutInfo::itemRect(const QList<int> &path) const QRect QDockAreaLayoutInfo::separatorRect(int index) const { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) return QRect(); #endif @@ -1389,7 +1389,7 @@ QRect QDockAreaLayoutInfo::separatorRect(const QList<int> &path) const QList<int> QDockAreaLayoutInfo::findSeparator(const QPoint &_pos) const { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) return QList<int>(); #endif @@ -1500,7 +1500,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(); @@ -1533,7 +1533,7 @@ QDockWidget *QDockAreaLayoutInfo::apply(bool animate) widgetAnimator.animate(tabBar, tab_rect, animate); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) QDockWidget *activated = nullptr; @@ -1569,10 +1569,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; } @@ -1599,7 +1599,7 @@ QRegion QDockAreaLayoutInfo::separatorRegion() const if (isEmpty()) return result; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) return result; #endif @@ -1629,7 +1629,7 @@ void QDockAreaLayoutInfo::paintSeparators(QPainter *p, QWidget *widget, { if (isEmpty()) return; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) return; #endif @@ -1678,7 +1678,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 @@ -1697,7 +1697,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, @@ -1706,7 +1706,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 @@ -1787,7 +1787,7 @@ void QDockAreaLayoutInfo::deleteAllLayoutItems() void QDockAreaLayoutInfo::saveState(QDataStream &stream) const { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (tabbed) { stream << (uchar) TabMarker; @@ -1802,7 +1802,7 @@ void QDockAreaLayoutInfo::saveState(QDataStream &stream) const } stream << index; } else -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) { stream << (uchar) SequenceMarker; } @@ -1876,7 +1876,7 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList<QDockWidget*> if (marker != TabMarker && marker != SequenceMarker) return false; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) tabbed = marker == TabMarker; int index = -1; @@ -1981,7 +1981,7 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList<QDockWidget*> } } 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, @@ -2002,7 +2002,7 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList<QDockWidget*> } } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) if (!testing && tabbed && index >= 0 && index < item_list.count()) { updateTabBar(); setCurrentTabId(tabId(item_list.at(index))); @@ -2014,7 +2014,7 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList<QDockWidget*> return true; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void QDockAreaLayoutInfo::updateSeparatorWidgets() const { if (tabbed) { @@ -2065,9 +2065,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 @@ -2293,7 +2291,7 @@ void QDockAreaLayoutInfo::moveTab(int from, int to) { item_list.move(tabIndexToListIndex(from), tabIndexToListIndex(to)); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) /****************************************************************************** ** QDockAreaLayout @@ -2303,7 +2301,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; @@ -2423,7 +2421,7 @@ QList<int> QDockAreaLayout::gapIndex(const QPoint &pos, bool disallowTabs) 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 (!disallowTabs) { if (opts & QMainWindow::AllowTabbedDocks || opts & QMainWindow::VerticalTabs) tabMode = QDockAreaLayoutInfo::AllowTabs; @@ -3115,14 +3113,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; @@ -3223,10 +3221,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, @@ -3317,7 +3315,7 @@ int QDockAreaLayoutInfo::separatorMove(const QList<int> &separator, const QPoint 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 @@ -3351,7 +3349,7 @@ void QDockAreaLayout::updateSeparatorWidgets() const separatorWidgets.resize(j); } -#endif //QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) QLayoutItem *QDockAreaLayout::itemAt(int *x, int index) const { @@ -3394,7 +3392,7 @@ void QDockAreaLayout::deleteAllLayoutItems() docks[i].deleteAllLayoutItems(); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QSet<QTabBar*> QDockAreaLayout::usedTabBars() const { QSet<QTabBar*> result; @@ -3450,5 +3448,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 e4cdc9f296..49bd157179 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 @@ -197,12 +197,10 @@ public: QRect rect; QMainWindow *mainWindow; QList<QDockAreaLayoutItem> item_list; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) void updateSeparatorWidgets() const; QSet<QWidget*> usedSeparatorWidgets() const; -#endif //QT_NO_TABBAR -#ifndef QT_NO_TABBAR quintptr currentTabId() const; void setCurrentTab(QWidget *widget); void setCurrentTabId(quintptr id); @@ -221,7 +219,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 @@ -286,9 +284,9 @@ public: const QPoint &mouse) const; QRegion separatorRegion() const; int separatorMove(const QList<int> &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); @@ -302,15 +300,13 @@ public: QRect gapRect(const QList<int> &path) const; void keepSize(QDockWidget *w); -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QSet<QTabBar*> usedTabBars() const; QSet<QWidget*> usedSeparatorWidgets() const; -#endif //QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) void styleChangedEvent(); }; 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 15f79638c8..36d7ab3421 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 <qaction.h> #include <qapplication.h> #include <qdesktopwidget.h> @@ -1392,14 +1391,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; @@ -1689,5 +1688,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 <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/qwidget.h> -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/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index f859ec0ddb..f57fa4fd85 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/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp index 889082cb2a..694a36ed5b 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 <qapplication.h> @@ -348,7 +350,7 @@ void QMainWindowPrivate::init() \sa setToolButtonStyle() */ -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) /*! \fn void QMainWindow::tabifiedDockWidgetActivated(QDockWidget *dockWidget) @@ -660,7 +662,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. @@ -766,12 +768,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 } @@ -870,7 +872,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 @@ -984,7 +986,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. @@ -1003,9 +1005,9 @@ void QMainWindow::setDocumentMode(bool enabled) { d_func()->layout->setDocumentMode(enabled); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) /*! \property QMainWindow::tabShape \brief the tab shape used for tabbed dock widgets. @@ -1057,7 +1059,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. @@ -1160,7 +1162,7 @@ void QMainWindow::tabifyDockWidget(QDockWidget *first, QDockWidget *second) QList<QDockWidget*> QMainWindow::tabifiedDockWidgets(QDockWidget *dockwidget) const { QList<QDockWidget*> ret; -#if defined(QT_NO_TABBAR) +#if !QT_CONFIG(tabbar) Q_UNUSED(dockwidget); #else const QDockAreaLayoutInfo *info = d_func()->layout->layoutState.dockAreaLayout.info(dockwidget); @@ -1232,7 +1234,7 @@ void QMainWindow::resizeDocks(const QList<QDockWidget *> &docks, } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) /*! Saves the current state of this mainwindow's toolbars and @@ -1323,7 +1325,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) @@ -1388,7 +1390,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 @@ -1415,7 +1417,7 @@ void QMainWindow::contextMenuEvent(QContextMenuEvent *event) break; } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (QDockWidget *dw = qobject_cast<QDockWidget *>(child)) { if (dw->parentWidget() != this) return; @@ -1426,7 +1428,7 @@ void QMainWindow::contextMenuEvent(QContextMenuEvent *event) } break; } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #ifndef QT_NO_TOOLBAR if (QToolBar *tb = qobject_cast<QToolBar *>(child)) { if (tb->parentWidget() != this) @@ -1474,7 +1476,7 @@ QMenu *QMainWindow::createPopupMenu() { Q_D(QMainWindow); QMenu *menu = 0; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) QList<QDockWidget *> dockwidgets = findChildren<QDockWidget *>(); if (dockwidgets.size()) { menu = new QMenu(this); @@ -1497,7 +1499,7 @@ QMenu *QMainWindow::createPopupMenu() } menu->addSeparator(); } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) #ifndef QT_NO_TOOLBAR QList<QToolBar *> toolbars = findChildren<QToolBar *>(); if (toolbars.size()) { diff --git a/src/widgets/widgets/qmainwindow.h b/src/widgets/widgets/qmainwindow.h index bab1176d8a..aa26d4c23b 100644 --- a/src/widgets/widgets/qmainwindow.h +++ b/src/widgets/widgets/qmainwindow.h @@ -42,7 +42,9 @@ #include <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/qwidget.h> +#if QT_CONFIG(tabwidget) #include <QtWidgets/qtabwidget.h> +#endif QT_BEGIN_NAMESPACE @@ -62,16 +64,16 @@ 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 +#if QT_CONFIG(tabbar) Q_PROPERTY(bool documentMode READ documentMode WRITE setDocumentMode) -#endif // QT_NO_TABBAR -#ifndef QT_NO_TABWIDGET +#endif // QT_CONFIG(tabbar) +#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 +#endif // QT_CONFIG(dockwidget) Q_PROPERTY(DockOptions dockOptions READ dockOptions WRITE setDockOptions) #ifndef QT_NO_TOOLBAR Q_PROPERTY(bool unifiedTitleAndToolBarOnMac READ unifiedTitleAndToolBarOnMac WRITE setUnifiedTitleAndToolBarOnMac) @@ -99,22 +101,22 @@ 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 -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) bool documentMode() const; 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; @@ -139,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 @@ -160,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); @@ -175,7 +177,7 @@ public: void resizeDocks(const QList<QDockWidget *> &docks, const QList<int> &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); @@ -185,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 @@ -196,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 e48ce301fb..2c1c2ab75c 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" @@ -52,7 +54,9 @@ #if QT_CONFIG(rubberband) #include "qrubberband.h" #endif +#if QT_CONFIG(tabbar) #include "qtabbar_p.h" +#endif #include <qapplication.h> #include <qstatusbar.h> @@ -81,7 +85,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); @@ -170,7 +174,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 @@ -182,7 +186,7 @@ QDebug operator<<(QDebug debug, const QMainWindowLayout *layout) // If there is only one QDockWidgets, or all QDockWidgets are tabbed together, it is equivalent // of a floating QDockWidget (the title of the QDockWidget is the title of the window). But if there // are nested QDockWidget, an additional title bar is there. -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) class QDockWidgetGroupLayout : public QLayout, public QMainWindowLayoutSeparatorHelper<QDockWidgetGroupLayout> { @@ -590,7 +594,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) @@ -605,7 +609,7 @@ QSize QMainWindowLayoutState::sizeHint() const QSize result(0, 0); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) result = dockAreaLayout.sizeHint(); #else if (centralWidgetItem != 0) @@ -623,7 +627,7 @@ QSize QMainWindowLayoutState::minimumSize() const { QSize result(0, 0); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) result = dockAreaLayout.minimumSize(); #else if (centralWidgetItem != 0) @@ -643,7 +647,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 @@ -665,7 +669,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 @@ -679,14 +683,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 @@ -702,7 +706,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 @@ -720,7 +724,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 @@ -748,7 +752,7 @@ QList<int> QMainWindowLayoutState::indexOf(QWidget *widget) const } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) // is it a dock widget? if (qobject_cast<QDockWidget *>(widget) || qobject_cast<QDockWidgetGroupWindow *>(widget)) { result = dockAreaLayout.indexOf(widget); @@ -756,14 +760,14 @@ QList<int> 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()) @@ -789,7 +793,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; @@ -800,7 +804,7 @@ QWidget *QMainWindowLayoutState::centralWidget() const { QLayoutItem *item = 0; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) item = dockAreaLayout.centralWidgetItem; #else item = centralWidgetItem; @@ -826,7 +830,7 @@ QList<int> QMainWindowLayoutState::gapIndex(QWidget *widget, } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) // is it a dock widget? if (qobject_cast<QDockWidget *>(widget) != 0 || qobject_cast<QDockWidgetGroupWindow *>(widget)) { @@ -842,7 +846,7 @@ QList<int> QMainWindowLayoutState::gapIndex(QWidget *widget, result.prepend(1); return result; } -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return result; } @@ -861,12 +865,12 @@ bool QMainWindowLayoutState::insertGap(const QList<int> &path, QLayoutItem *item } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (i == 1) { Q_ASSERT(qobject_cast<QDockWidget*>(item->widget()) || qobject_cast<QDockWidgetGroupWindow*>(item->widget())); return dockAreaLayout.insertGap(path.mid(1), item); } -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return false; } @@ -880,10 +884,10 @@ void QMainWindowLayoutState::remove(const QList<int> &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) @@ -892,14 +896,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<QDockWidget *>(item->widget())) { QList<int> path = dockAreaLayout.indexOf(dockWidget); if (!path.isEmpty()) dockAreaLayout.remove(path); } -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) } void QMainWindowLayoutState::clear() @@ -908,7 +912,7 @@ void QMainWindowLayoutState::clear() toolBarAreaLayout.clear(); #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) dockAreaLayout.clear(); #else centralWidgetRect = QRect(); @@ -934,10 +938,10 @@ QLayoutItem *QMainWindowLayoutState::item(const QList<int> &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; } @@ -951,10 +955,10 @@ QRect QMainWindowLayoutState::itemRect(const QList<int> &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(); } @@ -968,10 +972,10 @@ QRect QMainWindowLayoutState::gapRect(const QList<int> &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(); } @@ -985,10 +989,10 @@ QLayoutItem *QMainWindowLayoutState::plug(const QList<int> &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; } @@ -1004,19 +1008,19 @@ QLayoutItem *QMainWindowLayoutState::unplug(const QList<int> &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 +#if QT_CONFIG(tabbar) QList<QDockWidgetGroupWindow *> floatingTabs = mainWindow->findChildren<QDockWidgetGroupWindow *>(QString(), Qt::FindDirectChildrenOnly); @@ -1048,7 +1052,7 @@ static QList<T> findChildrenHelper(const QObject *o) return result; } -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) static QList<QDockWidget*> allMyDockWidgets(const QWidget *mainWindow) { QList<QDockWidget*> result; @@ -1065,7 +1069,7 @@ static QList<QDockWidget*> 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) @@ -1087,7 +1091,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); @@ -1096,7 +1100,7 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) } } break; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) case QDockAreaLayout::FloatingDockWidgetTabMarker: { QRect geom; @@ -1107,8 +1111,8 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) return false; } break; -#endif // QT_NO_TABBAR -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(tabbar) +#endif // QT_CONFIG(dockwidget) default: //there was an error during the parsing return false; @@ -1143,7 +1147,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); @@ -1192,7 +1196,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: @@ -1410,7 +1414,7 @@ void QMainWindowLayout::toggleToolBarsVisible() ** QMainWindowLayoutState - dock areas */ -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) static QInternal::DockPosition toDockPos(Qt::DockWidgetArea area) { @@ -1494,7 +1498,7 @@ bool QMainWindowLayout::restoreDockWidget(QDockWidget *dockwidget) return true; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) bool QMainWindowLayout::documentMode() const { return _documentMode; @@ -1513,11 +1517,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) @@ -1526,10 +1530,10 @@ void QMainWindowLayout::setVerticalTabsEnabled(bool enabled) verticalTabsEnabled = enabled; updateTabBarShapes(); -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) } -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) QTabWidget::TabShape QMainWindowLayout::tabShape() const { return _tabShape; @@ -1585,12 +1589,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 +#if QT_CONFIG(tabbar) void QMainWindowLayout::updateTabBarShapes() { -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) const QTabWidget::TabPosition vertical[] = { QTabWidget::West, QTabWidget::East, @@ -1609,7 +1613,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 @@ -1618,7 +1622,7 @@ void QMainWindowLayout::updateTabBarShapes() layout.docks[i].setTabBarShape(shape); } } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) void QMainWindowLayout::splitDockWidget(QDockWidget *after, QDockWidget *dockwidget, @@ -1643,7 +1647,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 @@ -1828,11 +1832,11 @@ void QMainWindowLayout::tabMoved(int from, int to) info->moveTab(from, to); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) void QMainWindowLayout::raise(QDockWidget *widget) { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) QDockAreaLayoutInfo *info = dockInfo(widget); if (info == 0) return; @@ -1842,7 +1846,7 @@ void QMainWindowLayout::raise(QDockWidget *widget) #endif } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) /****************************************************************************** @@ -1964,7 +1968,7 @@ void QMainWindowLayout::invalidate() minSize = szHint = QSize(); } -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) void QMainWindowLayout::setCurrentHoveredFloat(QDockWidgetGroupWindow *w) { if (currentHoveredFloat != w) { @@ -1987,7 +1991,7 @@ void QMainWindowLayout::setCurrentHoveredFloat(QDockWidgetGroupWindow *w) updateGapIndicator(); } } -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) /****************************************************************************** ** QMainWindowLayout - remaining stuff @@ -2080,7 +2084,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<QDockWidgetGroupWindow*>(QString(), Qt::FindDirectChildrenOnly)) { @@ -2102,7 +2106,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<QDockWidget*>(widget) != 0) { QDockWidgetLayout *layout = qobject_cast<QDockWidgetLayout*>(widget->layout()); if (layout->nativeWindowDeco()) { @@ -2136,7 +2140,7 @@ void QMainWindowLayout::animationFinished(QWidget *widget) if (widget == pluggingWidget) { -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) #if QT_CONFIG(tabbar) if (QDockWidgetGroupWindow *dwgw = qobject_cast<QDockWidgetGroupWindow *>(widget)) { // When the animated widget was a QDockWidgetGroupWindow, it means each of the @@ -2208,8 +2212,8 @@ 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 -#ifndef QT_NO_TABBAR +#if QT_CONFIG(dockwidget) +#if QT_CONFIG(tabbar) if (qobject_cast<QDockWidget*>(widget) != 0) { // info() might return null if the widget is destroyed while // animating but before the animationFinished signal is received. @@ -2222,13 +2226,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 +#if QT_CONFIG(tabbar) foreach (QTabBar *tab_bar, usedTabBars) tab_bar->show(); -#endif // QT_NO_TABBAR -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(tabbar) +#endif // QT_CONFIG(dockwidget) } updateGapIndicator(); @@ -2254,31 +2258,31 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLay , savedState(mainwindow) , dockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks) , statusbar(0) -#ifndef QT_NO_DOCKWIDGET -#ifndef QT_NO_TABBAR +#if QT_CONFIG(dockwidget) +#if QT_CONFIG(tabbar) , _documentMode(false) , verticalTabsEnabled(false) -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) , _tabShape(QTabWidget::Rounded) #endif #endif -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) , widgetAnimator(this) , pluggingWidget(0) { if (parentLayout) setParent(parentLayout); -#ifndef QT_NO_DOCKWIDGET -#ifndef QT_NO_TABBAR +#if QT_CONFIG(dockwidget) +#if QT_CONFIG(tabbar) 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 -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) pluggingWidget = 0; setObjectName(mainwindow->objectName() + QLatin1String("_layout")); @@ -2299,7 +2303,7 @@ void QMainWindowLayout::setDockOptions(QMainWindow::DockOptions opts) dockOptions = opts; -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) setVerticalTabsEnabled(opts & QMainWindow::VerticalTabs); #endif @@ -2331,7 +2335,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 @@ -2383,7 +2387,7 @@ static bool unplugGroup(QMainWindowLayout *layout, QLayoutItem **item, */ QLayoutItem *QMainWindowLayout::unplug(QWidget *widget, bool group) { -#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_TABBAR) +#if QT_CONFIG(dockwidget) && QT_CONFIG(tabbar) auto *groupWindow = qobject_cast<const QDockWidgetGroupWindow *>(widget->parentWidget()); if (!widget->isWindow() && groupWindow) { if (group && groupWindow->tabLayoutInfo()) { @@ -2423,7 +2427,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<QDockWidget*>(widget)) { Q_ASSERT(path.constFirst() == 1); #if QT_CONFIG(tabwidget) @@ -2438,7 +2442,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<QToolBar*>(widget)) { tb->d_func()->unplug(r); @@ -2503,7 +2507,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<QDockWidget*>(widget) || qobject_cast<QDockWidgetGroupWindow *>(widget))) { @@ -2565,7 +2569,7 @@ void QMainWindowLayout::hover(QLayoutItem *widgetItem, const QPoint &mousePos) } setCurrentHoveredFloat(nullptr); layoutState.dockAreaLayout.fallbackToSizeHints = false; -#endif //QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) QPoint pos = parentWidget()->mapFromGlobal(mousePos); @@ -2577,7 +2581,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<QDockWidget*>(widget)) allowed = dw->isAreaAllowed(toDockWidgetArea(path.at(1))); @@ -2624,7 +2628,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 = std::move(newState); @@ -2703,15 +2707,15 @@ bool QMainWindowLayout::restoreState(QDataStream &stream) savedState.deleteAllLayoutItems(); savedState.clear(); -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) if (parentWidget()->isVisible()) { -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) foreach (QTabBar *tab_bar, usedTabBars) tab_bar->show(); #endif } -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) return true; } diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h index 6b75ef1caf..948d6edeef 100644 --- a/src/widgets/widgets/qmainwindowlayout_p.h +++ b/src/widgets/widgets/qmainwindowlayout_p.h @@ -57,16 +57,20 @@ #ifndef QT_NO_MAINWINDOW #include "QtWidgets/qlayout.h" +#if QT_CONFIG(tabbar) #include "QtWidgets/qtabbar.h" #include "QtGui/qpainter.h" #include "QtGui/qevent.h" +#endif #include "QtCore/qvector.h" #include "QtCore/qset.h" #include "QtCore/qbasictimer.h" #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 @@ -319,7 +323,7 @@ bool QMainWindowLayoutSeparatorHelper<Layout>::endSeparatorMove(const QPoint &) } #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) class QDockWidgetGroupWindow : public QWidget { Q_OBJECT @@ -381,7 +385,7 @@ public: QToolBarAreaLayout toolBarAreaLayout; #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) QDockAreaLayout dockAreaLayout; #else QLayoutItem *centralWidgetItem; @@ -471,7 +475,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, @@ -486,7 +490,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; @@ -502,7 +506,7 @@ public: QList<QWidget*> unusedSeparatorWidgets; int sep; // separator extent -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) QTabWidget::TabPosition tabPositions[4]; QTabWidget::TabShape _tabShape; @@ -512,12 +516,12 @@ public: void setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition); QDockWidgetGroupWindow *createTabbedDockWindow(); -#endif // QT_NO_TABWIDGET -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabwidget) +#endif // QT_CONFIG(tabbar) QDockAreaLayout *dockAreaLayoutInfo() { return &layoutState.dockAreaLayout; } void keepSize(QDockWidget *w); -#endif // QT_NO_DOCKWIDGET +#endif // QT_CONFIG(dockwidget) // save/restore @@ -550,7 +554,7 @@ public: #if QT_CONFIG(rubberband) QPointer<QRubberBand> gapIndicator; #endif -#ifndef QT_NO_DOCKWIDGET +#if QT_CONFIG(dockwidget) QPointer<QDockWidgetGroupWindow> currentHoveredFloat; // set when dragging over a floating dock widget void setCurrentHoveredFloat(QDockWidgetGroupWindow *w); #endif @@ -566,19 +570,19 @@ public: private Q_SLOTS: void updateGapIndicator(); -#ifndef QT_NO_DOCKWIDGET -#ifndef QT_NO_TABBAR +#if QT_CONFIG(dockwidget) +#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 !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/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp index 83b5068bba..31d9ae21ae 100644 --- a/src/widgets/widgets/qmdiarea.cpp +++ b/src/widgets/widgets/qmdiarea.cpp @@ -254,7 +254,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); @@ -268,7 +268,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) { @@ -561,7 +561,7 @@ QPoint MinOverlapPlacer::place(const QSize &size, const QVector<QRect> &rects, return findBestPlacement(domain, rects, candidates); } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) class QMdiAreaTabBar : public QTabBar { public: @@ -659,7 +659,7 @@ QMdiSubWindow *QMdiAreaTabBar::subWindowFromIndex(int index) const return subWindow; } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) /*! \internal @@ -672,17 +672,17 @@ 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), #endif -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) tabShape(QTabWidget::Rounded), tabPosition(QTabWidget::North), #endif @@ -777,7 +777,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) @@ -796,28 +796,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) } /*! @@ -855,7 +855,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(); @@ -1079,7 +1079,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 @@ -1122,7 +1122,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); @@ -1560,14 +1560,14 @@ 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); tabBar->setDocumentMode(documentMode); tabBar->setTabsClosable(tabsClosable); tabBar->setMovable(tabsMovable); -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) tabBar->setShape(tabBarShapeFrom(tabShape, tabPosition)); #endif @@ -1601,12 +1601,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); @@ -1621,7 +1621,7 @@ void QMdiAreaPrivate::setViewMode(QMdiArea::ViewMode mode) inViewModeChange = false; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) /*! \internal */ @@ -1631,7 +1631,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(); @@ -1645,7 +1645,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); @@ -1672,7 +1672,7 @@ void QMdiAreaPrivate::updateTabBarGeometry() default: break; } -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) tabBar->setGeometry(QStyle::visualRect(q->layoutDirection(), q->contentsRect(), tabBarRect)); } @@ -1688,12 +1688,12 @@ 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(); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) /*! Constructs an empty mdi area. \a parent is passed to QWidget's @@ -2138,7 +2138,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. @@ -2213,9 +2213,9 @@ void QMdiArea::setTabsMovable(bool movable) d->tabsMovable = movable; d->refreshTabBar(); } -#endif // QT_NO_TABBAR +#endif // QT_CONFIG(tabbar) -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) /*! \property QMdiArea::tabShape \brief the shape of the tabs in tabbed view mode. @@ -2267,7 +2267,7 @@ void QMdiArea::setTabPosition(QTabWidget::TabPosition position) d->tabPosition = position; d->refreshTabBar(); } -#endif // QT_NO_TABWIDGET +#endif // QT_CONFIG(tabwidget) /*! \reimp @@ -2294,7 +2294,7 @@ void QMdiArea::resizeEvent(QResizeEvent *resizeEvent) return; } -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) d->updateTabBarGeometry(); #endif @@ -2532,7 +2532,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; @@ -2629,13 +2629,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; @@ -2646,7 +2646,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) @@ -2656,7 +2656,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 44a40948af..acc59296b6 100644 --- a/src/widgets/widgets/qmdiarea.h +++ b/src/widgets/widgets/qmdiarea.h @@ -42,7 +42,9 @@ #include <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/qabstractscrollarea.h> +#if QT_CONFIG(tabwidget) #include <QtWidgets/qtabwidget.h> +#endif QT_BEGIN_NAMESPACE @@ -58,12 +60,12 @@ 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) #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 @@ -111,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); @@ -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..10b5de6840 100644 --- a/src/widgets/widgets/qmdiarea_p.h +++ b/src/widgets/widgets/qmdiarea_p.h @@ -158,12 +158,12 @@ public: QMdiArea::WindowOrder activationOrder; QMdiArea::AreaOptions options; QMdiArea::ViewMode viewMode; -#ifndef QT_NO_TABBAR +#if QT_CONFIG(tabbar) bool documentMode; bool tabsClosable; bool tabsMovable; #endif -#ifndef QT_NO_TABWIDGET +#if QT_CONFIG(tabwidget) QTabWidget::TabShape tabShape; QTabWidget::TabPosition tabPosition; #endif @@ -213,7 +213,7 @@ public: QList<QMdiSubWindow *> 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/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..adaafc7d21 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" @@ -47,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" @@ -63,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 <private/qt_mac_p.h> #include <private/qt_cocoa_helpers_mac_p.h> @@ -205,7 +207,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<const QTabWidget *>(q->parentWidget())) { option->features |= QStyleOptionTab::HasFrame; if (tw->cornerWidget(Qt::TopLeftCorner) || tw->cornerWidget(Qt::BottomLeftCorner)) @@ -2690,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 <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/qwidget.h> -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 7141ffc8d5..195ff79c5d 100644 --- a/src/widgets/widgets/qtabbar_p.h +++ b/src/widgets/widgets/qtabbar_p.h @@ -60,12 +60,12 @@ #include <qdebug.h> #include <qvariantanimation.h> -#ifndef QT_NO_TABBAR - #define ANIMATION_DURATION 250 #include <qstyleoption.h> +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/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 <QtWidgets/qwidget.h> #include <QtGui/qicon.h> -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/qtoolbar.cpp b/src/widgets/widgets/qtoolbar.cpp index aaa64c8b2f..476f9d4cfa 100644 --- a/src/widgets/widgets/qtoolbar.cpp +++ b/src/widgets/widgets/qtoolbar.cpp @@ -42,7 +42,9 @@ #ifndef QT_NO_TOOLBAR #include <qapplication.h> +#if QT_CONFIG(combobox) #include <qcombobox.h> +#endif #include <qevent.h> #include <qlayout.h> #include <qmainwindow.h> 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<QMainWindow*>(tb->parentWidget())) { -#ifdef QT_NO_DOCKWIDGET +#if !QT_CONFIG(dockwidget) animating = false; #else animating = !tb->isWindow() && win->isAnimated(); diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 97df3427b0..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 <private/qguiapplication_p.h> #include <qpa/qplatformtheme.h> @@ -548,10 +550,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) { diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 610932c6ce..aed3f53478 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -5,13 +5,7 @@ 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 \ - widgets/qdockwidget.h \ - widgets/qdockwidget_p.h \ - widgets/qdockarealayout_p.h \ widgets/qframe.h \ widgets/qframe_p.h \ widgets/qgroupbox.h \ @@ -40,9 +34,6 @@ HEADERS += \ widgets/qsplitter_p.h \ widgets/qstackedwidget.h \ widgets/qstatusbar.h \ - widgets/qtabbar.h \ - widgets/qtabbar_p.h \ - widgets/qtabwidget.h \ widgets/qtextedit.h \ widgets/qtextedit_p.h \ widgets/qtextbrowser.h \ @@ -67,11 +58,7 @@ HEADERS += \ SOURCES += \ widgets/qbuttongroup.cpp \ widgets/qabstractspinbox.cpp \ - widgets/qcalendarwidget.cpp \ - widgets/qcombobox.cpp \ widgets/qdial.cpp \ - widgets/qdockwidget.cpp \ - widgets/qdockarealayout.cpp \ widgets/qeffects.cpp \ widgets/qframe.cpp \ widgets/qgroupbox.cpp \ @@ -92,8 +79,6 @@ SOURCES += \ widgets/qsplitter.cpp \ widgets/qstackedwidget.cpp \ widgets/qstatusbar.cpp \ - widgets/qtabbar.cpp \ - widgets/qtabwidget.cpp \ widgets/qtextedit.cpp \ widgets/qtextbrowser.cpp \ widgets/qtoolbar.cpp \ @@ -129,6 +114,11 @@ qtConfig(abstractslider) { widgets/qabstractslider.cpp } +qtConfig(calendarwidget) { + HEADERS += widgets/qcalendarwidget.h + SOURCES += widgets/qcalendarwidget.cpp +} + qtConfig(checkbox) { HEADERS += \ widgets/qcheckbox.h @@ -137,6 +127,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 @@ -154,6 +152,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 @@ -214,6 +223,19 @@ 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 +} + qtConfig(widgettextcontrol) { HEADERS += \ widgets/qwidgettextcontrol_p.h \ |