nixview-python/nixview/ui/about.py

57 lines
2.0 KiB
Python

import os
from PyQt5.QtGui import QPixmap
import nixview.constants as cnst
import nixview.info
from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QLabel, QPushButton, QTextEdit, QVBoxLayout, QWidget
from PyQt5.QtCore import Qt, pyqtSignal
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)