Add support for showing icons in the page view top message.

With simplier words: add an 'attach' icon in the message pane that informs about attachments in the current document.

svn path=/trunk/playground/graphics/okular/; revision=616780
remotes/origin/KDE/4.0
Pino Toscano 19 years ago
parent 62831ce6b9
commit 112e1237b7
  1. 2
      part.cpp
  2. 19
      ui/pageviewutils.cpp
  3. 5
      ui/pageviewutils.h

@ -583,7 +583,7 @@ bool Part::openFile()
bool hasEmbeddedFiles = ok && m_document->embeddedFiles() && m_document->embeddedFiles()->count() > 0;
m_showEmbeddedFiles->setEnabled( hasEmbeddedFiles );
if ( hasEmbeddedFiles )
m_topMessage->display( i18n( "This document has embedded files. <a href=\"okular:/embeddedfiles\">Click here to see them</a> or go to File -> Embedded Files." ) );
m_topMessage->display( i18n( "This document has embedded files. <a href=\"okular:/embeddedfiles\">Click here to see them</a> or go to File -> Embedded Files." ), KIcon( "attach" ) );
else
m_topMessage->hide();
m_showPresentation->setEnabled( ok );

@ -245,6 +245,9 @@ PageViewTopMessage::PageViewTopMessage( QWidget * parent )
setPalette( pal );
QHBoxLayout * lay = new QHBoxLayout( this );
lay->setMargin( 4 );
m_icon = new QLabel( this );
lay->addWidget( m_icon );
m_icon->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
m_label = new QLabel( this );
lay->addWidget( m_label );
m_label->setWordWrap( true );
@ -256,16 +259,30 @@ PageViewTopMessage::PageViewTopMessage( QWidget * parent )
closeButton->setIconSize( QSize( 32, 32 ) );
closeButton->setToolTip( i18n( "Close this message" ) );
connect( closeButton, SIGNAL( clicked() ), this, SLOT( hide() ) );
setIconSize( 32 );
hide();
}
void PageViewTopMessage::display( const QString & message )
void PageViewTopMessage::display( const QString & message, const KIcon& icon )
{
m_label->setText( message );
resize( minimumSizeHint() );
if ( icon.isNull() )
{
m_icon->setPixmap( QPixmap() );
}
else
{
m_icon->setPixmap( icon.pixmap( m_icon->size() ) );
}
show();
}
void PageViewTopMessage::setIconSize( int size )
{
m_icon->resize( size, size );
}
/*********************/
/** PageViewToolBar */

@ -16,6 +16,7 @@
class QLabel;
class QTimer;
class KIcon;
namespace Okular {
class Page;
@ -87,13 +88,15 @@ class PageViewTopMessage : public QWidget
public:
PageViewTopMessage( QWidget * parent );
void display( const QString & message );
void display( const QString & message, const KIcon& icon = KIcon() );
void setIconSize( int size );
signals:
void action();
private:
QLabel * m_label;
QLabel * m_icon;
};

Loading…
Cancel
Save