diff options
-rw-r--r-- | src/kernel/qstyle.h | 6 | ||||
-rw-r--r-- | src/styles/qcommonstyle.cpp | 4 | ||||
-rw-r--r-- | src/widgets/qlistview.cpp | 9 | ||||
-rw-r--r-- | src/widgets/qlistview.h | 1 | ||||
-rw-r--r-- | src/widgets/qpopupmenu.cpp | 27 | ||||
-rw-r--r-- | src/widgets/qpopupmenu.h | 3 |
6 files changed, 50 insertions, 0 deletions
diff --git a/src/kernel/qstyle.h b/src/kernel/qstyle.h index 341473e..111a987 100644 --- a/src/kernel/qstyle.h +++ b/src/kernel/qstyle.h @@ -178,6 +178,11 @@ class QStyleControlElementDockWidgetData { Qt::Orientation areaOrientation; }; +class QStyleControlElementToolBarWidgetData { + public: + Qt::Orientation orientation; +}; + class QStyleControlElementGenericWidgetData { public: QStringList widgetObjectTypes; @@ -270,6 +275,7 @@ class Q_EXPORT QStyleControlElementData { Q_UINT32 frameStyle; QRect sliderRect; QPainter* activePainter; + QStyleControlElementToolBarWidgetData toolBarData; public: QStyleControlElementData(); diff --git a/src/styles/qcommonstyle.cpp b/src/styles/qcommonstyle.cpp index 3a1a8d8..1cc2540 100644 --- a/src/styles/qcommonstyle.cpp +++ b/src/styles/qcommonstyle.cpp @@ -576,6 +576,10 @@ QStyleControlElementData populateControlElementDataFromWidget(const QWidget* wid } ceData.dwData.closeEnabled = dw->isCloseEnabled(); } + const QToolBar * toolbar = dynamic_cast<const QToolBar*>(parentWidget); + if (toolbar) { + ceData.toolBarData.orientation = toolbar->orientation(); + } } QCheckListItem *item = opt.checkListItem(); diff --git a/src/widgets/qlistview.cpp b/src/widgets/qlistview.cpp index 304ad18..385ad04 100644 --- a/src/widgets/qlistview.cpp +++ b/src/widgets/qlistview.cpp @@ -490,6 +490,15 @@ static QString qEllipsisText( const QString &org, const QFontMetrics &fm, int wi */ /*! + Constructs a new top-level list view item with no parent +*/ + +QListViewItem::QListViewItem( ) +{ + init(); +} + +/*! Constructs a new top-level list view item in the QListView \a parent. */ diff --git a/src/widgets/qlistview.h b/src/widgets/qlistview.h index e5dc0e4..ba0dae7 100644 --- a/src/widgets/qlistview.h +++ b/src/widgets/qlistview.h @@ -69,6 +69,7 @@ class Q_EXPORT QListViewItem : public Qt friend class QListViewToolTip; public: + QListViewItem( ); QListViewItem( QListView * parent ); QListViewItem( QListViewItem * parent ); QListViewItem( QListView * parent, QListViewItem * after ); diff --git a/src/widgets/qpopupmenu.cpp b/src/widgets/qpopupmenu.cpp index f20cbfc..086c423 100644 --- a/src/widgets/qpopupmenu.cpp +++ b/src/widgets/qpopupmenu.cpp @@ -2882,5 +2882,32 @@ QPopupMenu::updateScrollerState() d->scroll.topScrollableIndex++; } +/*! + Calculates the height in pixels of the menu item \a mi. +*/ +int QPopupMenu::menuItemHeight( QMenuItem *mi, QFontMetrics fm ) +{ + if ( mi->widget() ) + return mi->widget()->height(); + if ( mi->custom() && mi->custom()->fullSpan() ) + return mi->custom()->sizeHint().height(); + + int h = 0; + if ( mi->isSeparator() ) // separator height + h = 2; + else if ( mi->pixmap() ) // pixmap height + h = mi->pixmap()->height(); + else // text height + h = fm.height(); + + if ( !mi->isSeparator() && mi->iconSet() != 0 ) + h = QMAX(h, mi->iconSet()->pixmap( QIconSet::Small, + QIconSet::Normal ).height()); + if ( mi->custom() ) + h = QMAX(h, mi->custom()->sizeHint().height()); + + return h; +} + #endif // QT_NO_POPUPMENU diff --git a/src/widgets/qpopupmenu.h b/src/widgets/qpopupmenu.h index 0609731..7569381 100644 --- a/src/widgets/qpopupmenu.h +++ b/src/widgets/qpopupmenu.h @@ -193,6 +193,9 @@ private: // Disabled copy constructor and operator= QPopupMenu( const QPopupMenu & ); QPopupMenu &operator=( const QPopupMenu & ); #endif + +public: + static int menuItemHeight( QMenuItem* mi, QFontMetrics fm ); }; |