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

List:       kde-commits
Subject:    KDE/kdegraphics/kviewshell/plugins/pdf
From:       Wilfried Huss <Wilfried.Huss () gmx ! at>
Date:       2006-06-26 19:15:44
Message-ID: 1151349344.795439.12997.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 555234 by whuss:

Port of commit 555233:

Support http:// links in PDF files.

 M  +17 -5     pdfRenderer.cpp  


--- trunk/KDE/kdegraphics/kviewshell/plugins/pdf/pdfRenderer.cpp #555233:555234
@@ -152,11 +152,12 @@
         for (int i = 0; i < links.size(); i++)
         {
           Poppler::Link* link = links[i];
+          QRect area = link->linkArea().normalized().toRect();
+
           if (link->linkType() == Poppler::Link::Goto)
-	  {
-	    QRect area = link->linkArea().normalized().toRect();
-	    Poppler::LinkGoto* gotoLink = dynamic_cast<Poppler::LinkGoto*>(link);
-	    if (!gotoLink)
+          {
+            Poppler::LinkGoto* gotoLink = dynamic_cast<Poppler::LinkGoto*>(link);
+            if (!gotoLink)
             {
               kError() << "Cast to Poppler::LinkGoto failed." << endl;
 	      continue;
@@ -173,7 +174,18 @@
 	    Hyperlink hyperlink(area.bottom(), area, url);
 	    page->hyperLinkList.push_back(hyperlink);
           }
-	}
+          else if (link->linkType() == Poppler::Link::Browse)
+          {
+            Poppler::LinkBrowse* browseLink = dynamic_cast<Poppler::LinkBrowse*>(link);
+            if (!browseLink)
+            {
+              kError() << "Cast to Poppler::LinkBrowse failed." << endl;
+              continue;
+            }
+            Hyperlink hyperlink(area.bottom(), area, browseLink->url());
+            page->hyperLinkList.push_back(hyperlink);
+          }
+        }
       }
 
       delete pdfPage;
[prev in list] [next in list] [prev in thread] [next in thread] 

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