From fc3e584e57f231ce54d14a03ff11f5739a746339 Mon Sep 17 00:00:00 2001 From: loathingKernel <142770+loathingKernel@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:01:53 +0200 Subject: [PATCH 1/3] Package: Update requirements --- requirements-dev.txt | 4 ++-- requirements-presence.txt | 1 - requirements-webview.txt | 1 - requirements.txt | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index e07f6fb4..26b9325d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,8 +1,8 @@ build wheel -black +black[d] toml nuitka ordered-set PyQt5-stubs -qstylizer \ No newline at end of file +qstylizer diff --git a/requirements-presence.txt b/requirements-presence.txt index 1d33e60b..52726874 100644 --- a/requirements-presence.txt +++ b/requirements-presence.txt @@ -1,2 +1 @@ pypresence - diff --git a/requirements-webview.txt b/requirements-webview.txt index 0fbf6423..0ba5b7fc 100644 --- a/requirements-webview.txt +++ b/requirements-webview.txt @@ -3,4 +3,3 @@ pywebview[qt]; platform_system == "FreeBSD" pythonnet>=3.0.0rc4; platform_system == "Windows" cefpython3; platform_system == "Windows" pywebview[cef]; platform_system == "Windows" - diff --git a/requirements.txt b/requirements.txt index 51dbd534..a0009672 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,5 +3,5 @@ requests PyQt5 QtAwesome setuptools -legendary-gl==0.20.32 +legendary-gl>=0.20.32 pywin32; platform_system == "Windows" From f3a962260c5e8e5fd5eb2d842d1932696c64cef3 Mon Sep 17 00:00:00 2001 From: loathingKernel <142770+loathingKernel@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:10:32 +0200 Subject: [PATCH 2/3] About: Update page * Check for updates each time the page is visited * Updated links, developers and contributors. * Use a less difficult to read color for links The check for updates still happens at startup, there is now a subsequent check every time the about label is visited. The update check should be moved into RareCore itself in the future. Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com> --- rare/__init__.py | 3 +- rare/components/tabs/settings/about.py | 34 ++++++++++------ rare/ui/components/tabs/settings/about.py | 40 ++++++++++++++----- rare/ui/components/tabs/settings/about.ui | 48 ++++++++++++++++++----- rare/widgets/rare_app.py | 2 +- 5 files changed, 93 insertions(+), 34 deletions(-) diff --git a/rare/__init__.py b/rare/__init__.py index dbb33544..863faa10 100644 --- a/rare/__init__.py +++ b/rare/__init__.py @@ -1,3 +1,2 @@ __version__ = "1.10.3" - -code_name = "Garlic Crab" +__codename__ = "Garlic Crab" diff --git a/rare/components/tabs/settings/about.py b/rare/components/tabs/settings/about.py index 48b36546..2157134e 100644 --- a/rare/components/tabs/settings/about.py +++ b/rare/components/tabs/settings/about.py @@ -2,9 +2,10 @@ import webbrowser from logging import getLogger from PyQt5.QtCore import pyqtSignal +from PyQt5.QtGui import QShowEvent from PyQt5.QtWidgets import QWidget -from rare import __version__, code_name +from rare import __version__, __codename__ from rare.ui.components.tabs.settings.about import Ui_About from rare.utils.qt_requests import QtRequestManager @@ -14,7 +15,7 @@ logger = getLogger("About") def versiontuple(v): try: return tuple(map(int, (v.split(".")))) - except: + except Exception: return tuple((9, 9, 9)) # It is a beta version and newer @@ -25,11 +26,12 @@ class About(QWidget, Ui_About): super(About, self).__init__(parent=parent) self.setupUi(self) - self.version.setText(f"{__version__} {code_name}") + self.version.setText(f"{__version__} {__codename__}") - self.update_label.setVisible(False) - self.update_lbl.setVisible(False) + self.update_label.setEnabled(False) + self.update_lbl.setEnabled(False) self.open_browser.setVisible(False) + self.open_browser.setEnabled(False) self.manager = QtRequestManager("json") self.manager.get( @@ -43,6 +45,15 @@ class About(QWidget, Ui_About): self.update_available = False + def showEvent(self, a0: QShowEvent) -> None: + if a0.spontaneous(): + return super().showEvent(a0) + self.manager.get( + "https://api.github.com/repos/Dummerle/Rare/releases/latest", + self.update_available_finished, + ) + super().showEvent(a0) + def update_available_finished(self, data: dict): if latest_tag := data.get("tag_name"): self.update_available = versiontuple(latest_tag) > versiontuple(__version__) @@ -51,10 +62,11 @@ class About(QWidget, Ui_About): if self.update_available: logger.info(f"Update available: {__version__} -> {latest_tag}") - self.update_lbl.setText( - self.tr("Update available: {} -> {}").format(__version__, latest_tag) - ) - self.update_label.setVisible(True) - self.update_lbl.setVisible(True) - self.open_browser.setVisible(True) + self.update_lbl.setText("{} -> {}").format(__version__, latest_tag) self.update_available_ready.emit() + else: + self.update_lbl.setText(self.tr("You have the latest version")) + self.update_label.setEnabled(self.update_available) + self.update_lbl.setEnabled(self.update_available) + self.open_browser.setVisible(self.update_available) + self.open_browser.setEnabled(self.update_available) diff --git a/rare/ui/components/tabs/settings/about.py b/rare/ui/components/tabs/settings/about.py index b4046fb6..7f79842b 100644 --- a/rare/ui/components/tabs/settings/about.py +++ b/rare/ui/components/tabs/settings/about.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'rare/ui/components/tabs/settings/about.ui' # -# Created by: PyQt5 UI code generator 5.15.6 +# Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing. @@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets class Ui_About(object): def setupUi(self, About): About.setObjectName("About") - About.resize(340, 142) + About.resize(507, 210) self.about_layout = QtWidgets.QFormLayout(About) self.about_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.about_layout.setObjectName("about_layout") @@ -56,7 +56,9 @@ class Ui_About(object): self.dev_label.setObjectName("dev_label") self.about_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.dev_label) self.dev = QtWidgets.QLabel(About) - self.dev.setText("Dummerle") + self.dev.setText("Dummerle\n" +"
\n" +"loathingkernel") self.dev.setOpenExternalLinks(True) self.dev.setObjectName("dev") self.about_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.dev) @@ -66,22 +68,39 @@ class Ui_About(object): font.setWeight(75) self.lgd_dev_label.setFont(font) self.lgd_dev_label.setObjectName("lgd_dev_label") - self.about_layout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.lgd_dev_label) + self.about_layout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.lgd_dev_label) self.lgd_dev = QtWidgets.QLabel(About) - self.lgd_dev.setText("derrod") + self.lgd_dev.setText("derrod") self.lgd_dev.setOpenExternalLinks(True) self.lgd_dev.setObjectName("lgd_dev") - self.about_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.lgd_dev) + self.about_layout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.lgd_dev) self.license_label = QtWidgets.QLabel(About) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.license_label.setFont(font) self.license_label.setObjectName("license_label") - self.about_layout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.license_label) + self.about_layout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.license_label) self.license = QtWidgets.QLabel(About) self.license.setObjectName("license") - self.about_layout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.license) + self.about_layout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.license) + self.contrib_label = QtWidgets.QLabel(About) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.contrib_label.setFont(font) + self.contrib_label.setObjectName("contrib_label") + self.about_layout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.contrib_label) + self.label = QtWidgets.QLabel(About) + self.label.setText("MultisampledNight artwork, bug hunting, testing\n" +"
\n" +"invertedEcho moving games, environment variables\n" +"
\n" +"ChemicalXandco downloads improvements, windows integration\n" +"
\n" +"gnanini steam grades") + self.label.setObjectName("label") + self.about_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.label) self.retranslateUi(About) @@ -89,14 +108,15 @@ class Ui_About(object): _translate = QtCore.QCoreApplication.translate About.setWindowTitle(_translate("About", "About")) self.version_label.setText(_translate("About", "Version")) - self.update_label.setText(_translate("About", "Update available")) + self.update_label.setText(_translate("About", "Update")) self.open_browser.setText(_translate("About", "Download latest release")) - self.dev_label.setText(_translate("About", "Rare Developer")) + self.dev_label.setText(_translate("About", "Rare Developers")) self.dev.setToolTip(_translate("About", "Github")) self.lgd_dev_label.setText(_translate("About", "Legendary Developer")) self.lgd_dev.setToolTip(_translate("About", "Github")) self.license_label.setText(_translate("About", "License")) self.license.setText(_translate("About", "GNU General Public License v3.0")) + self.contrib_label.setText(_translate("About", "Rare Contributors")) if __name__ == "__main__": diff --git a/rare/ui/components/tabs/settings/about.ui b/rare/ui/components/tabs/settings/about.ui index b2d7f751..967d7029 100644 --- a/rare/ui/components/tabs/settings/about.ui +++ b/rare/ui/components/tabs/settings/about.ui @@ -6,8 +6,8 @@ 0 0 - 340 - 142 + 507 + 210 @@ -46,7 +46,7 @@ - Update available + Update @@ -79,7 +79,7 @@ - Rare Developer + Rare Developers @@ -89,14 +89,16 @@ Github - <a href='https://github.com/Dummerle'>Dummerle</a> + <a href='https://github.com/Dummerle' style='color: #2980b9; text-decoration:none'>Dummerle</a> +<br> +<a href='https://github.com/loathingkernel' style='color: #2980b9; text-decoration:none'>loathingkernel</a> true - + @@ -109,20 +111,20 @@ - + Github - <a href='https://github.com/derrod/'>derrod</a> + <a href='https://github.com/derrod/' style='color: #2980b9; text-decoration:none'>derrod</a> true - + @@ -135,13 +137,39 @@ - + GNU General Public License v3.0 + + + + + 75 + true + + + + Rare Contributors + + + + + + + <a href='https://github.com/MultisampledNight' style='color: #2980b9; text-decoration:none'>MultisampledNight</a> <i>artwork, bug hunting, testing</i> +<br> +<a href='https://github.com/invertedEcho' style='color: #2980b9; text-decoration:none'>invertedEcho</a> <i>moving games, environment variables</i> +<br> +<a href='https://github.com/ChemicalXandco' style='color: #2980b9; text-decoration:none'>ChemicalXandco</a> <i>downloads improvements, windows integration</i> +<br> +<a href='https://github.com/gnanini' style='color: #2980b9; text-decoration:none'>gnanini</a> <i>steam grades</i> + + + diff --git a/rare/widgets/rare_app.py b/rare/widgets/rare_app.py index c1272258..e64aead5 100644 --- a/rare/widgets/rare_app.py +++ b/rare/widgets/rare_app.py @@ -81,7 +81,7 @@ class RareApp(QApplication): logging.getLogger("urllib3").setLevel(logging.WARNING) logging.getLogger("asyncio").setLevel(logging.WARNING) self.logger.info( - f"Launching Rare version {rare.__version__} Codename: {rare.code_name}\n" + f"Launching Rare version {rare.__version__} Codename: {rare.__codename__}\n" f" - Using Legendary {legendary.__version__} Codename: {legendary.__codename__} as backend\n" f" - Operating System: {platform.system()}, Python version: {platform.python_version()}\n" f" - Running {sys.executable} {' '.join(sys.argv)}\n" From 07cbcf52d00cc56022ac2ee3d0440bbb193238ed Mon Sep 17 00:00:00 2001 From: loathingKernel <142770+loathingKernel@users.noreply.github.com> Date: Tue, 28 Nov 2023 15:20:06 +0200 Subject: [PATCH 3/3] Meta: Update links --- rare/components/tabs/settings/about.py | 6 +++--- rare/utils/misc.py | 2 +- rare/utils/rpc.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rare/components/tabs/settings/about.py b/rare/components/tabs/settings/about.py index 2157134e..c7cfb13e 100644 --- a/rare/components/tabs/settings/about.py +++ b/rare/components/tabs/settings/about.py @@ -35,12 +35,12 @@ class About(QWidget, Ui_About): self.manager = QtRequestManager("json") self.manager.get( - "https://api.github.com/repos/Dummerle/Rare/releases/latest", + "https://api.github.com/repos/RareDevs/Rare/releases/latest", self.update_available_finished, ) self.open_browser.clicked.connect( - lambda: webbrowser.open("https://github.com/Dummerle/Rare/releases/latest") + lambda: webbrowser.open("https://github.com/RareDevs/Rare/releases/latest") ) self.update_available = False @@ -49,7 +49,7 @@ class About(QWidget, Ui_About): if a0.spontaneous(): return super().showEvent(a0) self.manager.get( - "https://api.github.com/repos/Dummerle/Rare/releases/latest", + "https://api.github.com/repos/RareDevs/Rare/releases/latest", self.update_available_finished, ) super().showEvent(a0) diff --git a/rare/utils/misc.py b/rare/utils/misc.py index 37d89258..171e189e 100644 --- a/rare/utils/misc.py +++ b/rare/utils/misc.py @@ -148,7 +148,7 @@ def get_translations(): def get_latest_version(): try: resp = requests.get( - "https://api.github.com/repos/Dummerle/Rare/releases/latest", timeout=2, + "https://api.github.com/repos/RareDevs/Rare/releases/latest", timeout=2, ) tag = resp.json()["tag_name"] return tag diff --git a/rare/utils/rpc.py b/rare/utils/rpc.py index ca2e0202..30ad9e1d 100644 --- a/rare/utils/rpc.py +++ b/rare/utils/rpc.py @@ -93,7 +93,7 @@ class DiscordRPC(QObject): title = None if not app_name: self.RPC.update( - large_image="logo", details="https://github.com/Dummerle/Rare" + large_image="logo", details="https://github.com/RareDevs/Rare" ) return if self.settings.value("rpc_name", True, bool):