[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/libs/goya/goya
From:       Rafael Fernández López <ereslibre () kde ! org>
Date:       2008-01-31 21:59:59
Message-ID: 1201816799.178629.28214.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 769228 by ereslibre:

No hard coded values


 M  +18 -6     toolbutton.cpp  


--- trunk/playground/libs/goya/goya/toolbutton.cpp #769227:769228
@@ -143,12 +143,23 @@
 
     Q_ASSERT(style);
 
-    return style->sizeFromContents(QStyle::CT_ToolButton, optionToolButton,
-                                   QSize(optionToolButton->fontMetrics.width(optionToolButton->text) +
-                                         style->subControlRect(QStyle::CC_ToolButton, optionToolButton, \
                QStyle::SC_ToolButtonMenu).width() +
-                                         optionToolButton->iconSize.width() + 16,    //FIXME: fix this \
                hard coded values, is in my todo (ereslibre)
-                                         qMax(optionToolButton->fontMetrics.height(),
-                                              optionToolButton->iconSize.height()) + 3));
+    QStyleOptionButton buttonOption;
+    buttonOption.initFrom(Widget::d->canvas->itemView());
+
+    buttonOption.text = optionToolButton->text;
+    buttonOption.icon = optionToolButton->icon;
+    buttonOption.iconSize = optionToolButton->iconSize;
+    buttonOption.state = optionToolButton->state;
+
+    QSize buttonSize = style->sizeFromContents(QStyle::CT_PushButton, &buttonOption,
+                                               \
QSize(optionToolButton->fontMetrics.width(optionToolButton->text) + +                                     \
optionToolButton->iconSize.width(), +                                               \
qMax(optionToolButton->fontMetrics.height(), +                                                    \
optionToolButton->iconSize.height()))); +
+    QSize retSize(buttonSize.width() + style->subControlRect(QStyle::CC_ToolButton, optionToolButton, \
QStyle::SC_ToolButtonMenu).width(), buttonSize.height()); +
+    return retSize;
 }
 
 void ToolButton::paint(const QStyleOption *option, QPainter *painter,
@@ -167,6 +178,7 @@
 
     QStyleOptionToolButton opt(*optionToolButton);
     QStyleOptionButton opt2;
+    opt2.initFrom(Widget::d->canvas->itemView());
 
     opt2.rect = opt.rect;
     opt2.rect.setWidth(option->rect.width() - style->subControlRect(QStyle::CC_ToolButton, \
optionToolButton, QStyle::SC_ToolButtonMenu).width());


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic