mirror of
https://github.com/Melon-Bread/RetroUFO
synced 2024-11-25 00:38:33 -05:00
Initial GUI layout implemented (Nothing is "hooked up" yet)
This commit is contained in:
parent
1c976e73c1
commit
baddee2700
93
RetroUFO_GUI.py
Normal file
93
RetroUFO_GUI.py
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
#!/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_())
|
Loading…
Reference in New Issue
Block a user