diff --git a/DiscoverOctoPrintAction.py b/DiscoverOctoPrintAction.py index 9c966e8..32d54a9 100644 --- a/DiscoverOctoPrintAction.py +++ b/DiscoverOctoPrintAction.py @@ -12,8 +12,12 @@ from cura.MachineAction import MachineAction from cura.Settings.CuraStackBuilder import CuraStackBuilder -USE_QT5 = False try: + from cura.ApplicationMetadata import CuraSDKVersion +except ImportError: # Cura <= 3.6 + CuraSDKVersion = "6.0.0" +USE_QT5 = False +if CuraSDKVersion >= "8.0.0": from PyQt6.QtCore import pyqtSignal, pyqtProperty, pyqtSlot, QUrl, QObject, QTimer from PyQt6.QtGui import QDesktopServices from PyQt6.QtNetwork import ( @@ -29,7 +33,7 @@ QNetworkRequestAttributes = QNetworkRequest.Attribute QSslSocketPeerVerifyModes = QSslSocket.PeerVerifyMode -except ImportError: +else: from PyQt5.QtCore import pyqtSignal, pyqtProperty, pyqtSlot, QUrl, QObject, QTimer from PyQt5.QtGui import QDesktopServices from PyQt5.QtNetwork import ( diff --git a/NetworkMJPGImage.py b/NetworkMJPGImage.py index a725df1..1f5cf88 100644 --- a/NetworkMJPGImage.py +++ b/NetworkMJPGImage.py @@ -2,6 +2,10 @@ # NetworkMJPGImage is released under the terms of the LGPLv3 or higher. try: + from cura.ApplicationMetadata import CuraSDKVersion +except ImportError: # Cura <= 3.6 + CuraSDKVersion = "6.0.0" +if CuraSDKVersion >= "8.0.0": from PyQt6.QtCore import QUrl, pyqtProperty, pyqtSignal, pyqtSlot, QRect, QByteArray from PyQt6.QtGui import QImage, QPainter from PyQt6.QtQuick import QQuickPaintedItem @@ -14,7 +18,7 @@ ) QNetworkRequestAttributes = QNetworkRequest.Attribute QSslSocketPeerVerifyModes = QSslSocket.PeerVerifyMode -except ImportError: +else: from PyQt5.QtCore import QUrl, pyqtProperty, pyqtSignal, pyqtSlot, QRect, QByteArray from PyQt5.QtGui import QImage, QPainter from PyQt5.QtQuick import QQuickPaintedItem diff --git a/NetworkReplyTimeout.py b/NetworkReplyTimeout.py index c8e94c3..cff6d04 100644 --- a/NetworkReplyTimeout.py +++ b/NetworkReplyTimeout.py @@ -2,9 +2,13 @@ # NetworkReplyTimeout is released under the terms of the AGPLv3 or higher. try: + from cura.ApplicationMetadata import CuraSDKVersion +except ImportError: # Cura <= 3.6 + CuraSDKVersion = "6.0.0" +if CuraSDKVersion >= "8.0.0": from PyQt6.QtCore import QObject, QTimer from PyQt6.QtNetwork import QNetworkReply -except ImportError: +else: from PyQt5.QtCore import QObject, QTimer from PyQt5.QtNetwork import QNetworkReply diff --git a/OctoPrintOutputDevice.py b/OctoPrintOutputDevice.py index b8155a3..08bcacd 100644 --- a/OctoPrintOutputDevice.py +++ b/OctoPrintOutputDevice.py @@ -34,8 +34,12 @@ from cura.PrinterOutput.NetworkedPrinterOutputDevice import NetworkedPrinterOutputDevice -USE_QT5 = False try: + from cura.ApplicationMetadata import CuraSDKVersion +except ImportError: # Cura <= 3.6 + CuraSDKVersion = "6.0.0" +USE_QT5 = False +if CuraSDKVersion >= "8.0.0": from PyQt6.QtNetwork import ( QHttpPart, QNetworkRequest, @@ -58,7 +62,7 @@ QNetworkReplyNetworkErrors = QNetworkReply.NetworkError QSslSocketPeerVerifyModes = QSslSocket.PeerVerifyMode -except ImportError: +else: from PyQt5.QtNetwork import ( QHttpPart, QNetworkRequest, diff --git a/OctoPrintOutputDevicePlugin.py b/OctoPrintOutputDevicePlugin.py index 96080d6..f8fad5a 100644 --- a/OctoPrintOutputDevicePlugin.py +++ b/OctoPrintOutputDevicePlugin.py @@ -11,8 +11,12 @@ from UM.Settings.ContainerStack import ContainerStack try: + from cura.ApplicationMetadata import CuraSDKVersion +except ImportError: # Cura <= 3.6 + CuraSDKVersion = "6.0.0" +if CuraSDKVersion >= "8.0.0": from PyQt6.QtCore import QTimer -except ImportError: +else: from PyQt5.QtCore import QTimer import time diff --git a/UploadOptions.py b/UploadOptions.py index 995c4c7..38f3f32 100644 --- a/UploadOptions.py +++ b/UploadOptions.py @@ -5,10 +5,14 @@ from UM.Version import Version from UM.Util import parseBool -USE_QT5 = False try: + from cura.ApplicationMetadata import CuraSDKVersion +except ImportError: # Cura <= 3.6 + CuraSDKVersion = "6.0.0" +USE_QT5 = False +if CuraSDKVersion >= "8.0.0": from PyQt6.QtCore import QObject, pyqtSignal, pyqtProperty, pyqtSlot -except ImportError: +else: from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty, pyqtSlot USE_QT5 = True diff --git a/WebcamsModel.py b/WebcamsModel.py index 6183206..fd1cd2b 100644 --- a/WebcamsModel.py +++ b/WebcamsModel.py @@ -2,8 +2,12 @@ # OctoPrintPlugin is released under the terms of the AGPLv3 or higher. try: + from cura.ApplicationMetadata import CuraSDKVersion +except ImportError: # Cura <= 3.6 + CuraSDKVersion = "6.0.0" +if CuraSDKVersion >= "8.0.0": from PyQt6.QtCore import Qt -except ImportError: +else: from PyQt5.QtCore import Qt from UM.Qt.ListModel import ListModel diff --git a/__init__.py b/__init__.py index ed9c887..bd990e2 100644 --- a/__init__.py +++ b/__init__.py @@ -12,8 +12,12 @@ from UM.Logger import Logger try: + from cura.ApplicationMetadata import CuraSDKVersion +except ImportError: # Cura <= 3.6 + CuraSDKVersion = "6.0.0" +if CuraSDKVersion >= "8.0.0": from PyQt6.QtQml import qmlRegisterType -except ImportError: +else: from PyQt5.QtQml import qmlRegisterType def getMetaData():