1
0
Fork 0
mirror of synced 2024-09-19 19:07:51 +12:00
Rare/rare/components/tabs/settings/widgets/discord_rpc.py

44 lines
1.7 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.discord_rpc import Ui_DiscordRPCSettings
class DiscordRPCSettings(QGroupBox):
def __init__(self, parent):
super(DiscordRPCSettings, self).__init__(parent=parent)
self.ui = Ui_DiscordRPCSettings()
self.ui.setupUi(self)
self.signals = GlobalSignalsSingleton()
self.settings = QSettings()
self.ui.enable.setCurrentIndex(self.settings.value(*options.discord_rpc_mode))
self.ui.enable.currentIndexChanged.connect(self.__enable_changed)
self.ui.show_game.setChecked((self.settings.value(*options.discord_rpc_game)))
self.ui.show_game.stateChanged.connect(
lambda: self.settings.setValue(options.discord_rpc_game.key, self.ui.show_game.isChecked())
)
self.ui.show_os.setChecked((self.settings.value(*options.discord_rpc_os)))
self.ui.show_os.stateChanged.connect(
lambda: self.settings.setValue(options.discord_rpc_os.key, self.ui.show_os.isChecked())
)
self.ui.show_time.setChecked((self.settings.value(*options.discord_rpc_time)))
self.ui.show_time.stateChanged.connect(
lambda: self.settings.setValue(options.discord_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.discord_rpc_mode.key, i)
self.signals.discord_rpc.apply_settings.emit()