[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/3.5/kdegraphics/kpdf
From:       Pino Toscano <toscano.pino () tiscali ! it>
Date:       2007-03-30 21:14:20
Message-ID: 1175289260.486256.32626.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 648272 by pino:

Add tooltips for links in presentation mode.
(Not yet in the contents area.)

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


 M  +50 -0     core/link.cpp  
 M  +5 -0      core/link.h  
 M  +6 -0      ui/presentationwidget.cpp  


--- branches/KDE/3.5/kdegraphics/kpdf/core/link.cpp #648271:648272
@@ -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;
+}
--- branches/KDE/3.5/kdegraphics/kpdf/core/link.h #648271:648272
@@ -27,6 +27,7 @@
         // 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 @@
         // 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 @@
         // 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 @@
         // 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 @@
         // create a KPDFLink_Action
         KPDFLinkAction( enum ActionType actionType ) { m_type = actionType; }
         LinkType linkType() const { return Action; }
+        QString linkTip() const;
 
     private:
         ActionType m_type;
--- branches/KDE/3.5/kdegraphics/kpdf/ui/presentationwidget.cpp #648271:648272
@@ -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 @@
         // 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 );
     }
 }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic