diff --git a/rare/components/tabs/settings/about.py b/rare/components/tabs/settings/about.py
index 67d33993..c00775f1 100644
--- a/rare/components/tabs/settings/about.py
+++ b/rare/components/tabs/settings/about.py
@@ -1,9 +1,10 @@
import webbrowser
-from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QPushButton
+from PyQt5.QtWidgets import QWidget
from rare import __version__
from rare.utils.utils import get_latest_version
+from .about_ui import Ui_About
def versiontuple(v):
@@ -13,45 +14,27 @@ def versiontuple(v):
return tuple((9, 9, 9)) # It is a beta version and newer
-class About(QWidget):
+class About(QWidget, Ui_About):
def __init__(self):
super(About, self).__init__()
- self.layout = QVBoxLayout()
+ self.setupUi(self)
- self.title = QLabel("
About
")
- self.layout.addWidget(self.title)
+ self.version.setText(__version__)
+
+ self.update_lbl.setVisible(False)
+ self.update.setVisible(False)
+ self.open_browser.setVisible(False)
- self.version = QLabel("Version: " + __version__)
- self.layout.addWidget(self.version)
latest_tag = get_latest_version()
self.update_available = versiontuple(latest_tag) > versiontuple(__version__)
+
+ self.update.setText("{} -> {}".format(__version__, latest_tag))
+
+ self.open_browser.clicked.connect(
+ lambda: webbrowser.open("https://github.com/Dummerle/Rare/releases/latest"))
+
if self.update_available:
print(f"Update available: {__version__} -> {latest_tag}")
- self.update_available = QLabel(self.tr("Update available: {} -> {}").format(__version__, latest_tag))
- self.layout.addWidget(self.update_available)
- self.open_browser = QPushButton(self.tr("Download latest release"))
- self.layout.addWidget(self.open_browser)
- self.open_browser.clicked.connect(
- lambda: webbrowser.open("https://github.com/Dummerle/Rare/releases/latest"))
-
- self.dev = QLabel(self.tr("Developer:") + "Dummerle")
- self.dev.setToolTip("Github")
- self.dev.setOpenExternalLinks(True)
- self.dev.setWordWrap(True)
- self.layout.addWidget(self.dev)
- self.lgd_dev = QLabel(self.tr("Legendary developer:") + "derrod")
- self.lgd_dev.setOpenExternalLinks(True)
- self.lgd_dev.setToolTip("Github")
- self.layout.addWidget(self.lgd_dev)
- self.license = QLabel("License: GNU General Public License v3.0")
- self.layout.addWidget(self.license)
- self.info_text = QLabel(
- self.tr("This is a beta version, so you can get bugs. If you get a bug, please report it by creating a "
- "Issue on Github. You can also contact me "
- "on Discord (Dummerle#7419). Or you can join the Discord server"))
- self.info_text.setWordWrap(True)
- self.info_text.setOpenExternalLinks(True)
- self.layout.addWidget(self.info_text)
-
- self.layout.addStretch()
- self.setLayout(self.layout)
+ self.update_lbl.setVisible(True)
+ self.update.setVisible(True)
+ self.open_browser.setVisible(True)
diff --git a/rare/components/tabs/settings/about_ui.py b/rare/components/tabs/settings/about_ui.py
new file mode 100644
index 00000000..351b103f
--- /dev/null
+++ b/rare/components/tabs/settings/about_ui.py
@@ -0,0 +1,141 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'about.ui'
+#
+# Created by: PyQt5 UI code generator 5.15.4
+#
+# 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.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_About(object):
+ def setupUi(self, About):
+ About.setObjectName("About")
+ About.resize(499, 396)
+ self.gridLayout = QtWidgets.QGridLayout(About)
+ self.gridLayout.setObjectName("gridLayout")
+ self.title = QtWidgets.QLabel(About)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.title.sizePolicy().hasHeightForWidth())
+ self.title.setSizePolicy(sizePolicy)
+ self.title.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.title.setObjectName("title")
+ self.gridLayout.addWidget(self.title, 0, 0, 1, 3)
+ self.version_lbl = QtWidgets.QLabel(About)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.version_lbl.sizePolicy().hasHeightForWidth())
+ self.version_lbl.setSizePolicy(sizePolicy)
+ self.version_lbl.setObjectName("version_lbl")
+ self.gridLayout.addWidget(self.version_lbl, 1, 0, 1, 1)
+ self.license = QtWidgets.QLabel(About)
+ self.license.setObjectName("license")
+ self.gridLayout.addWidget(self.license, 7, 1, 1, 3)
+ self.license_lbl = QtWidgets.QLabel(About)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.license_lbl.sizePolicy().hasHeightForWidth())
+ self.license_lbl.setSizePolicy(sizePolicy)
+ self.license_lbl.setObjectName("license_lbl")
+ self.gridLayout.addWidget(self.license_lbl, 7, 0, 1, 1)
+ spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 14, 0, 1, 4)
+ self.dev_lbl = QtWidgets.QLabel(About)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.dev_lbl.sizePolicy().hasHeightForWidth())
+ self.dev_lbl.setSizePolicy(sizePolicy)
+ self.dev_lbl.setObjectName("dev_lbl")
+ self.gridLayout.addWidget(self.dev_lbl, 5, 0, 1, 1)
+ self.lgd_dev_lbl = QtWidgets.QLabel(About)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.lgd_dev_lbl.sizePolicy().hasHeightForWidth())
+ self.lgd_dev_lbl.setSizePolicy(sizePolicy)
+ self.lgd_dev_lbl.setObjectName("lgd_dev_lbl")
+ self.gridLayout.addWidget(self.lgd_dev_lbl, 6, 0, 1, 1)
+ self.update_lbl = QtWidgets.QLabel(About)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.update_lbl.sizePolicy().hasHeightForWidth())
+ self.update_lbl.setSizePolicy(sizePolicy)
+ self.update_lbl.setObjectName("update_lbl")
+ self.gridLayout.addWidget(self.update_lbl, 2, 0, 1, 1)
+ self.lgd_dev = QtWidgets.QLabel(About)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.lgd_dev.sizePolicy().hasHeightForWidth())
+ self.lgd_dev.setSizePolicy(sizePolicy)
+ self.lgd_dev.setOpenExternalLinks(True)
+ self.lgd_dev.setObjectName("lgd_dev")
+ self.gridLayout.addWidget(self.lgd_dev, 6, 1, 1, 3)
+ self.dev = QtWidgets.QLabel(About)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.dev.sizePolicy().hasHeightForWidth())
+ self.dev.setSizePolicy(sizePolicy)
+ self.dev.setOpenExternalLinks(True)
+ self.dev.setObjectName("dev")
+ self.gridLayout.addWidget(self.dev, 5, 1, 1, 3)
+ self.update = QtWidgets.QLabel(About)
+ self.update.setObjectName("update")
+ self.gridLayout.addWidget(self.update, 2, 1, 1, 3)
+ self.version = QtWidgets.QLabel(About)
+ self.version.setObjectName("version")
+ self.gridLayout.addWidget(self.version, 1, 1, 1, 3)
+ self.open_browser = QtWidgets.QPushButton(About)
+ self.open_browser.setObjectName("open_browser")
+ self.gridLayout.addWidget(self.open_browser, 4, 0, 1, 4)
+ self.info_text = QtWidgets.QLabel(About)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.info_text.sizePolicy().hasHeightForWidth())
+ self.info_text.setSizePolicy(sizePolicy)
+ self.info_text.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.info_text.setWordWrap(True)
+ self.info_text.setOpenExternalLinks(True)
+ self.info_text.setObjectName("info_text")
+ self.gridLayout.addWidget(self.info_text, 8, 0, 1, 4)
+
+ self.retranslateUi(About)
+ QtCore.QMetaObject.connectSlotsByName(About)
+
+ def retranslateUi(self, About):
+ _translate = QtCore.QCoreApplication.translate
+ About.setWindowTitle(_translate("About", "Form"))
+ self.title.setText(_translate("About", "About
"))
+ self.version_lbl.setText(_translate("About", "Version: "))
+ self.license.setText(_translate("About", "GNU General Public License v3.0"))
+ self.license_lbl.setText(_translate("About", "License:"))
+ self.dev_lbl.setText(_translate("About", "Rare Developer:"))
+ self.lgd_dev_lbl.setText(_translate("About", "Legendary Developer:"))
+ self.update_lbl.setText(_translate("About", "Update available: "))
+ self.lgd_dev.setText(_translate("About", "derrod"))
+ self.dev.setText(_translate("About", "Dummerle"))
+ self.update.setText(_translate("About", "update"))
+ self.version.setText(_translate("About", "version"))
+ self.open_browser.setText(_translate("About", "Download latest release"))
+ self.info_text.setText(_translate("About", "This is a beta version, so you can get bugs. If you get a bug, please report it by creating an Issue on Github. You can also contact me on Discord (Dummerle#7419). Or you can join the Discord server"))
+
+
+if __name__ == "__main__":
+ import sys
+ app = QtWidgets.QApplication(sys.argv)
+ About = QtWidgets.QWidget()
+ ui = Ui_About()
+ ui.setupUi(About)
+ About.show()
+ sys.exit(app.exec_())