diff --git a/ui/annotationwidgets.cpp b/ui/annotationwidgets.cpp index 62980b4e4..ee5c2989f 100644 --- a/ui/annotationwidgets.cpp +++ b/ui/annotationwidgets.cpp @@ -107,10 +107,7 @@ void PixmapPreviewSelector::iconComboChanged( const QString& icon ) m_icon = icon; } - QString path; - QPixmap pixmap = GuiUtils::iconLoader()->loadIcon( m_icon.toLower(), KIconLoader::User, m_previewSize, KIconLoader::DefaultState, QStringList(), &path, true ); - if ( path.isEmpty() ) - pixmap = GuiUtils::iconLoader()->loadIcon( m_icon.toLower(), KIconLoader::NoGroup, m_previewSize ); + QPixmap pixmap = GuiUtils::loadStamp( m_icon, QSize( m_previewSize, m_previewSize ) ); m_iconLabel->setPixmap( pixmap ); emit iconChanged( m_icon ); diff --git a/ui/guiutils.cpp b/ui/guiutils.cpp index 05f646fe6..07ced24d1 100644 --- a/ui/guiutils.cpp +++ b/ui/guiutils.cpp @@ -137,6 +137,19 @@ QString prettyToolTip( const Okular::Annotation * ann ) return tooltip; } +QPixmap loadStamp( const QString& _name, const QSize& size ) +{ + const QString name = _name.toLower(); + QPixmap pixmap; + const KIconLoader * il = iconLoader(); + QString path; + const int minSize = qMin( size.width(), size.height() ); + pixmap = il->loadIcon( name, KIconLoader::User, minSize, KIconLoader::DefaultState, QStringList(), &path, true ); + if ( path.isEmpty() ) + pixmap = il->loadIcon( name, KIconLoader::NoGroup, minSize ); + return pixmap; +} + void setIconLoader( KIconLoader * loader ) { s_data->il = loader; diff --git a/ui/guiutils.h b/ui/guiutils.h index 10fee6ab9..8b08f83aa 100644 --- a/ui/guiutils.h +++ b/ui/guiutils.h @@ -12,6 +12,8 @@ #include +class QPixmap; +class QSize; class QWidget; class KIconLoader; @@ -33,6 +35,8 @@ namespace GuiUtils QString prettyToolTip( const Okular::Annotation * annotation ); + QPixmap loadStamp( const QString& name, const QSize& size ); + void setIconLoader( KIconLoader * loader ); KIconLoader* iconLoader(); diff --git a/ui/pagepainter.cpp b/ui/pagepainter.cpp index 6c5a5a8cf..a1beafa1d 100644 --- a/ui/pagepainter.cpp +++ b/ui/pagepainter.cpp @@ -598,10 +598,7 @@ void PagePainter::paintCroppedPageOnPainter( QPainter * destPainter, const Okula Okular::StampAnnotation * stamp = (Okular::StampAnnotation *)a; // get pixmap and alpha blend it if needed - QString path; - QPixmap pixmap = GuiUtils::iconLoader()->loadIcon( stamp->stampIconName().toLower(), KIconLoader::User, qMin( annotBoundary.width(), annotBoundary.height() ), KIconLoader::DefaultState, QStringList(), &path, true ); - if ( path.isEmpty() ) - pixmap = GuiUtils::iconLoader()->loadIcon( stamp->stampIconName().toLower(), KIconLoader::NoGroup, qMin( annotBoundary.width(), annotBoundary.height() ) ); + QPixmap pixmap = GuiUtils::loadStamp( stamp->stampIconName(), annotBoundary.size() ); QImage scaledImage; scalePixmapOnImage( scaledImage, &pixmap, annotBoundary.width(), annotBoundary.height(), innerRect, QImage::Format_ARGB32 );