commit 2e52cc3e6cd065a31ce11e5b9dd3bbd5327370ba Author: Jan Grewe Date: Sat Dec 26 13:01:02 2020 +0100 first try diff --git a/icons/nix_close.png b/icons/nix_close.png new file mode 100644 index 0000000..c75ec2c Binary files /dev/null and b/icons/nix_close.png differ diff --git a/icons/nix_fav1_cut.png b/icons/nix_fav1_cut.png new file mode 100644 index 0000000..67b2a53 Binary files /dev/null and b/icons/nix_fav1_cut.png differ diff --git a/icons/nix_logo.png b/icons/nix_logo.png new file mode 100644 index 0000000..acb1a1d Binary files /dev/null and b/icons/nix_logo.png differ diff --git a/icons/nix_open.png b/icons/nix_open.png new file mode 100644 index 0000000..a679253 Binary files /dev/null and b/icons/nix_open.png differ diff --git a/icons/nixview.icns b/icons/nixview.icns new file mode 100644 index 0000000..ccad903 Binary files /dev/null and b/icons/nixview.icns differ diff --git a/icons/nixview.ico b/icons/nixview.ico new file mode 100644 index 0000000..c4ad993 Binary files /dev/null and b/icons/nixview.ico differ diff --git a/icons/nixview128.png b/icons/nixview128.png new file mode 100644 index 0000000..9bb37f7 Binary files /dev/null and b/icons/nixview128.png differ diff --git a/icons/nixview256.png b/icons/nixview256.png new file mode 100644 index 0000000..34a5c79 Binary files /dev/null and b/icons/nixview256.png differ diff --git a/icons/nixview32.png b/icons/nixview32.png new file mode 100644 index 0000000..3fb5ab4 Binary files /dev/null and b/icons/nixview32.png differ diff --git a/icons/nixview64.png b/icons/nixview64.png new file mode 100644 index 0000000..17bdb3b Binary files /dev/null and b/icons/nixview64.png differ diff --git a/main.py b/main.py new file mode 100644 index 0000000..993303e --- /dev/null +++ b/main.py @@ -0,0 +1,14 @@ +import sys +from PyQt5.QtWidgets import QApplication +from main_window import NixView +import argparse + +def main(): + app = QApplication(sys.argv) + window = NixView() + window.show() + app.exec() + return 0 + +if __name__ == "__main__": + main() diff --git a/main_window.py b/main_window.py new file mode 100644 index 0000000..c3936e3 --- /dev/null +++ b/main_window.py @@ -0,0 +1,89 @@ +from PyQt5.QtWidgets import QFrame, QLabel, QListWidget, QMainWindow, QStackedLayout, QToolBar, QAction, QStatusBar, QVBoxLayout, QWidget, QGridLayout, QSpacerItem, QSizePolicy +from PyQt5.QtGui import QIcon, QPixmap +from PyQt5.QtCore import Qt, QSize +import typing + +class NixView(QMainWindow): + + def __init__(self, *args, **kwargs): + super(NixView, self).__init__(*args, **kwargs) + self.setWindowTitle("NixView") + + cw = CentralWidget(self) + self.setCentralWidget(cw) + self.create_actions() + + self.setStatusBar(QStatusBar(self)) + + + def create_actions(self): + self._file_open_action = QAction(QIcon("./icons/nix_open.png"), "Open", self) + self._file_open_action.setStatusTip("Open nix file") + self._file_open_action.triggered.connect(self.onFileOpenClick) + + self._file_close_action = QAction(QIcon("./icons/nix_close.png"), "Close", self) + self._file_close_action.setStatusTip("Close nix file") + self._file_close_action.triggered.connect(self.onFileCloseClick) + + self.create_toolbar() + self.create_menu() + + + def create_toolbar(self): + self._toolbar = QToolBar("My main toolbar") + self._toolbar.setIconSize(QSize(32, 32)) + + self._toolbar.addAction(self._file_open_action) + self._toolbar.addAction(self._file_close_action) + self.addToolBar(self._toolbar) + + + def create_menu(self): + pass + + def onFileOpenClick(self, s): + print("click", s) + + def onFileCloseClick(self, s): + print("click", s) + + +class CentralWidget(QWidget): + + def __init__(self, parent=None) -> None: + super().__init__(parent=parent) + + splash = SplashScreen() + stack = QStackedLayout(self) + stack.addWidget(splash) + self.setLayout(stack) + self.setStyleSheet("background-color: white;") + + +class SplashScreen(QWidget): + + def __init__(self, parent=None) -> None: + super().__init__(parent=parent) + layout = QGridLayout() + self.setLayout(layout) + self.setStyleSheet("background-color: red;") + label = QLabel() + label.setPixmap(QPixmap("./icons/nixview256.png")) + label.setAlignment(Qt.AlignCenter) + + layout.addWidget(label, 1, 1) + verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) + verticalSpacer2 = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) + hSpacer = QSpacerItem(400, 20, QSizePolicy.Maximum, QSizePolicy.Expanding) + hSpacer2 = QSpacerItem(400, 20, QSizePolicy.Maximum, QSizePolicy.Expanding) + layout.addItem(verticalSpacer, 0, 1) + layout.addItem(verticalSpacer2, 2, 1) + layout.addItem(hSpacer, 1, 0) + layout.addItem(hSpacer2, 1, 2) + frame = QFrame() + l = QVBoxLayout() + l.addWidget(QLabel("Recently opened files:")) + l.addWidget(QListWidget()) + frame.setLayout(l) + layout.addWidget(frame, 3, 1) + \ No newline at end of file