Fix incorrect positions and heights in open/save dialogs when nonstandard font sizes are in use

(cherry picked from commit c5463fddb1)
v3.5.13-sru
Timothy Pearson 12 years ago committed by Slávek Banko
parent a40d90b982
commit e80d466d7e

@ -540,18 +540,18 @@ void KIconViewItem::calcRect( const TQString& text_ )
tw = view->maxItemWidth() - ( view->itemTextPos() == TQIconView::Bottom ? 0 :
itemIconRect.width() );
}
TQFontMetrics *fm = view->itemFontMetrics();
TQString t;
TQRect r;
// When is text_ set ? Doesn't look like it's ever set.
t = text_.isEmpty() ? text() : text_;
// Max text height
int nbLines = static_cast<KIconView*>( iconView() )->iconTextHeight();
int height = nbLines > 0 ? fm->height() * nbLines : 0xFFFFFFFF;
// Should not be higher than pixmap if text is alongside icons
if ( view->itemTextPos() != TQIconView::Bottom ) {
if ( d && !d->m_pixmapSize.isNull() )
@ -560,7 +560,7 @@ void KIconViewItem::calcRect( const TQString& text_ )
height = QMIN( itemIconRect.height(), height );
height = QMAX( height, fm->height() );
}
// Calculate the word-wrap
TQRect outerRect( 0, 0, tw - 6, height );
m_wordWrap = KWordWrap::formatText( *fm, outerRect, 0, t );
@ -634,8 +634,8 @@ void KIconViewItem::calcRect( const TQString& text_ )
}
if ( ( itemIconRect.height() <= 20 ) && ( itemTextRect.height() < itemIconRect.height() ) ) {
d->realTextHeight = itemTextRect.height();
itemTextRect.setHeight( itemIconRect.height() - 2 );
itemTextRect.setY( itemIconRect.y() );
itemTextRect.setHeight( itemIconRect.height() - 2 );
}
}

@ -85,7 +85,7 @@ KSystemTray::KSystemTray( TQWidget* parent, const char* name )
TQT_TQOBJECT(this), TQT_SLOT( minimizeRestoreAction() ),
d->actionCollection, "minimizeRestore");
#ifdef Q_WS_X11
KWin::WindowInfo info = KWin::windowInfo( parentWidget()->winId());
KWin::WindowInfo info = KWin::windowInfo( parentWidget()->winId() );
d->on_all_desktops = info.onAllDesktops();
#else
d->on_all_desktops = false;

@ -214,10 +214,12 @@ void KURLBarItem::paint( TQPainter *p )
p->drawPixmap( margin, yPos, *pm );
if ( !text().isEmpty() ) {
TQFontMetrics fm = p->fontMetrics();
if ( pm->height() < fm.height() )
if ( pm->height() < fm.height() ) {
yPos = fm.ascent() + fm.leading()/2;
else
yPos = pm->height()/2 - fm.height()/2 + fm.ascent();
}
else {
yPos = height(box)/2 - fm.height()/2 + fm.ascent() - margin;
}
yPos += margin;
int stringWidth = box->width() - pm->width() - 2 - (margin * 2);

Loading…
Cancel
Save