Drop the qApp macro

This commit is contained in:
Veronica Berglyd Olsen
2024-04-03 18:36:37 +02:00
parent 2744fb2fd4
commit c8fe5e6620
19 changed files with 152 additions and 153 deletions
+5 -5
View File
@@ -26,12 +26,12 @@ from __future__ import annotations
import logging
from PyQt5.QtGui import QCloseEvent, QFont, QKeyEvent, QKeySequence
from PyQt5.QtCore import Qt, pyqtSignal, pyqtSlot
from PyQt5.QtGui import QCloseEvent, QFont, QKeyEvent, QKeySequence
from PyQt5.QtWidgets import (
QAbstractButton, QCompleter, QDialog, QDialogButtonBox, QFileDialog,
QFontDialog, QHBoxLayout, QLineEdit, QPushButton, QVBoxLayout, QWidget,
qApp
QAbstractButton, QApplication, QCompleter, QDialog, QDialogButtonBox,
QFileDialog, QFontDialog, QHBoxLayout, QLineEdit, QPushButton, QVBoxLayout,
QWidget
)
from novelwriter import CONFIG, SHARED
@@ -742,7 +742,7 @@ class GuiPreferences(QDialog):
logger.debug("Close: GuiPreferences")
self._saveWindowSize()
event.accept()
qApp.processEvents()
QApplication.processEvents()
self.done(nwConst.DLG_FINISHED)
self.deleteLater()
return
+5 -5
View File
@@ -26,12 +26,12 @@ from __future__ import annotations
import logging
from PyQt5.QtGui import QCloseEvent, QColor, QIcon, QPixmap
from PyQt5.QtCore import Qt, pyqtSignal, pyqtSlot
from PyQt5.QtGui import QCloseEvent, QColor, QIcon, QPixmap
from PyQt5.QtWidgets import (
QColorDialog, QDialog, QDialogButtonBox, QHBoxLayout, QLineEdit,
QPushButton, QStackedWidget, QTreeWidget, QTreeWidgetItem, QVBoxLayout,
QWidget, qApp
QApplication, QColorDialog, QDialog, QDialogButtonBox, QHBoxLayout,
QLineEdit, QPushButton, QStackedWidget, QTreeWidget, QTreeWidgetItem,
QVBoxLayout, QWidget
)
from novelwriter import CONFIG, SHARED
@@ -195,7 +195,7 @@ class GuiProjectSettings(QDialog):
project.data.setAutoReplace(newList)
self.newProjectSettingsReady.emit(rebuildTrees)
qApp.processEvents()
QApplication.processEvents()
self.close()
return
+4 -4
View File
@@ -28,11 +28,11 @@ import logging
from typing import TYPE_CHECKING
from pathlib import Path
from PyQt5.QtGui import QCloseEvent
from PyQt5.QtCore import Qt, pyqtSignal, pyqtSlot
from PyQt5.QtGui import QCloseEvent
from PyQt5.QtWidgets import (
QAbstractItemView, QDialog, QDialogButtonBox, QFileDialog, QHBoxLayout,
QLineEdit, QListWidget, QVBoxLayout, qApp
QAbstractItemView, QApplication, QDialog, QDialogButtonBox, QFileDialog,
QHBoxLayout, QLineEdit, QListWidget, QVBoxLayout
)
from novelwriter import CONFIG, SHARED
@@ -177,7 +177,7 @@ class GuiWordList(QDialog):
userDict.add(word)
userDict.save()
self.newWordListReady.emit()
qApp.processEvents()
QApplication.processEvents()
self.close()
return
+7 -7
View File
@@ -29,11 +29,11 @@ import logging
from typing import TYPE_CHECKING
from PyQt5.QtGui import QFont, QFontDatabase
from PyQt5.QtCore import Qt, pyqtSlot
from PyQt5.QtGui import QFont, QFontDatabase
from PyQt5.QtWidgets import (
QWidget, qApp, QDialog, QGridLayout, QStyle, QPlainTextEdit, QLabel,
QDialogButtonBox
QApplication, QWidget, QDialog, QGridLayout, QStyle, QPlainTextEdit,
QLabel, QDialogButtonBox
)
if TYPE_CHECKING: # pragma: no cover
@@ -74,7 +74,7 @@ class NWErrorMessage(QDialog):
# Widgets
self.msgIcon = QLabel()
self.msgIcon.setPixmap(
qApp.style().standardIcon(QStyle.SP_MessageBoxCritical).pixmap(64, 64)
QApplication.style().standardIcon(QStyle.SP_MessageBoxCritical).pixmap(64, 64)
)
self.msgHead = QLabel()
self.msgHead.setOpenExternalLinks(True)
@@ -179,14 +179,14 @@ class NWErrorMessage(QDialog):
def exceptionHandler(exType: type, exValue: BaseException, exTrace: TracebackType) -> None:
"""Function to catch unhandled global exceptions."""
from traceback import print_tb
from PyQt5.QtWidgets import qApp
from PyQt5.QtWidgets import QApplication
logger.critical("%s: %s", exType.__name__, str(exValue))
print_tb(exTrace)
try:
nwGUI = None
for qWin in qApp.topLevelWidgets():
for qWin in QApplication.topLevelWidgets():
if qWin.objectName() == "GuiMain":
nwGUI = qWin
break
@@ -209,7 +209,7 @@ def exceptionHandler(exType: type, exValue: BaseException, exTrace: TracebackTyp
logger.critical("Could not close the project before exiting")
logger.critical(formatException(exc))
qApp.exit(1)
QApplication.exit(1)
except Exception as exc:
logger.critical(formatException(exc))
+16 -16
View File
@@ -47,8 +47,8 @@ from PyQt5.QtGui import (
QPixmap, QResizeEvent, QTextBlock, QTextCursor, QTextDocument, QTextOption
)
from PyQt5.QtWidgets import (
QAction, QFrame, QGridLayout, QHBoxLayout, QLabel, QLineEdit, QMenu,
QPlainTextEdit, QShortcut, QToolBar, QVBoxLayout, QWidget, qApp
QAction, QApplication, QFrame, QGridLayout, QHBoxLayout, QLabel, QLineEdit,
QMenu, QPlainTextEdit, QShortcut, QToolBar, QVBoxLayout, QWidget
)
from novelwriter import CONFIG, SHARED
@@ -393,13 +393,13 @@ class GuiDocEditor(QPlainTextEdit):
self.clearEditor()
return False
qApp.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
self._docHandle = tHandle
self._allowAutoReplace(False)
self._qDocument.setTextContent(docText, tHandle)
self._allowAutoReplace(True)
qApp.processEvents()
QApplication.processEvents()
self._lastEdit = time()
self._lastActive = time()
@@ -423,12 +423,12 @@ class GuiDocEditor(QPlainTextEdit):
self.setPlainText("")
self.setCursorPosition(0)
qApp.processEvents()
QApplication.processEvents()
self.setDocumentChanged(False)
self._qDocument.clearUndoRedoStacks()
self.docToolBar.setVisible(CONFIG.showEditToolBar)
qApp.restoreOverrideCursor()
QApplication.restoreOverrideCursor()
# Update the status bar
if self._nwItem is not None:
@@ -445,11 +445,11 @@ class GuiDocEditor(QPlainTextEdit):
"""Replace the text of the current document with the provided
text. This also clears undo history.
"""
qApp.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
self.setPlainText(text)
self.updateDocMargins()
self.setDocumentChanged(True)
qApp.restoreOverrideCursor()
QApplication.restoreOverrideCursor()
return
def saveText(self) -> bool:
@@ -536,7 +536,7 @@ class GuiDocEditor(QPlainTextEdit):
while self.cursorRect().bottom() > vH and count < 100000:
vBar.setValue(vBar.value() + 1)
count += 1
qApp.processEvents()
QApplication.processEvents()
return
def updateDocMargins(self) -> None:
@@ -699,9 +699,9 @@ class GuiDocEditor(QPlainTextEdit):
"""
logger.debug("Running spell checker")
start = time()
qApp.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
self._qDocument.syntaxHighlighter.rehighlight()
qApp.restoreOverrideCursor()
QApplication.restoreOverrideCursor()
logger.debug("Document highlighted in %.3f ms", 1000*(time() - start))
self.statusMessage.emit(self.tr("Spell check complete"))
return
@@ -814,7 +814,7 @@ class GuiDocEditor(QPlainTextEdit):
def anyFocus(self) -> bool:
"""Check if any widget or child widget has focus."""
return self.hasFocus() or self.isAncestorOf(qApp.focusWidget())
return self.hasFocus() or self.isAncestorOf(QApplication.focusWidget())
def revealLocation(self) -> None:
"""Tell the user where on the file system the file in the editor
@@ -991,7 +991,7 @@ class GuiDocEditor(QPlainTextEdit):
pressed, check if we're clicking on a tag, and trigger the
follow tag function.
"""
if qApp.keyboardModifiers() == Qt.KeyboardModifier.ControlModifier:
if QApplication.keyboardModifiers() == Qt.KeyboardModifier.ControlModifier:
self._processTag(self.cursorForPosition(event.pos()))
super().mouseReleaseEvent(event)
return
@@ -1912,7 +1912,7 @@ class GuiDocEditor(QPlainTextEdit):
).format(tag)):
itemClass = nwKeyWords.KEY_CLASS.get(tBits[0], nwItemClass.NO_CLASS)
self.requestNewNoteCreation.emit(tag, itemClass)
qApp.processEvents()
QApplication.processEvents()
self._qDocument.syntaxHighlighter.rehighlightBlock(block)
return nwTrinary.POSITIVE if exist else nwTrinary.NEGATIVE
@@ -2627,7 +2627,7 @@ class GuiDocEditSearch(QFrame):
def updateTheme(self) -> None:
"""Update theme elements."""
qPalette = qApp.palette()
qPalette = QApplication.palette()
self.setPalette(qPalette)
self.searchBox.setPalette(qPalette)
self.replaceBox.setPalette(qPalette)
@@ -2714,7 +2714,7 @@ class GuiDocEditSearch(QFrame):
def _doSearch(self) -> None:
"""Call the search action function for the document editor."""
self.docEditor.findNext(goBack=(
qApp.keyboardModifiers() == Qt.KeyboardModifier.ShiftModifier)
QApplication.keyboardModifiers() == Qt.KeyboardModifier.ShiftModifier)
)
return
+5 -5
View File
@@ -36,8 +36,8 @@ from PyQt5.QtGui import (
QTextOption
)
from PyQt5.QtWidgets import (
QAction, QFrame, QHBoxLayout, QLabel, QMenu, QTextBrowser, QToolButton,
QWidget, qApp
QAction, QApplication, QFrame, QHBoxLayout, QLabel, QMenu, QTextBrowser,
QToolButton, QWidget
)
from novelwriter import CONFIG, SHARED
@@ -195,7 +195,7 @@ class GuiDocViewer(QTextBrowser):
return False
logger.debug("Generating preview for item '%s'", tHandle)
qApp.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
sPos = self.verticalScrollBar().value()
aDoc = ToHtml(SHARED.project)
@@ -217,7 +217,7 @@ class GuiDocViewer(QTextBrowser):
logger.error("Failed to generate preview for document with handle '%s'", tHandle)
logException()
self.setText(self.tr("An error occurred while generating the preview."))
qApp.restoreOverrideCursor()
QApplication.restoreOverrideCursor()
return False
# Refresh the tab stops
@@ -250,7 +250,7 @@ class GuiDocViewer(QTextBrowser):
# Since we change the content while it may still be rendering, we mark
# the document dirty again to make sure it's re-rendered properly.
self.redrawText()
qApp.restoreOverrideCursor()
QApplication.restoreOverrideCursor()
self.documentLoaded.emit(tHandle)
return True
+4 -4
View File
@@ -25,14 +25,14 @@ from __future__ import annotations
import logging
from time import time
from collections.abc import Iterable
from time import time
from PyQt5.QtGui import QTextBlock, QTextCursor, QTextDocument
from PyQt5.QtCore import QObject, pyqtSlot
from PyQt5.QtWidgets import QPlainTextDocumentLayout, qApp
from novelwriter import SHARED
from PyQt5.QtWidgets import QApplication, QPlainTextDocumentLayout
from novelwriter import SHARED
from novelwriter.gui.dochighlight import GuiDocHighlighter, TextBlockData
logger = logging.getLogger(__name__)
@@ -86,7 +86,7 @@ class GuiTextDocument(QTextDocument):
self.setUndoRedoEnabled(True)
self.blockSignals(False)
self._syntax.rehighlight()
qApp.processEvents()
QApplication.processEvents()
tEnd = time()
+5 -5
View File
@@ -30,8 +30,8 @@ from time import time
from PyQt5.QtCore import Qt, pyqtSignal, pyqtSlot
from PyQt5.QtGui import QCursor, QKeyEvent
from PyQt5.QtWidgets import (
QFrame, QHBoxLayout, QHeaderView, QLabel, QLineEdit, QToolBar, QTreeWidget,
QTreeWidgetItem, QVBoxLayout, QWidget, qApp
QApplication, QFrame, QHBoxLayout, QHeaderView, QLabel, QLineEdit,
QToolBar, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget
)
from novelwriter import CONFIG, SHARED
@@ -257,7 +257,7 @@ class GuiProjectSearch(QWidget):
def _processSearch(self) -> None:
"""Perform a search."""
if not self._blocked:
qApp.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
start = time()
SHARED.mainGui.saveDocument()
self._blocked = True
@@ -271,7 +271,7 @@ class GuiProjectSearch(QWidget):
self._displayResultSet(item, results, capped)
logger.debug("Search took %.3f ms", 1000*(time() - start))
self._time = time()
qApp.restoreOverrideCursor()
QApplication.restoreOverrideCursor()
self._blocked = False
return
@@ -355,7 +355,7 @@ class GuiProjectSearch(QWidget):
for i in range(tItem.childCount()):
self.searchResult.setFirstColumnSpanned(i, parent, True)
qApp.processEvents()
QApplication.processEvents()
return
+4 -4
View File
@@ -25,12 +25,12 @@ from __future__ import annotations
import logging
from datetime import datetime
from time import time
from typing import TYPE_CHECKING, Literal
from datetime import datetime
from PyQt5.QtCore import pyqtSlot, QLocale
from PyQt5.QtWidgets import qApp, QStatusBar, QLabel
from PyQt5.QtWidgets import QApplication, QStatusBar, QLabel
from novelwriter import CONFIG, SHARED
from novelwriter.common import formatTime
@@ -198,7 +198,7 @@ class GuiMainStatus(QStatusBar):
def setStatusMessage(self, message: str) -> None:
"""Set the status bar message to display."""
self.showMessage(message, nwConst.STATUS_MSG_TIMEOUT)
qApp.processEvents()
QApplication.processEvents()
return
@pyqtSlot(str, str)
@@ -240,7 +240,7 @@ class GuiMainStatus(QStatusBar):
import tracemalloc
from collections import Counter
widgets = qApp.allWidgets()
widgets = QApplication.allWidgets()
if not self._debugInfo:
if tracemalloc.is_tracing():
self._traceMallocRef = "Total"
+10 -10
View File
@@ -30,16 +30,16 @@ from math import ceil
from pathlib import Path
from PyQt5.QtCore import QSize, Qt
from PyQt5.QtWidgets import qApp
from PyQt5.QtGui import (
QPalette, QColor, QIcon, QFont, QFontMetrics, QFontDatabase, QPixmap
)
from PyQt5.QtWidgets import QApplication
from novelwriter import CONFIG
from novelwriter.enum import nwItemClass, nwItemLayout, nwItemType
from novelwriter.error import logException
from novelwriter.common import NWConfigParser, cssCol, minmax
from novelwriter.constants import nwLabels
from novelwriter.enum import nwItemClass, nwItemLayout, nwItemType
from novelwriter.error import logException
logger = logging.getLogger(__name__)
@@ -144,15 +144,15 @@ class GuiTheme:
self.getHeaderDecorationNarrow = self.iconCache.getHeaderDecorationNarrow
# Extract Other Info
self.guiDPI = qApp.primaryScreen().logicalDotsPerInchX()
self.guiScale = qApp.primaryScreen().logicalDotsPerInchX()/96.0
self.guiDPI = QApplication.primaryScreen().logicalDotsPerInchX()
self.guiScale = QApplication.primaryScreen().logicalDotsPerInchX()/96.0
CONFIG.guiScale = self.guiScale
logger.debug("GUI DPI: %.1f", self.guiDPI)
logger.debug("GUI Scale: %.2f", self.guiScale)
# Fonts
self.guiFont = qApp.font()
self.guiFontB = qApp.font()
self.guiFont = QApplication.font()
self.guiFontB = QApplication.font()
self.guiFontB.setBold(True)
qMetric = QFontMetrics(self.guiFont)
@@ -255,7 +255,7 @@ class GuiTheme:
self._setPalette(parser, sec, "link", QPalette.ColorRole.Link)
self._setPalette(parser, sec, "linkvisited", QPalette.ColorRole.LinkVisited)
else:
self._guiPalette = qApp.style().standardPalette()
self._guiPalette = QApplication.style().standardPalette()
# GUI
sec = "GUI"
@@ -284,7 +284,7 @@ class GuiTheme:
self.iconCache.loadTheme(self.themeIcons or defaultIcons)
# Apply Styles
qApp.setPalette(self._guiPalette)
QApplication.setPalette(self._guiPalette)
# Reset stylesheets so that they are regenerated
self._buildStyleSheets(self._guiPalette)
@@ -408,7 +408,7 @@ class GuiTheme:
font.setFamily(CONFIG.guiFont)
font.setPointSize(CONFIG.guiFontSize)
qApp.setFont(font)
QApplication.setFont(font)
return
+19 -19
View File
@@ -30,11 +30,11 @@ from time import time
from pathlib import Path
from datetime import datetime
from PyQt5.QtGui import QCloseEvent, QCursor, QIcon
from PyQt5.QtCore import Qt, QTimer, pyqtSlot
from PyQt5.QtGui import QCloseEvent, QCursor, QIcon
from PyQt5.QtWidgets import (
QFileDialog, QHBoxLayout, QMainWindow, QMessageBox, QShortcut, QSplitter,
QStackedWidget, QVBoxLayout, QWidget, qApp
QApplication, QFileDialog, QHBoxLayout, QMainWindow, QMessageBox, QShortcut, QSplitter,
QStackedWidget, QVBoxLayout, QWidget
)
from novelwriter import CONFIG, SHARED, __hexversion__, __version__
@@ -109,7 +109,7 @@ class GuiMain(QMainWindow):
nwIcon = CONFIG.assetPath("icons") / "novelwriter.svg"
self.nwIcon = QIcon(str(nwIcon)) if nwIcon.is_file() else QIcon()
self.setWindowIcon(self.nwIcon)
qApp.setWindowIcon(self.nwIcon)
QApplication.setWindowIcon(self.nwIcon)
# Build the GUI
# =============
@@ -328,7 +328,7 @@ class GuiMain(QMainWindow):
def postLaunchTasks(self, cmdOpen: str | None) -> None:
"""Process tasks after the main window has been created."""
if cmdOpen:
qApp.processEvents()
QApplication.processEvents()
logger.info("Command line path: %s", cmdOpen)
self.openProject(cmdOpen)
@@ -474,12 +474,12 @@ class GuiMain(QMainWindow):
break
if lastEdited is not None:
qApp.processEvents()
QApplication.processEvents()
self.openDocument(lastEdited, doScroll=True)
lastViewed = SHARED.project.data.getLastHandle("viewer")
if lastViewed is not None:
qApp.processEvents()
QApplication.processEvents()
self.viewDocument(lastViewed)
# Check if we need to rebuild the index
@@ -488,7 +488,7 @@ class GuiMain(QMainWindow):
self.rebuildIndex()
# Make sure the changed status is set to false on things opened
qApp.processEvents()
QApplication.processEvents()
self.docEditor.setDocumentChanged(False)
SHARED.project.setProjectChanged(False)
@@ -738,7 +738,7 @@ class GuiMain(QMainWindow):
"""Rebuild the entire index."""
if SHARED.hasProject:
logger.info("Rebuilding index ...")
qApp.setOverrideCursor(QCursor(Qt.WaitCursor))
QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
tStart = time()
self.projView.saveProjectTasks()
@@ -752,7 +752,7 @@ class GuiMain(QMainWindow):
)
self.docEditor.updateTagHighLighting()
self._updateStatusWordCount()
qApp.restoreOverrideCursor()
QApplication.restoreOverrideCursor()
if not beQuiet:
SHARED.info(self.tr("The project index has been successfully rebuilt."))
@@ -797,7 +797,7 @@ class GuiMain(QMainWindow):
dialog.setModal(True)
dialog.show()
dialog.raise_()
qApp.processEvents()
QApplication.processEvents()
dialog.updateValues()
return
@@ -810,7 +810,7 @@ class GuiMain(QMainWindow):
dialog.setModal(False)
dialog.show()
dialog.raise_()
qApp.processEvents()
QApplication.processEvents()
dialog.loadContent()
return
@@ -832,7 +832,7 @@ class GuiMain(QMainWindow):
dialog.setModal(False)
dialog.show()
dialog.raise_()
qApp.processEvents()
QApplication.processEvents()
dialog.populateGUI()
return
@@ -843,7 +843,7 @@ class GuiMain(QMainWindow):
dialog.setModal(True)
dialog.show()
dialog.raise_()
qApp.processEvents()
QApplication.processEvents()
dialog.populateGUI()
return
@@ -861,7 +861,7 @@ class GuiMain(QMainWindow):
dialog.setModal(True)
dialog.show()
dialog.raise_()
qApp.processEvents()
QApplication.processEvents()
if not dialog.initDialog():
dialog.close()
SHARED.error(self.tr("Could not initialise the dialog."))
@@ -909,7 +909,7 @@ class GuiMain(QMainWindow):
CONFIG.saveConfig()
self.reportConfErr()
qApp.quit()
QApplication.quit()
return True
@@ -1056,7 +1056,7 @@ class GuiMain(QMainWindow):
if theme:
# We are doing this manually instead of connecting to
# qApp.paletteChanged since the processing order matters
# paletteChanged since the processing order matters
SHARED.theme.loadTheme()
self.docEditor.updateTheme()
self.docViewer.updateTheme()
@@ -1115,7 +1115,7 @@ class GuiMain(QMainWindow):
@pyqtSlot(Path)
def _openProjectFromWelcome(self, path: Path) -> None:
"""Handle an open project request from the welcome dialog."""
qApp.processEvents()
QApplication.processEvents()
self.openProject(path)
if not SHARED.hasProject:
self.showWelcomeDialog()
@@ -1212,7 +1212,7 @@ class GuiMain(QMainWindow):
if SHARED.hasProject:
currTime = time()
editIdle = currTime - self.docEditor.lastActive > CONFIG.userIdleTime
userIdle = qApp.applicationState() != Qt.ApplicationActive
userIdle = QApplication.applicationState() != Qt.ApplicationActive
self.mainStatus.setUserIdle(editIdle or userIdle)
SHARED.updateIdleTime(currTime, editIdle or userIdle)
self.mainStatus.updateTime(idleTime=SHARED.projectIdleTime)
+4 -4
View File
@@ -28,11 +28,11 @@ import logging
from pathlib import Path
from zipfile import ZipFile
from PyQt5.QtGui import QCloseEvent, QTextCursor
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtGui import QCloseEvent, QTextCursor
from PyQt5.QtWidgets import (
QDialog, QDialogButtonBox, QFileDialog, QFrame, QHBoxLayout, QLabel,
QLineEdit, QPlainTextEdit, QPushButton, QVBoxLayout, QWidget, qApp
QApplication, QDialog, QDialogButtonBox, QFileDialog, QFrame, QHBoxLayout,
QLabel, QLineEdit, QPlainTextEdit, QPushButton, QVBoxLayout, QWidget
)
from novelwriter import CONFIG, SHARED
@@ -158,7 +158,7 @@ class GuiDictionaries(QDialog):
"Additional dictionaries found: {0}"
).format(len(self._currDicts)))
qApp.processEvents()
QApplication.processEvents()
self.adjustSize()
return True
+18 -18
View File
@@ -26,19 +26,19 @@ from __future__ import annotations
import json
import logging
from datetime import datetime
from time import time
from typing import TYPE_CHECKING
from datetime import datetime
from PyQt5.QtGui import QCloseEvent, QColor, QCursor, QFont, QPalette, QResizeEvent
from PyQt5.QtCore import QTimer, QUrl, Qt, pyqtSignal, pyqtSlot
from PyQt5.QtWidgets import (
QAbstractItemView, QDialog, QFormLayout, QGridLayout, QHBoxLayout, QLabel,
QListWidget, QListWidgetItem, QPushButton, QSizePolicy, QSplitter,
QStackedWidget, QTabWidget, QTextBrowser, QTreeWidget, QTreeWidgetItem,
QVBoxLayout, QWidget, qApp
)
from PyQt5.QtGui import QCloseEvent, QColor, QCursor, QFont, QPalette, QResizeEvent
from PyQt5.QtPrintSupport import QPrintPreviewDialog, QPrinter
from PyQt5.QtWidgets import (
QAbstractItemView, QApplication, QDialog, QFormLayout, QGridLayout,
QHBoxLayout, QLabel, QListWidget, QListWidgetItem, QPushButton,
QSizePolicy, QSplitter, QStackedWidget, QTabWidget, QTextBrowser,
QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget
)
from novelwriter import CONFIG, SHARED
from novelwriter.common import checkInt, fuzzyTime
@@ -352,7 +352,7 @@ class GuiManuscript(QDialog):
self.docPreview.beginNewBuild(len(docBuild))
for step, _ in docBuild.iterBuildHTML(None):
self.docPreview.buildStep(step + 1)
qApp.processEvents()
QApplication.processEvents()
buildObj = docBuild.lastBuild
assert isinstance(buildObj, ToHtml)
@@ -486,7 +486,7 @@ class GuiManuscript(QDialog):
dlgSettings.setModal(False)
dlgSettings.show()
dlgSettings.raise_()
qApp.processEvents()
QApplication.processEvents()
dlgSettings.loadContent()
dlgSettings.newSettingsReady.connect(self._processNewSettings)
@@ -850,16 +850,16 @@ class _PreviewWidget(QTextBrowser):
def buildStep(self, value: int) -> None:
"""Update the progress bar value."""
self.buildProgress.setValue(value)
qApp.processEvents()
QApplication.processEvents()
return
def setContent(self, data: dict) -> None:
"""Set the content of the preview widget."""
sPos = self.verticalScrollBar().value()
qApp.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
self.buildProgress.setCentreText(self.tr("Processing ..."))
qApp.processEvents()
QApplication.processEvents()
styles = "\n".join(data.get("styles", []))
self.document().setDefaultStyleSheet(styles)
@@ -867,7 +867,7 @@ class _PreviewWidget(QTextBrowser):
html = "".join(data.get("html", []))
html = html.replace("\t", "!!tab!!")
self.setHtml(html)
qApp.processEvents()
QApplication.processEvents()
while self.find("!!tab!!"):
cursor = self.textCursor()
cursor.insertText("\t")
@@ -881,8 +881,8 @@ class _PreviewWidget(QTextBrowser):
self.document().markContentsDirty(0, self.document().characterCount())
self.buildProgress.setCentreText(self.tr("Done"))
qApp.restoreOverrideCursor()
qApp.processEvents()
QApplication.restoreOverrideCursor()
QApplication.processEvents()
QTimer.singleShot(300, self._hideProgress)
return
@@ -904,10 +904,10 @@ class _PreviewWidget(QTextBrowser):
@pyqtSlot("QPrinter*")
def printPreview(self, printer: QPrinter) -> None:
"""Connect the print preview painter to the document viewer."""
qApp.setOverrideCursor(QCursor(Qt.WaitCursor))
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
printer.setOrientation(QPrinter.Portrait)
self.document().print(printer)
qApp.restoreOverrideCursor()
QApplication.restoreOverrideCursor()
return
@pyqtSlot(str)
+9 -9
View File
@@ -25,19 +25,19 @@ from __future__ import annotations
import logging
from pathlib import Path
from datetime import datetime
from pathlib import Path
from PyQt5.QtGui import QCloseEvent, QColor, QFont, QPaintEvent, QPainter, QPen
from PyQt5.QtCore import (
QAbstractListModel, QEvent, QModelIndex, QObject, QPoint, QSize, Qt,
pyqtSignal, pyqtSlot
)
from PyQt5.QtGui import QCloseEvent, QColor, QFont, QPaintEvent, QPainter, QPen
from PyQt5.QtWidgets import (
QAction, QDialog, QFileDialog, QFormLayout, QHBoxLayout, QLabel, QLineEdit,
QListView, QMenu, QPushButton, QScrollArea, QShortcut, QStackedWidget,
QStyle, QStyleOptionViewItem, QStyledItemDelegate, QVBoxLayout, QWidget,
qApp
QAction, QApplication, QDialog, QFileDialog, QFormLayout, QHBoxLayout,
QLabel, QLineEdit, QListView, QMenu, QPushButton, QScrollArea, QShortcut,
QStackedWidget, QStyle, QStyleOptionViewItem, QStyledItemDelegate,
QVBoxLayout, QWidget
)
from novelwriter import CONFIG, SHARED
@@ -411,11 +411,11 @@ class _ProjectListItem(QStyledItemDelegate):
self._pPx = (mPx//2, 3*mPx//2, iPx + mPx, mPx, mPx + tPx) # Painter coordinates
self._hPx = 2*mPx + tPx + fPx # Fixed height
self._tFont = qApp.font()
self._tFont = QApplication.font()
self._tFont.setPointSizeF(1.2*fPt)
self._tFont.setWeight(QFont.Weight.Bold)
self._dFont = qApp.font()
self._dFont = QApplication.font()
self._dFont.setPointSizeF(fPt)
self._dPen = QPen(SHARED.theme.helpText)
@@ -433,7 +433,7 @@ class _ProjectListItem(QStyledItemDelegate):
painter.save()
if opt.state & QStyle.StateFlag.State_Selected == QStyle.StateFlag.State_Selected:
painter.setOpacity(0.25)
painter.fillRect(rect, qApp.palette().highlight())
painter.fillRect(rect, QApplication.palette().highlight())
painter.setOpacity(1.0)
painter.drawPixmap(ix, rect.top() + iy, self._icon)
+6 -5
View File
@@ -29,11 +29,12 @@ import logging
from datetime import datetime
from typing import TYPE_CHECKING
from PyQt5.QtGui import QCloseEvent, QPixmap, QCursor
from PyQt5.QtCore import Qt, pyqtSlot
from PyQt5.QtGui import QCloseEvent, QCursor, QPixmap
from PyQt5.QtWidgets import (
qApp, QDialog, QTreeWidget, QTreeWidgetItem, QDialogButtonBox, QGridLayout,
QLabel, QGroupBox, QMenu, QAction, QFileDialog, QSpinBox, QHBoxLayout
QAction, QApplication, QDialog, QDialogButtonBox, QFileDialog, QGridLayout,
QGroupBox, QHBoxLayout, QLabel, QMenu, QSpinBox, QTreeWidget,
QTreeWidgetItem
)
from novelwriter import CONFIG, SHARED
@@ -301,10 +302,10 @@ class GuiWritingStats(QDialog):
def populateGUI(self) -> None:
"""Populate list box with data from the log file."""
qApp.setOverrideCursor(QCursor(Qt.WaitCursor))
QApplication.setOverrideCursor(QCursor(Qt.CursorShape.WaitCursor))
self._loadLogFile()
self._updateListBox()
qApp.restoreOverrideCursor()
QApplication.restoreOverrideCursor()
return
##