44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
from PyQt5.QtCore import QSettings
|
|
from PyQt5.QtWidgets import QGroupBox
|
|
|
|
from rare.shared import GlobalSignalsSingleton
|
|
from rare.models.options import options
|
|
from rare.ui.components.tabs.settings.widgets.rpc import Ui_RPCSettings
|
|
|
|
|
|
class RPCSettings(QGroupBox):
|
|
def __init__(self, parent):
|
|
super(RPCSettings, self).__init__(parent=parent)
|
|
self.ui = Ui_RPCSettings()
|
|
self.ui.setupUi(self)
|
|
self.signals = GlobalSignalsSingleton()
|
|
|
|
self.settings = QSettings()
|
|
|
|
self.ui.enable.setCurrentIndex(self.settings.value(*options.rpc_enable))
|
|
self.ui.enable.currentIndexChanged.connect(self.__enable_changed)
|
|
|
|
self.ui.show_game.setChecked((self.settings.value(*options.rpc_name)))
|
|
self.ui.show_game.stateChanged.connect(
|
|
lambda: self.settings.setValue(options.rpc_name.key, self.ui.show_game.isChecked())
|
|
)
|
|
|
|
self.ui.show_os.setChecked((self.settings.value(*options.rpc_os)))
|
|
self.ui.show_os.stateChanged.connect(
|
|
lambda: self.settings.setValue(options.rpc_os.key, self.ui.show_os.isChecked())
|
|
)
|
|
|
|
self.ui.show_time.setChecked((self.settings.value(*options.rpc_time)))
|
|
self.ui.show_time.stateChanged.connect(
|
|
lambda: self.settings.setValue(options.rpc_time.key, self.ui.show_time.isChecked())
|
|
)
|
|
|
|
try:
|
|
import pypresence
|
|
except ModuleNotFoundError:
|
|
self.setDisabled(True)
|
|
self.setToolTip(self.tr("Pypresence is not installed"))
|
|
|
|
def __enable_changed(self, i):
|
|
self.settings.setValue(options.rpc_enable.key, i)
|
|
self.signals.discord_rpc.apply_settings.emit()
|