From 2df5ea4aaf2340b29a70ea4447ee0f9e3788a204 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Mon, 10 Sep 2012 11:32:58 -0500 Subject: [PATCH] Fix wireless bargraph menu layout problems --- .../src/tdenetman-wireless_menuitem.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/tdenetworkmanager/src/tdenetman-wireless_menuitem.cpp b/tdenetworkmanager/src/tdenetman-wireless_menuitem.cpp index 2b02796..38021e0 100644 --- a/tdenetworkmanager/src/tdenetman-wireless_menuitem.cpp +++ b/tdenetworkmanager/src/tdenetman-wireless_menuitem.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -112,7 +113,7 @@ WirelessNetworkItem::paint (TQPainter *p, const TQColorGroup &/*cg*/, bool highl int spacer = 0; pbarStrength->setTotalSteps (100); pbarStrength->setSizePolicy (TQSizePolicy ((TQSizePolicy::SizeType) 0, (TQSizePolicy::SizeType) 0, 0, 0, pbarStrength->sizePolicy ().hasHeightForWidth ())); - pbarStrength->setFixedHeight (_height - 2); + pbarStrength->setFixedHeight (h - (_border*2)); pbarStrength->setProgress (_net.getStrength()); pbarStrength->setPercentageVisible (false); @@ -125,13 +126,23 @@ WirelessNetworkItem::paint (TQPainter *p, const TQColorGroup &/*cg*/, bool highl p->drawText (x, y, w, h, AlignLeft | AlignVCenter | DontClip | ShowPrefix, getDisplayText()); if (_net.isEncrypted()) { - TQPixmap pmLock = SmallIcon ("lock", TQIconSet::Automatic); + TQPixmap pmLock = SmallIcon ("lock", h - (_border*2)); + if (pmLock.size().height() != (h - (_border*2))) { + TQImage pmLockImg = pmLock.convertToImage(); + pmLockImg = pmLockImg.smoothScale(65535, (h - (_border*2)), TQImage::ScaleMin); + pmLock.convertFromImage(pmLockImg); + } p->drawPixmap (parent->sizeHint ().width () - pbarStrength->width () - _space - pmLock.size ().width () - 6, y + _border, pmLock); spacer = pmLock.size ().width () + 4; } if (_adhoc) { - TQPixmap pmAdHoc = SmallIcon ("system", TQIconSet::Automatic); + TQPixmap pmAdHoc = SmallIcon ("system", h - (_border*2)); + if (pmAdHoc.size().height() != (h - (_border*2))) { + TQImage pmAdHocImg = pmAdHoc.convertToImage(); + pmAdHocImg = pmAdHocImg.smoothScale(65535, (h - (_border*2)), TQImage::ScaleMin); + pmAdHoc.convertFromImage(pmAdHocImg); + } p->drawPixmap (parent->sizeHint ().width () - pbarStrength->width () - _space - pmAdHoc.size ().width () - spacer - 6, y + _border, pmAdHoc); } @@ -166,8 +177,10 @@ WirelessNetworkItem::WirelessNetworkItem (TQWidget* p, TQString dev, WirelessNet _widgetHeight = SmallIcon (NULL, TQIconSet::Automatic).height (); // figure out the height of the text _textHeight = kapp->fontMetrics ().size (AlignLeft | AlignVCenter | DontClip | ShowPrefix, _net.getDisplaySsid()).height (); + // the item is height of the text plus the default frame width _height = _textHeight + kapp->style ().pixelMetric (TQStyle::PM_DefaultFrameWidth); + /* _height needs to be at least the height of a SmallIcon plus a border of one px (top & bottom)*/ if (_height < _widgetHeight) { _height = _widgetHeight + 2;