nixview-python/nixview/ui/about.py
2021-01-10 00:04:48 +01:00

58 lines
2.0 KiB
Python

import os
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QLabel, QVBoxLayout, QWidget
from PyQt5.QtCore import Qt
import nixview.constants as cnst
class AboutDialog(QDialog):
def __init__(self, parent=None) -> None:
super().__init__(parent=parent)
self.setModal(True)
about = About(self)
self.setLayout(QVBoxLayout())
self.layout().addWidget(about)
bbox = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok)
bbox.accepted.connect(self.accept)
self.layout().addWidget(bbox)
class About(QWidget):
def __init__(self, parent=None) -> None:
super().__init__(parent=parent)
self.setLayout(QVBoxLayout())
heading = QLabel("NixView")
font = heading.font()
font.setPointSize(18)
font.setBold(True)
heading.setFont(font)
heading.setAlignment(Qt.AlignCenter)
subheading = QLabel("viewer for nix data files\nby Jan Grewe")
subheading.setAlignment(Qt.AlignCenter)
nix_link = QLabel("https://github.com/g-node/nix")
nix_link.setOpenExternalLinks(True)
nix_link.setAlignment(Qt.AlignCenter)
rtd_link = QLabel("https://nixio.readthedocs.io/en/master/")
rtd_link.setOpenExternalLinks(True)
rtd_link.setAlignment(Qt.AlignCenter)
iconlabel = QLabel()
pixmap = QPixmap(os.path.join(cnst.ICONS_FOLDER, "nix_logo.png"))
s = pixmap.size()
new_height = int(s.height() * 300/s.width())
pixmap = pixmap.scaled(300, new_height, Qt.KeepAspectRatio, Qt.FastTransformation)
iconlabel.setPixmap(pixmap)
iconlabel.setMaximumWidth(300)
iconlabel.setAlignment(Qt.AlignCenter)
iconlabel.setScaledContents(True)
self.layout().addWidget(heading)
self.layout().addWidget(subheading)
self.layout().addWidget(iconlabel)
self.layout().addWidget(nix_link)
self.layout().addWidget(rtd_link)