Wed, 20 Oct 2021 19:45:22 +0200
Added a context menu action to copy the link URL to the clipboard to the QtHelp widgets.
--- 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)