1
0
mirror of https://github.com/Melon-Bread/RetroUFO synced 2024-11-25 00:38:33 -05:00
RetroUFO/RetroUFO_GUI.py

94 lines
2.9 KiB
Python

#!/usr/bin/env python3
"""
Grabs the latest version of every libretro core from the build bot.
"""
__author__ = "Melon Bread"
__version__ = "0.8.0"
__license__ = "MIT"
import sys
from PySide2.QtWidgets import QApplication, QDialog, QLineEdit, QComboBox, QCheckBox, QPushButton, QFileDialog, \
QVBoxLayout, QTextEdit
class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
self.setWindowTitle('RetroUFO')
# Create widgets
self.chkboxPlatformDetect = QCheckBox('Platform Auto-Detect')
self.chkboxPlatformDetect.setChecked(True)
self.chkboxPlatformDetect.stateChanged.connect(self.auto_platform)
self.cmbboxPlatform = QComboBox()
self.cmbboxPlatform.setEnabled(False)
self.cmbboxPlatform.setEditable(False)
self.cmbboxPlatform.addItem('Linux')
self.cmbboxPlatform.addItem('Windows')
self.chkboxLocationDetect = QCheckBox('Core Location Auto-Detect')
self.chkboxLocationDetect.setChecked(True)
self.chkboxLocationDetect.stateChanged.connect(self.auto_location)
self.leditCoreLocation = QLineEdit('')
self.leditCoreLocation.setEnabled(False)
self.btnCoreLocation = QPushButton('...')
self.btnCoreLocation.setEnabled(False)
self.btnCoreLocation.clicked.connect(self.choose_location)
self.teditLog = QTextEdit()
self.teditLog.setReadOnly(True)
self.btnGrabCores = QPushButton('Grab Cores')
self.btnGrabCores.clicked.connect(self.download_cores())
# Create layout and add widgets
layout = QVBoxLayout()
layout.addWidget(self.chkboxPlatformDetect)
layout.addWidget(self.cmbboxPlatform)
layout.addWidget(self.chkboxLocationDetect)
layout.addWidget(self.leditCoreLocation)
layout.addWidget(self.btnCoreLocation)
layout.addWidget(self.teditLog)
layout.addWidget(self.btnGrabCores)
# Set dialog layout
self.setLayout(layout)
def auto_platform(self):
if self.chkboxPlatformDetect.isChecked():
self.cmbboxPlatform.setEnabled(False)
else:
self.cmbboxPlatform.setEnabled(True)
def auto_location(self):
if self.chkboxLocationDetect.isChecked():
self.leditCoreLocation.setEnabled(False)
self.btnCoreLocation.setEnabled(False)
else:
self.leditCoreLocation.setEnabled(True)
self.btnCoreLocation.setEnabled(True)
def choose_location(self):
directory = QFileDialog.getExistingDirectory(self, 'Choose Target Location', '/home')
self.leditCoreLocation.insert(directory)
def download_cores(self):
pass
if __name__ == '__main__':
# Create the Qt Application
app = QApplication(sys.argv)
# Create and show the form
form = Form()
form.show()
# Run the main Qt loop
sys.exit(app.exec_())