From 49b6a0fea4354ab7940e0229737fcde6666b9eb3 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Sun, 13 Jan 2008 23:30:56 +0000 Subject: [PATCH] backport r761052 **************** fix width calculation to work on plastique, oxygen and windows styles, tahnks to boemman for the tipts svn path=/branches/KDE/4.0/kdegraphics/okular/; revision=761053 --- ui/presentationwidget.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/presentationwidget.cpp b/ui/presentationwidget.cpp index 4cbd8c2cf..a96f0912f 100644 --- a/ui/presentationwidget.cpp +++ b/ui/presentationwidget.cpp @@ -18,6 +18,8 @@ #include #include #include +#include +#include #include #include #include @@ -435,7 +437,9 @@ void PresentationWidget::paintEvent( QPaintEvent * pe ) sp.setHorizontalPolicy( QSizePolicy::Minimum ); m_pagesEdit->setSizePolicy( sp ); QFontMetrics fm( m_pagesEdit->font() ); - m_pagesEdit->setMaximumWidth( fm.width( QString::number( m_document->pages() ) ) * 2 ); + QStyleOptionFrame option; + option.initFrom(m_pagesEdit); + m_pagesEdit->setMaximumWidth( fm.width( QString::number( m_document->pages() ) ) + 2 * style()->pixelMetric(QStyle::PM_DefaultFrameWidth, &option, m_pagesEdit) + 4 ); // the 4 comes from 2*horizontalMargin, horizontalMargin being a define in qlineedit.cpp QIntValidator *validator = new QIntValidator( 1, m_document->pages(), m_pagesEdit ); m_pagesEdit->setValidator( validator ); m_topBar->addWidget( m_pagesEdit );