Mercurial > hg > tilerswift
changeset 114:4b1e034dc9fb
MainWindow: move into widgets module
I like it better to have an almost trivial "main" entrypoint.
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Fri, 20 Sep 2019 13:38:02 -0400 |
parents | ef1a879802ad |
children | 76044c28c981 |
files | tilerswift widgets.py |
diffstat | 2 files changed, 50 insertions(+), 50 deletions(-) [+] |
line wrap: on
line diff
--- a/tilerswift +++ b/tilerswift @@ -1,56 +1,9 @@ #!/usr/bin/python3 import sys -from PyQt5 import QtCore as QC, QtWidgets as QW - -from exceptions import ROMOpeningError -from widgets import TilePicker, ROMDockable - - -class MainWindow(QW.QMainWindow): - def __init__(self, app): - super().__init__() - - self.resize(QC.QSize(1200, 800)) - self.rom_dockables = [] - - bar = self.menuBar() - file = bar.addMenu("&File") - open_action = file.addAction("&Open") - quit_action = file.addAction("&Quit") - open_action.triggered.connect(self.open_rom) - quit_action.triggered.connect(app.quit) - - self.tile_picker = TilePicker() - - tile_picker_scroll = QW.QScrollArea(self) - tile_picker_scroll.setWidget(self.tile_picker) +from PyQt5 import QtWidgets as QW - self.setCentralWidget(tile_picker_scroll) - - def open_rom(self): - filename, filetype = QW.QFileDialog.getOpenFileName( - self, - "Open ROM", "", "NES Files (*.nes *.NES *.zip *.ZIP)" - ) - if not filename: - return - - try: - new_rom_dockable = ROMDockable(filename, filetype, self.tile_picker) - except ROMOpeningError as exc: - QW.QMessageBox.critical(self, "Tilerswift message", str(exc)) - return - - try: - last_docked = self.rom_dockables[-1] - self.tabifyDockWidget(last_docked, new_rom_dockable) - except IndexError: - self.addDockWidget(QC.Qt.LeftDockWidgetArea, new_rom_dockable) - - new_rom_dockable.show() - new_rom_dockable.raise_() - self.rom_dockables.append(new_rom_dockable) +from widgets import MainWindow def main(): @@ -59,5 +12,6 @@ window.show() app.exec_() + if __name__ == "__main__": main()
--- a/widgets.py +++ b/widgets.py @@ -1,7 +1,7 @@ from PyQt5 import QtCore as QC, QtGui as QG, QtWidgets as QW from colours import NES_PALETTE, TILE_PALETTES, is_dark, widget_icon_path - +from exceptions import ROMOpeningError from nes import NES_ROM, Tile BUTTON_SIZE = 32 @@ -507,3 +507,49 @@ self.rom_palette_buttons.layout.itemAt(button_idx).widget().set_colour(colour_idx) self.rom_canvas.update() self.rom_canvas.tile_picker.update() + + +class MainWindow(QW.QMainWindow): + def __init__(self, app): + super().__init__() + + self.resize(QC.QSize(1200, 800)) + self.rom_dockables = [] + + bar = self.menuBar() + file = bar.addMenu("&File") + open_action = file.addAction("&Open") + quit_action = file.addAction("&Quit") + open_action.triggered.connect(self.open_rom) + quit_action.triggered.connect(app.quit) + + self.tile_picker = TilePicker() + + tile_picker_scroll = QW.QScrollArea(self) + tile_picker_scroll.setWidget(self.tile_picker) + + self.setCentralWidget(tile_picker_scroll) + + def open_rom(self): + filename, filetype = QW.QFileDialog.getOpenFileName( + self, + "Open ROM", "", "NES Files (*.nes *.NES *.zip *.ZIP)" + ) + if not filename: + return + + try: + new_rom_dockable = ROMDockable(filename, filetype, self.tile_picker) + except ROMOpeningError as exc: + QW.QMessageBox.critical(self, "Tilerswift message", str(exc)) + return + + try: + last_docked = self.rom_dockables[-1] + self.tabifyDockWidget(last_docked, new_rom_dockable) + except IndexError: + self.addDockWidget(QC.Qt.LeftDockWidgetArea, new_rom_dockable) + + new_rom_dockable.show() + new_rom_dockable.raise_() + self.rom_dockables.append(new_rom_dockable)