Add tooltips for links in presentation mode.

(Not yet in the contents area.)

CCBUGS: 131361
CCMAIL: kde-i18n-doc@kde.org

svn path=/branches/KDE/3.5/kdegraphics/kpdf/; revision=648272
remotes/origin/kpdf-3.5
Pino Toscano 19 years ago
parent 165e088a35
commit d47207c13b
  1. 50
      core/link.cpp
  2. 5
      core/link.h
  3. 6
      ui/presentationwidget.cpp

@ -10,6 +10,56 @@
// local includes
#include "link.h"
#include <klocale.h>
KPDFLink::~KPDFLink()
{
}
QString KPDFLinkGoto::linkTip() const
{
return m_extFileName.isEmpty() ? ( m_vp.pageNumber != -1 ? i18n( "Go to page %1" ).arg( m_vp.pageNumber + 1 ) : "" ) : i18n("Open external file");
}
QString KPDFLinkExecute::linkTip() const
{
return i18n( "Execute '%1'..." ).arg( m_fileName );
}
QString KPDFLinkBrowse::linkTip() const
{
return m_url;
}
QString KPDFLinkAction::linkTip() const
{
switch ( m_type )
{
case PageFirst:
return i18n( "First Page" );
case PagePrev:
return i18n( "Previous Page" );
case PageNext:
return i18n( "Next Page" );
case PageLast:
return i18n( "Last Page" );
case HistoryBack:
return i18n( "Back" );
case HistoryForward:
return i18n( "Forward" );
case Quit:
return i18n( "Quit" );
case Presentation:
return i18n( "Start Presentation" );
case EndPresentation:
return i18n( "End Presentation" );
case Find:
return i18n( "Find..." );
case GoToPage:
return i18n( "Go To Page..." );
case Close:
default: ;
}
return QString::null;
}

@ -27,6 +27,7 @@ class KPDFLink
// get link type (inherited classes mustreturn an unique identifier)
enum LinkType { Goto, Execute, Browse, Action, Movie };
virtual LinkType linkType() const = 0;
virtual QString linkTip() const { return QString::null; }
// virtual destructor (remove warnings)
virtual ~KPDFLink();
@ -45,6 +46,7 @@ class KPDFLinkGoto : public KPDFLink
// create a KPDFLink_Goto
KPDFLinkGoto( QString extFileName, const DocumentViewport & vp ) { m_extFileName = extFileName; m_vp = vp; }
LinkType linkType() const { return Goto; }
QString linkTip() const;
private:
QString m_extFileName;
@ -62,6 +64,7 @@ class KPDFLinkExecute : public KPDFLink
// create a KPDFLink_Execute
KPDFLinkExecute( const QString & file, const QString & params ) { m_fileName = file; m_parameters = params; }
LinkType linkType() const { return Execute; }
QString linkTip() const;
private:
QString m_fileName;
@ -78,6 +81,7 @@ class KPDFLinkBrowse : public KPDFLink
// create a KPDFLink_Browse
KPDFLinkBrowse( const QString &url ) { m_url = url; }
LinkType linkType() const { return Browse; }
QString linkTip() const;
private:
QString m_url;
@ -96,6 +100,7 @@ class KPDFLinkAction : public KPDFLink
// create a KPDFLink_Action
KPDFLinkAction( enum ActionType actionType ) { m_type = actionType; }
LinkType linkType() const { return Action; }
QString linkTip() const;
private:
ActionType m_type;

@ -13,6 +13,7 @@
#include <qpainter.h>
#include <qapplication.h>
#include <qdesktopwidget.h>
#include <qtooltip.h>
#include <kapplication.h>
#include <kcursor.h>
#include <ktoolbar.h>
@ -406,6 +407,11 @@ void PresentationWidget::testCursorOnLink( int x, int y )
// change cursor shape
m_handCursor = link != 0;
setCursor( m_handCursor ? KCursor::handCursor() : KCursor::arrowCursor());
// set tooltip over link's rect
QString tip = link ? link->linkTip() : "";
if ( m_handCursor && !tip.isEmpty() )
QToolTip::add( this, linkRect, tip );
}
}

Loading…
Cancel
Save