Fix Discord RPC
This commit is contained in:
parent
063e7ddbaf
commit
36e84bce9f
|
@ -250,6 +250,7 @@ class GameUtils(QObject):
|
|||
|
||||
process.start(full_params[0], full_params[1:])
|
||||
self.game_launched.emit(app_name)
|
||||
self.signals.set_discord_rpc.emit(app_name)
|
||||
logger.info(f"{game.app_title} launched")
|
||||
|
||||
self.running_games[game.app_name] = running_game
|
||||
|
@ -316,6 +317,7 @@ class GameUtils(QObject):
|
|||
|
||||
def game_finished(self, exit_code, app_name):
|
||||
logger.info(f"Game exited with exit code: {exit_code}")
|
||||
self.signals.set_discord_rpc.emit("")
|
||||
is_origin = self.core.get_game(app_name).third_party_store == "Origin"
|
||||
if exit_code == 53 and is_origin:
|
||||
msg_box = QMessageBox()
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
from PyQt5.QtCore import QSettings
|
||||
from PyQt5.QtWidgets import QGroupBox
|
||||
|
||||
from rare.shared import GlobalSignalsSingleton
|
||||
from rare.ui.components.tabs.settings.rpc import Ui_RPCSettings
|
||||
|
||||
|
||||
|
@ -8,6 +9,7 @@ class RPCSettings(QGroupBox, Ui_RPCSettings):
|
|||
def __init__(self, parent):
|
||||
super(RPCSettings, self).__init__(parent=parent)
|
||||
self.setupUi(self)
|
||||
self.signals = GlobalSignalsSingleton()
|
||||
|
||||
self.settings = QSettings()
|
||||
|
||||
|
@ -31,3 +33,4 @@ class RPCSettings(QGroupBox, Ui_RPCSettings):
|
|||
|
||||
def changed(self, i):
|
||||
self.settings.setValue("rpc_enable", i)
|
||||
self.signals.rpc_settings_updated.emit()
|
||||
|
|
|
@ -142,5 +142,6 @@ class GlobalSignals(QObject):
|
|||
game_uninstalled = pyqtSignal(str)
|
||||
|
||||
set_discord_rpc = pyqtSignal(str) # app_name of running game
|
||||
rpc_settings_updated = pyqtSignal()
|
||||
|
||||
wine_prefix_updated = pyqtSignal()
|
||||
|
|
|
@ -26,11 +26,12 @@ class DiscordRPC(QObject):
|
|||
self.set_discord_rpc()
|
||||
|
||||
self.signals.set_discord_rpc.connect(self.update_presence)
|
||||
self.signals.rpc_settings_updated.connect(self.changed_settings)
|
||||
|
||||
def update_presence(self, app_name):
|
||||
self.set_discord_rpc(app_name)
|
||||
|
||||
def changed_settings(self, game_running: list):
|
||||
def changed_settings(self, game_running: list = None):
|
||||
value = self.settings.value("rpc_enable", 0, int)
|
||||
if value == 2:
|
||||
self.remove_rpc()
|
||||
|
@ -85,7 +86,7 @@ class DiscordRPC(QObject):
|
|||
|
||||
def update_rpc(self, app_name=None):
|
||||
if self.settings.value("rpc_enable", 0, int) == 2 or (
|
||||
app_name is None and self.settings.value("rpc_enable", 0, int) == 0
|
||||
not app_name and self.settings.value("rpc_enable", 0, int) == 0
|
||||
):
|
||||
self.remove_rpc()
|
||||
return
|
||||
|
|
Loading…
Reference in a new issue