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

@@ -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