diff --git a/appveyor.yml b/appveyor.yml
index c31ba4f0c..6ceab3cca 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -31,7 +31,7 @@ install:
# Update pip
- python -m pip install --upgrade pip
# Install generic dependencies from pypi.
- - python -m pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml Mako mysql-connector-python pytest mock psycopg2-binary websockets waitress six requests QtAwesome PyQt6 PyQtWebEngine pymediainfo PyMuPDF QDarkStyle python-vlc flask-cors pytest-qt pyenchant pysword qrcode flask
+ - python -m pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml Mako mysql-connector-python pytest mock psycopg2-binary websockets waitress six requests QtAwesome PySide6 pymediainfo PyMuPDF QDarkStyle python-vlc flask-cors pytest-qt pyenchant pysword qrcode flask
# Install Windows only dependencies
- cmd: python -m pip install pyodbc pypiwin32
- cmd: choco install vlc %CHOCO_VLC_ARG% --no-progress --limit-output
diff --git a/openlp/core/api/deploy.py b/openlp/core/api/deploy.py
index 8d527ac06..7a9d0626c 100644
--- a/openlp/core/api/deploy.py
+++ b/openlp/core/api/deploy.py
@@ -27,7 +27,7 @@ import re
from datetime import date
from zipfile import ZipFile
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common.applocation import AppLocation
from openlp.core.common.httputils import download_file, get_web_page, get_openlp_user_agent
@@ -45,8 +45,8 @@ class RemoteVersionWorker(ThreadWorker):
A worker class to fetch the version of the web remote. This is run from within a thread so that it
doesn't affect the loading time of OpenLP.
"""
- new_version = QtCore.pyqtSignal(str)
- no_internet = QtCore.pyqtSignal()
+ new_version = QtCore.Signal(str)
+ no_internet = QtCore.Signal()
def __init__(self, current_version):
"""
diff --git a/openlp/core/api/tab.py b/openlp/core/api/tab.py
index 31a486485..e0ead0889 100644
--- a/openlp/core/api/tab.py
+++ b/openlp/core/api/tab.py
@@ -27,7 +27,7 @@ from qrcode.image.svg import SvgPathFillImage
from time import sleep
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.api.deploy import download_and_install, download_version_info, get_installed_version
from openlp.core.common import get_network_interfaces
diff --git a/openlp/core/api/versions/v1/core.py b/openlp/core/api/versions/v1/core.py
index 99f922356..f1af930b1 100644
--- a/openlp/core/api/versions/v1/core.py
+++ b/openlp/core/api/versions/v1/core.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
from flask import jsonify, Blueprint
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.api.lib import old_auth, old_success_response
from openlp.core.common.registry import Registry
diff --git a/openlp/core/api/versions/v2/core.py b/openlp/core/api/versions/v2/core.py
index d794faa1e..6f6fcb94b 100644
--- a/openlp/core/api/versions/v2/core.py
+++ b/openlp/core/api/versions/v2/core.py
@@ -21,7 +21,7 @@
import logging
from flask import jsonify, request, abort, Blueprint
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.api.lib import login_required
from openlp.core.common.registry import Registry
diff --git a/openlp/core/api/versions/v2/plugins.py b/openlp/core/api/versions/v2/plugins.py
index 380f45104..66661a477 100644
--- a/openlp/core/api/versions/v2/plugins.py
+++ b/openlp/core/api/versions/v2/plugins.py
@@ -24,7 +24,7 @@ import json
import re
from flask import abort, request, Blueprint, jsonify, Response
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.api.lib import login_required, extract_request, old_success_response, old_auth
from openlp.core.lib.plugin import PluginStatus
diff --git a/openlp/core/api/websockets.py b/openlp/core/api/websockets.py
index 03f1af0f6..74a394f24 100644
--- a/openlp/core/api/websockets.py
+++ b/openlp/core/api/websockets.py
@@ -30,7 +30,7 @@ from dataclasses import asdict, dataclass
from typing import Optional, Union
import time
-from PyQt6 import QtCore
+from PySide6 import QtCore
from websockets import serve
from openlp.core.common.mixins import LogMixin, RegistryProperties
@@ -207,7 +207,7 @@ class WebSocketServer(RegistryBase, RegistryProperties, QtCore.QObject, LogMixin
"""
Wrapper round a server instance
"""
- _send_message_signal = QtCore.pyqtSignal(WebSocketMessage)
+ _send_message_signal = QtCore.Signal(WebSocketMessage)
def __init__(self):
"""
@@ -231,7 +231,7 @@ class WebSocketServer(RegistryBase, RegistryProperties, QtCore.QObject, LogMixin
# Only hooking poller signals after all UI is available
Registry().register_function('bootstrap_completion', self.try_poller_hook_signals)
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def handle_poller_signal(self):
if self.worker is not None:
self.worker.add_state_to_queues(poller.get_state())
diff --git a/openlp/core/api/websocketspoll.py b/openlp/core/api/websocketspoll.py
index deacbc745..833c2aec7 100644
--- a/openlp/core/api/websocketspoll.py
+++ b/openlp/core/api/websocketspoll.py
@@ -18,7 +18,7 @@
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common.mixins import RegistryProperties
@@ -27,7 +27,7 @@ class WebSocketPoller(QtCore.QObject, RegistryProperties):
Accessed by web sockets to get status type information from the application
"""
- poller_changed = QtCore.pyqtSignal()
+ poller_changed = QtCore.Signal()
def __init__(self):
"""
@@ -67,9 +67,9 @@ class WebSocketPoller(QtCore.QObject, RegistryProperties):
except Exception:
pass
- @QtCore.pyqtSlot(list)
- @QtCore.pyqtSlot(str)
- @QtCore.pyqtSlot()
+ @QtCore.Slot(list)
+ @QtCore.Slot(str)
+ @QtCore.Slot()
def on_signal_received(self):
self._state = self.create_state()
self.poller_changed.emit()
diff --git a/openlp/core/app.py b/openlp/core/app.py
index c5ddb530a..889595ce1 100644
--- a/openlp/core/app.py
+++ b/openlp/core/app.py
@@ -35,7 +35,7 @@ from pathlib import Path
from shutil import copytree, move
from traceback import format_exception
-from PyQt6 import QtCore, QtWebEngineCore, QtWidgets # noqa
+from PySide6 import QtCore, QtWebEngineCore, QtWidgets # noqa
from openlp.core.api.deploy import check_for_remote_update
from openlp.core.common.applocation import AppLocation
@@ -423,7 +423,7 @@ def apply_dpi_adjustments_stage_application(hidpi_mode: HiDPIMode, application:
"""
if hidpi_mode == HiDPIMode.Default and is_win() and application.devicePixelRatio() > 1.0:
# Increasing font size to match pixel ratio (Windows only)
- # TODO: Review on PyQt6 migration
+ # TODO: Review on Qt6 migration
font = application.font()
font.setPointSizeF(font.pointSizeF() * application.devicePixelRatio())
application.setFont(font)
@@ -472,14 +472,14 @@ def main():
qt_args.extend(['-platform', 'windows:darkmode=1'])
elif is_macosx() and getattr(sys, 'frozen', False) and not os.environ.get('QTWEBENGINEPROCESS_PATH'):
# Work around an issue where PyInstaller is not setting this environment variable
- os.environ['QTWEBENGINEPROCESS_PATH'] = str(AppLocation.get_directory(AppLocation.AppDir) / 'PyQt6' / 'Qt6' /
+ os.environ['QTWEBENGINEPROCESS_PATH'] = str(AppLocation.get_directory(AppLocation.AppDir) / 'PySide6' / 'Qt6' /
'lib' / 'QtWebEngineCore.framework' / 'Versions' / '6' /
'Helpers' / 'QtWebEngineProcess.app' / 'Contents' / 'MacOS' /
'QtWebEngineProcess')
no_custom_factor_rounding = not ('QT_SCALE_FACTOR_ROUNDING_POLICY' in os.environ
and bool(os.environ['QT_SCALE_FACTOR_ROUNDING_POLICY'].strip()))
if no_custom_factor_rounding:
- # TODO Won't be needed on PyQt6
+ # TODO Won't be needed on PySide6
os.environ['QT_SCALE_FACTOR_ROUNDING_POLICY'] = 'PassThrough'
# Initialise the resources
qInitResources()
@@ -505,7 +505,7 @@ def main():
# Doing HiDPI adjustments that need to be done after QCoreApplication instantiation.
apply_dpi_adjustments_stage_application(hidpi_mode, application)
if no_custom_factor_rounding and hasattr(QtWidgets.QApplication, 'setHighDpiScaleFactorRoundingPolicy'):
- # TODO: Check won't be needed on PyQt6
+ # TODO: Check won't be needed on PySide6
application.setHighDpiScaleFactorRoundingPolicy(QtCore.Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
if is_win() and application.devicePixelRatio() > 1.0:
# Increasing font size to match pixel ratio (Windows only)
diff --git a/openlp/core/common/__init__.py b/openlp/core/common/__init__.py
index 584666d8a..7c48b1b49 100644
--- a/openlp/core/common/__init__.py
+++ b/openlp/core/common/__init__.py
@@ -31,9 +31,9 @@ import traceback
from ipaddress import IPv4Address, IPv6Address, AddressValueError
from shutil import which
-from PyQt6 import QtGui
-from PyQt6.QtCore import QCryptographicHash as QHash
-from PyQt6.QtNetwork import QAbstractSocket, QHostAddress, QNetworkInterface
+from PySide6 import QtGui
+from PySide6.QtCore import QCryptographicHash as QHash
+from PySide6.QtNetwork import QAbstractSocket, QHostAddress, QNetworkInterface
from chardet.universaldetector import UniversalDetector
log = logging.getLogger(__name__ + '.__init__')
@@ -284,7 +284,7 @@ def sha256_file_hash(filename):
def qmd5_hash(salt=None, data=None):
"""
Returns the hashed output of MD5Sum on salt, data
- using PyQt6.QCryptographicHash. Function returns a
+ using PySide6.QCryptographicHash. Function returns a
QByteArray instead of a text string.
If you need a string instead, call with
diff --git a/openlp/core/common/actions.py b/openlp/core/common/actions.py
index 973ea8ff7..380b1a8b7 100644
--- a/openlp/core/common/actions.py
+++ b/openlp/core/common/actions.py
@@ -24,7 +24,7 @@ by the shortcuts system.
"""
import logging
-from PyQt6 import QtCore, QtGui
+from PySide6 import QtCore, QtGui
from openlp.core.common.registry import Registry
diff --git a/openlp/core/common/handlers.py b/openlp/core/common/handlers.py
index 35b487ccf..0a43bbc74 100644
--- a/openlp/core/common/handlers.py
+++ b/openlp/core/common/handlers.py
@@ -26,7 +26,7 @@ from contextlib import contextmanager
from pathlib import Path
from typing import Optional
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
diff --git a/openlp/core/common/httputils.py b/openlp/core/common/httputils.py
index 73c9ba7cb..c8e7e9cb8 100644
--- a/openlp/core/common/httputils.py
+++ b/openlp/core/common/httputils.py
@@ -30,7 +30,7 @@ from random import randint
from tempfile import gettempdir
import requests
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common import trace_error_handler
from openlp.core.common.registry import Registry
@@ -249,8 +249,8 @@ class DownloadWorker(ThreadWorker):
"""
This worker allows a file to be downloaded in a thread
"""
- download_failed = QtCore.pyqtSignal()
- download_succeeded = QtCore.pyqtSignal(Path)
+ download_failed = QtCore.Signal()
+ download_succeeded = QtCore.Signal(Path)
def __init__(self, base_url, file_name):
"""
@@ -283,7 +283,7 @@ class DownloadWorker(ThreadWorker):
time.sleep(1)
self.quit.emit()
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def cancel_download(self):
"""
A slot to allow the download to be cancelled from outside of the thread
diff --git a/openlp/core/common/i18n.py b/openlp/core/common/i18n.py
index 939ccdcb2..fcc6369ae 100644
--- a/openlp/core/common/i18n.py
+++ b/openlp/core/common/i18n.py
@@ -27,7 +27,7 @@ import logging
import re
from collections import namedtuple
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common import Singleton
from openlp.core.common.applocation import AppLocation
diff --git a/openlp/core/common/platform.py b/openlp/core/common/platform.py
index cdaa9393a..222ee9421 100644
--- a/openlp/core/common/platform.py
+++ b/openlp/core/common/platform.py
@@ -110,7 +110,7 @@ def is_xorg_platform():
:return: True if the Qt is running on X.org/XWayland display server (Linux/*nix), otherwise False.
"""
- from PyQt6 import QtGui
+ from PySide6 import QtGui
return QtGui.QGuiApplication.platformName() == 'xcb'
@@ -120,5 +120,5 @@ def is_wayland_platform():
:return: True if the OpenLP/Qt instance is running in a Wayland compositor, otherwise False
"""
- from PyQt6 import QtGui
+ from PySide6 import QtGui
return QtGui.QGuiApplication.platformName() == 'wayland'
diff --git a/openlp/core/common/settings.py b/openlp/core/common/settings.py
index 4d92b02da..87f3a930d 100644
--- a/openlp/core/common/settings.py
+++ b/openlp/core/common/settings.py
@@ -29,7 +29,7 @@ from enum import IntEnum
from pathlib import Path
from tempfile import gettempdir
-from PyQt6 import QtCore, QtGui
+from PySide6 import QtCore, QtGui
from openlp.core.common import SlideLimits, ThemeLevel
from openlp.core.common.enum import AlertLocation, BibleSearch, CustomSearch, HiDPIMode, ImageThemeMode, LayoutStyle, \
diff --git a/openlp/core/display/render.py b/openlp/core/display/render.py
index 31ef78897..39b74034e 100644
--- a/openlp/core/display/render.py
+++ b/openlp/core/display/render.py
@@ -28,7 +28,7 @@ import math
import os
import re
-from PyQt6 import QtWidgets, QtGui
+from PySide6 import QtWidgets, QtGui
from openlp.core.common import ThemeLevel
from openlp.core.common.enum import ServiceItemType
diff --git a/openlp/core/display/screens.py b/openlp/core/display/screens.py
index 0c733bbc8..0322dcedc 100644
--- a/openlp/core/display/screens.py
+++ b/openlp/core/display/screens.py
@@ -26,7 +26,7 @@ import logging
import copy
from functools import cmp_to_key
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common import Singleton
from openlp.core.common.i18n import translate
diff --git a/openlp/core/display/webengine.py b/openlp/core/display/webengine.py
index fcab5ad66..4d8ee3ffe 100644
--- a/openlp/core/display/webengine.py
+++ b/openlp/core/display/webengine.py
@@ -25,7 +25,7 @@ Heavily inspired by https://stackoverflow.com/questions/33467776/qt-qwebengine-r
import logging
import os.path
-from PyQt6 import QtCore, QtWebEngineCore, QtWebEngineWidgets, QtWidgets
+from PySide6 import QtCore, QtWebEngineCore, QtWebEngineWidgets, QtWidgets
from typing import Tuple
from openlp.core.common import Singleton
@@ -68,7 +68,7 @@ class WebEngineView(QtWebEngineWidgets.QWebEngineView):
and set some attributtes.
"""
_child = None # QtWidgets.QOpenGLWidget or QWidget?
- delegatePaint = QtCore.pyqtSignal()
+ delegatePaint = QtCore.Signal()
def __init__(self, parent=None):
"""
diff --git a/openlp/core/display/window.py b/openlp/core/display/window.py
index 69b111bbd..a290acc09 100644
--- a/openlp/core/display/window.py
+++ b/openlp/core/display/window.py
@@ -27,7 +27,7 @@ import os
import copy
import re
-from PyQt6 import QtCore, QtWebChannel, QtWidgets
+from PySide6 import QtCore, QtWebChannel, QtWidgets
from openlp.core.common.enum import ServiceItemType
from openlp.core.common.i18n import translate
@@ -49,7 +49,7 @@ class DisplayWatcher(QtCore.QObject):
"""
This facilitates communication from the Display object in the browser back to the Python
"""
- initialised = QtCore.pyqtSignal(bool)
+ initialised = QtCore.Signal(bool)
def __init__(self, parent, window_title=None):
super().__init__()
@@ -59,11 +59,11 @@ class DisplayWatcher(QtCore.QObject):
self._event_counter = 0
self._window_title = window_title
- @QtCore.pyqtSlot(result=str)
+ @QtCore.Slot(result=str)
def getWindowTitle(self):
return self._window_title
- @QtCore.pyqtSlot(bool)
+ @QtCore.Slot(bool)
def setInitialised(self, is_initialised):
"""
This method is called from the JS in the browser to set the _is_initialised attribute
@@ -71,14 +71,14 @@ class DisplayWatcher(QtCore.QObject):
log.info('Display is initialised: {init}'.format(init=is_initialised))
self.initialised.emit(is_initialised)
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def pleaseRepaint(self):
"""
Called from the js in the webengine view when it's requesting a repaint by Qt
"""
self._display_window.webview.update()
- @QtCore.pyqtSlot(str, 'QJsonObject')
+ @QtCore.Slot(str, 'QJsonObject')
def dispatchEvent(self, event_name, event_data):
"""
Called from the js in the webengine view for event dispatches
@@ -562,13 +562,13 @@ class DisplayWindow(QtWidgets.QWidget, RegistryProperties, LogMixin):
"""
self._run_javascript('Display.alert("{text}", {settings});'.format(text=text, settings=settings))
- @QtCore.pyqtSlot(result='QPixmap')
+ @QtCore.Slot(result='QPixmap')
def _grab_screenshot_safe_signal(self):
return self.save_screenshot()
def grab_screenshot_safe(self):
# Using internal Qt's messaging/event system to invoke the function.
- # Usually we would need to use PyQt's signals, but they aren't blocking. So we had to resort to this solution,
+ # Usually we would need to use PySide's signals, but they aren't blocking. So we had to resort to this solution,
# which use a less-documented Qt mechanism to invoke the signal in a blocking way.
return QtCore.QMetaObject.invokeMethod(self, '_grab_screenshot_safe_signal',
QtCore.Qt.ConnectionType.BlockingQueuedConnection,
diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py
index 033678a98..39ab5e4b5 100644
--- a/openlp/core/lib/__init__.py
+++ b/openlp/core/lib/__init__.py
@@ -28,7 +28,7 @@ import base64
from enum import IntEnum
from pathlib import Path
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
diff --git a/openlp/core/lib/filelock.py b/openlp/core/lib/filelock.py
index eb83d84ad..8d646dbad 100644
--- a/openlp/core/lib/filelock.py
+++ b/openlp/core/lib/filelock.py
@@ -33,7 +33,7 @@ import time
from datetime import datetime
from threading import Timer
-from PyQt6 import QtWidgets # noqa
+from PySide6 import QtWidgets # noqa
from openlp.core.common.i18n import translate
diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py
index 5bf56c904..84ba70054 100644
--- a/openlp/core/lib/mediamanageritem.py
+++ b/openlp/core/lib/mediamanageritem.py
@@ -23,7 +23,7 @@ Provides the generic functions for interfacing plugins with the Media Manager.
"""
import re
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.common.mixins import LogMixin, RegistryProperties
diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py
index 2ce7f8ab8..9915bc1c2 100644
--- a/openlp/core/lib/pluginmanager.py
+++ b/openlp/core/lib/pluginmanager.py
@@ -23,7 +23,7 @@ Provide plugin management
"""
import os
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.state import State, MessageType
from openlp.core.common import extension_loader
diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py
index e46ed542e..d7a5a6e48 100644
--- a/openlp/core/lib/serviceitem.py
+++ b/openlp/core/lib/serviceitem.py
@@ -30,7 +30,7 @@ from copy import deepcopy
from pathlib import Path
from shutil import copytree, copy, move
-from PyQt6 import QtGui
+from PySide6 import QtGui
from openlp.core.common import ThemeLevel, sha256_file_hash
from openlp.core.common.applocation import AppLocation
diff --git a/openlp/core/lib/settingstab.py b/openlp/core/lib/settingstab.py
index d82906261..5de55d8ad 100644
--- a/openlp/core/lib/settingstab.py
+++ b/openlp/core/lib/settingstab.py
@@ -22,7 +22,7 @@
The :mod:`~openlp.core.lib.settingstab` module contains the base SettingsTab class which plugins use for adding their
own tab to the settings dialog.
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.mixins import RegistryProperties
diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py
index 8e403f5fb..f1b16ad9c 100644
--- a/openlp/core/lib/ui.py
+++ b/openlp/core/lib/ui.py
@@ -23,7 +23,7 @@ The :mod:`ui` module provides standard UI components for OpenLP.
"""
import logging
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.actions import ActionList
from openlp.core.common.i18n import UiStrings, translate
diff --git a/openlp/core/pages/__init__.py b/openlp/core/pages/__init__.py
index 0785bc6ad..9f0548236 100644
--- a/openlp/core/pages/__init__.py
+++ b/openlp/core/pages/__init__.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.core.pages` module contains wizard pages used in OpenLP
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
class GridLayoutPage(QtWidgets.QWizardPage):
diff --git a/openlp/core/pages/alignment.py b/openlp/core/pages/alignment.py
index b2289dccb..484e1d16f 100644
--- a/openlp/core/pages/alignment.py
+++ b/openlp/core/pages/alignment.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.core.pages.alignment` module contains the alignment page used in the theme wizard
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.theme import HorizontalType, VerticalType, TransitionType, TransitionSpeed, TransitionDirection
diff --git a/openlp/core/pages/areaposition.py b/openlp/core/pages/areaposition.py
index 3fec160df..fa183af8d 100644
--- a/openlp/core/pages/areaposition.py
+++ b/openlp/core/pages/areaposition.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.core.pages.areaposition` module contains the area position page used in the theme wizard
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.pages import GridLayoutPage
diff --git a/openlp/core/pages/background.py b/openlp/core/pages/background.py
index c06ce041e..61134c115 100644
--- a/openlp/core/pages/background.py
+++ b/openlp/core/pages/background.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.core.pages.background` module contains the background page used in the theme wizard
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common import get_images_filter
from openlp.core.common.i18n import UiStrings, translate
diff --git a/openlp/core/pages/fontselect.py b/openlp/core/pages/fontselect.py
index f0bf858e2..eee86cd27 100644
--- a/openlp/core/pages/fontselect.py
+++ b/openlp/core/pages/fontselect.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.core.pages.fontselect` module contains the font selection page used in the theme wizard
"""
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.pages import GridLayoutPage
@@ -39,19 +39,19 @@ class FontSelectPage(GridLayoutPage):
LineSpacing = 'line_spacing'
LetterSpacing = 'letter_spacing'
- font_name_changed = QtCore.pyqtSignal(str)
- font_size_changed = QtCore.pyqtSignal(int)
- font_color_changed = QtCore.pyqtSignal(str)
- is_bold_changed = QtCore.pyqtSignal(bool)
- is_italic_changed = QtCore.pyqtSignal(bool)
- line_spacing_changed = QtCore.pyqtSignal(int)
- letter_spacing_changed = QtCore.pyqtSignal(int)
- is_outline_enabled_changed = QtCore.pyqtSignal(bool)
- outline_color_changed = QtCore.pyqtSignal(str)
- outline_size_changed = QtCore.pyqtSignal(int)
- is_shadow_enabled_changed = QtCore.pyqtSignal(bool)
- shadow_color_changed = QtCore.pyqtSignal(str)
- shadow_size_changed = QtCore.pyqtSignal(int)
+ font_name_changed = QtCore.Signal(str)
+ font_size_changed = QtCore.Signal(int)
+ font_color_changed = QtCore.Signal(str)
+ is_bold_changed = QtCore.Signal(bool)
+ is_italic_changed = QtCore.Signal(bool)
+ line_spacing_changed = QtCore.Signal(int)
+ letter_spacing_changed = QtCore.Signal(int)
+ is_outline_enabled_changed = QtCore.Signal(bool)
+ outline_color_changed = QtCore.Signal(str)
+ outline_size_changed = QtCore.Signal(int)
+ is_shadow_enabled_changed = QtCore.Signal(bool)
+ shadow_color_changed = QtCore.Signal(str)
+ shadow_size_changed = QtCore.Signal(int)
def __init__(self, parent=None):
super().__init__(parent)
diff --git a/openlp/core/projectors/editform.py b/openlp/core/projectors/editform.py
index f6d0911b6..8e4faec3e 100644
--- a/openlp/core/projectors/editform.py
+++ b/openlp/core/projectors/editform.py
@@ -24,7 +24,7 @@ database.
"""
import logging
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common import verify_ip_address, Singleton
from openlp.core.common.i18n import translate
@@ -223,7 +223,7 @@ class ProjectorEditForm(QtWidgets.QDialog, Ui_ProjectorEditForm):
location = Column(String(30))
notes = Column(String(200))
"""
- updateProjectors = QtCore.pyqtSignal()
+ updateProjectors = QtCore.Signal()
def __init__(self, parent=None, projectordb=None):
self.parent = parent
@@ -265,7 +265,7 @@ class ProjectorEditForm(QtWidgets.QDialog, Ui_ProjectorEditForm):
reply = QtWidgets.QDialog.exec(self)
return reply
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def accept_me(self):
"""
Validate inputs before accepting.
@@ -343,14 +343,14 @@ class ProjectorEditForm(QtWidgets.QDialog, Ui_ProjectorEditForm):
self.projector = None
self.close()
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def help_me(self):
"""
Show a help message about the input fields.
"""
log.debug('help_me() signal received')
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def cancel_me(self):
"""
Cancel button clicked - just close.
diff --git a/openlp/core/projectors/manager.py b/openlp/core/projectors/manager.py
index 52f73a179..d3927f081 100644
--- a/openlp/core/projectors/manager.py
+++ b/openlp/core/projectors/manager.py
@@ -26,7 +26,7 @@ Provides the functions for the display/control of Projectors.
import logging
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import LogMixin, RegistryProperties
@@ -417,7 +417,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
Builds menu for 'Select Input' option, then calls the selected projector
item to change input source.
- :param opt: Needed by PyQt6
+ :param opt: Needed by PySide6
"""
self.get_settings() # In case the dialog interface setting was changed
list_item = self.projector_list_widget.item(self.projector_list_widget.currentRow())
@@ -443,7 +443,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
"""
Calls edit dialog to add a new projector to the database
- :param opt: Needed by PyQt6
+ :param opt: Needed by PySide6
"""
self.projector_form.exec()
@@ -490,7 +490,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
"""
Deletes a projector from the list and the database
- :param opt: Needed by PyQt6
+ :param opt: Needed by PySide6
"""
list_item = self.projector_list_widget.item(self.projector_list_widget.currentRow())
if list_item is None:
@@ -567,7 +567,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
"""
Calls edit dialog with selected projector to edit information
- :param opt: Needed by PyQt6
+ :param opt: Needed by PySide6
"""
list_item = self.projector_list_widget.item(self.projector_list_widget.currentRow())
projector = list_item.data(QtCore.Qt.ItemDataRole.UserRole)
@@ -621,7 +621,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
"""
Builds message box with projector status information
- :param opt: Needed by PyQt6
+ :param opt: Needed by PySide6
"""
lwi = self.projector_list_widget.item(self.projector_list_widget.currentRow())
projector = lwi.data(QtCore.Qt.ItemDataRole.UserRole)
@@ -701,7 +701,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
"""
Calls edit dialog as readonly with selected projector to show information
- :param opt: Needed by PyQt6
+ :param opt: Needed by PySide6
"""
list_item = self.projector_list_widget.item(self.projector_list_widget.currentRow())
projector = list_item.data(QtCore.Qt.ItemDataRole.UserRole)
@@ -752,19 +752,19 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
for item in self.projector_list:
log.debug(f'New projector list - item: ({item.pjlink.ip}) {item.pjlink.name}')
- @QtCore.pyqtSlot(str)
+ @QtCore.Slot(str)
def add_projector_from_wizard(self, ip, opts=None):
"""
Add a projector from the edit dialog
:param ip: IP address of new record item to find
- :param opts: Needed by PyQt6
+ :param opts: Needed by PySide6
"""
log.debug(f'add_projector_from_wizard(ip={ip})')
item = self.projectordb.get_projector_by_ip(ip)
self.add_projector(item)
- @QtCore.pyqtSlot(object)
+ @QtCore.Slot(object)
def edit_projector_from_wizard(self, projector):
"""
Update projector from the wizard edit page
@@ -809,7 +809,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
"""
return self.projector_list
- @QtCore.pyqtSlot(str, int, str)
+ @QtCore.Slot(str, int, str)
def update_status(self, ip, status=None, msg=None):
"""
Update the status information/icon for selected list item
@@ -846,7 +846,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
item.setVisible(False if hidden else True)
item.setEnabled(True if enabled else False)
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def update_icons(self):
"""
Update the icons when the selected projectors change
@@ -924,7 +924,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
self.get_toolbar_item('blank_projector_multiple', hidden=False, enabled=True)
self.get_toolbar_item('show_projector_multiple', hidden=False, enabled=True)
- @QtCore.pyqtSlot(str)
+ @QtCore.Slot(str)
def authentication_error(self, name):
"""
Display warning dialog when attempting to connect with invalid pin
@@ -938,7 +938,7 @@ class ProjectorManager(QtWidgets.QWidget, RegistryBase, UiProjectorManager, LogM
'
Please verify your PIN setting '
'for projector item "{name}"'.format(name=name))
- @QtCore.pyqtSlot(str)
+ @QtCore.Slot(str)
def no_authentication_error(self, name):
"""
Display warning dialog when pin saved for item but projector does not
diff --git a/openlp/core/projectors/pjlink.py b/openlp/core/projectors/pjlink.py
index 719856570..979121c1c 100644
--- a/openlp/core/projectors/pjlink.py
+++ b/openlp/core/projectors/pjlink.py
@@ -49,7 +49,7 @@ import logging
from codecs import decode
from copy import copy
-from PyQt6 import QtCore, QtNetwork
+from PySide6 import QtCore, QtNetwork
from openlp.core.common import qmd5_hash
from openlp.core.common.i18n import translate
@@ -81,7 +81,7 @@ class PJLinkUDP(QtNetwork.QUdpSocket):
Socket service for PJLink UDP socket.
"""
- data_received = QtCore.pyqtSignal(QtNetwork.QHostAddress, int, str, name='udp_data') # host, port, data
+ data_received = QtCore.Signal(QtNetwork.QHostAddress, int, str, name='udp_data') # host, port, data
def __init__(self, port=PJLINK_PORT):
"""
@@ -121,7 +121,7 @@ class PJLinkUDP(QtNetwork.QUdpSocket):
self.close()
self.readyRead.disconnect(self.get_datagram)
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def get_datagram(self):
"""
Retrieve packet and basic checks
@@ -153,7 +153,7 @@ class PJLinkUDP(QtNetwork.QUdpSocket):
# TODO: Send SRCH packet here
self.search_timer.singleShot(self.search_time, self.search_stop)
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def search_stop(self):
"""
Stop search
@@ -186,12 +186,12 @@ class PJLink(QtNetwork.QTcpSocket):
Socket services for PJLink TCP packets.
"""
# Signals sent by this module
- projectorChangeStatus = QtCore.pyqtSignal(str, int, str)
- projectorStatus = QtCore.pyqtSignal(int) # Status update
- projectorAuthentication = QtCore.pyqtSignal(str) # Authentication error
- projectorNoAuthentication = QtCore.pyqtSignal(str) # PIN set and no authentication needed
- projectorReceivedData = QtCore.pyqtSignal() # Notify when received data finished processing
- projectorUpdateIcons = QtCore.pyqtSignal() # Update the status icons on toolbar
+ projectorChangeStatus = QtCore.Signal(str, int, str)
+ projectorStatus = QtCore.Signal(int) # Status update
+ projectorAuthentication = QtCore.Signal(str) # Authentication error
+ projectorNoAuthentication = QtCore.Signal(str) # PIN set and no authentication needed
+ projectorReceivedData = QtCore.Signal() # Notify when received data finished processing
+ projectorUpdateIcons = QtCore.Signal() # Update the status icons on toolbar
# Deprecated
changeStatus = projectorChangeStatus # Use projectorChangeStatus
@@ -421,7 +421,7 @@ class PJLink(QtNetwork.QTcpSocket):
self.changeStatus.emit(self.ip, status, message)
self.projectorUpdateIcons.emit()
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def check_login(self, data=None):
"""
Processes the initial connection and convert to a PJLink packet if valid initial connection
@@ -481,7 +481,7 @@ class PJLink(QtNetwork.QTcpSocket):
log.debug(f'({self.entry.name}) Finished cleaning buffer - {trash_count} bytes dropped')
return
- @QtCore.pyqtSlot(QtNetwork.QHostAddress, int, str, name='udp_data') # host, port, data
+ @QtCore.Slot(QtNetwork.QHostAddress, int, str, name='udp_data') # host, port, data
def get_buffer(self, host, port, data):
"""
Get data from somewhere other than TCP socket
@@ -497,7 +497,7 @@ class PJLink(QtNetwork.QTcpSocket):
else:
log.debug(f'({self.entry.name}) Ignoring data for {host.toString()} - not me')
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def get_socket(self):
"""
Get data from TCP socket.
@@ -614,7 +614,7 @@ class PJLink(QtNetwork.QTcpSocket):
return
- @QtCore.pyqtSlot(QtNetwork.QAbstractSocket.SocketError)
+ @QtCore.Slot(QtNetwork.QAbstractSocket.SocketError)
def get_error(self, err):
"""
Process error from SocketError signal.
@@ -681,7 +681,7 @@ class PJLink(QtNetwork.QTcpSocket):
# May be some initial connection setup so make sure we send data
self._send_command()
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def _send_command(self, data=None, utf8=False):
"""
Socket interface to send data. If data=None, then check queue.
@@ -748,7 +748,7 @@ class PJLink(QtNetwork.QTcpSocket):
self.change_status(S_CONNECTING)
self.connectToHost(self.ip, self.port)
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def disconnect_from_host(self, abort=False):
"""
Close socket and cleanup.
diff --git a/openlp/core/projectors/sourceselectform.py b/openlp/core/projectors/sourceselectform.py
index b97413af7..fce2edd7f 100644
--- a/openlp/core/projectors/sourceselectform.py
+++ b/openlp/core/projectors/sourceselectform.py
@@ -25,7 +25,7 @@ Provides the dialog window for selecting video source for projector.
"""
import logging
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.platform import is_macosx
@@ -309,7 +309,7 @@ class SourceSelectTabs(QtWidgets.QDialog):
selected = super(SourceSelectTabs, self).exec()
return selected
- @QtCore.pyqtSlot(QtWidgets.QAbstractButton)
+ @QtCore.Slot(QtWidgets.QAbstractButton)
def button_clicked(self, button):
"""
Checks which button was clicked
@@ -456,7 +456,7 @@ class SourceSelectSingle(QtWidgets.QDialog):
selected = super(SourceSelectSingle, self).exec()
return selected
- @QtCore.pyqtSlot(QtWidgets.QAbstractButton)
+ @QtCore.Slot(QtWidgets.QAbstractButton)
def button_clicked(self, button):
"""
Checks which button was clicked
@@ -492,7 +492,7 @@ class SourceSelectSingle(QtWidgets.QDialog):
self.projectordb.delete_all_objects(ProjectorSource, ProjectorSource.projector_id == self.projector.db_item.id)
self.done(100)
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def accept_me(self):
"""
Slot to accept 'OK' button
diff --git a/openlp/core/projectors/tab.py b/openlp/core/projectors/tab.py
index 7ae1b71e7..2a7c201f7 100644
--- a/openlp/core/projectors/tab.py
+++ b/openlp/core/projectors/tab.py
@@ -23,7 +23,7 @@ The :mod:`openlp.core.ui.projector.tab` module provides the settings tab in the
"""
import logging
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.common.registry import Registry
diff --git a/openlp/core/resources.py b/openlp/core/resources.py
index b90dccad7..9b3879ea3 100644
--- a/openlp/core/resources.py
+++ b/openlp/core/resources.py
@@ -22,7 +22,7 @@
The :mod:`resources` module provides application images and icons in a central
store for use by OpenLP.
"""
-from PyQt6 import QtCore
+from PySide6 import QtCore
qt_resource_data = b"\
\x00\x00\x03\x2f\
diff --git a/openlp/core/server.py b/openlp/core/server.py
index 30215d73c..ff68c6fd0 100644
--- a/openlp/core/server.py
+++ b/openlp/core/server.py
@@ -21,7 +21,7 @@
from pathlib import Path
from typing import Optional
-from PyQt6 import QtCore, QtNetwork
+from PySide6 import QtCore, QtNetwork
from openlp.core.common.mixins import LogMixin
from openlp.core.common.registry import Registry
@@ -96,7 +96,7 @@ class Server(QtCore.QObject, LogMixin):
self.in_stream.setCodec('UTF-8')
self.in_socket.readyRead.connect(self._on_ready_read)
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def _on_ready_read(self):
"""
Read a record passed to the server and pass to the service manager to handle
diff --git a/openlp/core/threading.py b/openlp/core/threading.py
index 495f975f2..3bf7cb056 100644
--- a/openlp/core/threading.py
+++ b/openlp/core/threading.py
@@ -21,7 +21,7 @@
"""
The :mod:`openlp.core.threading` module contains some common threading code
"""
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common.mixins import LogMixin
from openlp.core.common.registry import Registry
@@ -31,8 +31,8 @@ class ThreadWorker(QtCore.QObject, LogMixin):
"""
The :class:`~openlp.core.threading.ThreadWorker` class provides a base class for all worker objects
"""
- quit = QtCore.pyqtSignal()
- error = QtCore.pyqtSignal(str, str)
+ quit = QtCore.Signal()
+ error = QtCore.Signal(str, str)
def start(self):
"""
diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py
index 99164739d..9319fbf4f 100644
--- a/openlp/core/ui/__init__.py
+++ b/openlp/core/ui/__init__.py
@@ -21,7 +21,7 @@
"""
The :mod:`ui` module provides the core user interface for OpenLP
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
class HideMode(object):
diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py
index 7bc381c46..448915bdb 100644
--- a/openlp/core/ui/aboutdialog.py
+++ b/openlp/core/ui/aboutdialog.py
@@ -20,7 +20,7 @@
##########################################################################
import datetime
-from PyQt6 import QtGui, QtWidgets
+from PySide6 import QtGui, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.ui import create_button, create_button_box
diff --git a/openlp/core/ui/aboutform.py b/openlp/core/ui/aboutform.py
index fe346830f..a59b4d3b9 100644
--- a/openlp/core/ui/aboutform.py
+++ b/openlp/core/ui/aboutform.py
@@ -23,7 +23,7 @@ The About dialog.
"""
import webbrowser
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.version import get_version
diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py
index 90ba6543f..17aaaac4a 100644
--- a/openlp/core/ui/advancedtab.py
+++ b/openlp/core/ui/advancedtab.py
@@ -23,7 +23,7 @@ The :mod:`advancedtab` provides an advanced settings facility.
"""
import logging
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.applocation import AppLocation
from openlp.core.common.i18n import UiStrings, translate
diff --git a/openlp/core/ui/confirmationdialog.py b/openlp/core/ui/confirmationdialog.py
index 3cec6aaca..5eb778e56 100644
--- a/openlp/core/ui/confirmationdialog.py
+++ b/openlp/core/ui/confirmationdialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtGui, QtWidgets
+from PySide6 import QtGui, QtWidgets
from openlp.core.ui.icons import UiIcons
diff --git a/openlp/core/ui/confirmationform.py b/openlp/core/ui/confirmationform.py
index c8808bd3f..61d37b6ea 100644
--- a/openlp/core/ui/confirmationform.py
+++ b/openlp/core/ui/confirmationform.py
@@ -28,7 +28,7 @@ It is implemented as a QDialog containing:
After instantiating a ConfirmationForm object the calling code must call exec() on the instance.
This runs the Qt dialog, which returns the usual 0 (for No) or 1 (for Yes)
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.ui.confirmationdialog import Ui_ConfirmationDialog
diff --git a/openlp/core/ui/exceptiondialog.py b/openlp/core/ui/exceptiondialog.py
index 37377bfdf..61b843c31 100644
--- a/openlp/core/ui/exceptiondialog.py
+++ b/openlp/core/ui/exceptiondialog.py
@@ -22,7 +22,7 @@
The GUI widgets of the exception dialog.
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button, create_button_box
diff --git a/openlp/core/ui/exceptionform.py b/openlp/core/ui/exceptionform.py
index 7e2ed94a2..3375dda67 100644
--- a/openlp/core/ui/exceptionform.py
+++ b/openlp/core/ui/exceptionform.py
@@ -26,7 +26,7 @@ import os
import platform
import re
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.common.mixins import RegistryProperties
diff --git a/openlp/core/ui/filerenamedialog.py b/openlp/core/ui/filerenamedialog.py
index 48c19e195..1fa8022d0 100644
--- a/openlp/core/ui/filerenamedialog.py
+++ b/openlp/core/ui/filerenamedialog.py
@@ -21,7 +21,7 @@
"""
The UI widgets for the rename dialog
"""
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/core/ui/filerenameform.py b/openlp/core/ui/filerenameform.py
index 68f9f4998..46276380a 100644
--- a/openlp/core/ui/filerenameform.py
+++ b/openlp/core/ui/filerenameform.py
@@ -21,7 +21,7 @@
"""
The file rename dialog.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import RegistryProperties
diff --git a/openlp/core/ui/firsttimeform.py b/openlp/core/ui/firsttimeform.py
index 730d29073..1adda317a 100644
--- a/openlp/core/ui/firsttimeform.py
+++ b/openlp/core/ui/firsttimeform.py
@@ -30,7 +30,7 @@ import urllib.request
from pathlib import Path
from tempfile import gettempdir
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.api.deploy import get_latest_size, download_and_install
from openlp.core.common import trace_error_handler
diff --git a/openlp/core/ui/firsttimelanguagedialog.py b/openlp/core/ui/firsttimelanguagedialog.py
index 3a62b6d29..65a203484 100644
--- a/openlp/core/ui/firsttimelanguagedialog.py
+++ b/openlp/core/ui/firsttimelanguagedialog.py
@@ -21,7 +21,7 @@
"""
The UI widgets of the language selection dialog.
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/core/ui/firsttimelanguageform.py b/openlp/core/ui/firsttimelanguageform.py
index f70990ca5..af07c4904 100644
--- a/openlp/core/ui/firsttimelanguageform.py
+++ b/openlp/core/ui/firsttimelanguageform.py
@@ -21,7 +21,7 @@
"""
The language selection dialog.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import LanguageManager
from openlp.core.lib.ui import create_action
diff --git a/openlp/core/ui/firsttimewizard.py b/openlp/core/ui/firsttimewizard.py
index d8cd1b161..a1cccc689 100644
--- a/openlp/core/ui/firsttimewizard.py
+++ b/openlp/core/ui/firsttimewizard.py
@@ -21,7 +21,7 @@
"""
The UI widgets for the first time wizard.
"""
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common import clean_button_text
from openlp.core.common.platform import is_macosx
diff --git a/openlp/core/ui/folders.py b/openlp/core/ui/folders.py
index 8609805b6..af8c5e3f8 100644
--- a/openlp/core/ui/folders.py
+++ b/openlp/core/ui/folders.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import get_natural_key, translate
from openlp.core.lib.ui import create_button_box, critical_error_message_box
diff --git a/openlp/core/ui/formattingtagdialog.py b/openlp/core/ui/formattingtagdialog.py
index ed69f84a6..f6fecad14 100644
--- a/openlp/core/ui/formattingtagdialog.py
+++ b/openlp/core/ui/formattingtagdialog.py
@@ -21,7 +21,7 @@
"""
The UI widgets for the formatting tags window.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/core/ui/formattingtagform.py b/openlp/core/ui/formattingtagform.py
index eb0495509..24a944a22 100644
--- a/openlp/core/ui/formattingtagform.py
+++ b/openlp/core/ui/formattingtagform.py
@@ -23,7 +23,7 @@ The :mod:`formattingtagform` provides an Tag Edit facility. The Base set are pro
Custom tags can be defined and saved. The Custom Tag arrays are saved in a json string so QSettings works on them.
Base Tags cannot be changed.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.formattingtags import FormattingTags
diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py
index 923f24497..e4f28d9eb 100644
--- a/openlp/core/ui/generaltab.py
+++ b/openlp/core/ui/generaltab.py
@@ -24,7 +24,7 @@ The general tab of the configuration dialog.
import logging
from pathlib import Path
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common import get_images_filter
from openlp.core.common.i18n import UiStrings, translate
diff --git a/openlp/core/ui/icons.py b/openlp/core/ui/icons.py
index 73afb16b1..ac16162c0 100644
--- a/openlp/core/ui/icons.py
+++ b/openlp/core/ui/icons.py
@@ -24,7 +24,7 @@ The :mod:`languages` module provides a list of icons.
import logging
import qtawesome as qta
-from PyQt6 import QtGui, QtWidgets
+from PySide6 import QtGui, QtWidgets
from openlp.core.common import Singleton
from openlp.core.common.applocation import AppLocation
diff --git a/openlp/core/ui/library.py b/openlp/core/ui/library.py
index 61bf370c1..32db01b14 100644
--- a/openlp/core/ui/library.py
+++ b/openlp/core/ui/library.py
@@ -25,7 +25,7 @@ import os
from pathlib import Path
from typing import Any, List, Optional, Union
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common import sha256_file_hash
from openlp.core.common.i18n import UiStrings, get_natural_key, translate
@@ -368,7 +368,7 @@ class FolderLibraryItem(MediaManagerItem):
"""
return [item.file_path, item.file_path]
- @QtCore.pyqtSlot(str, bool, result=list)
+ @QtCore.Slot(str, bool, result=list)
def search(self, string: str, show_error: bool = True) -> list[list[Any]]:
"""
Performs a search for items containing ``string``
diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py
index 7179f5744..ad9dd83b8 100644
--- a/openlp/core/ui/mainwindow.py
+++ b/openlp/core/ui/mainwindow.py
@@ -30,7 +30,7 @@ from pathlib import Path
from tempfile import gettempdir
from threading import Lock
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.api.http.server import HttpServer
from openlp.core.api.websockets import WebSocketServer
diff --git a/openlp/core/ui/media/mediacontroller.py b/openlp/core/ui/media/mediacontroller.py
index 59347e239..7526260ed 100644
--- a/openlp/core/ui/media/mediacontroller.py
+++ b/openlp/core/ui/media/mediacontroller.py
@@ -32,7 +32,7 @@ except ImportError:
pymediainfo_available = False
pymediainfo_version = '0.0'
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import LogMixin, RegistryProperties
@@ -62,10 +62,10 @@ class MediaController(QtWidgets.QWidget, RegistryBase, LogMixin, RegistryPropert
The implementation of the Media Controller which manages how media is played.
"""
- vlc_live_media_tick = QtCore.pyqtSignal()
- vlc_preview_media_tick = QtCore.pyqtSignal()
- vlc_live_media_stop = QtCore.pyqtSignal()
- vlc_preview_media_stop = QtCore.pyqtSignal()
+ vlc_live_media_tick = QtCore.Signal()
+ vlc_preview_media_tick = QtCore.Signal()
+ vlc_live_media_stop = QtCore.Signal()
+ vlc_preview_media_stop = QtCore.Signal()
def __init__(self, parent=None):
"""
diff --git a/openlp/core/ui/media/mediatab.py b/openlp/core/ui/media/mediatab.py
index 43b9743ea..cb03a1a0a 100644
--- a/openlp/core/ui/media/mediatab.py
+++ b/openlp/core/ui/media/mediatab.py
@@ -23,7 +23,7 @@ The :mod:`~openlp.core.ui.media.mediatab` module holds the configuration tab for
"""
import logging
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.settingstab import SettingsTab
diff --git a/openlp/core/ui/media/vlcplayer.py b/openlp/core/ui/media/vlcplayer.py
index f06527d95..c109d8c38 100644
--- a/openlp/core/ui/media/vlcplayer.py
+++ b/openlp/core/ui/media/vlcplayer.py
@@ -29,7 +29,7 @@ import threading
from datetime import datetime
from time import sleep
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import LogMixin
diff --git a/openlp/core/ui/media/vlcplayerpl.py b/openlp/core/ui/media/vlcplayerpl.py
index 676ccdcff..fcd8a96f9 100644
--- a/openlp/core/ui/media/vlcplayerpl.py
+++ b/openlp/core/ui/media/vlcplayerpl.py
@@ -27,7 +27,7 @@ import threading
from datetime import datetime
from time import sleep
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import LogMixin
diff --git a/openlp/core/ui/plugindialog.py b/openlp/core/ui/plugindialog.py
index 2d720bb7c..7171125d9 100644
--- a/openlp/core/ui/plugindialog.py
+++ b/openlp/core/ui/plugindialog.py
@@ -21,7 +21,7 @@
"""
The UI widgets of the plugin view dialog
#"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/core/ui/pluginform.py b/openlp/core/ui/pluginform.py
index d4d2e3b3f..762d77740 100644
--- a/openlp/core/ui/pluginform.py
+++ b/openlp/core/ui/pluginform.py
@@ -23,7 +23,7 @@ The actual plugin view form
"""
import logging
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.state import State
from openlp.core.common.i18n import translate
diff --git a/openlp/core/ui/printservicedialog.py b/openlp/core/ui/printservicedialog.py
index 698453aa7..8bc526a72 100644
--- a/openlp/core/ui/printservicedialog.py
+++ b/openlp/core/ui/printservicedialog.py
@@ -21,7 +21,7 @@
"""
The UI widgets of the print service dialog.
"""
-from PyQt6 import QtCore, QtPrintSupport, QtWidgets
+from PySide6 import QtCore, QtPrintSupport, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.ui.icons import UiIcons
diff --git a/openlp/core/ui/printserviceform.py b/openlp/core/ui/printserviceform.py
index bb216edae..ac8b96c38 100644
--- a/openlp/core/ui/printserviceform.py
+++ b/openlp/core/ui/printserviceform.py
@@ -25,7 +25,7 @@ import datetime
import html
import lxml.html
-from PyQt6 import QtCore, QtGui, QtPrintSupport, QtWidgets
+from PySide6 import QtCore, QtGui, QtPrintSupport, QtWidgets
from openlp.core.common.applocation import AppLocation
from openlp.core.common.i18n import UiStrings, translate
diff --git a/openlp/core/ui/screenstab.py b/openlp/core/ui/screenstab.py
index edf5443ad..c8392b957 100644
--- a/openlp/core/ui/screenstab.py
+++ b/openlp/core/ui/screenstab.py
@@ -21,7 +21,7 @@
"""
The screen settings tab in the configuration dialog
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.display.screens import ScreenList
diff --git a/openlp/core/ui/serviceitemeditdialog.py b/openlp/core/ui/serviceitemeditdialog.py
index 72b38a3e2..f46bc5c28 100644
--- a/openlp/core/ui/serviceitemeditdialog.py
+++ b/openlp/core/ui/serviceitemeditdialog.py
@@ -21,7 +21,7 @@
"""
The UI widgets for the service item edit dialog
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button, create_button_box
diff --git a/openlp/core/ui/serviceitemeditform.py b/openlp/core/ui/serviceitemeditform.py
index ad3b0c5f9..573e02c2e 100644
--- a/openlp/core/ui/serviceitemeditform.py
+++ b/openlp/core/ui/serviceitemeditform.py
@@ -21,7 +21,7 @@
"""
The service item edit dialog
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.mixins import RegistryProperties
from openlp.core.common.registry import Registry
diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py
index 7bdaf1523..61453e66b 100644
--- a/openlp/core/ui/servicemanager.py
+++ b/openlp/core/ui/servicemanager.py
@@ -30,7 +30,7 @@ from contextlib import suppress
from datetime import datetime, timedelta
from pathlib import Path
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common import ThemeLevel, delete_file, sha256_file_hash
from openlp.core.common.actions import ActionList, CategoryOrder
@@ -307,13 +307,13 @@ class ServiceManager(QtWidgets.QWidget, RegistryBase, Ui_ServiceManager, LogMixi
can then be zipped up with all the resources used into one OSZ or OSZL file for use on any OpenLP installation.
Also handles the UI tasks of moving things up and down etc.
"""
- servicemanager_set_item = QtCore.pyqtSignal(int)
- servicemanager_set_item_by_uuid = QtCore.pyqtSignal(str)
- servicemanager_next_item = QtCore.pyqtSignal()
- servicemanager_previous_item = QtCore.pyqtSignal()
- servicemanager_new_file = QtCore.pyqtSignal()
- servicemanager_changed = QtCore.pyqtSignal()
- theme_update_service = QtCore.pyqtSignal()
+ servicemanager_set_item = QtCore.Signal(int)
+ servicemanager_set_item_by_uuid = QtCore.Signal(str)
+ servicemanager_next_item = QtCore.Signal()
+ servicemanager_previous_item = QtCore.Signal()
+ servicemanager_new_file = QtCore.Signal()
+ servicemanager_changed = QtCore.Signal()
+ theme_update_service = QtCore.Signal()
def __init__(self, parent=None):
"""
diff --git a/openlp/core/ui/servicenoteform.py b/openlp/core/ui/servicenoteform.py
index 1c697d133..ca9ee5c9d 100644
--- a/openlp/core/ui/servicenoteform.py
+++ b/openlp/core/ui/servicenoteform.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.core.ui.servicenoteform` module contains the `ServiceNoteForm` class.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import RegistryProperties
diff --git a/openlp/core/ui/servicetab.py b/openlp/core/ui/servicetab.py
index 338a73284..8cdbe6ea1 100644
--- a/openlp/core/ui/servicetab.py
+++ b/openlp/core/ui/servicetab.py
@@ -24,7 +24,7 @@ The services tab of the configuration dialog.
import logging
from datetime import datetime, timedelta
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common import SlideLimits
from openlp.core.common.i18n import UiStrings, format_time, translate
diff --git a/openlp/core/ui/settingsdialog.py b/openlp/core/ui/settingsdialog.py
index 87a0f7981..6d16d1014 100644
--- a/openlp/core/ui/settingsdialog.py
+++ b/openlp/core/ui/settingsdialog.py
@@ -21,7 +21,7 @@
"""
The UI widgets of the settings dialog.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py
index adfa0b9a1..97bb7fce8 100644
--- a/openlp/core/ui/settingsform.py
+++ b/openlp/core/ui/settingsform.py
@@ -23,7 +23,7 @@ The :mod:`settingsform` provides a user interface for the OpenLP settings
"""
import logging
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.state import State
from openlp.core.api.tab import ApiTab
diff --git a/openlp/core/ui/shortcutlistdialog.py b/openlp/core/ui/shortcutlistdialog.py
index 272bbb02d..4f3bb4072 100644
--- a/openlp/core/ui/shortcutlistdialog.py
+++ b/openlp/core/ui/shortcutlistdialog.py
@@ -21,7 +21,7 @@
"""
The list of shortcuts within a dialog.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py
index 8e458a7f0..a24a437a0 100644
--- a/openlp/core/ui/shortcutlistform.py
+++ b/openlp/core/ui/shortcutlistform.py
@@ -24,7 +24,7 @@ The :mod:`~openlp.core.ui.shortcutlistform` module contains the form class
import logging
import re
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.actions import ActionList
from openlp.core.common.i18n import translate
diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py
index 323cb4391..2e91a1586 100644
--- a/openlp/core/ui/slidecontroller.py
+++ b/openlp/core/ui/slidecontroller.py
@@ -27,7 +27,7 @@ from collections import deque
from pathlib import Path
from threading import Lock
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common import SlideLimits
from openlp.core.common.actions import ActionList, CategoryOrder
@@ -104,7 +104,7 @@ class SlideController(QtWidgets.QWidget, LogMixin, RegistryProperties):
user uses to control the displaying of verses/slides/etc on the screen.
"""
- slidecontroller_changed = QtCore.pyqtSignal()
+ slidecontroller_changed = QtCore.Signal()
def __init__(self, *args, **kwargs):
"""
@@ -1333,7 +1333,7 @@ class SlideController(QtWidgets.QWidget, LogMixin, RegistryProperties):
slide_ready_time = self.slide_changed_time + datetime.timedelta(seconds=slide_delay_time)
return datetime.datetime.now() > slide_ready_time
- @QtCore.pyqtSlot(result=str)
+ @QtCore.Slot(result=str)
def grab_maindisplay(self) -> str:
"""
Gets the last taken screenshot
@@ -1627,10 +1627,10 @@ class PreviewController(RegistryBase, SlideController):
"""
Set up the Preview Controller.
"""
- slidecontroller_preview_set = QtCore.pyqtSignal(list)
- slidecontroller_preview_next = QtCore.pyqtSignal()
- slidecontroller_preview_previous = QtCore.pyqtSignal()
- slidecontroller_preview_clear = QtCore.pyqtSignal()
+ slidecontroller_preview_set = QtCore.Signal(list)
+ slidecontroller_preview_next = QtCore.Signal()
+ slidecontroller_preview_previous = QtCore.Signal()
+ slidecontroller_preview_clear = QtCore.Signal()
def __init__(self, *args, **kwargs):
"""
@@ -1659,14 +1659,14 @@ class LiveController(RegistryBase, SlideController):
"""
Set up the Live Controller.
"""
- slidecontroller_live_set = QtCore.pyqtSignal(list)
- slidecontroller_live_next = QtCore.pyqtSignal()
- slidecontroller_live_previous = QtCore.pyqtSignal()
- slidecontroller_toggle_display = QtCore.pyqtSignal(str)
- slidecontroller_live_clear = QtCore.pyqtSignal()
- mediacontroller_live_play = QtCore.pyqtSignal()
- mediacontroller_live_pause = QtCore.pyqtSignal()
- mediacontroller_live_stop = QtCore.pyqtSignal()
+ slidecontroller_live_set = QtCore.Signal(list)
+ slidecontroller_live_next = QtCore.Signal()
+ slidecontroller_live_previous = QtCore.Signal()
+ slidecontroller_toggle_display = QtCore.Signal(str)
+ slidecontroller_live_clear = QtCore.Signal()
+ mediacontroller_live_play = QtCore.Signal()
+ mediacontroller_live_pause = QtCore.Signal()
+ mediacontroller_live_stop = QtCore.Signal()
def __init__(self, *args, **kwargs):
"""
diff --git a/openlp/core/ui/splashscreen.py b/openlp/core/ui/splashscreen.py
index 1384c4a9b..c98fb63d5 100644
--- a/openlp/core/ui/splashscreen.py
+++ b/openlp/core/ui/splashscreen.py
@@ -22,7 +22,7 @@
The splash screen
"""
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
class SplashScreen(QtWidgets.QSplashScreen):
diff --git a/openlp/core/ui/starttimedialog.py b/openlp/core/ui/starttimedialog.py
index 630d1a199..c107b85f8 100644
--- a/openlp/core/ui/starttimedialog.py
+++ b/openlp/core/ui/starttimedialog.py
@@ -21,7 +21,7 @@
"""
The UI widgets for the time dialog
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/core/ui/starttimeform.py b/openlp/core/ui/starttimeform.py
index f8ec1e21e..40f8eb269 100644
--- a/openlp/core/ui/starttimeform.py
+++ b/openlp/core/ui/starttimeform.py
@@ -21,7 +21,7 @@
"""
The actual start time form.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.common.mixins import RegistryProperties
diff --git a/openlp/core/ui/style.py b/openlp/core/ui/style.py
index c3c1b5113..749d86bed 100644
--- a/openlp/core/ui/style.py
+++ b/openlp/core/ui/style.py
@@ -23,7 +23,7 @@ The :mod:`~openlp.core.ui.dark` module looks for and loads a dark theme
"""
from subprocess import Popen, PIPE
from enum import Enum
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.platform import is_macosx, is_win
from openlp.core.common.registry import Registry
diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py
index 4f0768dd7..5128f2098 100644
--- a/openlp/core/ui/themeform.py
+++ b/openlp/core/ui/themeform.py
@@ -23,7 +23,7 @@ The Theme wizard
"""
import logging
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common import is_not_image_file
from openlp.core.common.enum import ServiceItemType
diff --git a/openlp/core/ui/themelayoutdialog.py b/openlp/core/ui/themelayoutdialog.py
index 6ea2777d7..db6bfda5c 100644
--- a/openlp/core/ui/themelayoutdialog.py
+++ b/openlp/core/ui/themelayoutdialog.py
@@ -21,7 +21,7 @@
"""
The layout of the theme
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/core/ui/themelayoutform.py b/openlp/core/ui/themelayoutform.py
index 2085793df..ab8c54eba 100644
--- a/openlp/core/ui/themelayoutform.py
+++ b/openlp/core/ui/themelayoutform.py
@@ -21,7 +21,7 @@
"""
The form layout
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from .themelayoutdialog import Ui_ThemeLayoutDialog
diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py
index 1bb574620..5e8428a29 100644
--- a/openlp/core/ui/thememanager.py
+++ b/openlp/core/ui/thememanager.py
@@ -27,7 +27,7 @@ import zipfile
from pathlib import Path
from xml.etree.ElementTree import XML, ElementTree
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.state import State
from openlp.core.common import delete_file
@@ -143,8 +143,8 @@ class ThemeManager(QtWidgets.QWidget, RegistryBase, Ui_ThemeManager, LogMixin, R
Manages the orders of Theme.
"""
# These signals are used by the web api to update the theme on the ui thread
- theme_update_global = QtCore.pyqtSignal()
- theme_level_updated = QtCore.pyqtSignal()
+ theme_update_global = QtCore.Signal()
+ theme_level_updated = QtCore.Signal()
def __init__(self, parent=None):
"""
diff --git a/openlp/core/ui/themeprogressdialog.py b/openlp/core/ui/themeprogressdialog.py
index adfc2f4df..e5e43688f 100644
--- a/openlp/core/ui/themeprogressdialog.py
+++ b/openlp/core/ui/themeprogressdialog.py
@@ -18,7 +18,7 @@
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.display.render import ThemePreviewRenderer
diff --git a/openlp/core/ui/themeprogressform.py b/openlp/core/ui/themeprogressform.py
index 537278d22..ac44e5a5c 100644
--- a/openlp/core/ui/themeprogressform.py
+++ b/openlp/core/ui/themeprogressform.py
@@ -21,7 +21,7 @@
"""
The theme regeneration progress dialog
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.mixins import RegistryProperties, LogMixin
from openlp.core.common.utils import wait_for
diff --git a/openlp/core/ui/themestab.py b/openlp/core/ui/themestab.py
index ba9b853c3..5522865f7 100644
--- a/openlp/core/ui/themestab.py
+++ b/openlp/core/ui/themestab.py
@@ -21,7 +21,7 @@
"""
The Themes configuration tab
"""
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common import ThemeLevel
from openlp.core.common.i18n import UiStrings, translate
diff --git a/openlp/core/ui/themewizard.py b/openlp/core/ui/themewizard.py
index 53c127571..34229b656 100644
--- a/openlp/core/ui/themewizard.py
+++ b/openlp/core/ui/themewizard.py
@@ -21,7 +21,7 @@
"""
The Create/Edit theme wizard
"""
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.platform import is_macosx
diff --git a/openlp/core/version.py b/openlp/core/version.py
index 7faf6dd8c..01d56abf3 100644
--- a/openlp/core/version.py
+++ b/openlp/core/version.py
@@ -27,7 +27,7 @@ import sys
from collections import OrderedDict
from datetime import date
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common.applocation import AppLocation
from openlp.core.common.httputils import get_web_page
@@ -42,7 +42,7 @@ CONNECTION_TIMEOUT = 30
CONNECTION_RETRIES = 2
LIBRARIES = OrderedDict([
('Python', ('platform', 'python_version')),
- ('PyQt6', ('PyQt6.Qt', 'PYQT_VERSION_STR')),
+ ('PySide6', ('PySide6.Qt', 'PYQT_VERSION_STR')),
('SQLAlchemy', ('sqlalchemy',)),
('Alembic', ('alembic',)),
('BeautifulSoup', ('bs4',)),
@@ -63,8 +63,8 @@ class VersionWorker(ThreadWorker):
A worker class to fetch the version of OpenLP from the website. This is run from within a thread so that it
doesn't affect the loading time of OpenLP.
"""
- new_version = QtCore.pyqtSignal(str)
- no_internet = QtCore.pyqtSignal()
+ new_version = QtCore.Signal(str)
+ no_internet = QtCore.Signal()
def __init__(self, last_check_date, current_version):
"""
diff --git a/openlp/core/widgets/buttons.py b/openlp/core/widgets/buttons.py
index 31bb774df..fd4ece2ee 100644
--- a/openlp/core/widgets/buttons.py
+++ b/openlp/core/widgets/buttons.py
@@ -22,7 +22,7 @@
"""
Provide a custom widget based on QPushButton for the selection of colors
"""
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import translate
@@ -32,7 +32,7 @@ class ColorButton(QtWidgets.QPushButton):
Subclasses QPushbutton to create a "Color Chooser" button
"""
- colorChanged = QtCore.pyqtSignal(str)
+ colorChanged = QtCore.Signal(str)
def __init__(self, parent=None):
"""
diff --git a/openlp/core/widgets/dialogs.py b/openlp/core/widgets/dialogs.py
index 2409fb4ea..70916cc2e 100644
--- a/openlp/core/widgets/dialogs.py
+++ b/openlp/core/widgets/dialogs.py
@@ -21,7 +21,7 @@
""" Patch the QFileDialog so it accepts and returns Path objects"""
from pathlib import Path
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.path import path_to_str, replace_params, str_to_path
from openlp.core.common.i18n import UiStrings, translate
diff --git a/openlp/core/widgets/docks.py b/openlp/core/widgets/docks.py
index 14a1f9365..ac4cc9605 100644
--- a/openlp/core/widgets/docks.py
+++ b/openlp/core/widgets/docks.py
@@ -23,7 +23,7 @@ The :mod:`~openlp.core.widgets.docks` module contains a customised base dock wid
"""
import logging
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.display.screens import ScreenList
from openlp.core.lib import build_icon
diff --git a/openlp/core/widgets/edits.py b/openlp/core/widgets/edits.py
index 7b655dd98..b7aa5678f 100644
--- a/openlp/core/widgets/edits.py
+++ b/openlp/core/widgets/edits.py
@@ -25,7 +25,7 @@ import logging
import re
from pathlib import Path
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common import CONTROL_CHARS
from openlp.core.common.i18n import UiStrings, translate
@@ -53,8 +53,8 @@ class SearchEdit(QtWidgets.QLineEdit):
"""
This is a specialised QLineEdit with a "clear" button inside for searches.
"""
- searchTypeChanged = QtCore.pyqtSignal(QtCore.QVariant)
- cleared = QtCore.pyqtSignal()
+ searchTypeChanged = QtCore.Signal(int)
+ cleared = QtCore.Signal()
def __init__(self, parent, settings_section):
"""
@@ -170,7 +170,7 @@ class SearchEdit(QtWidgets.QLineEdit):
Internally implemented slot to react to when the text in the line edit has changed so that we can show or hide
the clear button.
- :param text: A :class:`~PyQt6.QtCore.QString` instance which represents the text in the line edit.
+ :param text: A :class:`~PySide6.QtCore.QString` instance which represents the text in the line edit.
"""
self.clear_button.setVisible(bool(text))
@@ -200,7 +200,7 @@ class PathEdit(QtWidgets.QWidget):
The :class:`~openlp.core.widgets.edits.PathEdit` class subclasses QWidget to create a custom widget for use when
a file or directory needs to be selected.
"""
- pathChanged = QtCore.pyqtSignal(Path)
+ pathChanged = QtCore.Signal(Path)
def __init__(self, parent=None, path_type=PathEditType.Files, default_path=None, dialog_caption=None,
show_revert=True):
@@ -246,7 +246,7 @@ class PathEdit(QtWidgets.QWidget):
self.line_edit.editingFinished.connect(self.on_line_edit_editing_finished)
self.update_button_tool_tips()
- @QtCore.pyqtProperty('QVariant')
+ @property
def path(self):
"""
A property getter method to return the selected path.
@@ -523,7 +523,7 @@ class SpellAction(QtGui.QAction):
"""
A special QAction that returns the text in a signal.
"""
- correct = QtCore.pyqtSignal(str)
+ correct = QtCore.Signal(str)
def __init__(self, *args):
"""
@@ -539,7 +539,7 @@ class HistoryComboBox(QtWidgets.QComboBox):
signal for when the :kbd:`Enter` or :kbd:`Return` keys are pressed, and saves anything that is typed into the edit
box into its list.
"""
- returnPressed = QtCore.pyqtSignal()
+ returnPressed = QtCore.Signal()
def __init__(self, parent=None):
"""
diff --git a/openlp/core/widgets/labels.py b/openlp/core/widgets/labels.py
index 086b7dbe1..841301174 100644
--- a/openlp/core/widgets/labels.py
+++ b/openlp/core/widgets/labels.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.core.widgets.labels` module contains specialised labels
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
class FormLabel(QtWidgets.QLabel):
diff --git a/openlp/core/widgets/layouts.py b/openlp/core/widgets/layouts.py
index 97f5cdff8..e4b160a4c 100644
--- a/openlp/core/widgets/layouts.py
+++ b/openlp/core/widgets/layouts.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.core.widgets.layouts` module contains customised layout classes
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
class AspectRatioLayout(QtWidgets.QLayout):
@@ -30,7 +30,7 @@ class AspectRatioLayout(QtWidgets.QLayout):
This is based on the C++ example here: https://gist.github.com/pavel-perina/1324ff064aedede0e01311aab315f83d
"""
- resize = QtCore.pyqtSignal(QtCore.QSize)
+ resize = QtCore.Signal(QtCore.QSize)
def __init__(self, parent=None, aspect_ratio=None):
"""
diff --git a/openlp/core/widgets/toolbar.py b/openlp/core/widgets/toolbar.py
index a84653079..948f47f50 100644
--- a/openlp/core/widgets/toolbar.py
+++ b/openlp/core/widgets/toolbar.py
@@ -24,7 +24,7 @@ Provide common toolbar handling for OpenLP
import datetime
import logging
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_widget_action
diff --git a/openlp/core/widgets/views.py b/openlp/core/widgets/views.py
index 8084b294b..13ec0fe8b 100644
--- a/openlp/core/widgets/views.py
+++ b/openlp/core/widgets/views.py
@@ -24,7 +24,7 @@ It is based on a QTableWidget but represents its contents in list form.
"""
from pathlib import Path
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import UiStrings
from openlp.core.common.mixins import RegistryProperties
@@ -78,7 +78,7 @@ class ListPreviewWidget(QtWidgets.QTableWidget, RegistryProperties):
:param parent:
:param screen_ratio:
"""
- resize_event = QtCore.pyqtSignal()
+ resize_event = QtCore.Signal()
def __init__(self, parent, screen_ratio):
"""
diff --git a/openlp/core/widgets/widgets.py b/openlp/core/widgets/widgets.py
index c7d764878..02a467c63 100644
--- a/openlp/core/widgets/widgets.py
+++ b/openlp/core/widgets/widgets.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.core.widgets.widgets` module contains custom widgets used in OpenLP
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.registry import Registry
@@ -403,7 +403,7 @@ class ScreenSelectionWidget(QtWidgets.QWidget):
self.use_screen_check_box.setVisible(True)
self.display_group_box.setVisible(False)
- @QtCore.pyqtSlot()
+ @QtCore.Slot()
def _on_identify_timer_shot(self):
for label in self.identify_labels:
label.hide()
diff --git a/openlp/core/widgets/wizard.py b/openlp/core/widgets/wizard.py
index d77878b59..1e746e72e 100644
--- a/openlp/core/widgets/wizard.py
+++ b/openlp/core/widgets/wizard.py
@@ -23,7 +23,7 @@ The :mod:``wizard`` module provides generic wizard tools for OpenLP.
"""
import logging
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import RegistryProperties
diff --git a/openlp/plugins/alerts/forms/alertdialog.py b/openlp/plugins/alerts/forms/alertdialog.py
index 52568136a..608d44fc5 100644
--- a/openlp/plugins/alerts/forms/alertdialog.py
+++ b/openlp/plugins/alerts/forms/alertdialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button, create_button_box
diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py
index 95eda3a74..1e2d8a4fe 100644
--- a/openlp/plugins/alerts/forms/alertform.py
+++ b/openlp/plugins/alerts/forms/alertform.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.common.i18n import translate
from openlp.core.common.registry import Registry
diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py
index d9a1fd0e8..a123ec4ea 100644
--- a/openlp/plugins/alerts/lib/alertsmanager.py
+++ b/openlp/plugins/alerts/lib/alertsmanager.py
@@ -24,7 +24,7 @@ displaying of alerts.
"""
import json
-from PyQt6 import QtCore, QtGui
+from PySide6 import QtCore, QtGui
from openlp.core.common.mixins import LogMixin, RegistryProperties
from openlp.core.common.registry import Registry, RegistryBase
@@ -35,7 +35,7 @@ class AlertsManager(QtCore.QObject, RegistryBase, LogMixin, RegistryProperties):
"""
AlertsManager manages the settings of Alerts.
"""
- alerts_text = QtCore.pyqtSignal(list)
+ alerts_text = QtCore.Signal(list)
def __init__(self, parent):
super(AlertsManager, self).__init__()
diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py
index a3a6ced36..8b5efc604 100644
--- a/openlp/plugins/alerts/lib/alertstab.py
+++ b/openlp/plugins/alerts/lib/alertstab.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtGui, QtWidgets
+from PySide6 import QtGui, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.settingstab import SettingsTab
diff --git a/openlp/plugins/bibles/forms/bibleimportform.py b/openlp/plugins/bibles/forms/bibleimportform.py
index a91f01c27..ea991333d 100644
--- a/openlp/plugins/bibles/forms/bibleimportform.py
+++ b/openlp/plugins/bibles/forms/bibleimportform.py
@@ -25,7 +25,7 @@ import logging
import urllib.error
from lxml import etree
-from PyQt6 import QtWidgets, QtGui, QtCore
+from PySide6 import QtWidgets, QtGui, QtCore
try:
from pysword import modules
diff --git a/openlp/plugins/bibles/forms/booknamedialog.py b/openlp/plugins/bibles/forms/booknamedialog.py
index ae0d33343..1b10d790c 100644
--- a/openlp/plugins/bibles/forms/booknamedialog.py
+++ b/openlp/plugins/bibles/forms/booknamedialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/bibles/forms/booknameform.py b/openlp/plugins/bibles/forms/booknameform.py
index 87968d683..10e0639d9 100644
--- a/openlp/plugins/bibles/forms/booknameform.py
+++ b/openlp/plugins/bibles/forms/booknameform.py
@@ -25,8 +25,8 @@ Module implementing BookNameForm.
import logging
import re
-from PyQt6 import QtCore
-from PyQt6.QtWidgets import QDialog
+from PySide6 import QtCore
+from PySide6.QtWidgets import QDialog
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import critical_error_message_box
diff --git a/openlp/plugins/bibles/forms/editbibledialog.py b/openlp/plugins/bibles/forms/editbibledialog.py
index 3387ecda2..9caf41223 100644
--- a/openlp/plugins/bibles/forms/editbibledialog.py
+++ b/openlp/plugins/bibles/forms/editbibledialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.enum import LanguageSelection
from openlp.core.common.i18n import translate
diff --git a/openlp/plugins/bibles/forms/editbibleform.py b/openlp/plugins/bibles/forms/editbibleform.py
index 90024c86e..c024ab58a 100644
--- a/openlp/plugins/bibles/forms/editbibleform.py
+++ b/openlp/plugins/bibles/forms/editbibleform.py
@@ -22,7 +22,7 @@
import logging
import re
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.common.mixins import RegistryProperties
diff --git a/openlp/plugins/bibles/forms/languagedialog.py b/openlp/plugins/bibles/forms/languagedialog.py
index 96c6cf4c0..f2d1c1fc1 100644
--- a/openlp/plugins/bibles/forms/languagedialog.py
+++ b/openlp/plugins/bibles/forms/languagedialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/bibles/forms/languageform.py b/openlp/plugins/bibles/forms/languageform.py
index de9c45072..375f058f0 100644
--- a/openlp/plugins/bibles/forms/languageform.py
+++ b/openlp/plugins/bibles/forms/languageform.py
@@ -24,8 +24,8 @@ Module implementing LanguageForm.
"""
import logging
-from PyQt6 import QtCore
-from PyQt6.QtWidgets import QDialog
+from PySide6 import QtCore
+from PySide6.QtWidgets import QDialog
from openlp.core.common.i18n import LANGUAGES, translate
from openlp.core.lib.ui import critical_error_message_box
diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py
index fb773015d..8923cb48e 100644
--- a/openlp/plugins/bibles/lib/biblestab.py
+++ b/openlp/plugins/bibles/lib/biblestab.py
@@ -21,7 +21,7 @@
import logging
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.enum import DisplayStyle, LanguageSelection, LayoutStyle
from openlp.core.common.i18n import UiStrings, translate
diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py
index e4805dcc2..374d8dce0 100644
--- a/openlp/plugins/bibles/lib/db.py
+++ b/openlp/plugins/bibles/lib/db.py
@@ -26,7 +26,7 @@ from pathlib import Path
from typing import Any, List, Optional, Tuple
import chardet
-from PyQt6 import QtCore
+from PySide6 import QtCore
from sqlalchemy import Column, ForeignKey, func, or_
from sqlalchemy.exc import OperationalError
from sqlalchemy.orm import Session, declarative_base, relationship
diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py
index 234805d5e..08d3d1def 100755
--- a/openlp/plugins/bibles/lib/mediaitem.py
+++ b/openlp/plugins/bibles/lib/mediaitem.py
@@ -24,7 +24,7 @@ import re
from enum import IntEnum, unique
from typing import Any
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.enum import BibleSearch, DisplayStyle, LayoutStyle
from openlp.core.common.i18n import UiStrings, get_locale_key, translate
@@ -86,8 +86,8 @@ class BibleMediaItem(MediaManagerItem):
"""
This is the custom media manager item for Bibles.
"""
- bibles_go_live = QtCore.pyqtSignal(list)
- bibles_add_to_service = QtCore.pyqtSignal(list)
+ bibles_go_live = QtCore.Signal(list)
+ bibles_add_to_service = QtCore.Signal(list)
log.info('Bible Media Item loaded')
def __init__(self, *args, **kwargs):
@@ -1074,7 +1074,7 @@ class BibleMediaItem(MediaManagerItem):
else:
return False
- @QtCore.pyqtSlot(str, bool, result=list)
+ @QtCore.Slot(str, bool, result=list)
def search(self, string: str, show_error: bool = True) -> list[list[Any]]:
"""
Search for some Bible verses (by reference).
diff --git a/openlp/plugins/bibles/lib/upgrade.py b/openlp/plugins/bibles/lib/upgrade.py
index 7f1313826..3b92bc38c 100644
--- a/openlp/plugins/bibles/lib/upgrade.py
+++ b/openlp/plugins/bibles/lib/upgrade.py
@@ -23,7 +23,7 @@ The :mod:`upgrade` module provides a way for the database and schema that is the
"""
import logging
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from sqlalchemy import Table
from sqlalchemy.sql.expression import delete, select
diff --git a/openlp/plugins/custom/forms/editcustomdialog.py b/openlp/plugins/custom/forms/editcustomdialog.py
index f7966e10b..e96347345 100644
--- a/openlp/plugins/custom/forms/editcustomdialog.py
+++ b/openlp/plugins/custom/forms/editcustomdialog.py
@@ -18,7 +18,7 @@
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.ui import create_button, create_button_box
diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py
index f1d7a30ed..284dd5a04 100644
--- a/openlp/plugins/custom/forms/editcustomform.py
+++ b/openlp/plugins/custom/forms/editcustomform.py
@@ -21,7 +21,7 @@
import logging
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.common.i18n import translate
from openlp.core.common.registry import Registry
diff --git a/openlp/plugins/custom/forms/editcustomslidedialog.py b/openlp/plugins/custom/forms/editcustomslidedialog.py
index d1ca2a0ec..eff2740fb 100644
--- a/openlp/plugins/custom/forms/editcustomslidedialog.py
+++ b/openlp/plugins/custom/forms/editcustomslidedialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.ui import create_button, create_button_box
diff --git a/openlp/plugins/custom/forms/editcustomslideform.py b/openlp/plugins/custom/forms/editcustomslideform.py
index 431932b42..282592c44 100644
--- a/openlp/plugins/custom/forms/editcustomslideform.py
+++ b/openlp/plugins/custom/forms/editcustomslideform.py
@@ -21,7 +21,7 @@
import logging
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from .editcustomslidedialog import Ui_CustomSlideEditDialog
diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py
index 6aff9f34f..a603d95df 100644
--- a/openlp/plugins/custom/lib/customtab.py
+++ b/openlp/plugins/custom/lib/customtab.py
@@ -22,7 +22,7 @@
The :mod:`~openlp.plugins.custom.lib.customtab` module contains the settings tab
for the Custom Slides plugin, which is inserted into the configuration dialog.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.settingstab import SettingsTab
diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py
index 52992dce5..72b414d8d 100644
--- a/openlp/plugins/custom/lib/mediaitem.py
+++ b/openlp/plugins/custom/lib/mediaitem.py
@@ -21,7 +21,7 @@
import logging
from typing import Any
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from sqlalchemy.sql import and_, func, or_
from openlp.core.common.enum import CustomSearch
@@ -45,8 +45,8 @@ class CustomMediaItem(MediaManagerItem):
"""
This is the custom media manager item for Custom Slides.
"""
- custom_go_live = QtCore.pyqtSignal(list)
- custom_add_to_service = QtCore.pyqtSignal(list)
+ custom_go_live = QtCore.Signal(list)
+ custom_add_to_service = QtCore.Signal(list)
log.info('Custom Media Item loaded')
def __init__(self, parent, plugin):
@@ -348,7 +348,7 @@ class CustomMediaItem(MediaManagerItem):
self.search_text_edit.clear()
self.on_search_text_button_clicked()
- @QtCore.pyqtSlot(str, bool, result=list)
+ @QtCore.Slot(str, bool, result=list)
def search(self, string: str, show_error: bool = True) -> list[list[Any]]:
"""
Search the database for a given item.
diff --git a/openlp/plugins/images/forms/addgroupform.py b/openlp/plugins/images/forms/addgroupform.py
index a1299eb43..5fec41e1e 100644
--- a/openlp/plugins/images/forms/addgroupform.py
+++ b/openlp/plugins/images/forms/addgroupform.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import critical_error_message_box
diff --git a/openlp/plugins/images/forms/choosegroupdialog.py b/openlp/plugins/images/forms/choosegroupdialog.py
index 5cd16d19a..b44e9df4e 100644
--- a/openlp/plugins/images/forms/choosegroupdialog.py
+++ b/openlp/plugins/images/forms/choosegroupdialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/images/forms/choosegroupform.py b/openlp/plugins/images/forms/choosegroupform.py
index 085e4a790..57754341e 100644
--- a/openlp/plugins/images/forms/choosegroupform.py
+++ b/openlp/plugins/images/forms/choosegroupform.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.plugins.images.forms.choosegroupdialog import Ui_ChooseGroupDialog
diff --git a/openlp/plugins/images/lib/imagetab.py b/openlp/plugins/images/lib/imagetab.py
index ab706947c..f146d1a82 100644
--- a/openlp/plugins/images/lib/imagetab.py
+++ b/openlp/plugins/images/lib/imagetab.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.registry import Registry
diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py
index c3ab36019..d71bd2abe 100644
--- a/openlp/plugins/images/lib/mediaitem.py
+++ b/openlp/plugins/images/lib/mediaitem.py
@@ -22,7 +22,7 @@
import logging
from pathlib import Path
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common import delete_file, get_images_filter
from openlp.core.common.applocation import AppLocation
@@ -46,8 +46,8 @@ class ImageMediaItem(FolderLibraryItem):
"""
This is the custom media manager item for images.
"""
- images_go_live = QtCore.pyqtSignal(list)
- images_add_to_service = QtCore.pyqtSignal(list)
+ images_go_live = QtCore.Signal(list)
+ images_add_to_service = QtCore.Signal(list)
log.info('Image Media Item loaded')
def __init__(self, parent, plugin):
diff --git a/openlp/plugins/media/forms/__init__.py b/openlp/plugins/media/forms/__init__.py
index d5b8d62b3..310d3d1e7 100644
--- a/openlp/plugins/media/forms/__init__.py
+++ b/openlp/plugins/media/forms/__init__.py
@@ -21,7 +21,7 @@
import re
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import critical_error_message_box
diff --git a/openlp/plugins/media/forms/mediaclipselectordialog.py b/openlp/plugins/media/forms/mediaclipselectordialog.py
index 9479daad0..5519e2077 100644
--- a/openlp/plugins/media/forms/mediaclipselectordialog.py
+++ b/openlp/plugins/media/forms/mediaclipselectordialog.py
@@ -20,7 +20,7 @@
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.ui.icons import UiIcons
diff --git a/openlp/plugins/media/forms/mediaclipselectorform.py b/openlp/plugins/media/forms/mediaclipselectorform.py
index 4c9260d23..d587adf3a 100644
--- a/openlp/plugins/media/forms/mediaclipselectorform.py
+++ b/openlp/plugins/media/forms/mediaclipselectorform.py
@@ -25,7 +25,7 @@ from datetime import datetime
from pathlib import Path
from time import sleep
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import RegistryProperties
@@ -179,7 +179,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
return True
- @QtCore.pyqtSlot(bool)
+ @QtCore.Slot(bool)
def on_load_disc_button_clicked(self, clicked):
"""
Load the media when the load-button has been clicked
@@ -271,7 +271,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
log.debug('load_disc_button end - '
'vlc_media_player state: {state}'.format(state=self.vlc_media_player.get_state()))
- @QtCore.pyqtSlot(bool)
+ @QtCore.Slot(bool)
def on_play_button_clicked(self, clicked):
"""
Toggle the playback
@@ -287,7 +287,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
self.media_state_wait(vlc.State.Playing)
self.play_button.setIcon(self.pause_icon)
- @QtCore.pyqtSlot(bool)
+ @QtCore.Slot(bool)
def on_set_start_button_clicked(self, clicked):
"""
Copy the current player position to start_position_edit
@@ -303,7 +303,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
if end_time < new_pos_time:
self.end_timeedit.setTime(new_pos_time)
- @QtCore.pyqtSlot(bool)
+ @QtCore.Slot(bool)
def on_set_end_button_clicked(self, clicked):
"""
Copy the current player position to end_timeedit
@@ -319,7 +319,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
if start_time > new_pos_time:
self.start_position_edit.setTime(new_pos_time)
- @QtCore.pyqtSlot(QtCore.QTime)
+ @QtCore.Slot(QtCore.QTime)
def on_start_timeedit_timeChanged(self, new_time):
"""
Called when start_position_edit is changed manually
@@ -331,7 +331,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
if end_time < new_time:
self.end_timeedit.setTime(new_time)
- @QtCore.pyqtSlot(QtCore.QTime)
+ @QtCore.Slot(QtCore.QTime)
def on_end_timeedit_timeChanged(self, new_time):
"""
Called when end_timeedit is changed manually
@@ -343,7 +343,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
if start_time > new_time:
self.start_position_edit.setTime(new_time)
- @QtCore.pyqtSlot(bool)
+ @QtCore.Slot(bool)
def on_jump_end_button_clicked(self, clicked):
"""
Set the player position to the position stored in end_timeedit
@@ -357,7 +357,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
end_time.msec()
self.vlc_media_player.set_time(end_time_ms)
- @QtCore.pyqtSlot(bool)
+ @QtCore.Slot(bool)
def on_jump_start_button_clicked(self, clicked):
"""
Set the player position to the position stored in start_position_edit
@@ -371,7 +371,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
start_time.msec()
self.vlc_media_player.set_time(start_time_ms)
- @QtCore.pyqtSlot(int)
+ @QtCore.Slot(int)
def on_titles_combo_box_currentIndexChanged(self, index):
"""
When a new title is chosen, it is loaded by VLC and info about audio and subtitle tracks is reloaded
@@ -463,7 +463,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
'vlc_media_player state: {state}'.format(state=self.vlc_media_player.get_state()))
self.application.set_normal_cursor()
- @QtCore.pyqtSlot(int)
+ @QtCore.Slot(int)
def on_audio_tracks_combobox_currentIndexChanged(self, index):
"""
When a new audio track is chosen update audio track bing played by VLC
@@ -478,7 +478,7 @@ class MediaClipSelectorForm(QtWidgets.QDialog, Ui_MediaClipSelector, RegistryPro
if audio_track and int(audio_track) > 0:
self.vlc_media_player.audio_set_track(int(audio_track))
- @QtCore.pyqtSlot(int)
+ @QtCore.Slot(int)
def on_subtitle_tracks_combobox_currentIndexChanged(self, index):
"""
When a new subtitle track is chosen update subtitle track bing played by VLC
diff --git a/openlp/plugins/media/forms/networkstreamselectorform.py b/openlp/plugins/media/forms/networkstreamselectorform.py
index 7330697c0..353c76bfd 100644
--- a/openlp/plugins/media/forms/networkstreamselectorform.py
+++ b/openlp/plugins/media/forms/networkstreamselectorform.py
@@ -22,7 +22,7 @@
import logging
import re
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.plugins.media.forms import StreamSelectorFormBase, VLCOptionsWidget
diff --git a/openlp/plugins/media/forms/streamselectordialog.py b/openlp/plugins/media/forms/streamselectordialog.py
index 8cee6f835..f97bff799 100644
--- a/openlp/plugins/media/forms/streamselectordialog.py
+++ b/openlp/plugins/media/forms/streamselectordialog.py
@@ -29,8 +29,8 @@
import glob
import re
-from PyQt6 import QtCore, QtWidgets
-from PyQt6.QtMultimedia import QMediaDevices
+from PySide6 import QtCore, QtWidgets
+from PySide6.QtMultimedia import QMediaDevices
from openlp.core.common.i18n import translate
from openlp.core.common.platform import is_linux, is_macosx, is_win
diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py
index 421771a66..d34cccb06 100644
--- a/openlp/plugins/media/lib/mediaitem.py
+++ b/openlp/plugins/media/lib/mediaitem.py
@@ -23,7 +23,7 @@ import logging
import os
from pathlib import Path
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from sqlalchemy.sql.expression import or_
from openlp.core.common import delete_file
@@ -55,8 +55,8 @@ class MediaMediaItem(FolderLibraryItem):
"""
This is the custom media manager item for Media Slides.
"""
- media_go_live = QtCore.pyqtSignal(list)
- media_add_to_service = QtCore.pyqtSignal(list)
+ media_go_live = QtCore.Signal(list)
+ media_add_to_service = QtCore.Signal(list)
log.info('{name} MediaMediaItem loaded'.format(name=__name__))
def __init__(self, parent, plugin):
diff --git a/openlp/plugins/planningcenter/forms/selectplandialog.py b/openlp/plugins/planningcenter/forms/selectplandialog.py
index 943f21b19..95c7ce747 100644
--- a/openlp/plugins/planningcenter/forms/selectplandialog.py
+++ b/openlp/plugins/planningcenter/forms/selectplandialog.py
@@ -21,7 +21,7 @@
"""
The :mod:`~openlp.plugins.planningcenter.forms.selectplandialog` module contains the user interface code for the dialog
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
diff --git a/openlp/plugins/planningcenter/forms/selectplanform.py b/openlp/plugins/planningcenter/forms/selectplanform.py
index d2097795b..e9ed53f78 100644
--- a/openlp/plugins/planningcenter/forms/selectplanform.py
+++ b/openlp/plugins/planningcenter/forms/selectplanform.py
@@ -26,7 +26,7 @@ import logging
import re
from datetime import date, datetime
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.registry import Registry
diff --git a/openlp/plugins/planningcenter/lib/planningcentertab.py b/openlp/plugins/planningcenter/lib/planningcentertab.py
index 97b24118a..1d1588e1f 100644
--- a/openlp/plugins/planningcenter/lib/planningcentertab.py
+++ b/openlp/plugins/planningcenter/lib/planningcentertab.py
@@ -22,7 +22,7 @@
The :mod:`~openlp.plugins.planningcenter.lib.planningcentertab` module contains
the settings tab for the PlanningCenter plugin
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.settingstab import SettingsTab
diff --git a/openlp/plugins/presentations/lib/impresscontroller.py b/openlp/plugins/presentations/lib/impresscontroller.py
index 8ac31fd31..82164f091 100644
--- a/openlp/plugins/presentations/lib/impresscontroller.py
+++ b/openlp/plugins/presentations/lib/impresscontroller.py
@@ -33,7 +33,7 @@
import logging
import time
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common import delete_file, get_uno_command, get_uno_instance, trace_error_handler
from openlp.core.common.platform import is_win
diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py
index dd36edc69..0344e2230 100644
--- a/openlp/plugins/presentations/lib/mediaitem.py
+++ b/openlp/plugins/presentations/lib/mediaitem.py
@@ -22,7 +22,7 @@ import logging
import os
import shutil
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from pathlib import Path
from openlp.core.common import sha256_file_hash
@@ -47,8 +47,8 @@ class PresentationMediaItem(FolderLibraryItem):
This is the Presentation media manager item for Presentation Items. It can present files using Openoffice and
Powerpoint
"""
- presentations_go_live = QtCore.pyqtSignal(list)
- presentations_add_to_service = QtCore.pyqtSignal(list)
+ presentations_go_live = QtCore.Signal(list)
+ presentations_add_to_service = QtCore.Signal(list)
log.info('Presentations Media Item loaded')
def __init__(self, parent, plugin, controllers):
diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py
index d36526801..e3ccbd861 100644
--- a/openlp/plugins/presentations/lib/messagelistener.py
+++ b/openlp/plugins/presentations/lib/messagelistener.py
@@ -22,7 +22,7 @@ import copy
import logging
from pathlib import Path
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common.registry import Registry
from openlp.core.lib import ServiceItemContext
diff --git a/openlp/plugins/presentations/lib/presentationcontroller.py b/openlp/plugins/presentations/lib/presentationcontroller.py
index fbf615e1e..c09089db0 100644
--- a/openlp/plugins/presentations/lib/presentationcontroller.py
+++ b/openlp/plugins/presentations/lib/presentationcontroller.py
@@ -22,7 +22,7 @@ import logging
import shutil
from pathlib import Path
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common import Singleton, md5_hash, sha256_file_hash
from openlp.core.common.applocation import AppLocation
diff --git a/openlp/plugins/presentations/lib/presentationtab.py b/openlp/plugins/presentations/lib/presentationtab.py
index e886da300..6bd8adf61 100644
--- a/openlp/plugins/presentations/lib/presentationtab.py
+++ b/openlp/plugins/presentations/lib/presentationtab.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.settingstab import SettingsTab
diff --git a/openlp/plugins/songs/forms/authorsdialog.py b/openlp/plugins/songs/forms/authorsdialog.py
index 3ee61aa1d..0b49f4ab9 100644
--- a/openlp/plugins/songs/forms/authorsdialog.py
+++ b/openlp/plugins/songs/forms/authorsdialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/songs/forms/authorsform.py b/openlp/plugins/songs/forms/authorsform.py
index f0824fa7c..79cb46dc3 100644
--- a/openlp/plugins/songs/forms/authorsform.py
+++ b/openlp/plugins/songs/forms/authorsform.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import critical_error_message_box
diff --git a/openlp/plugins/songs/forms/duplicatesongremovalform.py b/openlp/plugins/songs/forms/duplicatesongremovalform.py
index 92e78eac9..c8976ea0a 100644
--- a/openlp/plugins/songs/forms/duplicatesongremovalform.py
+++ b/openlp/plugins/songs/forms/duplicatesongremovalform.py
@@ -25,7 +25,7 @@ The duplicate song removal logic for OpenLP.
import logging
import multiprocessing
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import RegistryProperties
diff --git a/openlp/plugins/songs/forms/editsongdialog.py b/openlp/plugins/songs/forms/editsongdialog.py
index 46155dea2..533a12753 100644
--- a/openlp/plugins/songs/forms/editsongdialog.py
+++ b/openlp/plugins/songs/forms/editsongdialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.ui import create_button, create_button_box
diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py
index 4e1270ad0..e3df2de6b 100644
--- a/openlp/plugins/songs/forms/editsongform.py
+++ b/openlp/plugins/songs/forms/editsongform.py
@@ -26,7 +26,7 @@ import logging
import re
from shutil import copyfile
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.common import sha256_file_hash
from openlp.core.common.applocation import AppLocation
diff --git a/openlp/plugins/songs/forms/editversedialog.py b/openlp/plugins/songs/forms/editversedialog.py
index 09669c346..112dc9f28 100644
--- a/openlp/plugins/songs/forms/editversedialog.py
+++ b/openlp/plugins/songs/forms/editversedialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/songs/forms/editverseform.py b/openlp/plugins/songs/forms/editverseform.py
index 3e20737d6..9ff01b429 100644
--- a/openlp/plugins/songs/forms/editverseform.py
+++ b/openlp/plugins/songs/forms/editverseform.py
@@ -22,7 +22,7 @@
import logging
import re
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.registry import Registry
diff --git a/openlp/plugins/songs/forms/mediafilesdialog.py b/openlp/plugins/songs/forms/mediafilesdialog.py
index dc015508f..0f93330bd 100644
--- a/openlp/plugins/songs/forms/mediafilesdialog.py
+++ b/openlp/plugins/songs/forms/mediafilesdialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/songs/forms/mediafilesform.py b/openlp/plugins/songs/forms/mediafilesform.py
index be75613b5..67eaa173e 100644
--- a/openlp/plugins/songs/forms/mediafilesform.py
+++ b/openlp/plugins/songs/forms/mediafilesform.py
@@ -21,7 +21,7 @@
import logging
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from .mediafilesdialog import Ui_MediaFilesDialog
diff --git a/openlp/plugins/songs/forms/songbookdialog.py b/openlp/plugins/songs/forms/songbookdialog.py
index ee9280f59..d7b050b5b 100644
--- a/openlp/plugins/songs/forms/songbookdialog.py
+++ b/openlp/plugins/songs/forms/songbookdialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/songs/forms/songbookform.py b/openlp/plugins/songs/forms/songbookform.py
index 6521f45b9..3b64e3f74 100644
--- a/openlp/plugins/songs/forms/songbookform.py
+++ b/openlp/plugins/songs/forms/songbookform.py
@@ -22,7 +22,7 @@
This module contains the song book form
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import critical_error_message_box
diff --git a/openlp/plugins/songs/forms/songexportform.py b/openlp/plugins/songs/forms/songexportform.py
index 5f6b886fd..d690248dc 100644
--- a/openlp/plugins/songs/forms/songexportform.py
+++ b/openlp/plugins/songs/forms/songexportform.py
@@ -24,7 +24,7 @@ OpenLyrics format.
"""
import logging
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.common.registry import Registry
diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py
index a4b41ba00..7b3bfbfd0 100644
--- a/openlp/plugins/songs/forms/songimportform.py
+++ b/openlp/plugins/songs/forms/songimportform.py
@@ -23,7 +23,7 @@ The song import functions for OpenLP.
"""
import logging
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.common.handlers import handle_permission_error
from openlp.core.common.i18n import UiStrings, translate
@@ -44,7 +44,7 @@ class SongImportForm(OpenLPWizard, RegistryProperties):
This is the Song Import Wizard, which allows easy importing of Songs
into OpenLP from other formats like OpenLyrics, OpenSong and CCLI.
"""
- completeChanged = QtCore.pyqtSignal()
+ completeChanged = QtCore.Signal()
log.info('SongImportForm loaded')
def __init__(self, parent, plugin):
diff --git a/openlp/plugins/songs/forms/songmaintenancedialog.py b/openlp/plugins/songs/forms/songmaintenancedialog.py
index 7bfd02eb7..4b310afe6 100644
--- a/openlp/plugins/songs/forms/songmaintenancedialog.py
+++ b/openlp/plugins/songs/forms/songmaintenancedialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import UiStrings
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py
index d8e026aab..5110a12cf 100644
--- a/openlp/plugins/songs/forms/songmaintenanceform.py
+++ b/openlp/plugins/songs/forms/songmaintenanceform.py
@@ -20,7 +20,7 @@
##########################################################################
import logging
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from sqlalchemy.sql import and_
from openlp.core.common.i18n import UiStrings, get_natural_key, translate
diff --git a/openlp/plugins/songs/forms/songreviewwidget.py b/openlp/plugins/songs/forms/songreviewwidget.py
index f22c9db7c..86e976b19 100644
--- a/openlp/plugins/songs/forms/songreviewwidget.py
+++ b/openlp/plugins/songs/forms/songreviewwidget.py
@@ -21,7 +21,7 @@
"""
A widget representing a song in the duplicate song removal wizard review page.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.ui.icons import UiIcons
from openlp.plugins.songs.lib import VerseType
@@ -46,7 +46,7 @@ class SongReviewWidget(QtWidgets.QWidget):
# connect calls.
# That's why we cheat a little and use QWidget instead of SongReviewWidget as parameter.
# While not being entirely correct, it does work.
- song_remove_button_clicked = QtCore.pyqtSignal(QtWidgets.QWidget)
+ song_remove_button_clicked = QtCore.Signal(QtWidgets.QWidget)
def __init__(self, parent, song):
"""
diff --git a/openlp/plugins/songs/forms/songselectdialog.py b/openlp/plugins/songs/forms/songselectdialog.py
index ad7cedde3..850d38b97 100644
--- a/openlp/plugins/songs/forms/songselectdialog.py
+++ b/openlp/plugins/songs/forms/songselectdialog.py
@@ -22,7 +22,7 @@
The :mod:`~openlp.plugins.songs.forms.songselectdialog` module contains the user interface code for the dialog
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.ui import SingleColumnTableWidget
diff --git a/openlp/plugins/songs/forms/songselectform.py b/openlp/plugins/songs/forms/songselectform.py
index 66ec5d139..1a9c8163b 100644
--- a/openlp/plugins/songs/forms/songselectform.py
+++ b/openlp/plugins/songs/forms/songselectform.py
@@ -24,7 +24,7 @@ The :mod:`~openlp.plugins.songs.forms.songselectform` module contains the GUI fo
import logging
import re
-from PyQt6 import QtCore, QtWidgets, QtWebEngineCore
+from PySide6 import QtCore, QtWidgets, QtWebEngineCore
from sqlalchemy.sql import and_
from tempfile import TemporaryDirectory
@@ -150,7 +150,7 @@ class SongSelectForm(QtWidgets.QDialog, Ui_SongSelectDialog, RegistryProperties)
self.url_bar.setVisible(True)
self.webview.setEnabled(True)
- @QtCore.pyqtSlot(QtWebEngineCore.QWebEngineDownloadRequest)
+ @QtCore.Slot(QtWebEngineCore.QWebEngineDownloadRequest)
def on_download_requested(self, download_item):
"""
Called when download is started
diff --git a/openlp/plugins/songs/forms/topicsdialog.py b/openlp/plugins/songs/forms/topicsdialog.py
index 7fcbb7ddc..b57cb4d3b 100644
--- a/openlp/plugins/songs/forms/topicsdialog.py
+++ b/openlp/plugins/songs/forms/topicsdialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/songs/forms/topicsform.py b/openlp/plugins/songs/forms/topicsform.py
index e7e5e8843..eabab4587 100644
--- a/openlp/plugins/songs/forms/topicsform.py
+++ b/openlp/plugins/songs/forms/topicsform.py
@@ -22,7 +22,7 @@
This module contains the topic edit form.
"""
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import critical_error_message_box
diff --git a/openlp/plugins/songs/forms/webengine.py b/openlp/plugins/songs/forms/webengine.py
index 0210350cc..98218847c 100644
--- a/openlp/plugins/songs/forms/webengine.py
+++ b/openlp/plugins/songs/forms/webengine.py
@@ -23,7 +23,7 @@ Subclass of QWebEngineView used to block js messages; Useful for public sites
where we have no control on the code run in the webpage, and do not want to
see the error messages.
"""
-from PyQt6 import QtWebEngineWidgets, QtWebEngineCore
+from PySide6 import QtWebEngineWidgets, QtWebEngineCore
class WebEnginePage(QtWebEngineCore.QWebEnginePage):
diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py
index eea5195f4..9d06cfdf5 100644
--- a/openlp/plugins/songs/lib/__init__.py
+++ b/openlp/plugins/songs/lib/__init__.py
@@ -25,7 +25,7 @@ The :mod:`~openlp.plugins.songs.lib` module contains a number of library functio
import logging
import re
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common import CONTROL_CHARS
from openlp.core.common.applocation import AppLocation
diff --git a/openlp/plugins/songs/lib/importers/openoffice.py b/openlp/plugins/songs/lib/importers/openoffice.py
index 3e4efd361..21a5a0ce2 100644
--- a/openlp/plugins/songs/lib/importers/openoffice.py
+++ b/openlp/plugins/songs/lib/importers/openoffice.py
@@ -21,7 +21,7 @@
import logging
import time
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common import get_uno_command, get_uno_instance, normalize_str
from openlp.core.common.i18n import translate
diff --git a/openlp/plugins/songs/lib/importers/songimport.py b/openlp/plugins/songs/lib/importers/songimport.py
index 249864abf..5e1f29325 100644
--- a/openlp/plugins/songs/lib/importers/songimport.py
+++ b/openlp/plugins/songs/lib/importers/songimport.py
@@ -23,7 +23,7 @@ import logging
import re
from shutil import copyfile
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common import normalize_str
from openlp.core.common.applocation import AppLocation
diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py
index bf38bc6e6..f452ccd7a 100644
--- a/openlp/plugins/songs/lib/mediaitem.py
+++ b/openlp/plugins/songs/lib/mediaitem.py
@@ -25,7 +25,7 @@ import os
from shutil import copyfile
from typing import Any
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from sqlalchemy.sql import and_, or_
from openlp.core.state import State
@@ -58,8 +58,8 @@ class SongMediaItem(MediaManagerItem):
"""
This is the custom media manager item for Songs.
"""
- songs_go_live = QtCore.pyqtSignal(list)
- songs_add_to_service = QtCore.pyqtSignal(list)
+ songs_go_live = QtCore.Signal(list)
+ songs_add_to_service = QtCore.Signal(list)
log.info('Song Media Item loaded')
def __init__(self, parent, plugin):
@@ -846,7 +846,7 @@ class SongMediaItem(MediaManagerItem):
# List must be empty at the end
return not author_list
- @QtCore.pyqtSlot(str, bool, result=list)
+ @QtCore.Slot(str, bool, result=list)
def search(self, string: str, show_error: bool = True) -> list[list[Any]]:
"""
Search for some songs
diff --git a/openlp/plugins/songs/lib/songselect.py b/openlp/plugins/songs/lib/songselect.py
index 297f4dca3..488101d0d 100644
--- a/openlp/plugins/songs/lib/songselect.py
+++ b/openlp/plugins/songs/lib/songselect.py
@@ -23,7 +23,7 @@ The :mod:`~openlp.plugins.songs.lib.songselect` module contains the SongSelect i
"""
import logging
import re
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.plugins.songs.lib import VerseType, clean_song
from openlp.plugins.songs.lib.db import Song, Author, Topic
diff --git a/openlp/plugins/songs/lib/songstab.py b/openlp/plugins/songs/lib/songstab.py
index cf7081dba..a251902c0 100644
--- a/openlp/plugins/songs/lib/songstab.py
+++ b/openlp/plugins/songs/lib/songstab.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.enum import SongFirstSlideMode
diff --git a/openlp/plugins/songs/lib/ui.py b/openlp/plugins/songs/lib/ui.py
index f0493e576..4ecf6d064 100644
--- a/openlp/plugins/songs/lib/ui.py
+++ b/openlp/plugins/songs/lib/ui.py
@@ -22,7 +22,7 @@
The :mod:`openlp.plugins.songs.lib.ui` module provides standard UI components
for the songs plugin.
"""
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.common.registry import Registry
diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py
index ce9811546..1af91549d 100644
--- a/openlp/plugins/songs/songsplugin.py
+++ b/openlp/plugins/songs/songsplugin.py
@@ -28,7 +28,7 @@ import sqlite3
from pathlib import Path
from tempfile import gettempdir
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.state import State
from openlp.core.common.actions import ActionList
diff --git a/openlp/plugins/songusage/forms/songusagedeletedialog.py b/openlp/plugins/songusage/forms/songusagedeletedialog.py
index a7bae410c..e646574aa 100644
--- a/openlp/plugins/songusage/forms/songusagedeletedialog.py
+++ b/openlp/plugins/songusage/forms/songusagedeletedialog.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/songusage/forms/songusagedeleteform.py b/openlp/plugins/songusage/forms/songusagedeleteform.py
index 4f18eeece..2dc2f657e 100644
--- a/openlp/plugins/songusage/forms/songusagedeleteform.py
+++ b/openlp/plugins/songusage/forms/songusagedeleteform.py
@@ -19,7 +19,7 @@
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.common.i18n import translate
from openlp.core.common.mixins import RegistryProperties
diff --git a/openlp/plugins/songusage/forms/songusagedetaildialog.py b/openlp/plugins/songusage/forms/songusagedetaildialog.py
index 85d8d4d64..8d618b7af 100644
--- a/openlp/plugins/songusage/forms/songusagedetaildialog.py
+++ b/openlp/plugins/songusage/forms/songusagedetaildialog.py
@@ -18,7 +18,7 @@
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see . #
##########################################################################
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import translate
from openlp.core.lib.ui import create_button_box
diff --git a/openlp/plugins/songusage/forms/songusagedetailform.py b/openlp/plugins/songusage/forms/songusagedetailform.py
index e265f73d9..3ff6c1888 100644
--- a/openlp/plugins/songusage/forms/songusagedetailform.py
+++ b/openlp/plugins/songusage/forms/songusagedetailform.py
@@ -20,7 +20,7 @@
##########################################################################
import logging
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from sqlalchemy.sql import and_
from openlp.core.common.i18n import translate
diff --git a/openlp/plugins/songusage/songusageplugin.py b/openlp/plugins/songusage/songusageplugin.py
index f3167604e..623dd5730 100644
--- a/openlp/plugins/songusage/songusageplugin.py
+++ b/openlp/plugins/songusage/songusageplugin.py
@@ -22,7 +22,7 @@
import logging
from datetime import datetime
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.state import State
from openlp.core.common.actions import ActionList
diff --git a/scripts/check_dependencies.py b/scripts/check_dependencies.py
index 0f4cbd5af..519a65ac0 100755
--- a/scripts/check_dependencies.py
+++ b/scripts/check_dependencies.py
@@ -40,7 +40,7 @@ IS_MAC = sys.platform.startswith('dar')
VERS = {
'Python': '3.6',
- 'PyQt6': '6.2',
+ 'PySide6': '6.2',
'Qt6': '6.2',
'pymediainfo': '2.2',
'sqlalchemy': '0.5',
@@ -69,16 +69,16 @@ MACOSX_MODULES = [
MODULES = [
- 'PyQt6',
- 'PyQt6.QtCore',
- 'PyQt6.QtGui',
- 'PyQt6.QtWidgets',
- 'PyQt6.QtNetwork',
- 'PyQt6.QtOpenGL',
- 'PyQt6.QtSvg',
- 'PyQt6.QtTest',
- ('PyQt6.QtWebEngineCore', '(PyQtWebEngine on PyPI)'),
- 'PyQt6.QtMultimedia',
+ 'PySide6',
+ 'PySide6.QtCore',
+ 'PySide6.QtGui',
+ 'PySide6.QtWidgets',
+ 'PySide6.QtNetwork',
+ 'PySide6.QtOpenGL',
+ 'PySide6.QtSvg',
+ 'PySide6.QtTest',
+ ('PySide6.QtWebEngineCore', '(PySideWebEngine on PyPI)'),
+ 'PySide6.QtMultimedia',
'appdirs',
'sqlalchemy',
'alembic',
@@ -109,7 +109,7 @@ OPTIONAL_MODULES = [
('uno', '(LibreOffice/OpenOffice support)'),
# development/testing modules
('pytest', '(testing framework)'),
- ('pytestqt', '(PyQt testing framework - pytest-qt on PyPI)'),
+ ('pytestqt', '(PySide testing framework - pytest-qt on PyPI)'),
('flake8', '(linter)')
]
@@ -180,11 +180,11 @@ def verify_python():
def verify_versions():
print('Verifying version of modules...')
try:
- from PyQt6 import QtCore
- check_vers(QtCore.PYQT_VERSION_STR, VERS['PyQt6'], 'PyQt6')
+ from PySide6 import QtCore
+ check_vers(QtCore.PYQT_VERSION_STR, VERS['PySide6'], 'PySide6')
check_vers(QtCore.qVersion(), VERS['Qt6'], 'Qt6')
except ImportError:
- print_vers_fail(VERS['PyQt6'], 'PyQt6')
+ print_vers_fail(VERS['PySide6'], 'PySide6')
print_vers_fail(VERS['Qt6'], 'Qt6')
try:
import sqlalchemy
@@ -220,7 +220,7 @@ def print_qt_image_formats():
"""
w('Qt6 image formats... ')
try:
- from PyQt6 import QtGui
+ from PySide6 import QtGui
read_f = ', '.join([bytes(fmt).decode().lower() for fmt in QtGui.QImageReader.supportedImageFormats()])
write_f = ', '.join([bytes(fmt).decode().lower() for fmt in QtGui.QImageWriter.supportedImageFormats()])
w(os.linesep)
diff --git a/scripts/resources.arm64.patch b/scripts/resources.arm64.patch
index d85aced37..7cc4aa463 100644
--- a/scripts/resources.arm64.patch
+++ b/scripts/resources.arm64.patch
@@ -33,7 +33,7 @@
+The :mod:`resources` module provides application images and icons in a central
+store for use by OpenLP.
+"""
- from PyQt6 import QtCore
+ from PySide6 import QtCore
qt_resource_data = b"\
@@ -61434,9 +61452,13 @@ else:
diff --git a/scripts/resources.patch b/scripts/resources.patch
index db4f60013..6ab929e64 100644
--- a/scripts/resources.patch
+++ b/scripts/resources.patch
@@ -33,7 +33,7 @@
+The :mod:`resources` module provides application images and icons in a central
+store for use by OpenLP.
+"""
- from PyQt6 import QtCore
+ from PySide6 import QtCore
qt_resource_data = "\
@@ -71953,9 +71971,14 @@
diff --git a/setup.cfg b/setup.cfg
index 9fa7f3e38..87048a1fe 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -32,7 +32,7 @@ source =
/Users/raoul/Library/Application Support/gitlab-runner/builds/*/*/openlp/openlp/
[tool:pytest]
-qt_api=pyqt6
+qt_api=pyside6
[mypy]
# Ignore for now, we'll come back to this later
diff --git a/setup.py b/setup.py
index a55f86c8e..e17759d63 100644
--- a/setup.py
+++ b/setup.py
@@ -110,8 +110,7 @@ using a computer and a display/projector.""",
'pymediainfo >= 2.2',
'pyobjc; platform_system=="Darwin"',
'pyobjc-framework-Cocoa; platform_system=="Darwin"',
- 'PyQt6 >= 6.2',
- 'PyQtWebEngine',
+ 'PySide6 >= 6.2',
'Pyro5; platform_system=="Darwin"',
'pywin32; platform_system=="Windows"',
'QtAwesome',
diff --git a/tests/conftest.py b/tests/conftest.py
index 36a90bb57..0452824ad 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -30,7 +30,7 @@ from unittest.mock import MagicMock
import pytest
from pytestqt.qt_compat import qt_api
-from PyQt6 import QtCore # noqa
+from PySide6 import QtCore # noqa
from openlp.core.app import OpenLP
from openlp.core.state import State
diff --git a/tests/helpers/projector.py b/tests/helpers/projector.py
index 1387fe6a4..94b7ab035 100644
--- a/tests/helpers/projector.py
+++ b/tests/helpers/projector.py
@@ -23,7 +23,7 @@ Help classes/functions for PJLink Projector tests
"""
from unittest.mock import MagicMock
-from PyQt6 import QtNetwork
+from PySide6 import QtNetwork
from openlp.core.projectors.constants import S_NOT_CONNECTED, S_OFF, S_OK
from openlp.core.projectors.db import Projector
diff --git a/tests/openlp_core/api/endpoint/test_controller.py b/tests/openlp_core/api/endpoint/test_controller.py
index 17ea1d413..1c2e557f3 100644
--- a/tests/openlp_core/api/endpoint/test_controller.py
+++ b/tests/openlp_core/api/endpoint/test_controller.py
@@ -21,7 +21,7 @@
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.api import app as flask_app
from openlp.core.state import State
diff --git a/tests/openlp_core/api/test_tab.py b/tests/openlp_core/api/test_tab.py
index 468f89671..7f0aa462c 100644
--- a/tests/openlp_core/api/test_tab.py
+++ b/tests/openlp_core/api/test_tab.py
@@ -26,7 +26,7 @@ import pytest
import re
from unittest.mock import MagicMock, patch
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.api.tab import ApiTab
from openlp.core.common import get_network_interfaces
diff --git a/tests/openlp_core/api/v2/test_plugins.py b/tests/openlp_core/api/v2/test_plugins.py
index b5fb9ef69..9067b9141 100644
--- a/tests/openlp_core/api/v2/test_plugins.py
+++ b/tests/openlp_core/api/v2/test_plugins.py
@@ -22,7 +22,7 @@ from collections import namedtuple
from pathlib import Path
from unittest.mock import MagicMock
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common.registry import Registry
from openlp.core.common.enum import PluginStatus
diff --git a/tests/openlp_core/common/test_actions.py b/tests/openlp_core/common/test_actions.py
index 9e3596cea..18dddd9f2 100644
--- a/tests/openlp_core/common/test_actions.py
+++ b/tests/openlp_core/common/test_actions.py
@@ -24,7 +24,7 @@ Package to test the openlp.core.common.actions package.
import pytest
from unittest.mock import MagicMock
-from PyQt6 import QtCore, QtGui
+from PySide6 import QtCore, QtGui
from openlp.core.common.actions import ActionList, CategoryActionList
from openlp.core.common.registry import Registry
diff --git a/tests/openlp_core/common/test_network_interfaces.py b/tests/openlp_core/common/test_network_interfaces.py
index 0973d8b3c..34e95e0ce 100644
--- a/tests/openlp_core/common/test_network_interfaces.py
+++ b/tests/openlp_core/common/test_network_interfaces.py
@@ -24,8 +24,8 @@ Functional tests to test calls for network interfaces.
from unittest.mock import MagicMock, call, patch
import pytest
-from PyQt6.QtCore import QObject
-from PyQt6.QtNetwork import QHostAddress, QNetworkAddressEntry, QNetworkInterface
+from PySide6.QtCore import QObject
+from PySide6.QtNetwork import QHostAddress, QNetworkAddressEntry, QNetworkInterface
# import openlp.core.common
from openlp.core.common import get_network_interfaces
diff --git a/tests/openlp_core/display/test_screens.py b/tests/openlp_core/display/test_screens.py
index 6277cb882..f0f3dbb4e 100644
--- a/tests/openlp_core/display/test_screens.py
+++ b/tests/openlp_core/display/test_screens.py
@@ -23,7 +23,7 @@ Package to test the openlp.core.lib.screenlist package.
"""
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.display.screens import Screen, ScreenList
diff --git a/tests/openlp_core/display/test_window.py b/tests/openlp_core/display/test_window.py
index 12fd539fe..175d25648 100644
--- a/tests/openlp_core/display/test_window.py
+++ b/tests/openlp_core/display/test_window.py
@@ -28,10 +28,10 @@ from pathlib import Path
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore
+from PySide6 import QtCore
# Mock QtWebEngineCore
-sys.modules['PyQt6.QtWebEngineCore'] = MagicMock()
+sys.modules['PySide6.QtWebEngineCore'] = MagicMock()
from openlp.core.common.enum import ServiceItemType
from openlp.core.common.platform import is_win
diff --git a/tests/openlp_core/lib/test_lib.py b/tests/openlp_core/lib/test_lib.py
index 97bba54a7..cad2e49b2 100644
--- a/tests/openlp_core/lib/test_lib.py
+++ b/tests/openlp_core/lib/test_lib.py
@@ -27,7 +27,7 @@ import pytest
from pathlib import Path
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtGui
+from PySide6 import QtCore, QtGui
from openlp.core.lib import DataType, build_icon, check_item_selected, create_separated_list, create_thumb, \
get_text_file_string, image_to_byte, read_or_fail, read_int, resize_image, seek_or_fail, str_to_bool, validate_thumb
diff --git a/tests/openlp_core/lib/test_theme.py b/tests/openlp_core/lib/test_theme.py
index b71c48ddc..03a86530f 100644
--- a/tests/openlp_core/lib/test_theme.py
+++ b/tests/openlp_core/lib/test_theme.py
@@ -22,7 +22,7 @@
Package to test the openlp.core.lib.theme package.
"""
import pytest
-from PyQt6 import QtCore
+from PySide6 import QtCore
from pathlib import Path
from unittest.mock import MagicMock, patch
diff --git a/tests/openlp_core/lib/test_ui.py b/tests/openlp_core/lib/test_ui.py
index e22ded842..437a18aa8 100644
--- a/tests/openlp_core/lib/test_ui.py
+++ b/tests/openlp_core/lib/test_ui.py
@@ -23,7 +23,7 @@ Package to test the openlp.core.lib.ui package.
"""
from unittest.mock import MagicMock, call, patch
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common.i18n import UiStrings, translate
from openlp.core.lib.ui import MultipleViewModeList, add_list_view_mode_items_to_toolbar, add_welcome_page, \
diff --git a/tests/openlp_core/projectors/pjlink/test_misc_pjlink.py b/tests/openlp_core/projectors/pjlink/test_misc_pjlink.py
index 83ca2b49f..9335fdbf8 100644
--- a/tests/openlp_core/projectors/pjlink/test_misc_pjlink.py
+++ b/tests/openlp_core/projectors/pjlink/test_misc_pjlink.py
@@ -26,7 +26,7 @@ import logging
import openlp.core.projectors.pjlink
-from PyQt6 import QtNetwork
+from PySide6 import QtNetwork
from unittest.mock import DEFAULT, MagicMock, patch
from openlp.core.projectors.constants import QSOCKET_STATE, STATUS_CODE, STATUS_MSG, \
diff --git a/tests/openlp_core/projectors/test_projector_sourceform.py b/tests/openlp_core/projectors/test_projector_sourceform.py
index 3c40039bf..f8e8aa84c 100644
--- a/tests/openlp_core/projectors/test_projector_sourceform.py
+++ b/tests/openlp_core/projectors/test_projector_sourceform.py
@@ -26,7 +26,7 @@ Tests for the Projector Source Select form.
import pytest
from unittest.mock import patch
-from PyQt6.QtWidgets import QDialog
+from PySide6.QtWidgets import QDialog
from openlp.core.projectors.constants import PJLINK_DEFAULT_CODES, PJLINK_DEFAULT_SOURCES
from openlp.core.projectors.db import Projector, ProjectorDB
diff --git a/tests/openlp_core/projectors/ui/test_tab.py b/tests/openlp_core/projectors/ui/test_tab.py
index 4b1f336f2..ce6d9f5c6 100644
--- a/tests/openlp_core/projectors/ui/test_tab.py
+++ b/tests/openlp_core/projectors/ui/test_tab.py
@@ -26,7 +26,7 @@ import logging
import openlp.core.projectors.tab
-from PyQt6 import QtWidgets # noqa
+from PySide6 import QtWidgets # noqa
from unittest.mock import MagicMock
from openlp.core.projectors.tab import ProjectorTab
diff --git a/tests/openlp_core/test_app.py b/tests/openlp_core/test_app.py
index 189399eb0..a30b199bc 100644
--- a/tests/openlp_core/test_app.py
+++ b/tests/openlp_core/test_app.py
@@ -26,10 +26,10 @@ from tempfile import mkdtemp
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
# Mock QtWebEngineCore
-sys.modules['PyQt6.QtWebEngineCore'] = MagicMock()
+sys.modules['PySide6.QtWebEngineCore'] = MagicMock()
from openlp.core.app import parse_options, backup_if_version_changed, main as app_main, setup_portable_settings
from openlp.core.common.platform import is_win
diff --git a/tests/openlp_core/ui/media/test_mediacontroller.py b/tests/openlp_core/ui/media/test_mediacontroller.py
index b9edeb742..f1ecf34fe 100644
--- a/tests/openlp_core/ui/media/test_mediacontroller.py
+++ b/tests/openlp_core/ui/media/test_mediacontroller.py
@@ -27,7 +27,7 @@ from unittest import skipUnless
from unittest.mock import MagicMock, patch
import pytest
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.state import State
from openlp.core.common.platform import is_linux, is_macosx
diff --git a/tests/openlp_core/ui/test_confirmationform.py b/tests/openlp_core/ui/test_confirmationform.py
index fd8e4ef9e..867f8e287 100644
--- a/tests/openlp_core/ui/test_confirmationform.py
+++ b/tests/openlp_core/ui/test_confirmationform.py
@@ -22,7 +22,7 @@
Test the Confirmation Form
"""
from unittest.mock import patch
-from PyQt6 import QtWidgets, QtTest, QtCore
+from PySide6 import QtWidgets, QtTest, QtCore
from openlp.core.ui.confirmationform import ConfirmationForm
diff --git a/tests/openlp_core/ui/test_exceptionform.py b/tests/openlp_core/ui/test_exceptionform.py
index 904fc2c92..54d0de5b4 100644
--- a/tests/openlp_core/ui/test_exceptionform.py
+++ b/tests/openlp_core/ui/test_exceptionform.py
@@ -26,7 +26,7 @@ from pathlib import Path
from unittest.mock import MagicMock, call, patch
import pytest
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.settings import Settings
from openlp.core.common.registry import Registry
@@ -43,14 +43,14 @@ exceptionform.VLC_VERSION = 'VLC Test'
MAIL_ITEM_TEXT = ('**OpenLP Bug Report**\nVersion: Trunk Test\n\n--- Details of the Exception. ---\n\n'
'Description Test\n\n --- Exception Traceback ---\nopenlp: Traceback Test\n'
'--- System information ---\nPlatform: Nose Test\n\n--- Library Versions ---\n'
- 'Python: Python Test\nQt6: Qt6 Test\nPyQt6: PyQt6 Test\n'
+ 'Python: Python Test\nQt6: Qt6 Test\nPySide6: PySide6 Test\n'
'SQLAlchemy: SQLAlchemy Test\nAlembic: Alembic Test\nBeautifulSoup: BeautifulSoup Test\n'
'lxml: ETree Test\nChardet: Chardet Test\nPyEnchant: PyEnchant Test\nMako: Mako Test\n'
'pyICU: pyICU Test\nVLC: VLC Test\nPyUNO: UNO Bridge Test\n')
LIBRARY_VERSIONS = OrderedDict([
('Python', 'Python Test'),
('Qt6', 'Qt6 Test'),
- ('PyQt6', 'PyQt6 Test'),
+ ('PySide6', 'PySide6 Test'),
('SQLAlchemy', 'SQLAlchemy Test'),
('Alembic', 'Alembic Test'),
('BeautifulSoup', 'BeautifulSoup Test'),
diff --git a/tests/openlp_core/ui/test_filerenamedialog.py b/tests/openlp_core/ui/test_filerenamedialog.py
index 675f4e0ef..b63e2b83b 100644
--- a/tests/openlp_core/ui/test_filerenamedialog.py
+++ b/tests/openlp_core/ui/test_filerenamedialog.py
@@ -24,7 +24,7 @@ Package to test the openlp.core.ui package.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtTest
+from PySide6 import QtTest
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
@@ -43,7 +43,7 @@ def test_window_title(form: FileRenameForm):
Test the windowTitle of the FileRenameDialog
"""
# GIVEN: A mocked QDialog.exec() method
- with patch('PyQt6.QtWidgets.QDialog.exec'):
+ with patch('PySide6.QtWidgets.QDialog.exec'):
# WHEN: The form is executed with no args
form.exec()
@@ -70,7 +70,7 @@ def test_line_edit_focus(form: FileRenameForm):
Test that the file_name_edit setFocus has called with True when executed
"""
# GIVEN: A mocked QDialog.exec() method and mocked file_name_edit.setFocus() method.
- with patch('PyQt6.QtWidgets.QDialog.exec'):
+ with patch('PySide6.QtWidgets.QDialog.exec'):
mocked_set_focus = MagicMock()
form.file_name_edit.setFocus = mocked_set_focus
diff --git a/tests/openlp_core/ui/test_firsttimeform.py b/tests/openlp_core/ui/test_firsttimeform.py
index b8e3a93af..1f736e112 100644
--- a/tests/openlp_core/ui/test_firsttimeform.py
+++ b/tests/openlp_core/ui/test_firsttimeform.py
@@ -25,7 +25,7 @@ import pytest
from pathlib import Path
from unittest.mock import MagicMock, call, patch, DEFAULT
-from PyQt6 import QtCore, QtWidgets, QtTest
+from PySide6 import QtCore, QtWidgets, QtTest
from openlp.core.common.registry import Registry
from openlp.core.ui.firsttimeform import FirstTimeForm, ThemeListWidgetItem
diff --git a/tests/openlp_core/ui/test_generaltab.py b/tests/openlp_core/ui/test_generaltab.py
index 1837aa37c..809fedfca 100644
--- a/tests/openlp_core/ui/test_generaltab.py
+++ b/tests/openlp_core/ui/test_generaltab.py
@@ -24,7 +24,7 @@ Package to test the openlp.core.ui.generaltab package.
from openlp.core.ui.generaltab import GeneralTab
from openlp.core.ui.settingsform import SettingsForm
-from PyQt6 import QtCore, QtTest
+from PySide6 import QtCore, QtTest
def test_creation(settings):
diff --git a/tests/openlp_core/ui/test_icons.py b/tests/openlp_core/ui/test_icons.py
index e3c18181a..6b1af442a 100644
--- a/tests/openlp_core/ui/test_icons.py
+++ b/tests/openlp_core/ui/test_icons.py
@@ -21,7 +21,7 @@
Package to test the openlp.core.ui.icons package.
"""
from unittest.mock import patch
-from PyQt6 import QtGui
+from PySide6 import QtGui
from openlp.core.ui.icons import UiIcons
diff --git a/tests/openlp_core/ui/test_library.py b/tests/openlp_core/ui/test_library.py
index ba7994685..69a804c7f 100644
--- a/tests/openlp_core/ui/test_library.py
+++ b/tests/openlp_core/ui/test_library.py
@@ -22,7 +22,7 @@ from pathlib import Path
from unittest.mock import MagicMock, patch
import pytest
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.platform import is_win
from openlp.core.ui.library import FolderLibraryItem
diff --git a/tests/openlp_core/ui/test_mainwindow.py b/tests/openlp_core/ui/test_mainwindow.py
index 582f5e2ed..fef4c0940 100644
--- a/tests/openlp_core/ui/test_mainwindow.py
+++ b/tests/openlp_core/ui/test_mainwindow.py
@@ -28,7 +28,7 @@ from shutil import rmtree
from tempfile import mkdtemp
import pytest
-from PyQt6 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
from openlp.core.common.i18n import UiStrings
from openlp.core.common.platform import is_macosx
diff --git a/tests/openlp_core/ui/test_serviceitemeditform.py b/tests/openlp_core/ui/test_serviceitemeditform.py
index cdf4ca186..9ab467819 100644
--- a/tests/openlp_core/ui/test_serviceitemeditform.py
+++ b/tests/openlp_core/ui/test_serviceitemeditform.py
@@ -24,7 +24,7 @@ Package to test the :mod:`~openlp.core.ui.serviceitemeditform` package.
import pytest
from unittest.mock import MagicMock, call, patch
-from PyQt6 import QtCore, QtTest
+from PySide6 import QtCore, QtTest
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
diff --git a/tests/openlp_core/ui/test_servicemanager.py b/tests/openlp_core/ui/test_servicemanager.py
index e8ffec8cf..6cd844b05 100644
--- a/tests/openlp_core/ui/test_servicemanager.py
+++ b/tests/openlp_core/ui/test_servicemanager.py
@@ -30,7 +30,7 @@ from unittest.mock import Mock, MagicMock, call, patch
from zipfile import BadZipFile
import pytest
-from PyQt6 import QtCore, QtGui, QtWidgets
+from PySide6 import QtCore, QtGui, QtWidgets
from openlp.core.common import ThemeLevel
from openlp.core.common.registry import Registry
@@ -970,7 +970,7 @@ def test_theme_change_song(mocked_regenerate_service_items: MagicMock, settings:
'The visibility should be True'
-@patch('PyQt6.QtWidgets.QTreeWidgetItemIterator')
+@patch('PySide6.QtWidgets.QTreeWidgetItemIterator')
def test_regenerate_service_items(mocked_tree: MagicMock, settings: Settings):
"""
test that an unmodified service item that is regenerated is still unmodified
@@ -998,7 +998,7 @@ def test_regenerate_service_items(mocked_tree: MagicMock, settings: Settings):
service_manager.repaint_service_list.assert_called_once()
-@patch('PyQt6.QtWidgets.QTreeWidgetItemIterator')
+@patch('PySide6.QtWidgets.QTreeWidgetItemIterator')
def test_regenerate_service_items_modified(mocked_tree: MagicMock, settings: Settings):
"""
test that an unmodified service item that is regenerated is still unmodified
@@ -1026,7 +1026,7 @@ def test_regenerate_service_items_modified(mocked_tree: MagicMock, settings: Set
service_manager.repaint_service_list.assert_called_once()
-@patch('PyQt6.QtWidgets.QTreeWidgetItemIterator')
+@patch('PySide6.QtWidgets.QTreeWidgetItemIterator')
def test_regenerate_service_items_set_modified(mocked_tree: MagicMock, settings: Settings):
"""
test that a service item that is regenerated with the modified argument becomes modified
diff --git a/tests/openlp_core/ui/test_servicenotedialog.py b/tests/openlp_core/ui/test_servicenotedialog.py
index d150c5e8d..542b775a4 100644
--- a/tests/openlp_core/ui/test_servicenotedialog.py
+++ b/tests/openlp_core/ui/test_servicenotedialog.py
@@ -24,7 +24,7 @@ Package to test the openlp.core.ui package.
import pytest
from unittest.mock import patch
-from PyQt6 import QtCore, QtTest
+from PySide6 import QtCore, QtTest
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
diff --git a/tests/openlp_core/ui/test_settings_form.py b/tests/openlp_core/ui/test_settings_form.py
index 95748dba4..330881b42 100644
--- a/tests/openlp_core/ui/test_settings_form.py
+++ b/tests/openlp_core/ui/test_settings_form.py
@@ -24,7 +24,7 @@ Package to test the openlp.core.lib.settingsform package.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtTest
+from PySide6 import QtCore, QtTest
from openlp.core.ui.settingsform import SettingsForm
@@ -47,7 +47,7 @@ def test_basic_cancel(form):
# GIVEN: An initial form
# WHEN displaying the UI and pressing cancel
- with patch('PyQt6.QtWidgets.QDialog.reject') as mocked_reject:
+ with patch('PySide6.QtWidgets.QDialog.reject') as mocked_reject:
cancel_widget = form.button_box.button(form.button_box.Cancel)
QtTest.QTest.mouseClick(cancel_widget, QtCore.Qt.MouseButton.LeftButton)
@@ -62,7 +62,7 @@ def test_basic_accept(form):
# GIVEN: An initial form
# WHEN displaying the UI and pressing Ok
- with patch('PyQt6.QtWidgets.QDialog.accept') as mocked_accept:
+ with patch('PySide6.QtWidgets.QDialog.accept') as mocked_accept:
ok_widget = form.button_box.button(form.button_box.Ok)
QtTest.QTest.mouseClick(ok_widget, QtCore.Qt.MouseButton.LeftButton)
@@ -78,7 +78,7 @@ def test_basic_register(form):
form.register_post_process('function1')
# WHEN displaying the UI and pressing Ok
- with patch('PyQt6.QtWidgets.QDialog.accept'):
+ with patch('PySide6.QtWidgets.QDialog.accept'):
ok_widget = form.button_box.button(form.button_box.Ok)
QtTest.QTest.mouseClick(ok_widget, QtCore.Qt.MouseButton.LeftButton)
diff --git a/tests/openlp_core/ui/test_settingsform.py b/tests/openlp_core/ui/test_settingsform.py
index a0c87e3bd..4abcafd96 100644
--- a/tests/openlp_core/ui/test_settingsform.py
+++ b/tests/openlp_core/ui/test_settingsform.py
@@ -23,7 +23,7 @@ Package to test the openlp.core.ui.settingsform package.
"""
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtWidgets, QtTest
+from PySide6 import QtCore, QtWidgets, QtTest
from openlp.core.ui.settingsform import SettingsForm
diff --git a/tests/openlp_core/ui/test_shortcutlistdialog.py b/tests/openlp_core/ui/test_shortcutlistdialog.py
index 676751471..205027a92 100644
--- a/tests/openlp_core/ui/test_shortcutlistdialog.py
+++ b/tests/openlp_core/ui/test_shortcutlistdialog.py
@@ -23,7 +23,7 @@ Package to test the openlp.core.ui.shortcutlistdialog package.
"""
from unittest.mock import MagicMock
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.ui.shortcutlistdialog import CaptureShortcutButton, ShortcutTreeWidget
diff --git a/tests/openlp_core/ui/test_shortcutlistform.py b/tests/openlp_core/ui/test_shortcutlistform.py
index 9a92ecc83..e128a8592 100644
--- a/tests/openlp_core/ui/test_shortcutlistform.py
+++ b/tests/openlp_core/ui/test_shortcutlistform.py
@@ -24,7 +24,7 @@ Package to test the openlp.core.ui.shortcutform package.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.ui.shortcutlistform import ShortcutListForm
@@ -46,7 +46,7 @@ def test_adjust_button(form):
text = 'new!'
# WHEN: Call the method.
- with patch('PyQt6.QtWidgets.QPushButton.setChecked') as mocked_check_method:
+ with patch('PySide6.QtWidgets.QPushButton.setChecked') as mocked_check_method:
form._adjust_button(button, checked, enabled, text)
# THEN: The button should be changed.
diff --git a/tests/openlp_core/ui/test_slidecontroller.py b/tests/openlp_core/ui/test_slidecontroller.py
index f8de118c8..02f0ee1dc 100644
--- a/tests/openlp_core/ui/test_slidecontroller.py
+++ b/tests/openlp_core/ui/test_slidecontroller.py
@@ -26,7 +26,7 @@ import datetime
from unittest.mock import MagicMock, patch, sentinel
-from PyQt6 import QtCore, QtGui
+from PySide6 import QtCore, QtGui
from pytest import mark
from openlp.core.state import State
@@ -1266,7 +1266,7 @@ def test_on_preview_double_click_add_to_service(mock_settings: MagicMock):
assert 1 == slide_controller.on_preview_add_to_service.call_count, 'Should have been called once.'
-@patch(u'PyQt6.QtCore.QTimer.singleShot')
+@patch(u'PySide6.QtCore.QTimer.singleShot')
def test_update_preview_live(mocked_singleShot: MagicMock, registry: Registry):
"""
Test that the preview screen is updated with a screen grab for live service items
@@ -1304,7 +1304,7 @@ def test_update_preview_live(mocked_singleShot: MagicMock, registry: Registry):
assert 2 == mocked_singleShot.call_count, 'Timer to display_maindisplay should have been called 2 times'
-@patch(u'PyQt6.QtCore.QTimer.singleShot')
+@patch(u'PySide6.QtCore.QTimer.singleShot')
def test_update_preview_pres(mocked_singleShot: MagicMock, registry: Registry):
"""
Test that the preview screen is updated with the correct preview for presentation service items
@@ -1341,7 +1341,7 @@ def test_update_preview_pres(mocked_singleShot: MagicMock, registry: Registry):
assert 0 == mocked_singleShot.call_count, 'Timer to display_maindisplay should not be called'
-@patch(u'PyQt6.QtCore.QTimer.singleShot')
+@patch(u'PySide6.QtCore.QTimer.singleShot')
def test_update_preview_media(mocked_singleShot: MagicMock, registry: Registry):
"""
Test that the preview screen is updated with the correct preview for media service items
@@ -1379,7 +1379,7 @@ def test_update_preview_media(mocked_singleShot: MagicMock, registry: Registry):
assert 0 == mocked_singleShot.call_count, 'Timer to display_maindisplay should not be called'
-@patch(u'PyQt6.QtCore.QTimer.singleShot')
+@patch(u'PySide6.QtCore.QTimer.singleShot')
def test_update_preview_image(mocked_singleShot: MagicMock, registry: Registry):
"""
Test that the preview screen is updated with the correct preview for image service items
diff --git a/tests/openlp_core/ui/test_splashscreen.py b/tests/openlp_core/ui/test_splashscreen.py
index 64514bcf2..1f7e1d7b1 100644
--- a/tests/openlp_core/ui/test_splashscreen.py
+++ b/tests/openlp_core/ui/test_splashscreen.py
@@ -22,7 +22,7 @@
Package to test the openlp.core.ui package.
"""
from unittest.mock import MagicMock
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.ui.splashscreen import SplashScreen
diff --git a/tests/openlp_core/ui/test_starttimedialog.py b/tests/openlp_core/ui/test_starttimedialog.py
index 04698d0b2..0833408cc 100644
--- a/tests/openlp_core/ui/test_starttimedialog.py
+++ b/tests/openlp_core/ui/test_starttimedialog.py
@@ -24,7 +24,7 @@ Package to test the openlp.core.ui package.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtTest
+from PySide6 import QtCore, QtTest
from openlp.core.common.registry import Registry
from openlp.core.ui.starttimeform import StartTimeForm
@@ -73,7 +73,7 @@ def test_time_display(form: StartTimeForm):
# WHEN displaying the UI and pressing enter
form.item = {'service_item': mocked_serviceitem}
- with patch('PyQt6.QtWidgets.QDialog.exec'):
+ with patch('PySide6.QtWidgets.QDialog.exec'):
form.exec()
ok_widget = form.button_box.button(form.button_box.Ok)
QtTest.QTest.mouseClick(ok_widget, QtCore.Qt.MouseButton.LeftButton)
@@ -86,7 +86,7 @@ def test_time_display(form: StartTimeForm):
# WHEN displaying the UI, changing the time to 2min 3secs and pressing enter
form.item = {'service_item': mocked_serviceitem}
- with patch('PyQt6.QtWidgets.QDialog.exec'):
+ with patch('PySide6.QtWidgets.QDialog.exec'):
form.exec()
form.minute_spin_box.setValue(2)
form.second_spin_box.setValue(3)
diff --git a/tests/openlp_core/ui/test_thememanager.py b/tests/openlp_core/ui/test_thememanager.py
index a91affe50..51c9fbdb5 100644
--- a/tests/openlp_core/ui/test_thememanager.py
+++ b/tests/openlp_core/ui/test_thememanager.py
@@ -28,7 +28,7 @@ from pathlib import Path
from tempfile import mkdtemp
from unittest.mock import ANY, Mock, MagicMock, patch, call, sentinel
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
diff --git a/tests/openlp_core/widgets/test_dialogs.py b/tests/openlp_core/widgets/test_dialogs.py
index 6455bec2c..6ebecd1ff 100755
--- a/tests/openlp_core/widgets/test_dialogs.py
+++ b/tests/openlp_core/widgets/test_dialogs.py
@@ -21,7 +21,7 @@ import os
from pathlib import Path
from unittest.mock import MagicMock, patch
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.widgets.dialogs import FileDialog
@@ -44,7 +44,7 @@ def test_get_existing_directory_user_abort():
"""
# GIVEN: FileDialog with a mocked QDialog.getExistingDirectory method
# WHEN: Calling FileDialog.getExistingDirectory and the user cancels the dialog returns a empty string
- with patch('PyQt6.QtWidgets.QFileDialog.getExistingDirectory', return_value=''):
+ with patch('PySide6.QtWidgets.QFileDialog.getExistingDirectory', return_value=''):
result = FileDialog.getExistingDirectory()
# THEN: The result should be None
@@ -58,7 +58,7 @@ def test_get_existing_directory_user_accepts():
# GIVEN: FileDialog with a mocked QDialog.getExistingDirectory method
# WHEN: Calling FileDialog.getExistingDirectory, the user chooses a file and accepts the dialog (it returns a
# string pointing to the directory)
- with patch('PyQt6.QtWidgets.QFileDialog.getExistingDirectory', return_value=os.path.join('test', 'dir')):
+ with patch('PySide6.QtWidgets.QFileDialog.getExistingDirectory', return_value=os.path.join('test', 'dir')):
result = FileDialog.getExistingDirectory()
# THEN: getExistingDirectory() should return a Path object pointing to the chosen file
@@ -90,7 +90,7 @@ def test_get_open_file_name_user_abort():
# GIVEN: FileDialog with a mocked QDialog.getOpenFileName method
# WHEN: Calling FileDialog.getOpenFileName and the user cancels the dialog (it returns a tuple with the first
# value set as an empty string)
- with patch('PyQt6.QtWidgets.QFileDialog.getOpenFileName', return_value=('', '')):
+ with patch('PySide6.QtWidgets.QFileDialog.getOpenFileName', return_value=('', '')):
result = FileDialog.getOpenFileName()
# THEN: First value should be None
@@ -104,7 +104,7 @@ def test_get_open_file_name_user_accepts():
# GIVEN: FileDialog with a mocked QDialog.getOpenFileName method
# WHEN: Calling FileDialog.getOpenFileName, the user chooses a file and accepts the dialog (it returns a
# tuple with the first value set as an string pointing to the file)
- with patch('PyQt6.QtWidgets.QFileDialog.getOpenFileName',
+ with patch('PySide6.QtWidgets.QFileDialog.getOpenFileName',
return_value=(os.path.join('test', 'chosen.file'), '')):
result = FileDialog.getOpenFileName()
@@ -119,7 +119,7 @@ def test_get_open_file_name_selected_filter():
"""
# GIVEN: FileDialog with a mocked QDialog.get_save_file_name method
# WHEN: Calling FileDialog.getOpenFileName, and `QFileDialog.getOpenFileName` returns a known `selectedFilter`
- with patch('PyQt6.QtWidgets.QFileDialog.getOpenFileName', return_value=('', 'selected filter')):
+ with patch('PySide6.QtWidgets.QFileDialog.getOpenFileName', return_value=('', 'selected filter')):
result = FileDialog.getOpenFileName()
# THEN: getOpenFileName() should return a tuple with the second value set to a the selected filter
@@ -133,7 +133,7 @@ def test_get_open_file_names_user_abort():
# GIVEN: FileDialog with a mocked QDialog.getOpenFileNames method
# WHEN: Calling FileDialog.getOpenFileNames and the user cancels the dialog (it returns a tuple with the first
# value set as an empty list)
- with patch('PyQt6.QtWidgets.QFileDialog.getOpenFileNames', return_value=([], '')):
+ with patch('PySide6.QtWidgets.QFileDialog.getOpenFileNames', return_value=([], '')):
result = FileDialog.getOpenFileNames()
# THEN: First value should be an empty list
@@ -147,7 +147,7 @@ def test_get_open_file_names_user_accepts():
# GIVEN: FileDialog with a mocked QDialog.getOpenFileNames method
# WHEN: Calling FileDialog.getOpenFileNames, the user chooses some files and accepts the dialog (it returns a
# tuple with the first value set as a list of strings pointing to the file)
- with patch('PyQt6.QtWidgets.QFileDialog.getOpenFileNames',
+ with patch('PySide6.QtWidgets.QFileDialog.getOpenFileNames',
return_value=([os.path.join('test', 'chosen.file1'), os.path.join('test', 'chosen.file2')], '')):
result = FileDialog.getOpenFileNames()
@@ -163,7 +163,7 @@ def test_get_open_file_names_selected_filter():
# GIVEN: FileDialog with a mocked QDialog.getOpenFileNames method
# WHEN: Calling FileDialog.getOpenFileNames, and `QFileDialog.getOpenFileNames` returns a known
# `selectedFilter`
- with patch('PyQt6.QtWidgets.QFileDialog.getOpenFileNames', return_value=([], 'selected filter')):
+ with patch('PySide6.QtWidgets.QFileDialog.getOpenFileNames', return_value=([], 'selected filter')):
result = FileDialog.getOpenFileNames()
# THEN: getOpenFileNames() should return a tuple with the second value set to a the selected filter
@@ -177,7 +177,7 @@ def test_get_save_file_name_user_abort():
# GIVEN: FileDialog with a mocked QDialog.get_save_file_name method
# WHEN: Calling FileDialog.getSaveFileName and the user cancels the dialog (it returns a tuple with the first
# value set as an empty string)
- with patch('PyQt6.QtWidgets.QFileDialog.getSaveFileName', return_value=('', '')):
+ with patch('PySide6.QtWidgets.QFileDialog.getSaveFileName', return_value=('', '')):
result = FileDialog.getSaveFileName()
# THEN: First value should be None
@@ -191,7 +191,7 @@ def test_get_save_file_name_user_accepts():
# GIVEN: FileDialog with a mocked QDialog.getSaveFileName method
# WHEN: Calling FileDialog.getSaveFileName, the user chooses a file and accepts the dialog (it returns a
# tuple with the first value set as an string pointing to the file)
- with patch('PyQt6.QtWidgets.QFileDialog.getSaveFileName',
+ with patch('PySide6.QtWidgets.QFileDialog.getSaveFileName',
return_value=(os.path.join('test', 'chosen.file'), '')):
result = FileDialog.getSaveFileName()
@@ -206,7 +206,7 @@ def test_get_save_file_name_selected_filter():
"""
# GIVEN: FileDialog with a mocked QDialog.get_save_file_name method
# WHEN: Calling FileDialog.getSaveFileName, and `QFileDialog.getSaveFileName` returns a known `selectedFilter`
- with patch('PyQt6.QtWidgets.QFileDialog.getSaveFileName', return_value=('', 'selected filter')):
+ with patch('PySide6.QtWidgets.QFileDialog.getSaveFileName', return_value=('', 'selected filter')):
result = FileDialog.getSaveFileName()
# THEN: getSaveFileName() should return a tuple with the second value set to a the selected filter
diff --git a/tests/openlp_core/widgets/test_edits.py b/tests/openlp_core/widgets/test_edits.py
index 952f5c030..49a76ca1a 100755
--- a/tests/openlp_core/widgets/test_edits.py
+++ b/tests/openlp_core/widgets/test_edits.py
@@ -27,7 +27,7 @@ from pathlib import Path
from unittest.mock import MagicMock, PropertyMock, patch, call
from typing import Any
-from PyQt6 import QtCore, QtGui, QtTest, QtWidgets
+from PySide6 import QtCore, QtGui, QtTest, QtWidgets
from openlp.core.common.registry import Registry
from openlp.core.widgets.dialogs import FileDialog
diff --git a/tests/openlp_core/widgets/test_views.py b/tests/openlp_core/widgets/test_views.py
index 5caa0d855..e00919dc0 100644
--- a/tests/openlp_core/widgets/test_views.py
+++ b/tests/openlp_core/widgets/test_views.py
@@ -26,7 +26,7 @@ import pytest
from types import GeneratorType
from unittest.mock import MagicMock, call, patch
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.i18n import UiStrings
from openlp.core.common.registry import Registry
diff --git a/tests/openlp_core/widgets/test_widgets.py b/tests/openlp_core/widgets/test_widgets.py
index 7670096af..c57f2c185 100644
--- a/tests/openlp_core/widgets/test_widgets.py
+++ b/tests/openlp_core/widgets/test_widgets.py
@@ -26,7 +26,7 @@ import pytest
from unittest.mock import MagicMock, call, patch
-from PyQt6 import QtCore, QtWidgets, QtTest
+from PySide6 import QtCore, QtWidgets, QtTest
from openlp.core.common.settings import ProxyMode
from openlp.core.display.screens import Screen
diff --git a/tests/openlp_plugins/alerts/forms/test_alertform.py b/tests/openlp_plugins/alerts/forms/test_alertform.py
index 29b2d23e5..7e33d6f6e 100644
--- a/tests/openlp_plugins/alerts/forms/test_alertform.py
+++ b/tests/openlp_plugins/alerts/forms/test_alertform.py
@@ -23,7 +23,7 @@ Package to test the openlp.plugins.alerts.forms.alertform package.
"""
from unittest.mock import MagicMock, patch
-from PyQt6 import QtWidgets, QtTest, QtCore
+from PySide6 import QtWidgets, QtTest, QtCore
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
diff --git a/tests/openlp_plugins/bibles/forms/test_bibleimportform.py b/tests/openlp_plugins/bibles/forms/test_bibleimportform.py
index e512a7e97..fa9cf927d 100644
--- a/tests/openlp_plugins/bibles/forms/test_bibleimportform.py
+++ b/tests/openlp_plugins/bibles/forms/test_bibleimportform.py
@@ -24,7 +24,7 @@ Package to test the openlp.plugins.bibles.forms.bibleimportform package.
from unittest.mock import MagicMock, patch
import pytest
-from PyQt6 import QtWidgets, QtTest, QtCore
+from PySide6 import QtWidgets, QtTest, QtCore
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
diff --git a/tests/openlp_plugins/bibles/forms/test_editbibleform.py b/tests/openlp_plugins/bibles/forms/test_editbibleform.py
index efb78470b..4c84b7fb9 100644
--- a/tests/openlp_plugins/bibles/forms/test_editbibleform.py
+++ b/tests/openlp_plugins/bibles/forms/test_editbibleform.py
@@ -23,7 +23,7 @@ Package to test the openlp.plugins.bibles.forms.editbibleform package.
"""
from unittest.mock import MagicMock, patch
-from PyQt6 import QtWidgets, QtTest, QtCore
+from PySide6 import QtWidgets, QtTest, QtCore
from openlp.plugins.bibles.forms.editbibleform import EditBibleForm
diff --git a/tests/openlp_plugins/bibles/test_bibleimport.py b/tests/openlp_plugins/bibles/test_bibleimport.py
index 82b055a68..b39b4b0b1 100644
--- a/tests/openlp_plugins/bibles/test_bibleimport.py
+++ b/tests/openlp_plugins/bibles/test_bibleimport.py
@@ -27,7 +27,7 @@ from pathlib import Path
from unittest.mock import MagicMock, patch
from lxml import etree, objectify
-from PyQt6.QtWidgets import QDialog
+from PySide6.QtWidgets import QDialog
from openlp.core.common.i18n import Language
from openlp.core.common.registry import Registry
diff --git a/tests/openlp_plugins/bibles/test_mediaitem.py b/tests/openlp_plugins/bibles/test_mediaitem.py
index 99ef7af6a..8e8d7dc90 100644
--- a/tests/openlp_plugins/bibles/test_mediaitem.py
+++ b/tests/openlp_plugins/bibles/test_mediaitem.py
@@ -24,7 +24,7 @@ This module contains tests for the lib submodule of the Presentations plugin.
import pytest
from unittest.mock import MagicMock, call, patch
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.registry import Registry
from openlp.core.lib.mediamanageritem import MediaManagerItem
@@ -129,11 +129,11 @@ def test_bible_media_item_signals():
Test that the :class:`BibleMediaItem` class has the expected signals
"""
# GIVEN: The :class:`BibleMediaItem`
- # THEN: The :class:`BibleMediaItem` should contain the following pyqtSignal's
+ # THEN: The :class:`BibleMediaItem` should contain the following Signal's
assert hasattr(BibleMediaItem, 'bibles_go_live')
assert hasattr(BibleMediaItem, 'bibles_add_to_service')
- assert isinstance(BibleMediaItem.bibles_go_live, QtCore.pyqtSignal)
- assert isinstance(BibleMediaItem.bibles_add_to_service, QtCore.pyqtSignal)
+ assert isinstance(BibleMediaItem.bibles_go_live, QtCore.Signal)
+ assert isinstance(BibleMediaItem.bibles_add_to_service, QtCore.Signal)
def test_media_item_instance(media_item: BibleMediaItem):
diff --git a/tests/openlp_plugins/custom/forms/test_customform.py b/tests/openlp_plugins/custom/forms/test_customform.py
index 353901513..2ec64d874 100644
--- a/tests/openlp_plugins/custom/forms/test_customform.py
+++ b/tests/openlp_plugins/custom/forms/test_customform.py
@@ -24,7 +24,7 @@ Module to test the EditCustomForm.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtTest, QtWidgets
+from PySide6 import QtCore, QtTest, QtWidgets
from openlp.plugins.custom.forms.editcustomform import EditCustomForm
@@ -71,7 +71,7 @@ def test_on_add_button_clicked(form):
Test the on_add_button_clicked_test method / add_button button.
"""
# GIVEN: A mocked QDialog.exec() method
- with patch('PyQt6.QtWidgets.QDialog.exec'):
+ with patch('PySide6.QtWidgets.QDialog.exec'):
# WHEN: Add a new slide.
QtTest.QTest.mouseClick(form.add_button, QtCore.Qt.MouseButton.LeftButton)
diff --git a/tests/openlp_plugins/custom/forms/test_customslideform.py b/tests/openlp_plugins/custom/forms/test_customslideform.py
index fec636a80..afcc631a6 100644
--- a/tests/openlp_plugins/custom/forms/test_customslideform.py
+++ b/tests/openlp_plugins/custom/forms/test_customslideform.py
@@ -24,7 +24,7 @@ Module to test the EditCustomSlideForm.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.registry import Registry
from openlp.plugins.custom.forms.editcustomslideform import EditCustomSlideForm
@@ -45,7 +45,7 @@ def test_basic(form):
Test if the dialog is correctly set up.
"""
# GIVEN: A mocked QDialog.exec() method
- with patch('PyQt6.QtWidgets.QDialog.exec'):
+ with patch('PySide6.QtWidgets.QDialog.exec'):
# WHEN: Show the dialog.
form.exec()
@@ -58,7 +58,7 @@ def test_set_text(form):
Test the set_text() method.
"""
# GIVEN: A mocked QDialog.exec() method
- with patch('PyQt6.QtWidgets.QDialog.exec'):
+ with patch('PySide6.QtWidgets.QDialog.exec'):
mocked_set_focus = MagicMock()
form.slide_text_edit.setFocus = mocked_set_focus
wanted_text = 'THIS TEXT SHOULD BE SHOWN.'
diff --git a/tests/openlp_plugins/images/forms/test_choosegroupform.py b/tests/openlp_plugins/images/forms/test_choosegroupform.py
index db525525a..252f1fd26 100644
--- a/tests/openlp_plugins/images/forms/test_choosegroupform.py
+++ b/tests/openlp_plugins/images/forms/test_choosegroupform.py
@@ -24,7 +24,7 @@ Tests for choosegroupform from the openlp.plugins.images.forms package.
import pytest
from unittest.mock import MagicMock
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.registry import Registry
from openlp.plugins.images.forms.choosegroupform import ChooseGroupForm
diff --git a/tests/openlp_plugins/images/test_mediaitem.py b/tests/openlp_plugins/images/test_mediaitem.py
index 95500c9a9..2b1e9fd3b 100644
--- a/tests/openlp_plugins/images/test_mediaitem.py
+++ b/tests/openlp_plugins/images/test_mediaitem.py
@@ -25,7 +25,7 @@ from pathlib import Path
from unittest.mock import ANY, MagicMock, patch
import pytest
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.registry import Registry
from openlp.core.common.enum import ImageThemeMode
diff --git a/tests/openlp_plugins/media/forms/test_mediaclipselectorform.py b/tests/openlp_plugins/media/forms/test_mediaclipselectorform.py
index c6f816d25..6eb15c321 100644
--- a/tests/openlp_plugins/media/forms/test_mediaclipselectorform.py
+++ b/tests/openlp_plugins/media/forms/test_mediaclipselectorform.py
@@ -26,7 +26,7 @@ import os
from unittest import SkipTest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtTest, QtWidgets
+from PySide6 import QtCore, QtTest, QtWidgets
from openlp.core.ui.media.vlcplayer import get_vlc
from openlp.plugins.media.forms.mediaclipselectorform import MediaClipSelectorForm
@@ -65,7 +65,7 @@ def test_basic(form):
Test if the dialog is correctly set up.
"""
# GIVEN: A mocked QDialog.exec() method
- with patch('PyQt6.QtWidgets.QDialog.exec'):
+ with patch('PySide6.QtWidgets.QDialog.exec'):
# WHEN: Show the dialog.
form.exec()
@@ -81,7 +81,7 @@ def test_click_load_button(form):
with patch('openlp.plugins.media.forms.mediaclipselectorform.critical_error_message_box') as \
mocked_critical_error_message_box, \
patch('openlp.plugins.media.forms.mediaclipselectorform.os.path.exists') as mocked_os_path_exists, \
- patch('PyQt6.QtWidgets.QDialog.exec'):
+ patch('PySide6.QtWidgets.QDialog.exec'):
form.exec()
# WHEN: The load button is clicked with no path set
@@ -120,7 +120,7 @@ def test_title_combobox(form):
Test the behavior when the title combobox is updated
"""
# GIVEN: Mocked methods and some entries in the title combobox.
- with patch('PyQt6.QtWidgets.QDialog.exec'):
+ with patch('PySide6.QtWidgets.QDialog.exec'):
form.exec()
form.vlc_media_player.get_length.return_value = 1000
form.audio_tracks_combobox.itemData = MagicMock()
@@ -150,7 +150,7 @@ def test_click_save_button(form):
# GIVEN: Mocked methods.
with patch('openlp.plugins.media.forms.mediaclipselectorform.critical_error_message_box') as \
mocked_critical_error_message_box, \
- patch('PyQt6.QtWidgets.QDialog.exec'):
+ patch('PySide6.QtWidgets.QDialog.exec'):
form.exec()
# WHEN: The save button is clicked with a NoneType in start_time_ms or end_time_ms
diff --git a/tests/openlp_plugins/media/forms/test_streamselectorform.py b/tests/openlp_plugins/media/forms/test_streamselectorform.py
index 18073865d..dab18e879 100644
--- a/tests/openlp_plugins/media/forms/test_streamselectorform.py
+++ b/tests/openlp_plugins/media/forms/test_streamselectorform.py
@@ -25,7 +25,7 @@ import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtTest, QtWidgets
+from PySide6 import QtCore, QtTest, QtWidgets
from openlp.plugins.media.forms.streamselectorform import StreamSelectorForm
from openlp.plugins.media.forms.streamselectordialog import CaptureVideoDirectShowWidget, CaptureDigitalTVWidget, \
diff --git a/tests/openlp_plugins/planningcenter/forms/test_selectplanform.py b/tests/openlp_plugins/planningcenter/forms/test_selectplanform.py
index 190903558..0800497da 100644
--- a/tests/openlp_plugins/planningcenter/forms/test_selectplanform.py
+++ b/tests/openlp_plugins/planningcenter/forms/test_selectplanform.py
@@ -27,7 +27,7 @@ from datetime import date, datetime
from unittest.mock import patch, MagicMock
import pytest
-from PyQt6 import QtTest, QtCore
+from PySide6 import QtTest, QtCore
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
@@ -63,7 +63,7 @@ def form(plugin: PlanningCenterPlugin) -> SelectPlanForm:
yield form_
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
@patch('openlp.plugins.planningcenter.forms.selectplanform.date')
def test_initial_defaults(mocked_date: MagicMock, mocked_exec: MagicMock, form: SelectPlanForm):
"""
@@ -89,8 +89,8 @@ def test_initial_defaults(mocked_date: MagicMock, mocked_exec: MagicMock, form:
assert form.slide_theme_selection_combo_box.count() == 0, 'Count of custom slide themes is incorrect'
-@patch('PyQt6.QtWidgets.QDialog.exec')
-@patch('PyQt6.QtWidgets.QMessageBox.warning')
+@patch('PySide6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QMessageBox.warning')
def test_warning_messagebox_shown_for_bad_credentials(mocked_warning: MagicMock, mocked_exec: MagicMock,
form: SelectPlanForm):
"""
@@ -105,7 +105,7 @@ def test_warning_messagebox_shown_for_bad_credentials(mocked_warning: MagicMock,
mocked_warning.assert_called_once()
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
def test_disable_import_buttons(mocked_exec: MagicMock, form: SelectPlanForm):
"""
Test that the import buttons are disabled when the "Select Plan Date" element in the
@@ -121,7 +121,7 @@ def test_disable_import_buttons(mocked_exec: MagicMock, form: SelectPlanForm):
assert not form.update_existing_button.isEnabled(), '"Refresh Service" button should be disabled'
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
@patch('openlp.plugins.planningcenter.forms.selectplanform.date')
def test_default_plan_date_is_next_sunday(mocked_date: MagicMock, mocked_exec: MagicMock, form: SelectPlanForm):
"""
@@ -140,7 +140,7 @@ def test_default_plan_date_is_next_sunday(mocked_date: MagicMock, mocked_exec: M
'The next Sunday\'s Date is not selected in the plan_selection_combo_box'
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
def test_service_type_changed_called_when_service_type_combo_changed(mocked_exec: MagicMock, form: SelectPlanForm):
"""
Test that the "on_service_type_combobox_changed" function is executed when the
@@ -155,7 +155,7 @@ def test_service_type_changed_called_when_service_type_combo_changed(mocked_exec
assert form.plan_selection_combo_box.itemText(0) == 'Select Plan Date', 'Plan Combo Box has default text'
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
def test_plan_selection_changed_called_when_plan_selection_combo_changed(mocked_exec: MagicMock, form: SelectPlanForm):
"""
Test that the "on_plan_selection_combobox_changed" function is executed when the
@@ -171,7 +171,7 @@ def test_plan_selection_changed_called_when_plan_selection_combo_changed(mocked_
assert form.update_existing_button.isEnabled(), 'Update button should be enabled'
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
@patch('openlp.core.ui.settingsform.SettingsForm.exec')
def test_settings_tab_displayed_when_edit_auth_button_clicked(mocked_settings_form_exec: MagicMock,
mocked_exec: MagicMock, form: SelectPlanForm):
@@ -186,7 +186,7 @@ def test_settings_tab_displayed_when_edit_auth_button_clicked(mocked_settings_fo
mocked_settings_form_exec.assert_called_once()
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
@patch('openlp.plugins.planningcenter.forms.selectplanform.SelectPlanForm._do_import')
def test_import_function_called_when_import_button_clicked(mocked_do_import: MagicMock, mocked_exec: MagicMock,
form: SelectPlanForm):
@@ -205,7 +205,7 @@ def test_import_function_called_when_import_button_clicked(mocked_do_import: Mag
mocked_do_import.assert_called_with(update=False)
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
@patch('openlp.plugins.planningcenter.forms.selectplanform.warning_message_box')
@patch('openlp.plugins.planningcenter.lib.songimport.PlanningCenterSongImport.finish')
@patch('openlp.plugins.planningcenter.lib.customimport.CustomSlide')
@@ -243,7 +243,7 @@ def test_service_imported_when_import_button_clicked(mocked_date: MagicMock, moc
assert mocked_warning_box.call_count == 0, 'No warnings triggered'
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
@patch('openlp.plugins.planningcenter.forms.selectplanform.warning_message_box')
@patch('openlp.plugins.planningcenter.lib.songimport.PlanningCenterSongImport.finish')
@patch('openlp.plugins.planningcenter.lib.customimport.CustomSlide')
@@ -281,7 +281,7 @@ def test_service_refreshed_when_refresh_button_clicked(mocked_date: MagicMock, m
assert mocked_warning_box.call_count == 0, 'No warnings triggered'
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
@patch('openlp.plugins.planningcenter.forms.selectplanform.warning_message_box')
@patch('openlp.plugins.planningcenter.lib.songimport.PlanningCenterSongImport.finish')
@patch('openlp.plugins.planningcenter.lib.customimport.CustomSlide')
@@ -316,7 +316,7 @@ def test_other_bible_is_used_when_bible_gui_form_is_blank(mocked_date: MagicMock
assert mocked_warning_box.call_count == 0, 'No warnings triggered'
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
@patch('openlp.plugins.planningcenter.forms.selectplanform.warning_message_box')
@patch('openlp.plugins.planningcenter.lib.songimport.PlanningCenterSongImport.finish')
@patch('openlp.plugins.planningcenter.lib.customimport.CustomSlide')
@@ -352,7 +352,7 @@ def test_warning_importing_bible_with_no_bible_available(mocked_date: MagicMock,
@pytest.mark.skip('fails to run when executed with all other openlp tests. awaiting pytest fixtures to enable again')
-@patch('PyQt6.QtWidgets.QDialog.exec')
+@patch('PySide6.QtWidgets.QDialog.exec')
@patch('openlp.plugins.planningcenter.forms.selectplanform.date')
def test_less_mocking_service_refreshed_when_refresh_button_clicked(mocked_date: MagicMock, mocked_exec: MagicMock,
form: SelectPlanForm):
diff --git a/tests/openlp_plugins/planningcenter/lib/test_planningcentertab.py b/tests/openlp_plugins/planningcenter/lib/test_planningcentertab.py
index 0dad1d209..e8fd26c7c 100644
--- a/tests/openlp_plugins/planningcenter/lib/test_planningcentertab.py
+++ b/tests/openlp_plugins/planningcenter/lib/test_planningcentertab.py
@@ -24,7 +24,7 @@ Package to test the openlp.plugins.planningcenter.lib.planningcentertab package.
from unittest.mock import MagicMock, patch
import pytest
-from PyQt6 import QtCore, QtTest, QtWidgets
+from PySide6 import QtCore, QtTest, QtWidgets
from openlp.core.state import State
from openlp.core.common.registry import Registry
diff --git a/tests/openlp_plugins/planningcenter/test_planningcenterplugin.py b/tests/openlp_plugins/planningcenter/test_planningcenterplugin.py
index a262fb596..8acd5b5fe 100644
--- a/tests/openlp_plugins/planningcenter/test_planningcenterplugin.py
+++ b/tests/openlp_plugins/planningcenter/test_planningcenterplugin.py
@@ -24,7 +24,7 @@ Package to test the openlp.plugins.planningcenter.planningcenterplugin package.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
diff --git a/tests/openlp_plugins/presentations/test_mediaitem.py b/tests/openlp_plugins/presentations/test_mediaitem.py
index dc4db1f3e..680e280d6 100644
--- a/tests/openlp_plugins/presentations/test_mediaitem.py
+++ b/tests/openlp_plugins/presentations/test_mediaitem.py
@@ -24,7 +24,7 @@ This module contains tests for the lib submodule of the Presentations plugin.
from pathlib import Path
from unittest.mock import MagicMock, PropertyMock, call, patch
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.lib import ServiceItemContext
from openlp.core.lib.serviceitem import ItemCapabilities
diff --git a/tests/openlp_plugins/presentations/test_pdfcontroller.py b/tests/openlp_plugins/presentations/test_pdfcontroller.py
index 16393afa2..efd3363c3 100644
--- a/tests/openlp_plugins/presentations/test_pdfcontroller.py
+++ b/tests/openlp_plugins/presentations/test_pdfcontroller.py
@@ -28,7 +28,7 @@ from shutil import rmtree
from tempfile import mkdtemp
from unittest.mock import MagicMock
-from PyQt6 import QtCore, QtGui
+from PySide6 import QtCore, QtGui
from openlp.core.display.screens import ScreenList
from openlp.plugins.presentations.lib.pdfcontroller import PdfController, PdfDocument
diff --git a/tests/openlp_plugins/presentations/test_presentationtab.py b/tests/openlp_plugins/presentations/test_presentationtab.py
index 072a6798f..e0d3e2e2b 100644
--- a/tests/openlp_plugins/presentations/test_presentationtab.py
+++ b/tests/openlp_plugins/presentations/test_presentationtab.py
@@ -23,7 +23,7 @@ This module contains tests for the settings tab for the Presentations plugin.
"""
from unittest.mock import MagicMock
-from PyQt6 import QtCore, QtTest
+from PySide6 import QtCore, QtTest
from openlp.core.common.registry import Registry
from openlp.plugins.presentations.lib.presentationtab import PresentationTab
diff --git a/tests/openlp_plugins/songs/forms/test_authorsform.py b/tests/openlp_plugins/songs/forms/test_authorsform.py
index 2f303947f..16de666c2 100644
--- a/tests/openlp_plugins/songs/forms/test_authorsform.py
+++ b/tests/openlp_plugins/songs/forms/test_authorsform.py
@@ -24,7 +24,7 @@ Package to test the openlp.plugins.songs.forms.authorsform package.
import pytest
from unittest.mock import patch
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.registry import Registry
from openlp.plugins.songs.forms.authorsform import AuthorsForm
diff --git a/tests/openlp_plugins/songs/forms/test_editsongform.py b/tests/openlp_plugins/songs/forms/test_editsongform.py
index 99f45ee32..fc33ec581 100644
--- a/tests/openlp_plugins/songs/forms/test_editsongform.py
+++ b/tests/openlp_plugins/songs/forms/test_editsongform.py
@@ -24,7 +24,7 @@ Package to test the openlp.plugins.songs.forms.editsongform package.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtWidgets, QtTest, QtCore
+from PySide6 import QtWidgets, QtTest, QtCore
from openlp.core.common.i18n import UiStrings
from openlp.core.common.registry import Registry
diff --git a/tests/openlp_plugins/songs/forms/test_editverseform.py b/tests/openlp_plugins/songs/forms/test_editverseform.py
index 31b2d5d29..467a5fcaa 100644
--- a/tests/openlp_plugins/songs/forms/test_editverseform.py
+++ b/tests/openlp_plugins/songs/forms/test_editverseform.py
@@ -24,7 +24,7 @@ This module contains tests for the editverseform of the Songs plugin.
from unittest.mock import MagicMock, call, patch
import pytest
-from PyQt6 import QtCore, QtTest, QtGui, QtWidgets
+from PySide6 import QtCore, QtTest, QtGui, QtWidgets
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
diff --git a/tests/openlp_plugins/songs/forms/test_songmaintenanceform.py b/tests/openlp_plugins/songs/forms/test_songmaintenanceform.py
index 464474cae..0cf36ac3c 100644
--- a/tests/openlp_plugins/songs/forms/test_songmaintenanceform.py
+++ b/tests/openlp_plugins/songs/forms/test_songmaintenanceform.py
@@ -26,7 +26,7 @@ import os
from unittest.mock import MagicMock, call, create_autospec, patch, ANY
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.i18n import UiStrings
from openlp.core.common.registry import Registry
diff --git a/tests/openlp_plugins/songs/forms/test_topicsform.py b/tests/openlp_plugins/songs/forms/test_topicsform.py
index 6eb965d1b..26336fe01 100644
--- a/tests/openlp_plugins/songs/forms/test_topicsform.py
+++ b/tests/openlp_plugins/songs/forms/test_topicsform.py
@@ -23,7 +23,7 @@ Package to test the openlp.plugins.songs.forms.topicsform package.
"""
import pytest
-from PyQt6 import QtWidgets
+from PySide6 import QtWidgets
from openlp.core.common.registry import Registry
from openlp.plugins.songs.forms.topicsform import TopicsForm
diff --git a/tests/openlp_plugins/songs/test_mediaitem.py b/tests/openlp_plugins/songs/test_mediaitem.py
index 4869e581a..1e9798873 100644
--- a/tests/openlp_plugins/songs/test_mediaitem.py
+++ b/tests/openlp_plugins/songs/test_mediaitem.py
@@ -24,7 +24,7 @@ This module contains tests for the lib submodule of the Songs plugin.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common.enum import SongFirstSlideMode
from openlp.core.common.registry import Registry
diff --git a/tests/openlp_plugins/songs/test_songselect.py b/tests/openlp_plugins/songs/test_songselect.py
index 74ca1ea04..c12790f50 100644
--- a/tests/openlp_plugins/songs/test_songselect.py
+++ b/tests/openlp_plugins/songs/test_songselect.py
@@ -29,7 +29,7 @@ re-downloading the HTML pages and changing the code to use the new layout.
from unittest.mock import MagicMock, patch, sentinel
import pytest
-from PyQt6 import QtCore
+from PySide6 import QtCore
from openlp.core.common.registry import Registry
from openlp.core.common.settings import Settings
diff --git a/tests/openlp_plugins/songs/test_songstab.py b/tests/openlp_plugins/songs/test_songstab.py
index 3fa9f7369..2122282dc 100644
--- a/tests/openlp_plugins/songs/test_songstab.py
+++ b/tests/openlp_plugins/songs/test_songstab.py
@@ -24,7 +24,7 @@ This module contains tests for the lib submodule of the Songs plugin.
import pytest
from unittest.mock import MagicMock, patch
-from PyQt6 import QtCore, QtWidgets
+from PySide6 import QtCore, QtWidgets
from openlp.core.common.enum import SongFirstSlideMode
from openlp.core.common.registry import Registry
diff --git a/tests/openlp_plugins/songusage/forms/test_songusagedeleteform.py b/tests/openlp_plugins/songusage/forms/test_songusagedeleteform.py
index d5c2a3777..591ec7051 100644
--- a/tests/openlp_plugins/songusage/forms/test_songusagedeleteform.py
+++ b/tests/openlp_plugins/songusage/forms/test_songusagedeleteform.py
@@ -23,7 +23,7 @@ Package to test the openlp.plugins.songusage.forms.songusagedeleteform package.
"""
from unittest.mock import MagicMock, patch
-from PyQt6 import QtWidgets, QtTest, QtCore
+from PySide6 import QtWidgets, QtTest, QtCore
from openlp.plugins.songusage.forms.songusagedeleteform import SongUsageDeleteForm
diff --git a/tests/openlp_plugins/songusage/forms/test_songusagedetailform.py b/tests/openlp_plugins/songusage/forms/test_songusagedetailform.py
index 34f8f2aae..c6f8b0dc0 100644
--- a/tests/openlp_plugins/songusage/forms/test_songusagedetailform.py
+++ b/tests/openlp_plugins/songusage/forms/test_songusagedetailform.py
@@ -23,7 +23,7 @@ Package to test the openlp.plugins.songusage.forms.songusagedetailform package.
"""
from unittest.mock import MagicMock, patch
-from PyQt6 import QtWidgets, QtTest, QtCore
+from PySide6 import QtWidgets, QtTest, QtCore
from openlp.plugins.songusage.forms.songusagedetailform import SongUsageDetailForm