Mon, 23 Jan 2023 17:12:03 +0100
Corrected some code formatting and style issues.
--- a/scripts/install.py Fri Jan 20 17:31:29 2023 +0100 +++ b/scripts/install.py Mon Jan 23 17:12:03 2023 +0100 @@ -895,7 +895,9 @@ shutilCopy(os.path.join(sourceDir, "docs", name), cfg["ericDocDir"]) except OSError: print( - "\nCould not install '{0}'.".format(os.path.join(sourceDir, "docs", name)) + "\nCould not install '{0}'.".format( + os.path.join(sourceDir, "docs", name) + ) ) for name in glob.glob(os.path.join(sourceDir, "docs", "README*.*")): try:
--- a/src/eric7/EricWidgets/EricStretchableSpacer.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/EricWidgets/EricStretchableSpacer.py Mon Jan 23 17:12:03 2023 +0100 @@ -7,7 +7,7 @@ Module implementing a stretchable spacer widget. """ -from PyQt6.QtWidgets import QWidget, QHBoxLayout +from PyQt6.QtWidgets import QHBoxLayout, QWidget class EricStretchableSpacer(QWidget):
--- a/src/eric7/PdfViewer/PdfGoToDialog.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/PdfViewer/PdfGoToDialog.py Mon Jan 23 17:12:03 2023 +0100 @@ -4,16 +4,24 @@ # """ - +Module implementing a dialog to enter a PDF page number to jump to. """ from PyQt6.QtCore import Qt from PyQt6.QtWidgets import ( - QDialog, QDialogButtonBox, QSlider, QSpinBox, QHBoxLayout, QVBoxLayout + QDialog, + QDialogButtonBox, + QHBoxLayout, + QSlider, + QSpinBox, + QVBoxLayout, ) + class PdfGoToDialog(QDialog): - + """ + Class implementing a dialog to enter a PDF page number to jump to. + """ def __init__(self, curPage, pageCount, parent=None): """
--- a/src/eric7/PdfViewer/PdfInfoWidget.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/PdfViewer/PdfInfoWidget.py Mon Jan 23 17:12:03 2023 +0100 @@ -7,9 +7,9 @@ Module implementing an info widget showing data of a PDF document. """ -from PyQt6.QtCore import Qt, pyqtSlot, QFileInfo +from PyQt6.QtCore import QFileInfo, Qt, pyqtSlot from PyQt6.QtPdf import QPdfDocument -from PyQt6.QtWidgets import QWidget, QFormLayout, QLabel +from PyQt6.QtWidgets import QFormLayout, QLabel, QWidget from eric7.Globals import dataString @@ -133,7 +133,8 @@ self.__infoLabels["creationDate"].setText( self.__document.metaData(QPdfDocument.MetaDataField.CreationDate).toString( "yyyy-MM-dd hh:mm:ss t" - ) if ready + ) + if ready else "" ) self.__infoLabels["modificationDate"].setText(
--- a/src/eric7/PdfViewer/PdfPageSelector.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/PdfViewer/PdfPageSelector.py Mon Jan 23 17:12:03 2023 +0100 @@ -9,11 +9,16 @@ import contextlib -from PyQt6.QtCore import Qt, pyqtSlot, pyqtSignal +from PyQt6.QtCore import Qt, pyqtSignal, pyqtSlot from PyQt6.QtGui import QIntValidator from PyQt6.QtPdf import QPdfDocument from PyQt6.QtWidgets import ( - QToolButton, QHBoxLayout, QWidget, QLabel, QLineEdit, QSizePolicy + QHBoxLayout, + QLabel, + QLineEdit, + QSizePolicy, + QToolButton, + QWidget, ) from eric7.EricGui import EricPixmapCache @@ -22,6 +27,10 @@ class PdfPageSelector(QWidget): """ Class implementing a widget to select a PDF page to be shown. + + @signal valueChanged(int) emitted to signal the new value of the selector + @signal gotoPage() emitted to indicate the want to enter a page number via the + Go To dialog """ valueChanged = pyqtSignal(int) @@ -55,7 +64,7 @@ QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed ) self.__pageLabel = QLabel() - + self.__layout = QHBoxLayout() self.__layout.addWidget(self.__prevButton) self.__layout.addWidget(self.__pageEntry) @@ -131,18 +140,18 @@ """ return self.__value - def setMaximum(self, max): + def setMaximum(self, maximum): """ Public method to set the maximum value. - Note: max is 0 based. + Note: maximum is 0 based. - @param max maximum value to be set + @param maximum maximum value to be set @type int """ - self.__maximum = max + self.__maximum = maximum self.__nextButton.setEnabled(self.__value < self.__maximum) - self.__pageButton.setText(str(max + 1)) + self.__pageButton.setText(str(maximum + 1)) @pyqtSlot() def __pageEntered(self):
--- a/src/eric7/PdfViewer/PdfSearchWidget.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/PdfViewer/PdfSearchWidget.py Mon Jan 23 17:12:03 2023 +0100 @@ -7,11 +7,18 @@ Module implementing a Search widget. """ -from PyQt6.QtCore import Qt, pyqtSlot, QModelIndex, pyqtSignal -from PyQt6.QtPdf import QPdfSearchModel, QPdfDocument, QPdfLink +from PyQt6.QtCore import QModelIndex, Qt, pyqtSignal, pyqtSlot +from PyQt6.QtPdf import QPdfDocument, QPdfLink, QPdfSearchModel from PyQt6.QtWidgets import ( - QWidget, QVBoxLayout, QLabel, QLineEdit, QHBoxLayout, QToolButton, - QAbstractItemView, QTreeWidget, QTreeWidgetItem + QAbstractItemView, + QHBoxLayout, + QLabel, + QLineEdit, + QToolButton, + QTreeWidget, + QTreeWidgetItem, + QVBoxLayout, + QWidget, ) from eric7 import Preferences @@ -136,7 +143,7 @@ ) ), "", - ] + ], ) contextBefore = self.__searchModel.data( index, QPdfSearchModel.Role.ContextBefore.value @@ -150,8 +157,7 @@ contextAfter = "{0} ...".format(contextAfter[:contextLength]) resultLabel = QLabel( self.tr( - "{0}<b>{1}</b>{2}", - "context before, search string, context after" + "{0}<b>{1}</b>{2}", "context before, search string, context after" ).format(contextBefore, self.searchString(), contextAfter) ) self.setItemWidget(itm, 1, resultLabel) @@ -241,7 +247,7 @@ """ Class implementing a Search widget. - @signal searchResultAktivated(QPdfLink) emitted to send the activated search + @signal searchResultActivated(QPdfLink) emitted to send the activated search result link @signal searchNextAvailable(bool) emitted to indicate the availability of search results after the current one @@ -278,12 +284,12 @@ # Line 2: search entry and navigation buttons self.__searchLineLayout = QHBoxLayout() - + self.__searchEdit = QLineEdit(self) self.__searchEdit.setPlaceholderText(self.tr("Search ...")) self.__searchEdit.setClearButtonEnabled(True) self.__searchLineLayout.addWidget(self.__searchEdit) - + # layout for the navigation buttons self.__buttonsLayout = QHBoxLayout() self.__buttonsLayout.setSpacing(0) @@ -296,7 +302,9 @@ self.__buttonsLayout.addWidget(self.__findPrevButton) self.__findNextButton = QToolButton(self) - self.__findNextButton.setToolTip(self.tr("Press to move to the next occurrence")) + self.__findNextButton.setToolTip( + self.tr("Press to move to the next occurrence") + ) self.__findNextButton.setIcon(EricPixmapCache.getIcon("1rightarrow")) self.__buttonsLayout.addWidget(self.__findNextButton) @@ -379,8 +387,8 @@ """ Private slot to handle the selection of a search result entry. - @param index index of the activated entry - @type QModelIndex + @param item reference to the selected item + @type QTreeWidgetItem """ link = self.__resultsWidget.getPdfLink(item) self.searchResultActivated.emit(link)
--- a/src/eric7/PdfViewer/PdfToCWidget.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/PdfViewer/PdfToCWidget.py Mon Jan 23 17:12:03 2023 +0100 @@ -7,9 +7,9 @@ Module implementing a Table of Contents viewer widget. """ -from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QModelIndex, QSortFilterProxyModel +from PyQt6.QtCore import QModelIndex, QSortFilterProxyModel, Qt, pyqtSignal, pyqtSlot from PyQt6.QtPdf import QPdfBookmarkModel, QPdfDocument -from PyQt6.QtWidgets import QWidget, QVBoxLayout, QLabel, QTreeView, QLineEdit +from PyQt6.QtWidgets import QLabel, QLineEdit, QTreeView, QVBoxLayout, QWidget class PdfToCModel(QPdfBookmarkModel): @@ -49,7 +49,7 @@ @rtype Any """ if not index.isValid(): - return + return None if index.column() == 1: if role == Qt.ItemDataRole.DisplayRole:
--- a/src/eric7/PdfViewer/PdfView.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/PdfViewer/PdfView.py Mon Jan 23 17:12:03 2023 +0100 @@ -13,10 +13,18 @@ from dataclasses import dataclass from PyQt6.QtCore import ( - QSize, Qt, pyqtSlot, QEvent, QSizeF, QRect, QPoint, QPointF, QRectF, - pyqtSignal + QEvent, + QPoint, + QPointF, + QRect, + QRectF, + QSize, + QSizeF, + Qt, + pyqtSignal, + pyqtSlot, ) -from PyQt6.QtGui import QGuiApplication, QPainter, QColor, QPen +from PyQt6.QtGui import QColor, QGuiApplication, QPainter, QPen from PyQt6.QtPdf import QPdfDocument, QPdfLink from PyQt6.QtPdfWidgets import QPdfView from PyQt6.QtWidgets import QRubberBand @@ -56,6 +64,8 @@ class PdfView(QPdfView): """ Class implementing a specialized PDF view. + + @signal selectionAvailable(bool) emitted to indicate the availability of a selection """ MarkerColors = { @@ -177,9 +187,12 @@ pageSize = pageSize.scaled( viewportSize, Qt.AspectRatioMode.KeepAspectRatio ) - zoomFactor = pageSize.width() / ( - self.document().pagePointSize(curPage) * self.__screenResolution - ).width() + zoomFactor = ( + pageSize.width() + / ( + self.document().pagePointSize(curPage) * self.__screenResolution + ).width() + ) return zoomFactor @pyqtSlot() @@ -297,11 +310,13 @@ ) factor = self.__zoomFactorForMode(self.zoomMode()) selectionSize = ( - QSizeF(translatedRubber.size()) / factor + QSizeF(translatedRubber.size()) + / factor / self.__screenResolution ) selectionTopLeft = ( - QPointF(translatedRubber.topLeft()) / factor + QPointF(translatedRubber.topLeft()) + / factor / self.__screenResolution ) selectionRect = QRectF(selectionTopLeft, selectionSize) @@ -380,9 +395,9 @@ for page in self.__markerGeometries: for markerGeom in self.__markerGeometries[page]: if markerGeom.rectangle.intersects(self.__documentViewport): - painter.setPen(QPen( - PdfView.MarkerColors[markerGeom.markerType][0], 2 - )) + painter.setPen( + QPen(PdfView.MarkerColors[markerGeom.markerType][0], 2) + ) painter.setBrush(PdfView.MarkerColors[markerGeom.markerType][1]) painter.drawRect(markerGeom.rectangle) painter.end() @@ -398,7 +413,7 @@ y = self.verticalScrollBar().value() width = self.viewport().width() height = self.viewport().height() - + docViewport = QRect(x, y, width, height) if self.__documentViewport == docViewport: return @@ -424,14 +439,14 @@ document = self.document() margins = self.documentMargins() - + if document is None or document.status() != QPdfDocument.Status.Ready: return pageCount = document.pageCount() - + totalWidth = 0 - + startPage = ( self.pageNavigator().currentPage() if self.pageMode() == QPdfView.PageMode.SinglePage @@ -447,7 +462,8 @@ for page in range(startPage, endPage): if self.zoomMode() == QPdfView.ZoomMode.Custom: pageSize = QSizeF( - document.pagePointSize(page) * self.__screenResolution + document.pagePointSize(page) + * self.__screenResolution * self.zoomFactor() ).toSize() elif self.zoomMode() == QPdfView.ZoomMode.FitToWidth: @@ -459,9 +475,8 @@ ) / pageSize.width() pageSize *= factor elif self.zoomMode() == QPdfView.ZoomMode.FitInView: - viewportSize = ( - self.__documentViewport.size() - + QSize(-margins.left() - margins.right(), -self.pageSpacing()) + viewportSize = self.__documentViewport.size() + QSize( + -margins.left() - margins.right(), -self.pageSpacing() ) pageSize = QSizeF( document.pagePointSize(page) * self.__screenResolution @@ -522,7 +537,8 @@ QSizeF(marker.rectangle.size()) * factor * self.__screenResolution ).toSize() markerTopLeft = ( - QPointF(marker.rectangle.topLeft()) * factor + QPointF(marker.rectangle.topLeft()) + * factor * self.__screenResolution ).toPoint() @@ -530,7 +546,7 @@ self.__markerGeometries[page].append( PdfMarkerGeometry( rectangle=markerGeometry.translated(offset), - markerType=marker.markerType + markerType=marker.markerType, ) ) @@ -639,7 +655,8 @@ """ for page in self.__markers: markersList = [ - m for m in self.__markers[page] + m + for m in self.__markers[page] if m.markerType == PdfMarkerType.SELECTION ] if markersList:
--- a/src/eric7/PdfViewer/PdfViewerWindow.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/PdfViewer/PdfViewerWindow.py Mon Jan 23 17:12:03 2023 +0100 @@ -11,15 +11,19 @@ import os import pathlib -from PyQt6.QtCore import Qt, pyqtSignal, QSize, pyqtSlot, QPointF -from PyQt6.QtGui import ( - QAction, QKeySequence, QActionGroup, QGuiApplication, QClipboard -) +from PyQt6.QtCore import QPointF, QSize, Qt, pyqtSignal, pyqtSlot +from PyQt6.QtGui import QAction, QActionGroup, QClipboard, QGuiApplication, QKeySequence from PyQt6.QtPdf import QPdfDocument, QPdfLink from PyQt6.QtPdfWidgets import QPdfView from PyQt6.QtWidgets import ( - QWhatsThis, QMenu, QTabWidget, QSplitter, QToolBar, QDialog, QInputDialog, - QLineEdit + QDialog, + QInputDialog, + QLineEdit, + QMenu, + QSplitter, + QTabWidget, + QToolBar, + QWhatsThis, ) from eric7 import Preferences @@ -31,12 +35,12 @@ from eric7.Globals import recentNamePdfFiles from eric7.SystemUtilities import FileSystemUtilities, OSUtilities +from .PdfInfoWidget import PdfInfoWidget from .PdfPageSelector import PdfPageSelector -from .PdfZoomSelector import PdfZoomSelector +from .PdfSearchWidget import PdfSearchWidget from .PdfToCWidget import PdfToCWidget -from .PdfInfoWidget import PdfInfoWidget -from .PdfSearchWidget import PdfSearchWidget from .PdfView import PdfView +from .PdfZoomSelector import PdfZoomSelector class PdfViewerWindow(EricMainWindow): @@ -370,9 +374,7 @@ self, "pdfviewer_goto_end", ) - self.endDocumentAct.setStatusTip( - self.tr("Go to the last page of the document") - ) + self.endDocumentAct.setStatusTip(self.tr("Go to the last page of the document")) self.endDocumentAct.triggered.connect(self.__endDocument) self.__actions.append(self.endDocumentAct) @@ -385,9 +387,7 @@ self, "pdfviewer_goto_back", ) - self.backwardAct.setStatusTip( - self.tr("Go back in the view history") - ) + self.backwardAct.setStatusTip(self.tr("Go back in the view history")) self.backwardAct.triggered.connect(self.__backInHistory) self.__actions.append(self.backwardAct) @@ -400,9 +400,7 @@ self, "pdfviewer_goto_forward", ) - self.forwardAct.setStatusTip( - self.tr("Go forward in the view history") - ) + self.forwardAct.setStatusTip(self.tr("Go forward in the view history")) self.forwardAct.triggered.connect(self.__forwardInHistory) self.__actions.append(self.forwardAct) @@ -415,9 +413,7 @@ self, "pdfviewer_goto_gotopage", ) - self.gotoAct.setStatusTip( - self.tr("Jump to a page selected via a dialog") - ) + self.gotoAct.setStatusTip(self.tr("Jump to a page selected via a dialog")) self.gotoAct.triggered.connect(self.__gotoPage) self.__actions.append(self.gotoAct) @@ -519,7 +515,7 @@ ) self.copyAct.triggered.connect(self.__copyText) self.__actions.append(self.copyAct) - + self.copyAllAct = EricAction( self.tr("Copy All Text"), self.tr("Copy &All Text"), @@ -1144,9 +1140,7 @@ EricMessageBox.about( self, self.tr("About eric PDF Viewer"), - self.tr( - "The eric PDF Viewer is a simple component for viewing PDF files." - ), + self.tr("The eric PDF Viewer is a simple component for viewing PDF files."), ) @pyqtSlot() @@ -1439,7 +1433,7 @@ else: self.__view.setPageMode(QPdfView.PageMode.MultiPage) self.__continuousPageAct.setChecked(True) - return + return @pyqtSlot(bool) def __toggleSideBar(self, visible):
--- a/src/eric7/PdfViewer/PdfZoomSelector.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/PdfViewer/PdfZoomSelector.py Mon Jan 23 17:12:03 2023 +0100 @@ -7,7 +7,7 @@ Module implementing a widget to select a PDF zoom factor. """ -from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt +from PyQt6.QtCore import Qt, pyqtSignal, pyqtSlot from PyQt6.QtPdfWidgets import QPdfView from PyQt6.QtWidgets import QComboBox @@ -15,14 +15,31 @@ class PdfZoomSelector(QComboBox): """ Class implementing a widget to select a PDF zoom factor. - + @signal zoomFactorChanged(factor) emitted to indicate the selected zoom factor @signal zoomModeChanged(zoomMode) emitted to indicate the selected zoom mode """ + zoomFactorChanged = pyqtSignal(float) zoomModeChanged = pyqtSignal(QPdfView.ZoomMode) - ZoomValues = (0.12, 0.25, 0.33, 0.5, 0.66, 0.75, 1.0, 1.25, 1.50, 2.0, 4.0, 8.0, 16.0, 25.0, 50.0) + ZoomValues = ( + 0.12, + 0.25, + 0.33, + 0.5, + 0.66, + 0.75, + 1.0, + 1.25, + 1.50, + 2.0, + 4.0, + 8.0, + 16.0, + 25.0, + 50.0, + ) def __init__(self, parent=None): """
--- a/src/eric7/PipInterface/PipPackagesWidget.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/PipInterface/PipPackagesWidget.py Mon Jan 23 17:12:03 2023 +0100 @@ -1133,8 +1133,12 @@ self.__showPackageDetails(packageName, packageVersion, installable=True) def __showPackageDetails( - self, packageName, packageVersion, vulnerabilities=None, upgradable=False, - installable=False + self, + packageName, + packageVersion, + vulnerabilities=None, + upgradable=False, + installable=False, ): """ Private method to populate the package details dialog.
--- a/src/eric7/Preferences/ConfigurationPages/PdfViewerPage.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/Preferences/ConfigurationPages/PdfViewerPage.py Mon Jan 23 17:12:03 2023 +0100 @@ -21,9 +21,6 @@ def __init__(self): """ Constructor - - @param parent reference to the parent widget (defaults to None) - @type QWidget (optional) """ super().__init__() self.setupUi(self)
--- a/src/eric7/Project/ProjectOthersBrowser.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/Project/ProjectOthersBrowser.py Mon Jan 23 17:12:03 2023 +0100 @@ -139,7 +139,8 @@ self.tr("Open in Editor"), self._openFileInEditor ) self.openInPdfViewerAct = self.menu.addAction( - self.tr("Open in PDF Viewer"), self._openPdfViewer) + self.tr("Open in PDF Viewer"), self._openPdfViewer + ) self.menu.addSeparator() self.mimeTypeAct = self.menu.addAction( self.tr("Show Mime-Type"), self.__showMimeType
--- a/src/eric7/Utilities/__init__.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/Utilities/__init__.py Mon Jan 23 17:12:03 2023 +0100 @@ -77,10 +77,10 @@ ) from eric7.SystemUtilities.OSUtilities import ( # __IGNORE_FLAKES_WARNING__ getEnvironmentEntry, + getHomeDir, + getRealName, + getUserName, hasEnvironmentEntry, - getHomeDir, - getUserName, - getRealName, isLinuxPlatform, isMacPlatform, isWindowsPlatform,
--- a/src/eric7/WebBrowser/WebBrowserView.py Fri Jan 20 17:31:29 2023 +0100 +++ b/src/eric7/WebBrowser/WebBrowserView.py Mon Jan 23 17:12:03 2023 +0100 @@ -2359,6 +2359,7 @@ ########################################################################### with contextlib.suppress(TypeError): + @pyqtSlot("QWebEngineFileSystemAccessRequest") def __fileSystemAccessRequested(self, accessRequest): """