show license in about dialog

This commit is contained in:
2023-03-22 19:42:00 +01:00
parent 6e0eaa392f
commit 81775cc902
3 changed files with 31 additions and 3 deletions

View File

@@ -1,3 +1,6 @@
krow_icon = "icons/krowlog.svg"
import os
krow_icon = "icons" + os.sep + "krowlog.svg"
license_file = os.path.dirname(os.path.realpath(__file__)) + os.sep + "LICENSE"
tab_width = 4

View File

@@ -3,6 +3,7 @@ import os
PyInstaller.__main__.run([
'krowlog.py',
# '--onefile',
'--noconfirm',
'--name=krowlog',
'--windowed',
@@ -10,6 +11,7 @@ PyInstaller.__main__.run([
'--add-data', 'src' + os.pathsep + 'src',
'--add-binary', 'icons' + os.pathsep + 'icons',
'--add-binary', 'locales' + os.pathsep + 'locales',
'--add-binary', 'LICENSE' + os.pathsep + '.',
'--hidden-import=krowlog',
'--hidden-import=watchdog',
'--hidden-import=watchdog.observers',

View File

@@ -3,7 +3,7 @@ import textwrap
import PySide6
from watchdog import version as watchdog_version
from PySide6.QtCore import Qt
from PySide6.QtGui import QFont
from PySide6.QtGui import QFont, QPalette
from PySide6.QtWidgets import *
import constants
@@ -22,6 +22,7 @@ class AboutDialog(QDialog):
super(AboutDialog, self).__init__(parent)
self.setWindowTitle(_("About KrowLog"))
self.setModal(True)
self.setMinimumWidth(650)
self.layout = QVBoxLayout(self)
@@ -46,6 +47,7 @@ class AboutDialog(QDialog):
tabs = QTabWidget()
tabs.addTab(self._about(), _("About"))
tabs.addTab(self._libraries(), _("Libraries"))
tabs.addTab(self._license(), _("License"))
self.layout.addWidget(tabs)
@@ -66,7 +68,7 @@ class AboutDialog(QDialog):
result.layout.addWidget(label)
return result
def _license(self) -> QWidget:
def _libraries(self) -> QWidget:
dependencies = """
<ul>
<li>PySide6-Essentials {pyside} (LGPL v3) - <a href="https://doc.qt.io/qtforpython-6/">https://doc.qt.io/qtforpython-6/</a></li>
@@ -82,3 +84,24 @@ class AboutDialog(QDialog):
result.layout = QVBoxLayout(result)
result.layout.addWidget(Label(label))
return result
def _license(self) -> QWidget:
with open(constants.license_file, 'r') as file:
text = file.read()
result = QWidget()
result.layout = QVBoxLayout(result)
result.layout.setContentsMargins(0, 0, 0, 0)
result.setSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.MinimumExpanding)
label = Label(text)
label.setSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.MinimumExpanding)
panel = QScrollArea(result)
panel.setContentsMargins(0, 0, 0, 0)
panel.setViewportMargins(0, 0, 0, 0)
panel.setSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.MinimumExpanding)
panel.setWidget(label)
panel.setBackgroundRole(QPalette.ColorRole.Light)
result.layout.addWidget(panel)
return result