mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 17:27:51 -06:00
Use application singleton instead of locally cached application
This commit is contained in:
parent
620ba8f21d
commit
21c81603b4
3 changed files with 12 additions and 12 deletions
|
@ -7,8 +7,8 @@ from PyQt5.QtCore import QUrl
|
||||||
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkReply, QHttpMultiPart, QNetworkRequest, QHttpPart, \
|
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkReply, QHttpMultiPart, QNetworkRequest, QHttpPart, \
|
||||||
QAuthenticator
|
QAuthenticator
|
||||||
|
|
||||||
|
from UM.Application import Application
|
||||||
from UM.Logger import Logger
|
from UM.Logger import Logger
|
||||||
from cura.CuraApplication import CuraApplication
|
|
||||||
|
|
||||||
|
|
||||||
## Abstraction of QNetworkAccessManager for easier networking in Cura.
|
## Abstraction of QNetworkAccessManager for easier networking in Cura.
|
||||||
|
@ -17,9 +17,6 @@ class NetworkClient:
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
|
|
||||||
# Use the given application instance or get the singleton instance.
|
|
||||||
self._application = CuraApplication.getInstance()
|
|
||||||
|
|
||||||
# Network manager instance to use for this client.
|
# Network manager instance to use for this client.
|
||||||
self._manager = None # type: Optional[QNetworkAccessManager]
|
self._manager = None # type: Optional[QNetworkAccessManager]
|
||||||
|
|
||||||
|
@ -29,7 +26,8 @@ class NetworkClient:
|
||||||
self._last_request_time = None # type: Optional[float]
|
self._last_request_time = None # type: Optional[float]
|
||||||
|
|
||||||
# The user agent of Cura.
|
# The user agent of Cura.
|
||||||
self._user_agent = "%s/%s " % (self._application.getApplicationName(), self._application.getVersion())
|
application = Application.getInstance()
|
||||||
|
self._user_agent = "%s/%s " % (application.getApplicationName(), application.getVersion())
|
||||||
|
|
||||||
# Uses to store callback methods for finished network requests.
|
# Uses to store callback methods for finished network requests.
|
||||||
# This allows us to register network calls with a callback directly instead of having to dissect the reply.
|
# This allows us to register network calls with a callback directly instead of having to dissect the reply.
|
||||||
|
|
|
@ -6,6 +6,7 @@ from typing import Dict, Optional
|
||||||
from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply
|
from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply
|
||||||
|
|
||||||
from UM.Logger import Logger
|
from UM.Logger import Logger
|
||||||
|
from cura.CuraApplication import CuraApplication
|
||||||
from cura.NetworkClient import NetworkClient
|
from cura.NetworkClient import NetworkClient
|
||||||
from plugins.UM3NetworkPrinting.src.Cloud.CloudOutputDevice import CloudOutputDevice
|
from plugins.UM3NetworkPrinting.src.Cloud.CloudOutputDevice import CloudOutputDevice
|
||||||
from .Models import Cluster
|
from .Models import Cluster
|
||||||
|
@ -26,14 +27,15 @@ class CloudOutputDeviceManager(NetworkClient):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
self._output_device_manager = self._application.getOutputDeviceManager()
|
|
||||||
self._account = self._application.getCuraAPI().account
|
|
||||||
|
|
||||||
# Persistent dict containing the remote clusters for the authenticated user.
|
# Persistent dict containing the remote clusters for the authenticated user.
|
||||||
self._remote_clusters = {} # type: Dict[str, CloudOutputDevice]
|
self._remote_clusters = {} # type: Dict[str, CloudOutputDevice]
|
||||||
|
|
||||||
|
application = CuraApplication.getInstance()
|
||||||
|
self._output_device_manager = application.getOutputDeviceManager()
|
||||||
|
self._account = application.getCuraAPI().account
|
||||||
|
|
||||||
# When switching machines we check if we have to activate a remote cluster.
|
# When switching machines we check if we have to activate a remote cluster.
|
||||||
self._application.globalContainerStackChanged.connect(self._activeMachineChanged)
|
application.globalContainerStackChanged.connect(self._activeMachineChanged)
|
||||||
|
|
||||||
# Fetch all remote clusters for the authenticated user.
|
# Fetch all remote clusters for the authenticated user.
|
||||||
# TODO: update remote clusters periodically
|
# TODO: update remote clusters periodically
|
||||||
|
@ -96,7 +98,7 @@ class CloudOutputDeviceManager(NetworkClient):
|
||||||
|
|
||||||
## Callback for when the active machine was changed by the user.
|
## Callback for when the active machine was changed by the user.
|
||||||
def _activeMachineChanged(self):
|
def _activeMachineChanged(self):
|
||||||
active_machine = self._application.getGlobalContainerStack()
|
active_machine = CuraApplication.getInstance().getGlobalContainerStack()
|
||||||
if not active_machine:
|
if not active_machine:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue