Some look-and-feel improvements for Mac and GTK+ styles (Qt client)

This commit is contained in:
Mike Gelfand
2015-06-28 14:18:06 +00:00
parent ba7ea94c7d
commit 1a885dcb17
5 changed files with 39 additions and 3 deletions

View File

@@ -7,6 +7,7 @@
* $Id$
*/
#include <QStyle>
#include <QStyleOption>
#include <QStyleOptionToolButton>
#include <QStylePainter>
@@ -18,11 +19,24 @@ IconToolButton::IconToolButton (QWidget * parent):
{
}
QSize
IconToolButton::sizeHint () const
{
QStyleOptionToolButton option;
initStyleOption (&option);
option.features = QStyleOptionToolButton::None;
option.toolButtonStyle = Qt::ToolButtonIconOnly;
const QSize size = style ()->sizeFromContents (QStyle::CT_ToolButton, &option, iconSize (), this);
return size.expandedTo (iconSize () + QSize (8, 8));
}
void IconToolButton::paintEvent (QPaintEvent * /*event*/)
{
QStylePainter painter(this);
QStyleOptionToolButton option;
initStyleOption (&option);
option.features &= ~QStyleOptionToolButton::HasMenu;
option.features = QStyleOptionToolButton::None;
option.toolButtonStyle = Qt::ToolButtonIconOnly;
painter.drawComplexControl(QStyle::CC_ToolButton, option);
}