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 20 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; bool hasEmbeddedFiles = ok && m_document->embeddedFiles() && m_document->embeddedFiles()->count() > 0;
m_showEmbeddedFiles->setEnabled( hasEmbeddedFiles ); m_showEmbeddedFiles->setEnabled( hasEmbeddedFiles );
if ( 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 else
m_topMessage->hide(); m_topMessage->hide();
m_showPresentation->setEnabled( ok ); m_showPresentation->setEnabled( ok );

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

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

Loading…
Cancel
Save