Added a context menu action to copy the link URL to the clipboard to the QtHelp widgets. eric7

Wed, 20 Oct 2021 19:45:22 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 20 Oct 2021 19:45:22 +0200
branch
eric7
changeset 8704
e4042abf2a5b
parent 8703
3f1f67a9b179
child 8705
327e596607f8

Added a context menu action to copy the link URL to the clipboard to the QtHelp widgets.

eric7/WebBrowser/QtHelp/HelpIndexWidget.py file | annotate | diff | comparison | revisions
eric7/WebBrowser/QtHelp/HelpSearchWidget.py file | annotate | diff | comparison | revisions
eric7/WebBrowser/QtHelp/HelpTocWidget.py file | annotate | diff | comparison | revisions
--- a/eric7/WebBrowser/QtHelp/HelpIndexWidget.py	Wed Oct 20 19:44:20 2021 +0200
+++ b/eric7/WebBrowser/QtHelp/HelpIndexWidget.py	Wed Oct 20 19:45:22 2021 +0200
@@ -8,6 +8,7 @@
 """
 
 from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QUrl, QEvent
+from PyQt6.QtGui import QGuiApplication, QClipboard
 from PyQt6.QtHelp import QHelpLink
 from PyQt6.QtWidgets import (
     QWidget, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QMenu, QDialog,
@@ -241,7 +242,8 @@
                 newBackgroundTab = menu.addAction(
                     self.tr("Open Link in Background Tab"))
                 newWindow = menu.addAction(self.tr("Open Link in New Window"))
-            # TODO: add link to copy the URL
+            menu.addSeparator()
+            copyLink = menu.addAction(self.tr("Copy URL to Clipboard"))
             menu.move(self.__index.mapToGlobal(pos))
             
             act = menu.exec()
@@ -263,3 +265,9 @@
                         self.newBackgroundTab.emit(link)
                     elif not self.__internal and act == newWindow:
                         self.newWindow.emit(link)
+                    elif act == copyLink:
+                        # copy the URL to both clipboard areas
+                        QGuiApplication.clipboard().setText(
+                            link.toString(), QClipboard.Mode.Clipboard)
+                        QGuiApplication.clipboard().setText(
+                            link.toString(), QClipboard.Mode.Selection)
--- a/eric7/WebBrowser/QtHelp/HelpSearchWidget.py	Wed Oct 20 19:44:20 2021 +0200
+++ b/eric7/WebBrowser/QtHelp/HelpSearchWidget.py	Wed Oct 20 19:45:22 2021 +0200
@@ -8,6 +8,7 @@
 """
 
 from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QUrl
+from PyQt6.QtGui import QGuiApplication, QClipboard
 from PyQt6.QtWidgets import (
     QWidget, QVBoxLayout, QTextBrowser, QApplication, QMenu
 )
@@ -170,7 +171,8 @@
             newBackgroundTab = menu.addAction(
                 self.tr("Open Link in Background Tab"))
             newWindow = menu.addAction(self.tr("Open Link in New Window"))
-        # TODO: add link to copy the URL
+        menu.addSeparator()
+        copyLink = menu.addAction(self.tr("Copy URL to Clipboard"))
         menu.move(evt.globalPos())
         
         act = menu.exec()
@@ -182,3 +184,9 @@
             self.newBackgroundTab.emit(link)
         elif not self.__internal and act == newWindow:
             self.newWindow.emit(link)
+        elif act == copyLink:
+            # copy the URL to both clipboard areas
+            QGuiApplication.clipboard().setText(
+                link.toString(), QClipboard.Mode.Clipboard)
+            QGuiApplication.clipboard().setText(
+                link.toString(), QClipboard.Mode.Selection)
--- a/eric7/WebBrowser/QtHelp/HelpTocWidget.py	Wed Oct 20 19:44:20 2021 +0200
+++ b/eric7/WebBrowser/QtHelp/HelpTocWidget.py	Wed Oct 20 19:45:22 2021 +0200
@@ -8,6 +8,7 @@
 """
 
 from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QUrl
+from PyQt6.QtGui import QGuiApplication, QClipboard
 from PyQt6.QtWidgets import QWidget, QVBoxLayout, QMenu, QApplication
 
 
@@ -183,7 +184,8 @@
             newBackgroundTab = menu.addAction(
                 self.tr("Open Link in Background Tab"))
             newWindow = menu.addAction(self.tr("Open Link in New Window"))
-        # TODO: add link to copy the URL
+        menu.addSeparator()
+        copyLink = menu.addAction(self.tr("Copy URL to Clipboard"))
         menu.move(self.__tocWidget.mapToGlobal(pos))
         
         act = menu.exec()
@@ -195,3 +197,9 @@
             self.newBackgroundTab.emit(link)
         elif not self.__internal and act == newWindow:
             self.newWindow.emit(link)
+        elif act == copyLink:
+            # copy the URL to both clipboard areas
+            QGuiApplication.clipboard().setText(
+                link.toString(), QClipboard.Mode.Clipboard)
+            QGuiApplication.clipboard().setText(
+                link.toString(), QClipboard.Mode.Selection)

eric ide

mercurial