diff options
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/dialogs/qdialog.h | 4 | ||||
-rw-r--r-- | src/widgets/itemviews/qcolumnview_p.h | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qdatawidgetmapper.h | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qitemeditorfactory.h | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qstandarditemmodel.h | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qtablewidget.h | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qtreewidget.h | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qstackedlayout.cpp | 32 | ||||
-rw-r--r-- | src/widgets/kernel/qstackedlayout.h | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qstackedwidget.cpp | 46 | ||||
-rw-r--r-- | src/widgets/widgets/qtabbar.cpp | 20 | ||||
-rw-r--r-- | src/widgets/widgets/qtabbar.h | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qtabbar_p.h | 2 |
14 files changed, 58 insertions, 62 deletions
diff --git a/src/widgets/dialogs/qdialog.h b/src/widgets/dialogs/qdialog.h index 7d3052a782..f20ff46d41 100644 --- a/src/widgets/dialogs/qdialog.h +++ b/src/widgets/dialogs/qdialog.h @@ -91,8 +91,8 @@ Q_SIGNALS: void rejected(); public Q_SLOTS: - void open(); - int exec(); + virtual void open(); + virtual int exec(); virtual void done(int); virtual void accept(); virtual void reject(); diff --git a/src/widgets/itemviews/qcolumnview_p.h b/src/widgets/itemviews/qcolumnview_p.h index 5bdb74c56c..c3c79d35a3 100644 --- a/src/widgets/itemviews/qcolumnview_p.h +++ b/src/widgets/itemviews/qcolumnview_p.h @@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE class QColumnViewPreviewColumn : public QAbstractItemView { public: - QColumnViewPreviewColumn(QWidget *parent) : QAbstractItemView(parent), previewWidget(0) { + explicit QColumnViewPreviewColumn(QWidget *parent) : QAbstractItemView(parent), previewWidget(0) { } void setPreviewWidget(QWidget *widget) { diff --git a/src/widgets/itemviews/qdatawidgetmapper.h b/src/widgets/itemviews/qdatawidgetmapper.h index e73d4b1044..3cb8f09510 100644 --- a/src/widgets/itemviews/qdatawidgetmapper.h +++ b/src/widgets/itemviews/qdatawidgetmapper.h @@ -66,7 +66,7 @@ class Q_WIDGETS_EXPORT QDataWidgetMapper: public QObject Q_PROPERTY(SubmitPolicy submitPolicy READ submitPolicy WRITE setSubmitPolicy) public: - QDataWidgetMapper(QObject *parent = 0); + explicit QDataWidgetMapper(QObject *parent = 0); ~QDataWidgetMapper(); void setModel(QAbstractItemModel *model); diff --git a/src/widgets/itemviews/qitemeditorfactory.h b/src/widgets/itemviews/qitemeditorfactory.h index aff8de3a4c..8bc1cc7df6 100644 --- a/src/widgets/itemviews/qitemeditorfactory.h +++ b/src/widgets/itemviews/qitemeditorfactory.h @@ -69,7 +69,7 @@ template <class T> class QItemEditorCreator : public QItemEditorCreatorBase { public: - inline QItemEditorCreator(const QByteArray &valuePropertyName); + inline explicit QItemEditorCreator(const QByteArray &valuePropertyName); inline QWidget *createWidget(QWidget *parent) const { return new T(parent); } inline QByteArray valuePropertyName() const { return propertyName; } diff --git a/src/widgets/itemviews/qstandarditemmodel.h b/src/widgets/itemviews/qstandarditemmodel.h index e374665f20..767665fd94 100644 --- a/src/widgets/itemviews/qstandarditemmodel.h +++ b/src/widgets/itemviews/qstandarditemmodel.h @@ -66,7 +66,7 @@ class Q_WIDGETS_EXPORT QStandardItem { public: QStandardItem(); - QStandardItem(const QString &text); + explicit QStandardItem(const QString &text); QStandardItem(const QIcon &icon, const QString &text); explicit QStandardItem(int rows, int columns = 1); virtual ~QStandardItem(); diff --git a/src/widgets/itemviews/qtablewidget.h b/src/widgets/itemviews/qtablewidget.h index 3d08e204d1..0c6ed85fc9 100644 --- a/src/widgets/itemviews/qtablewidget.h +++ b/src/widgets/itemviews/qtablewidget.h @@ -84,7 +84,7 @@ class Q_WIDGETS_EXPORT QTableWidgetItem friend class QTableModel; public: enum ItemType { Type = 0, UserType = 1000 }; - QTableWidgetItem(int type = Type); + explicit QTableWidgetItem(int type = Type); explicit QTableWidgetItem(const QString &text, int type = Type); explicit QTableWidgetItem(const QIcon &icon, const QString &text, int type = Type); QTableWidgetItem(const QTableWidgetItem &other); diff --git a/src/widgets/itemviews/qtreewidget.h b/src/widgets/itemviews/qtreewidget.h index c9654d3e8e..c5f1032728 100644 --- a/src/widgets/itemviews/qtreewidget.h +++ b/src/widgets/itemviews/qtreewidget.h @@ -69,7 +69,7 @@ class Q_WIDGETS_EXPORT QTreeWidgetItem public: enum ItemType { Type = 0, UserType = 1000 }; explicit QTreeWidgetItem(int type = Type); - QTreeWidgetItem(const QStringList &strings, int type = Type); + explicit QTreeWidgetItem(const QStringList &strings, int type = Type); explicit QTreeWidgetItem(QTreeWidget *view, int type = Type); QTreeWidgetItem(QTreeWidget *view, const QStringList &strings, int type = Type); QTreeWidgetItem(QTreeWidget *view, QTreeWidgetItem *after, int type = Type); diff --git a/src/widgets/kernel/qstackedlayout.cpp b/src/widgets/kernel/qstackedlayout.cpp index 9b40063e65..0d2e7716e5 100644 --- a/src/widgets/kernel/qstackedlayout.cpp +++ b/src/widgets/kernel/qstackedlayout.cpp @@ -477,6 +477,38 @@ void QStackedLayout::setGeometry(const QRect &rect) } /*! + \reimp +*/ +bool QStackedLayout::hasHeightForWidth() const +{ + const int n = count(); + + for (int i = 0; i < n; ++i) { + if (QLayoutItem *item = itemAt(i)) { + if (item->hasHeightForWidth()) + return true; + } + } + return false; +} + +/*! + \reimp +*/ +int QStackedLayout::heightForWidth(int width) const +{ + const int n = count(); + + int hfw = 0; + for (int i = 0; i < n; ++i) { + if (QLayoutItem *item = itemAt(i)) { + hfw = qMax(hfw, item->heightForWidth(width)); + } + } + return hfw; +} + +/*! \enum QStackedLayout::StackingMode \since 4.4 diff --git a/src/widgets/kernel/qstackedlayout.h b/src/widgets/kernel/qstackedlayout.h index e54efa886e..fa77341c52 100644 --- a/src/widgets/kernel/qstackedlayout.h +++ b/src/widgets/kernel/qstackedlayout.h @@ -94,6 +94,8 @@ public: QLayoutItem *itemAt(int) const; QLayoutItem *takeAt(int); void setGeometry(const QRect &rect); + bool hasHeightForWidth() const; + int heightForWidth(int width) const; Q_SIGNALS: void widgetRemoved(int index); diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index a4bb205b76..ffb4b1fef5 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -8404,6 +8404,7 @@ void QWidget::mouseReleaseEvent(QMouseEvent *event) void QWidget::mouseDoubleClickEvent(QMouseEvent *event) { + Q_UNUSED(event); } #ifndef QT_NO_WHEELEVENT diff --git a/src/widgets/widgets/qstackedwidget.cpp b/src/widgets/widgets/qstackedwidget.cpp index 9617d6de58..5406f5dcf5 100644 --- a/src/widgets/widgets/qstackedwidget.cpp +++ b/src/widgets/widgets/qstackedwidget.cpp @@ -49,54 +49,12 @@ QT_BEGIN_NAMESPACE -/** - QStackedLayout does not support height for width (simply because it does not reimplement - heightForWidth() and hasHeightForWidth()). That is not possible to fix without breaking - binary compatibility. (QLayout is subject to multiple inheritance). - However, we can fix QStackedWidget by simply using a modified version of QStackedLayout - that reimplements the hfw-related functions: - */ -class QStackedLayoutHFW : public QStackedLayout -{ -public: - QStackedLayoutHFW(QWidget *parent = 0) : QStackedLayout(parent) {} - bool hasHeightForWidth() const; - int heightForWidth(int width) const; -}; - -bool QStackedLayoutHFW::hasHeightForWidth() const -{ - const int n = count(); - - for (int i = 0; i < n; ++i) { - if (QLayoutItem *item = itemAt(i)) { - if (item->hasHeightForWidth()) - return true; - } - } - return false; -} - -int QStackedLayoutHFW::heightForWidth(int width) const -{ - const int n = count(); - - int hfw = 0; - for (int i = 0; i < n; ++i) { - if (QLayoutItem *item = itemAt(i)) { - hfw = qMax(hfw, item->heightForWidth(width)); - } - } - return hfw; -} - - class QStackedWidgetPrivate : public QFramePrivate { Q_DECLARE_PUBLIC(QStackedWidget) public: QStackedWidgetPrivate():layout(0){} - QStackedLayoutHFW *layout; + QStackedLayout *layout; bool blockChildAdd; }; @@ -180,7 +138,7 @@ QStackedWidget::QStackedWidget(QWidget *parent) : QFrame(*new QStackedWidgetPrivate, parent) { Q_D(QStackedWidget); - d->layout = new QStackedLayoutHFW(this); + d->layout = new QStackedLayout(this); connect(d->layout, SIGNAL(widgetRemoved(int)), this, SIGNAL(widgetRemoved(int))); connect(d->layout, SIGNAL(currentChanged(int)), this, SIGNAL(currentChanged(int))); } diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index 84c32e519b..2cc573e958 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -429,7 +429,7 @@ void QTabBarPrivate::layoutTabs() tabList[i].maxRect = QRect(x, 0, sz.width(), sz.height()); x += sz.width(); maxHeight = qMax(maxHeight, sz.height()); - sz = minimumTabSizeHint(i); + sz = q->minimumTabSizeHint(i); tabList[i].minRect = QRect(minx, 0, sz.width(), sz.height()); minx += sz.width(); tabChain[tabChainIndex].init(); @@ -454,7 +454,7 @@ void QTabBarPrivate::layoutTabs() tabList[i].maxRect = QRect(0, y, sz.width(), sz.height()); y += sz.height(); maxWidth = qMax(maxWidth, sz.width()); - sz = minimumTabSizeHint(i); + sz = q->minimumTabSizeHint(i); tabList[i].minRect = QRect(0, miny, sz.width(), sz.height()); miny += sz.height(); tabChain[tabChainIndex].init(); @@ -1294,14 +1294,18 @@ static QString computeElidedText(Qt::TextElideMode mode, const QString &text) return ret; } -QSize QTabBarPrivate::minimumTabSizeHint(int index) +/*! + Returns the minimum tab size hint for the tab at position \a index. + \since Qt 5.0 +*/ + +QSize QTabBar::minimumTabSizeHint(int index) const { - Q_Q(QTabBar); - // ### Qt 5: make this a protected virtual function in QTabBar - Tab &tab = tabList[index]; + Q_D(const QTabBar); + QTabBarPrivate::Tab &tab = const_cast<QTabBarPrivate::Tab&>(d->tabList[index]); QString oldText = tab.text; - tab.text = computeElidedText(elideMode, oldText); - QSize size = q->tabSizeHint(index); + tab.text = computeElidedText(d->elideMode, oldText); + QSize size = tabSizeHint(index); tab.text = oldText; return size; } diff --git a/src/widgets/widgets/qtabbar.h b/src/widgets/widgets/qtabbar.h index 85586f5e57..2698213d07 100644 --- a/src/widgets/widgets/qtabbar.h +++ b/src/widgets/widgets/qtabbar.h @@ -178,6 +178,7 @@ Q_SIGNALS: protected: virtual QSize tabSizeHint(int index) const; + virtual QSize minimumTabSizeHint(int index) const; virtual void tabInserted(int index); virtual void tabRemoved(int index); virtual void tabLayoutChange(); diff --git a/src/widgets/widgets/qtabbar_p.h b/src/widgets/widgets/qtabbar_p.h index c907b48eeb..aa9db38677 100644 --- a/src/widgets/widgets/qtabbar_p.h +++ b/src/widgets/widgets/qtabbar_p.h @@ -165,8 +165,6 @@ public: inline bool validIndex(int index) const { return index >= 0 && index < tabList.count(); } void setCurrentNextEnabledIndex(int offset); - QSize minimumTabSizeHint(int index); - QToolButton* rightB; // right or bottom QToolButton* leftB; // left or top |