From 087d0cfd4d31d8784426788fa0b9bddee91244e4 Mon Sep 17 00:00:00 2001 From: bbtufty Date: Fri, 10 Jan 2025 19:53:52 +0000 Subject: [PATCH] Add icon to GUI - Add ROMSearch icon to GUI - Also add version to about page - Update docs for attribution - Update GH action to include icon --- .github/workflows/publish.yaml | 1 + CHANGES.rst | 1 + README.md | 4 +- docs/intro.rst | 2 + romsearch/gui/gui_about.py | 12 ++++++ romsearch/gui/gui_romsearch.py | 10 ++++- romsearch/gui/img/logo.ico | Bin 0 -> 177551 bytes romsearch/gui/img/logo.png | Bin 0 -> 22040 bytes romsearch/gui/layout_about.py | 38 +++++++++++++++-- romsearch/gui/layout_about.ui | 73 +++++++++++++++++++++++++++------ 10 files changed, 122 insertions(+), 19 deletions(-) create mode 100644 romsearch/gui/img/logo.ico create mode 100644 romsearch/gui/img/logo.png diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index c060a00..5dacff5 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -42,6 +42,7 @@ jobs: pyinstaller romsearch_gui.py --copy-metadata romsearch --collect-data romsearch + --icon=romsearch/gui/img/logo.ico --onefile -n romsearch.exe - uses: softprops/action-gh-release@v2 diff --git a/CHANGES.rst b/CHANGES.rst index 14fd479..63e32b6 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -33,6 +33,7 @@ ROMParser General ~~~~~~~ +- Add logo and version in GUI - Clean up potential errors if directory name ends with period - regex cleanup - Move clonelist from unexpectedpanda to Daeymon diff --git a/README.md b/README.md index 6fe3361..f026d4f 100644 --- a/README.md +++ b/README.md @@ -47,4 +47,6 @@ works for the following consoles: * PlayStation 2 but be aware there may be quirks that will only become apparent over time. We encourage users to open -[issues](https://github.com/bbtufty/romsearch/issues) as and where they find them. \ No newline at end of file +[issues](https://github.com/bbtufty/romsearch/issues) as and where they find them. + +The ROMSearch icon has been created by [Freepik - Flaticon](https://www.flaticon.com/free-icons/rom). diff --git a/docs/intro.rst b/docs/intro.rst index 649ef70..4fa5b8d 100644 --- a/docs/intro.rst +++ b/docs/intro.rst @@ -72,3 +72,5 @@ but be aware there may be quirks that will only become apparent over time. We en ROMSearch is also built in such a way that other platforms/filters can be added in a simple way using config files rather than manually adding to the base code. For more details of how these work, see the various :doc:`configs ` pages. + +The ROMSearch icon has been created by `Freepik - Flaticon `_. diff --git a/romsearch/gui/gui_about.py b/romsearch/gui/gui_about.py index 23ef71a..f87b84b 100644 --- a/romsearch/gui/gui_about.py +++ b/romsearch/gui/gui_about.py @@ -1,5 +1,8 @@ +import os +from PySide6.QtGui import QPixmap from PySide6.QtWidgets import QDialog +import romsearch from .layout_about import Ui_About @@ -12,3 +15,12 @@ def __init__(self, parent=None): self.ui = Ui_About() self.ui.setupUi(self) + + # Set the GUI icon + icon_path = os.path.join(os.path.dirname(__file__), "img", "logo.png") + icon = QPixmap(icon_path) + self.ui.labelIcon.setPixmap(icon) + + # Set the version + version = romsearch.__version__ + self.ui.aboutVersion.setText(f"v{version}") diff --git a/romsearch/gui/gui_romsearch.py b/romsearch/gui/gui_romsearch.py index 177aadc..146f008 100644 --- a/romsearch/gui/gui_romsearch.py +++ b/romsearch/gui/gui_romsearch.py @@ -1,4 +1,6 @@ -from PySide6.QtCore import Slot, Signal, QObject, QThread +import os +from PySide6.QtCore import Slot, Signal, QObject, QThread, QSize +from PySide6.QtGui import QIcon from PySide6.QtWidgets import ( QApplication, QMainWindow, @@ -28,6 +30,12 @@ def __init__(self): self.ui = Ui_RomSearch() self.ui.setupUi(self) + # Set the window icon + icon_path = os.path.join(os.path.dirname(__file__), "img", "logo.png") + icon = QIcon() + icon.addFile(icon_path, QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.setWindowIcon(icon) + log_level = self.ui.radioButtonConfigLoggerLevel.checkedButton().text().lower() self.logger = get_gui_logger(log_level=log_level) self.logger.warning("Do not close this window!") diff --git a/romsearch/gui/img/logo.ico b/romsearch/gui/img/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..c7cb2d863279be690485788faf256f85a975e819 GIT binary patch literal 177551 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 literal 0 HcmV?d00001 diff --git a/romsearch/gui/img/logo.png b/romsearch/gui/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..58e64543ba0b0264636c35c13fc5392ae5c2fcff GIT binary patch literal 22040 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 literal 0 HcmV?d00001 diff --git a/romsearch/gui/layout_about.py b/romsearch/gui/layout_about.py index 993886c..af48601 100644 --- a/romsearch/gui/layout_about.py +++ b/romsearch/gui/layout_about.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'layout_about.ui' ## -## Created by: Qt User Interface Compiler version 6.7.3 +## Created by: Qt User Interface Compiler version 6.8.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ @@ -15,8 +15,8 @@ QFont, QFontDatabase, QGradient, QIcon, QImage, QKeySequence, QLinearGradient, QPainter, QPalette, QPixmap, QRadialGradient, QTransform) -from PySide6.QtWidgets import (QApplication, QDialog, QLabel, QSizePolicy, - QVBoxLayout, QWidget) +from PySide6.QtWidgets import (QApplication, QDialog, QHBoxLayout, QLabel, + QSizePolicy, QSpacerItem, QVBoxLayout, QWidget) class Ui_About(object): def setupUi(self, About): @@ -30,9 +30,25 @@ def setupUi(self, About): About.setSizePolicy(sizePolicy) About.setMinimumSize(QSize(332, 191)) About.setMaximumSize(QSize(332, 191)) + icon = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.HelpAbout)) + About.setWindowIcon(icon) About.setModal(True) self.verticalLayout = QVBoxLayout(About) self.verticalLayout.setObjectName(u"verticalLayout") + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.labelIcon = QLabel(About) + self.labelIcon.setObjectName(u"labelIcon") + self.labelIcon.setScaledContents(True) + + self.horizontalLayout.addWidget(self.labelIcon) + + self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer) + + self.verticalLayout_2 = QVBoxLayout() + self.verticalLayout_2.setObjectName(u"verticalLayout_2") self.aboutLargeTitle = QLabel(About) self.aboutLargeTitle.setObjectName(u"aboutLargeTitle") font = QFont() @@ -40,7 +56,19 @@ def setupUi(self, About): self.aboutLargeTitle.setFont(font) self.aboutLargeTitle.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.verticalLayout.addWidget(self.aboutLargeTitle) + self.verticalLayout_2.addWidget(self.aboutLargeTitle) + + self.aboutVersion = QLabel(About) + self.aboutVersion.setObjectName(u"aboutVersion") + self.aboutVersion.setAlignment(Qt.AlignmentFlag.AlignCenter) + + self.verticalLayout_2.addWidget(self.aboutVersion) + + + self.horizontalLayout.addLayout(self.verticalLayout_2) + + + self.verticalLayout.addLayout(self.horizontalLayout) self.aboutURL = QLabel(About) self.aboutURL.setObjectName(u"aboutURL") @@ -60,7 +88,9 @@ def setupUi(self, About): def retranslateUi(self, About): About.setWindowTitle(QCoreApplication.translate("About", u"About", None)) + self.labelIcon.setText("") self.aboutLargeTitle.setText(QCoreApplication.translate("About", u"ROMSearch", None)) + self.aboutVersion.setText("") self.aboutURL.setText(QCoreApplication.translate("About", u"https://github.com/bbtufty/romsearch", None)) # retranslateUi diff --git a/romsearch/gui/layout_about.ui b/romsearch/gui/layout_about.ui index 358148c..977f873 100644 --- a/romsearch/gui/layout_about.ui +++ b/romsearch/gui/layout_about.ui @@ -31,24 +31,71 @@ About + + + true - - - - 16 - - - - ROMSearch - - - Qt::AlignmentFlag::AlignCenter - - + + + + + + + + true + + + + + + + Qt::Orientation::Horizontal + + + QSizePolicy::Policy::MinimumExpanding + + + + 40 + 20 + + + + + + + + + + + 16 + + + + ROMSearch + + + Qt::AlignmentFlag::AlignCenter + + + + + + + + + + Qt::AlignmentFlag::AlignCenter + + + + + +