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
remotes/origin/KDE/4.0
Albert Astals Cid 18 years ago
parent a3f9274623
commit 49b6a0fea4
  1. 6
      ui/presentationwidget.cpp

@ -18,6 +18,8 @@
#include <qlabel.h>
#include <qlineedit.h>
#include <qpainter.h>
#include <qstyle.h>
#include <qstyleoption.h>
#include <qtooltip.h>
#include <qvalidator.h>
#include <qapplication.h>
@ -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 );

Loading…
Cancel
Save