Convert about.ui to python
This commit is contained in:
parent
530cff2a14
commit
598c153375
|
@ -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("<h2>About</h2>")
|
||||
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:") + "<a href='https://github.com/Dummerle'>Dummerle</a>")
|
||||
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:") + "<a href='https://github.com/derrod/'>derrod</a>")
|
||||
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 <a href='https://github.com/Dummerle/Rare/issues'>Github</a>. You can also contact me "
|
||||
"on Discord (Dummerle#7419). Or you can join the <a href='https://discord.gg/YvmABK9YSk'>Discord server</a>"))
|
||||
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)
|
||||
|
|
141
rare/components/tabs/settings/about_ui.py
Normal file
141
rare/components/tabs/settings/about_ui.py
Normal file
|
@ -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", "<h2>About</h2>"))
|
||||
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", "<a href=\'https://github.com/derrod/\'>derrod</a>"))
|
||||
self.dev.setText(_translate("About", "<a href=\'https://github.com/Dummerle\'>Dummerle</a>"))
|
||||
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 <a href=\'https://github.com/Dummerle/Rare/issues\'>Github</a>. You can also contact me on Discord (Dummerle#7419). Or you can join the <a href=\'https://discord.gg/YvmABK9YSk\'>Discord server</a>"))
|
||||
|
||||
|
||||
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_())
|
Loading…
Reference in a new issue