-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Very simple and most likely with bugs.
- Loading branch information
Showing
5 changed files
with
212 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import sys | ||
|
||
from PyQt5.QtWidgets import QApplication | ||
from sd3save_editor.gui.mainwindow import MainWindow | ||
|
||
|
||
app = QApplication(sys.argv) | ||
mainwindow = MainWindow() | ||
sys.exit(app.exec_()) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
from PyQt5.QtWidgets import QMainWindow, QFileDialog, QMessageBox | ||
from sd3save_editor.gui.mainwindow_ui import Ui_MainWindow | ||
|
||
import sd3save_editor.save as save | ||
import sd3save_editor.locations as locations | ||
|
||
class MainWindow(QMainWindow): | ||
def __init__(self): | ||
super(MainWindow, self).__init__() | ||
self.ui = Ui_MainWindow() | ||
self.ui.setupUi(self) | ||
self.init_file_open_events() | ||
self.init_location_combobox() | ||
self.show() | ||
|
||
def init_file_open_events(self): | ||
self.ui.actionOpen.triggered.connect(self.open_file_dialog) | ||
|
||
def init_location_combobox(self): | ||
self.ui.locationComboBox.addItems(locations.get_locations()) | ||
|
||
def init_save_event(self): | ||
self.ui.actionSave.triggered.connect(self.save_form_values) | ||
self.ui.saveButton.clicked.connect(self.save_form_values) | ||
|
||
def save_form_values(self): | ||
location_id = self.ui.locationComboBox.currentIndex() + 1 | ||
save.change_location(self.save_file, location_id) | ||
save.write_checksum(self.save_file) | ||
|
||
def closeEvent(self, event): | ||
if hasattr(self, 'save_file'): | ||
self.save_file.close() | ||
event.accept() | ||
|
||
|
||
def open_file_dialog(self): | ||
filename = QFileDialog.getOpenFileName(self, 'Open file', filter="Seiken3 Save (*.srm)")[0] | ||
try: | ||
self.save_file = save.read_save(filename) | ||
self.ui.saveButton.setEnabled(True) | ||
self.ui.actionSave.setEnabled(True) | ||
self.init_save_event() | ||
except Exception as ex: | ||
QMessageBox.warning(self, "Can't open Seiken3 save", str(ex)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<ui version="4.0"> | ||
<class>MainWindow</class> | ||
<widget class="QMainWindow" name="MainWindow"> | ||
<property name="geometry"> | ||
<rect> | ||
<x>0</x> | ||
<y>0</y> | ||
<width>800</width> | ||
<height>600</height> | ||
</rect> | ||
</property> | ||
<property name="windowTitle"> | ||
<string>Seiken Densetsu 3 Save Editor</string> | ||
</property> | ||
<widget class="QWidget" name="centralwidget"> | ||
<widget class="QWidget" name="formLayoutWidget"> | ||
<property name="geometry"> | ||
<rect> | ||
<x>0</x> | ||
<y>0</y> | ||
<width>791</width> | ||
<height>80</height> | ||
</rect> | ||
</property> | ||
<layout class="QFormLayout" name="formLayout"> | ||
<property name="fieldGrowthPolicy"> | ||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum> | ||
</property> | ||
<item row="0" column="0"> | ||
<widget class="QLabel" name="locationLabel"> | ||
<property name="text"> | ||
<string>Location</string> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="0" column="1"> | ||
<widget class="QComboBox" name="locationComboBox"/> | ||
</item> | ||
</layout> | ||
</widget> | ||
<widget class="QPushButton" name="saveButton"> | ||
<property name="enabled"> | ||
<bool>false</bool> | ||
</property> | ||
<property name="geometry"> | ||
<rect> | ||
<x>690</x> | ||
<y>530</y> | ||
<width>81</width> | ||
<height>22</height> | ||
</rect> | ||
</property> | ||
<property name="text"> | ||
<string>Save</string> | ||
</property> | ||
</widget> | ||
</widget> | ||
<widget class="QMenuBar" name="menubar"> | ||
<property name="geometry"> | ||
<rect> | ||
<x>0</x> | ||
<y>0</y> | ||
<width>800</width> | ||
<height>19</height> | ||
</rect> | ||
</property> | ||
<widget class="QMenu" name="menuFile"> | ||
<property name="title"> | ||
<string>File</string> | ||
</property> | ||
<addaction name="actionOpen"/> | ||
<addaction name="actionSave"/> | ||
</widget> | ||
<addaction name="menuFile"/> | ||
</widget> | ||
<widget class="QStatusBar" name="statusbar"/> | ||
<action name="actionOpen"> | ||
<property name="text"> | ||
<string>Open</string> | ||
</property> | ||
</action> | ||
<action name="actionSave"> | ||
<property name="enabled"> | ||
<bool>false</bool> | ||
</property> | ||
<property name="text"> | ||
<string>Save</string> | ||
</property> | ||
</action> | ||
</widget> | ||
<resources/> | ||
<connections/> | ||
</ui> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# -*- coding: utf-8 -*- | ||
|
||
# Form implementation generated from reading ui file 'mainwindow.ui' | ||
# | ||
# Created by: PyQt5 UI code generator 5.7 | ||
# | ||
# WARNING! All changes made in this file will be lost! | ||
|
||
from PyQt5 import QtCore, QtGui, QtWidgets | ||
|
||
class Ui_MainWindow(object): | ||
def setupUi(self, MainWindow): | ||
MainWindow.setObjectName("MainWindow") | ||
MainWindow.resize(800, 600) | ||
self.centralwidget = QtWidgets.QWidget(MainWindow) | ||
self.centralwidget.setObjectName("centralwidget") | ||
self.formLayoutWidget = QtWidgets.QWidget(self.centralwidget) | ||
self.formLayoutWidget.setGeometry(QtCore.QRect(0, 0, 791, 80)) | ||
self.formLayoutWidget.setObjectName("formLayoutWidget") | ||
self.formLayout = QtWidgets.QFormLayout(self.formLayoutWidget) | ||
self.formLayout.setFieldGrowthPolicy(QtWidgets.QFormLayout.AllNonFixedFieldsGrow) | ||
self.formLayout.setContentsMargins(0, 0, 0, 0) | ||
self.formLayout.setObjectName("formLayout") | ||
self.locationLabel = QtWidgets.QLabel(self.formLayoutWidget) | ||
self.locationLabel.setObjectName("locationLabel") | ||
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.locationLabel) | ||
self.locationComboBox = QtWidgets.QComboBox(self.formLayoutWidget) | ||
self.locationComboBox.setObjectName("locationComboBox") | ||
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.locationComboBox) | ||
self.saveButton = QtWidgets.QPushButton(self.centralwidget) | ||
self.saveButton.setEnabled(False) | ||
self.saveButton.setGeometry(QtCore.QRect(690, 530, 81, 22)) | ||
self.saveButton.setObjectName("saveButton") | ||
MainWindow.setCentralWidget(self.centralwidget) | ||
self.menubar = QtWidgets.QMenuBar(MainWindow) | ||
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 19)) | ||
self.menubar.setObjectName("menubar") | ||
self.menuFile = QtWidgets.QMenu(self.menubar) | ||
self.menuFile.setObjectName("menuFile") | ||
MainWindow.setMenuBar(self.menubar) | ||
self.statusbar = QtWidgets.QStatusBar(MainWindow) | ||
self.statusbar.setObjectName("statusbar") | ||
MainWindow.setStatusBar(self.statusbar) | ||
self.actionOpen = QtWidgets.QAction(MainWindow) | ||
self.actionOpen.setObjectName("actionOpen") | ||
self.actionSave = QtWidgets.QAction(MainWindow) | ||
self.actionSave.setEnabled(False) | ||
self.actionSave.setObjectName("actionSave") | ||
self.menuFile.addAction(self.actionOpen) | ||
self.menuFile.addAction(self.actionSave) | ||
self.menubar.addAction(self.menuFile.menuAction()) | ||
|
||
self.retranslateUi(MainWindow) | ||
QtCore.QMetaObject.connectSlotsByName(MainWindow) | ||
|
||
def retranslateUi(self, MainWindow): | ||
_translate = QtCore.QCoreApplication.translate | ||
MainWindow.setWindowTitle(_translate("MainWindow", "Seiken Densetsu 3 Save Editor")) | ||
self.locationLabel.setText(_translate("MainWindow", "Location")) | ||
self.saveButton.setText(_translate("MainWindow", "Save")) | ||
self.menuFile.setTitle(_translate("MainWindow", "File")) | ||
self.actionOpen.setText(_translate("MainWindow", "Open")) | ||
self.actionSave.setText(_translate("MainWindow", "Save")) | ||
|