diff options
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qdockarealayout.cpp | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qmainwindow.cpp | 18 | ||||
-rw-r--r-- | src/widgets/widgets/qmainwindow.h | 6 | ||||
-rw-r--r-- | src/widgets/widgets/qmainwindowlayout.cpp | 77 | ||||
-rw-r--r-- | src/widgets/widgets/qmainwindowlayout_p.h | 6 | ||||
-rw-r--r-- | src/widgets/widgets/qmenu_p.h | 27 | ||||
-rw-r--r-- | src/widgets/widgets/qmenubar.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qpushbutton.cpp | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbar.cpp | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbar.h | 7 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbar_p.h | 6 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbararealayout.cpp | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbararealayout_p.h | 35 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbarlayout.cpp | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbarlayout_p.h | 6 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbarseparator.cpp | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbarseparator_p.h | 6 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbutton.cpp | 12 | ||||
-rw-r--r-- | src/widgets/widgets/qwidgettextcontrol.cpp | 7 | ||||
-rw-r--r-- | src/widgets/widgets/widgets.pri | 28 |
20 files changed, 133 insertions, 131 deletions
diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp index 9c216738c0..3026a5b7d6 100644 --- a/src/widgets/widgets/qdockarealayout.cpp +++ b/src/widgets/widgets/qdockarealayout.cpp @@ -53,6 +53,7 @@ #include "qmainwindow.h" #include "qwidgetanimator_p.h" #include "qmainwindowlayout_p.h" +#include "qmenu_p.h" #include "qdockwidget_p.h" #include <private/qlayoutengine_p.h> diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp index bf0a88e7fb..2014bdabf3 100644 --- a/src/widgets/widgets/qmainwindow.cpp +++ b/src/widgets/widgets/qmainwindow.cpp @@ -45,7 +45,9 @@ #if QT_CONFIG(dockwidget) #include "qdockwidget.h" #endif +#if QT_CONFIG(toolbar) #include "qtoolbar.h" +#endif #include <qapplication.h> #include <qmenu.h> @@ -61,7 +63,9 @@ #include <qpainter.h> #include <private/qwidget_p.h> +#if QT_CONFIG(toolbar) #include "qtoolbar_p.h" +#endif #include "qwidgetanimator_p.h" #ifdef Q_OS_OSX #include <qpa/qplatformnativeinterface.h> @@ -706,7 +710,7 @@ Qt::DockWidgetArea QMainWindow::corner(Qt::Corner corner) const { return d_func()->layout->corner(corner); } #endif -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) static bool checkToolBarArea(Qt::ToolBarArea area, const char *where) { @@ -874,7 +878,7 @@ bool QMainWindow::toolBarBreak(QToolBar *toolbar) const return d_func()->layout->toolBarBreak(toolbar); } -#endif // QT_NO_TOOLBAR +#endif // QT_CONFIG(toolbar) #if QT_CONFIG(dockwidget) @@ -1312,7 +1316,7 @@ bool QMainWindow::event(QEvent *event) return true; switch (event->type()) { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) case QEvent::ToolBarChange: { d->layout->toggleToolBarsVisible(); return true; @@ -1344,7 +1348,7 @@ bool QMainWindow::event(QEvent *event) return QWidget::event(event); } -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) /*! \property QMainWindow::unifiedTitleAndToolBarOnMac @@ -1389,7 +1393,7 @@ bool QMainWindow::unifiedTitleAndToolBarOnMac() const return false; } -#endif // QT_NO_TOOLBAR +#endif // QT_CONFIG(toolbar) /*! \internal @@ -1435,7 +1439,7 @@ void QMainWindow::contextMenuEvent(QContextMenuEvent *event) break; } #endif // QT_CONFIG(dockwidget) -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (QToolBar *tb = qobject_cast<QToolBar *>(child)) { if (tb->parentWidget() != this) return; @@ -1506,7 +1510,7 @@ QMenu *QMainWindow::createPopupMenu() menu->addSeparator(); } #endif // QT_CONFIG(dockwidget) -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) QList<QToolBar *> toolbars = findChildren<QToolBar *>(); if (toolbars.size()) { if (!menu) diff --git a/src/widgets/widgets/qmainwindow.h b/src/widgets/widgets/qmainwindow.h index 069683d4ac..8f2a192446 100644 --- a/src/widgets/widgets/qmainwindow.h +++ b/src/widgets/widgets/qmainwindow.h @@ -74,7 +74,7 @@ class Q_WIDGETS_EXPORT QMainWindow : public QWidget Q_PROPERTY(bool dockNestingEnabled READ isDockNestingEnabled WRITE setDockNestingEnabled) #endif // QT_CONFIG(dockwidget) Q_PROPERTY(DockOptions dockOptions READ dockOptions WRITE setDockOptions) -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) Q_PROPERTY(bool unifiedTitleAndToolBarOnMac READ unifiedTitleAndToolBarOnMac WRITE setUnifiedTitleAndToolBarOnMac) #endif @@ -145,7 +145,7 @@ public: Qt::DockWidgetArea corner(Qt::Corner corner) const; #endif -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) void addToolBarBreak(Qt::ToolBarArea area = Qt::TopToolBarArea); void insertToolBarBreak(QToolBar *before); @@ -190,7 +190,7 @@ public Q_SLOTS: void setAnimated(bool enabled); void setDockNestingEnabled(bool enabled); #endif -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) void setUnifiedTitleAndToolBarOnMac(bool set); #endif diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index 0082ce291e..053bfbf024 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -45,10 +45,12 @@ #include "qdockwidget.h" #include "qdockwidget_p.h" #endif +#if QT_CONFIG(toolbar) #include "qtoolbar_p.h" -#include "qmainwindow.h" #include "qtoolbar.h" #include "qtoolbarlayout_p.h" +#endif +#include "qmainwindow.h" #include "qwidgetanimator_p.h" #if QT_CONFIG(rubberband) #include "qrubberband.h" @@ -75,6 +77,7 @@ # include <qtextstream.h> #endif +#include <private/qmenu_p.h> #include <private/qapplication_p.h> #include <private/qlayoutengine_p.h> #include <private/qwidgetresizehandler_p.h> @@ -606,7 +609,7 @@ void QDockWidgetGroupWindow::apply() QMainWindowLayoutState::QMainWindowLayoutState(QMainWindow *win) : -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) toolBarAreaLayout(win), #endif #if QT_CONFIG(dockwidget) @@ -631,9 +634,9 @@ QSize QMainWindowLayoutState::sizeHint() const result = centralWidgetItem->sizeHint(); #endif -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) result = toolBarAreaLayout.sizeHint(result); -#endif // QT_NO_TOOLBAR +#endif // QT_CONFIG(toolbar) return result; } @@ -649,16 +652,16 @@ QSize QMainWindowLayoutState::minimumSize() const result = centralWidgetItem->minimumSize(); #endif -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) result = toolBarAreaLayout.minimumSize(result); -#endif // QT_NO_TOOLBAR +#endif // QT_CONFIG(toolbar) return result; } void QMainWindowLayoutState::apply(bool animated) { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) toolBarAreaLayout.apply(animated); #endif @@ -677,12 +680,12 @@ void QMainWindowLayoutState::apply(bool animated) void QMainWindowLayoutState::fitLayout() { QRect r; -#ifdef QT_NO_TOOLBAR +#if !QT_CONFIG(toolbar) r = rect; #else toolBarAreaLayout.rect = rect; r = toolBarAreaLayout.fitLayout(); -#endif // QT_NO_TOOLBAR +#endif // QT_CONFIG(toolbar) #if QT_CONFIG(dockwidget) dockAreaLayout.rect = r; @@ -694,7 +697,7 @@ void QMainWindowLayoutState::fitLayout() void QMainWindowLayoutState::deleteAllLayoutItems() { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) toolBarAreaLayout.deleteAllLayoutItems(); #endif @@ -716,7 +719,7 @@ void QMainWindowLayoutState::deleteCentralWidgetItem() QLayoutItem *QMainWindowLayoutState::itemAt(int index, int *x) const { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (QLayoutItem *ret = toolBarAreaLayout.itemAt(x, index)) return ret; #endif @@ -734,7 +737,7 @@ QLayoutItem *QMainWindowLayoutState::itemAt(int index, int *x) const QLayoutItem *QMainWindowLayoutState::takeAt(int index, int *x) { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (QLayoutItem *ret = toolBarAreaLayout.takeAt(x, index)) return ret; #endif @@ -757,7 +760,7 @@ QList<int> QMainWindowLayoutState::indexOf(QWidget *widget) const { QList<int> result; -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) // is it a toolbar? if (QToolBar *toolBar = qobject_cast<QToolBar*>(widget)) { result = toolBarAreaLayout.indexOf(toolBar); @@ -792,7 +795,7 @@ bool QMainWindowLayoutState::contains(QWidget *widget) const return true; #endif -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (!toolBarAreaLayout.indexOf(widget).isEmpty()) return true; #endif @@ -835,7 +838,7 @@ QList<int> QMainWindowLayoutState::gapIndex(QWidget *widget, { QList<int> result; -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) // is it a toolbar? if (qobject_cast<QToolBar*>(widget) != 0) { result = toolBarAreaLayout.gapIndex(pos); @@ -873,7 +876,7 @@ bool QMainWindowLayoutState::insertGap(const QList<int> &path, QLayoutItem *item int i = path.first(); -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (i == 0) { Q_ASSERT(qobject_cast<QToolBar*>(item->widget()) != 0); return toolBarAreaLayout.insertGap(path.mid(1), item); @@ -894,7 +897,7 @@ void QMainWindowLayoutState::remove(const QList<int> &path) { int i = path.first(); -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (i == 0) toolBarAreaLayout.remove(path.mid(1)); #endif @@ -907,7 +910,7 @@ void QMainWindowLayoutState::remove(const QList<int> &path) void QMainWindowLayoutState::remove(QLayoutItem *item) { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) toolBarAreaLayout.remove(item); #endif @@ -923,7 +926,7 @@ void QMainWindowLayoutState::remove(QLayoutItem *item) void QMainWindowLayoutState::clear() { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) toolBarAreaLayout.clear(); #endif @@ -945,7 +948,7 @@ QLayoutItem *QMainWindowLayoutState::item(const QList<int> &path) { int i = path.first(); -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (i == 0) { const QToolBarAreaLayoutItem *tbItem = toolBarAreaLayout.item(path.mid(1)); Q_ASSERT(tbItem); @@ -965,7 +968,7 @@ QRect QMainWindowLayoutState::itemRect(const QList<int> &path) const { int i = path.first(); -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (i == 0) return toolBarAreaLayout.itemRect(path.mid(1)); #endif @@ -982,7 +985,7 @@ QRect QMainWindowLayoutState::gapRect(const QList<int> &path) const { int i = path.first(); -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (i == 0) return toolBarAreaLayout.itemRect(path.mid(1)); #endif @@ -999,7 +1002,7 @@ QLayoutItem *QMainWindowLayoutState::plug(const QList<int> &path) { int i = path.first(); -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (i == 0) return toolBarAreaLayout.plug(path.mid(1)); #endif @@ -1016,7 +1019,7 @@ QLayoutItem *QMainWindowLayoutState::unplug(const QList<int> &path, QMainWindowL { int i = path.first(); -#ifdef QT_NO_TOOLBAR +#if !QT_CONFIG(toolbar) Q_UNUSED(other); #else if (i == 0) @@ -1047,7 +1050,7 @@ void QMainWindowLayoutState::saveState(QDataStream &stream) const } #endif #endif -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) toolBarAreaLayout.saveState(stream); #endif } @@ -1094,7 +1097,7 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) stream >> marker; switch(marker) { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) case QToolBarAreaLayout::ToolBarStateMarker: case QToolBarAreaLayout::ToolBarStateMarkerEx: { @@ -1104,7 +1107,7 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) } } break; -#endif // QT_NO_TOOLBAR +#endif // QT_CONFIG(toolbar) #if QT_CONFIG(dockwidget) case QDockAreaLayout::DockWidgetStateMarker: @@ -1213,7 +1216,7 @@ bool QMainWindowLayoutState::restoreState(QDataStream &_stream, #endif // QT_CONFIG(tabwidget) #endif // QT_CONFIG(dockwidget) -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) case QToolBarAreaLayout::ToolBarStateMarker: case QToolBarAreaLayout::ToolBarStateMarkerEx: { @@ -1234,7 +1237,7 @@ bool QMainWindowLayoutState::restoreState(QDataStream &_stream, } } break; -#endif //QT_NO_TOOLBAR +#endif // QT_CONFIG(toolbar) default: return false; }// switch @@ -1248,7 +1251,7 @@ bool QMainWindowLayoutState::restoreState(QDataStream &_stream, ** QMainWindowLayoutState - toolbars */ -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) static inline void validateToolBarArea(Qt::ToolBarArea &area) { @@ -1423,7 +1426,7 @@ void QMainWindowLayout::toggleToolBarsVisible() } } -#endif // QT_NO_TOOLBAR +#endif // QT_CONFIG(toolbar) /****************************************************************************** ** QMainWindowLayoutState - dock areas @@ -1907,7 +1910,7 @@ QLayoutItem *QMainWindowLayout::takeAt(int index) layoutState.remove(ret); } -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (!currentGapPos.isEmpty() && currentGapPos.constFirst() == 0) { currentGapPos = layoutState.toolBarAreaLayout.currentGapIndex(); if (!currentGapPos.isEmpty()) { @@ -2019,7 +2022,7 @@ void QMainWindowLayout::setCurrentHoveredFloat(QDockWidgetGroupWindow *w) static void fixToolBarOrientation(QLayoutItem *item, int dockPos) { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) QToolBar *toolBar = qobject_cast<QToolBar*>(item->widget()); if (toolBar == 0) return; @@ -2148,7 +2151,7 @@ void QMainWindowLayout::animationFinished(QWidget *widget) { //this function is called from within the Widget Animator whenever an animation is finished //on a certain widget -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (QToolBar *tb = qobject_cast<QToolBar*>(widget)) { QToolBarLayout *tbl = qobject_cast<QToolBarLayout*>(tb->layout()); if (tbl->animating) { @@ -2219,7 +2222,7 @@ void QMainWindowLayout::animationFinished(QWidget *widget) dw->d_func()->plug(currentGapRect); } #endif -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (QToolBar *tb = qobject_cast<QToolBar*>(widget)) tb->d_func()->plug(currentGapRect); #endif @@ -2466,7 +2469,7 @@ QLayoutItem *QMainWindowLayout::unplug(QWidget *widget, bool group) } } #endif // QT_CONFIG(dockwidget) -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (QToolBar *tb = qobject_cast<QToolBar*>(widget)) { tb->d_func()->unplug(r); } @@ -2614,7 +2617,7 @@ void QMainWindowLayout::hover(QLayoutItem *widgetItem, const QPoint &mousePos) if (qobject_cast<QDockWidgetGroupWindow *>(widget)) allowed = true; #endif -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (QToolBar *tb = qobject_cast<QToolBar*>(widget)) allowed = tb->isAreaAllowed(toToolBarArea(path.at(1))); #endif diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h index 53e045aaae..aa446cf05b 100644 --- a/src/widgets/widgets/qmainwindowlayout_p.h +++ b/src/widgets/widgets/qmainwindowlayout_p.h @@ -69,7 +69,9 @@ #if QT_CONFIG(dockwidget) #include "qdockarealayout_p.h" #endif +#if QT_CONFIG(toolbar) #include "qtoolbararealayout_p.h" +#endif QT_REQUIRE_CONFIG(mainwindow); @@ -385,7 +387,7 @@ public: QMainWindowLayoutState(QMainWindow *win); -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) QToolBarAreaLayout toolBarAreaLayout; #endif @@ -462,7 +464,7 @@ public: // toolbars -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) void addToolBarBreak(Qt::ToolBarArea area); void insertToolBarBreak(QToolBar *before); void removeToolBarBreak(QToolBar *before); diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h index b6afb05e3a..721a35bf90 100644 --- a/src/widgets/widgets/qmenu_p.h +++ b/src/widgets/widgets/qmenu_p.h @@ -68,6 +68,33 @@ QT_REQUIRE_CONFIG(menu); QT_BEGIN_NAMESPACE +static inline int pick(Qt::Orientation o, const QPoint &pos) +{ return o == Qt::Horizontal ? pos.x() : pos.y(); } + +static inline int pick(Qt::Orientation o, const QSize &size) +{ return o == Qt::Horizontal ? size.width() : size.height(); } + +static inline int &rpick(Qt::Orientation o, QPoint &pos) +{ return o == Qt::Horizontal ? pos.rx() : pos.ry(); } + +static inline int &rpick(Qt::Orientation o, QSize &size) +{ return o == Qt::Horizontal ? size.rwidth() : size.rheight(); } + +static inline QSizePolicy::Policy pick(Qt::Orientation o, const QSizePolicy &policy) +{ return o == Qt::Horizontal ? policy.horizontalPolicy() : policy.verticalPolicy(); } + +static inline int perp(Qt::Orientation o, const QPoint &pos) +{ return o == Qt::Vertical ? pos.x() : pos.y(); } + +static inline int perp(Qt::Orientation o, const QSize &size) +{ return o == Qt::Vertical ? size.width() : size.height(); } + +static inline int &rperp(Qt::Orientation o, QPoint &pos) +{ return o == Qt::Vertical ? pos.rx() : pos.ry(); } + +static inline int &rperp(Qt::Orientation o, QSize &size) +{ return o == Qt::Vertical ? size.rwidth() : size.rheight(); } + class QTornOffMenu; class QEventLoop; diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index b0a75288e8..4758f64c8c 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -52,7 +52,9 @@ #if QT_CONFIG(mainwindow) #include <qmainwindow.h> #endif +#if QT_CONFIG(toolbar) #include <qtoolbar.h> +#endif #if QT_CONFIG(toolbutton) #include <qtoolbutton.h> #endif diff --git a/src/widgets/widgets/qpushbutton.cpp b/src/widgets/widgets/qpushbutton.cpp index afb17f533b..8f7271c2dc 100644 --- a/src/widgets/widgets/qpushbutton.cpp +++ b/src/widgets/widgets/qpushbutton.cpp @@ -53,7 +53,9 @@ #include "qpushbutton.h" #include "qstyle.h" #include "qstyleoption.h" +#if QT_CONFIG(toolbar) #include "qtoolbar.h" +#endif #include "qdebug.h" #include "qlayoutitem.h" #if QT_CONFIG(dialogbuttonbox) @@ -596,7 +598,7 @@ QPoint QPushButtonPrivate::adjustedMenuPosition() Q_Q(QPushButton); bool horizontal = true; -#if !defined(QT_NO_TOOLBAR) +#if QT_CONFIG(toolbar) QToolBar *tb = qobject_cast<QToolBar*>(parent); if (tb && tb->orientation() == Qt::Vertical) horizontal = false; diff --git a/src/widgets/widgets/qtoolbar.cpp b/src/widgets/widgets/qtoolbar.cpp index 7b6a2a329f..4e90bce69d 100644 --- a/src/widgets/widgets/qtoolbar.cpp +++ b/src/widgets/widgets/qtoolbar.cpp @@ -39,8 +39,6 @@ #include "qtoolbar.h" -#ifndef QT_NO_TOOLBAR - #include <qapplication.h> #if QT_CONFIG(combobox) #include <qcombobox.h> @@ -1288,5 +1286,3 @@ void QToolBar::initStyleOption(QStyleOptionToolBar *option) const QT_END_NAMESPACE #include "moc_qtoolbar.cpp" - -#endif // QT_NO_TOOLBAR diff --git a/src/widgets/widgets/qtoolbar.h b/src/widgets/widgets/qtoolbar.h index 0253541a2e..4ae83190d1 100644 --- a/src/widgets/widgets/qtoolbar.h +++ b/src/widgets/widgets/qtoolbar.h @@ -44,10 +44,9 @@ #include <QtWidgets/qaction.h> #include <QtWidgets/qwidget.h> -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(toolbar); -#ifndef QT_NO_TOOLBAR +QT_BEGIN_NAMESPACE class QToolBarPrivate; @@ -211,8 +210,6 @@ private: inline QAction *QToolBar::actionAt(int ax, int ay) const { return actionAt(QPoint(ax, ay)); } -#endif // QT_NO_TOOLBAR - QT_END_NAMESPACE #endif // QDYNAMICTOOLBAR_H diff --git a/src/widgets/widgets/qtoolbar_p.h b/src/widgets/widgets/qtoolbar_p.h index 616f53f717..4db75762c8 100644 --- a/src/widgets/widgets/qtoolbar_p.h +++ b/src/widgets/widgets/qtoolbar_p.h @@ -57,9 +57,9 @@ #include "private/qwidget_p.h" #include <QtCore/qbasictimer.h> -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(toolbar); -#ifndef QT_NO_TOOLBAR +QT_BEGIN_NAMESPACE class QToolBarLayout; class QTimer; @@ -127,8 +127,6 @@ public: QBasicTimer waitForPopupTimer; }; -#endif // QT_NO_TOOLBAR - QT_END_NAMESPACE #endif // QDYNAMICTOOLBAR_P_H diff --git a/src/widgets/widgets/qtoolbararealayout.cpp b/src/widgets/widgets/qtoolbararealayout.cpp index 0c57d9251d..edf497111b 100644 --- a/src/widgets/widgets/qtoolbararealayout.cpp +++ b/src/widgets/widgets/qtoolbararealayout.cpp @@ -53,8 +53,6 @@ ** QToolBarAreaLayoutItem */ -#ifndef QT_NO_TOOLBAR - QT_BEGIN_NAMESPACE // qmainwindow.cpp @@ -1391,5 +1389,3 @@ bool QToolBarAreaLayout::isEmpty() const } QT_END_NAMESPACE - -#endif // QT_NO_TOOLBAR diff --git a/src/widgets/widgets/qtoolbararealayout_p.h b/src/widgets/widgets/qtoolbararealayout_p.h index 901f04cf14..dffbab1f21 100644 --- a/src/widgets/widgets/qtoolbararealayout_p.h +++ b/src/widgets/widgets/qtoolbararealayout_p.h @@ -52,40 +52,14 @@ // #include <QtWidgets/private/qtwidgetsglobal_p.h> +#include "qmenu_p.h" #include <QList> #include <QSize> #include <QRect> -QT_BEGIN_NAMESPACE - -static inline int pick(Qt::Orientation o, const QPoint &pos) -{ return o == Qt::Horizontal ? pos.x() : pos.y(); } - -static inline int pick(Qt::Orientation o, const QSize &size) -{ return o == Qt::Horizontal ? size.width() : size.height(); } - -static inline int &rpick(Qt::Orientation o, QPoint &pos) -{ return o == Qt::Horizontal ? pos.rx() : pos.ry(); } - -static inline int &rpick(Qt::Orientation o, QSize &size) -{ return o == Qt::Horizontal ? size.rwidth() : size.rheight(); } - -static inline QSizePolicy::Policy pick(Qt::Orientation o, const QSizePolicy &policy) -{ return o == Qt::Horizontal ? policy.horizontalPolicy() : policy.verticalPolicy(); } - -static inline int perp(Qt::Orientation o, const QPoint &pos) -{ return o == Qt::Vertical ? pos.x() : pos.y(); } +QT_REQUIRE_CONFIG(toolbar); -static inline int perp(Qt::Orientation o, const QSize &size) -{ return o == Qt::Vertical ? size.width() : size.height(); } - -static inline int &rperp(Qt::Orientation o, QPoint &pos) -{ return o == Qt::Vertical ? pos.rx() : pos.ry(); } - -static inline int &rperp(Qt::Orientation o, QSize &size) -{ return o == Qt::Vertical ? size.rwidth() : size.rheight(); } - -#ifndef QT_NO_TOOLBAR +QT_BEGIN_NAMESPACE class QToolBar; class QLayoutItem; @@ -244,7 +218,6 @@ public: bool isEmpty() const; }; - QT_END_NAMESPACE -#endif // QT_NO_TOOLBAR + #endif // QTOOLBARAREALAYOUT_P_H diff --git a/src/widgets/widgets/qtoolbarlayout.cpp b/src/widgets/widgets/qtoolbarlayout.cpp index 118cb2ae61..f2d329d59d 100644 --- a/src/widgets/widgets/qtoolbarlayout.cpp +++ b/src/widgets/widgets/qtoolbarlayout.cpp @@ -59,8 +59,6 @@ #include "qtoolbarlayout_p.h" #include "qtoolbarseparator_p.h" -#ifndef QT_NO_TOOLBAR - QT_BEGIN_NAMESPACE // qmainwindow.cpp @@ -753,5 +751,3 @@ QToolBarItem *QToolBarLayout::createItem(QAction *action) QT_END_NAMESPACE #include "moc_qtoolbarlayout_p.cpp" - -#endif // QT_NO_TOOLBAR diff --git a/src/widgets/widgets/qtoolbarlayout_p.h b/src/widgets/widgets/qtoolbarlayout_p.h index 8c60164439..b813cd5e2c 100644 --- a/src/widgets/widgets/qtoolbarlayout_p.h +++ b/src/widgets/widgets/qtoolbarlayout_p.h @@ -56,9 +56,9 @@ #include <private/qlayoutengine_p.h> #include <QVector> -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(toolbar); -#ifndef QT_NO_TOOLBAR +QT_BEGIN_NAMESPACE class QAction; class QToolBarExtension; @@ -127,8 +127,6 @@ private: QMenu *popupMenu; }; -#endif // QT_NO_TOOLBAR - QT_END_NAMESPACE #endif // QTOOLBARLAYOUT_P_H diff --git a/src/widgets/widgets/qtoolbarseparator.cpp b/src/widgets/widgets/qtoolbarseparator.cpp index c99a8bcc4c..92cd08317a 100644 --- a/src/widgets/widgets/qtoolbarseparator.cpp +++ b/src/widgets/widgets/qtoolbarseparator.cpp @@ -39,8 +39,6 @@ #include "qtoolbarseparator_p.h" -#ifndef QT_NO_TOOLBAR - #include <qstyle.h> #include <qstyleoption.h> #include <qtoolbar.h> @@ -87,5 +85,3 @@ void QToolBarSeparator::paintEvent(QPaintEvent *) QT_END_NAMESPACE #include "moc_qtoolbarseparator_p.cpp" - -#endif // QT_NO_TOOLBAR diff --git a/src/widgets/widgets/qtoolbarseparator_p.h b/src/widgets/widgets/qtoolbarseparator_p.h index d52b4fa6ae..60b51a28cb 100644 --- a/src/widgets/widgets/qtoolbarseparator_p.h +++ b/src/widgets/widgets/qtoolbarseparator_p.h @@ -54,9 +54,9 @@ #include <QtWidgets/private/qtwidgetsglobal_p.h> #include "QtWidgets/qwidget.h" -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(toolbar); -#ifndef QT_NO_TOOLBAR +QT_BEGIN_NAMESPACE class QStyleOption; class QToolBar; @@ -80,8 +80,6 @@ public Q_SLOTS: void setOrientation(Qt::Orientation orientation); }; -#endif // QT_NO_TOOLBAR - QT_END_NAMESPACE #endif // QDYNAMICTOOLBARSEPARATOR_P_H diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp index c2bf13a3e9..c94c10574f 100644 --- a/src/widgets/widgets/qtoolbutton.cpp +++ b/src/widgets/widgets/qtoolbutton.cpp @@ -53,7 +53,9 @@ #if QT_CONFIG(mainwindow) #include <qmainwindow.h> #endif +#if QT_CONFIG(toolbar) #include <qtoolbar.h> +#endif #include <qvariant.h> #include <qstylepainter.h> #include <private/qabstractbutton_p.h> @@ -201,7 +203,7 @@ void QToolButtonPrivate::init() { Q_Q(QToolButton); defaultAction = 0; -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (qobject_cast<QToolBar*>(parent)) autoRaise = true; else @@ -245,13 +247,13 @@ void QToolButton::initStyleOption(QStyleOptionToolButton *option) const bool forceNoText = false; option->iconSize = iconSize(); //default value -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) if (parentWidget()) { if (QToolBar *toolBar = qobject_cast<QToolBar *>(parentWidget())) { option->iconSize = toolBar->iconSize(); } } -#endif // QT_NO_TOOLBAR +#endif // QT_CONFIG(toolbar) if (!forceNoText) option->text = d->text; @@ -571,7 +573,7 @@ void QToolButton::timerEvent(QTimerEvent *e) */ void QToolButton::changeEvent(QEvent *e) { -#ifndef QT_NO_TOOLBAR +#if QT_CONFIG(toolbar) Q_D(QToolButton); if (e->type() == QEvent::ParentChange) { if (qobject_cast<QToolBar*>(parentWidget())) @@ -743,7 +745,7 @@ void QToolButtonPrivate::popupTimerDone() repeat = q->autoRepeat(); q->setAutoRepeat(false); bool horizontal = true; -#if !defined(QT_NO_TOOLBAR) +#if QT_CONFIG(toolbar) QToolBar *tb = qobject_cast<QToolBar*>(parent); if (tb && tb->orientation() == Qt::Vertical) horizontal = false; diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index d3203e180b..43c1c3e365 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -1977,8 +1977,12 @@ void QWidgetTextControlPrivate::inputMethodEvent(QInputMethodEvent *e) cursor.removeSelectedText(); } + QTextBlock block; + // insert commit string if (!e->commitString().isEmpty() || e->replacementLength()) { + if (e->commitString().endsWith(QChar::LineFeed)) + block = cursor.block(); // Remember the block where the preedit text is QTextCursor c = cursor; c.setPosition(c.position() + e->replacementStart()); c.setPosition(c.position() + e->replacementLength(), QTextCursor::KeepAnchor); @@ -1997,7 +2001,8 @@ void QWidgetTextControlPrivate::inputMethodEvent(QInputMethodEvent *e) } } - QTextBlock block = cursor.block(); + if (!block.isValid()) + block = cursor.block(); QTextLayout *layout = block.layout(); if (isGettingInput) layout->setPreeditArea(cursor.position() - block.position(), e->preeditString()); diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index a197c41b95..55804c5aaf 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -3,25 +3,16 @@ HEADERS += \ widgets/qframe.h \ widgets/qframe_p.h \ - widgets/qtoolbar.h \ - widgets/qtoolbar_p.h \ - widgets/qtoolbarlayout_p.h \ - widgets/qtoolbarseparator_p.h \ widgets/qabstractscrollarea.h \ widgets/qabstractscrollarea_p.h \ widgets/qfocusframe.h \ - widgets/qwidgetanimator_p.h \ - widgets/qtoolbararealayout_p.h + widgets/qwidgetanimator_p.h SOURCES += \ widgets/qframe.cpp \ - widgets/qtoolbar.cpp \ - widgets/qtoolbarlayout.cpp \ - widgets/qtoolbarseparator.cpp \ widgets/qabstractscrollarea.cpp \ widgets/qfocusframe.cpp \ - widgets/qwidgetanimator.cpp \ - widgets/qtoolbararealayout.cpp + widgets/qwidgetanimator.cpp qtConfig(abstractbutton) { HEADERS += \ @@ -326,6 +317,21 @@ qtConfig(tabwidget) { SOURCES += widgets/qtabwidget.cpp } +qtConfig(toolbar) { + HEADERS += \ + widgets/qtoolbar.h \ + widgets/qtoolbar_p.h \ + widgets/qtoolbararealayout_p.h \ + widgets/qtoolbarlayout_p.h \ + widgets/qtoolbarseparator_p.h + + SOURCES += \ + widgets/qtoolbar.cpp \ + widgets/qtoolbarlayout.cpp \ + widgets/qtoolbararealayout.cpp \ + widgets/qtoolbarseparator.cpp +} + qtConfig(toolbox) { HEADERS += widgets/qtoolbox.h SOURCES += widgets/qtoolbox.cpp |