Console: Move Environment Variables UI to a file
Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
This commit is contained in:
parent
1c296474c5
commit
f91b3651ae
5 changed files with 194 additions and 49 deletions
|
@ -1,4 +1,4 @@
|
||||||
from PyQt5.QtCore import Qt, QCoreApplication, QMetaObject, QProcessEnvironment
|
from PyQt5.QtCore import QProcessEnvironment
|
||||||
from PyQt5.QtGui import QTextCursor, QFont
|
from PyQt5.QtGui import QTextCursor, QFont
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
QPlainTextEdit,
|
QPlainTextEdit,
|
||||||
|
@ -8,20 +8,22 @@ from PyQt5.QtWidgets import (
|
||||||
QVBoxLayout,
|
QVBoxLayout,
|
||||||
QHBoxLayout,
|
QHBoxLayout,
|
||||||
QSpacerItem,
|
QSpacerItem,
|
||||||
QSizePolicy, QTableWidget, QTableWidgetItem, QAbstractItemView, QDialogButtonBox, QHeaderView,
|
QSizePolicy, QTableWidgetItem, QHeaderView,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from rare.ui.components.extra.console_env import Ui_ConsoleEnv
|
||||||
|
|
||||||
class ConsoleWindow(QDialog):
|
|
||||||
|
class Console(QDialog):
|
||||||
env: QProcessEnvironment
|
env: QProcessEnvironment
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super(ConsoleWindow, self).__init__(parent=parent)
|
super(Console, self).__init__(parent=parent)
|
||||||
self.setWindowTitle("Rare Console")
|
self.setWindowTitle("Rare - Console")
|
||||||
self.setGeometry(0, 0, 600, 400)
|
self.setGeometry(0, 0, 600, 400)
|
||||||
layout = QVBoxLayout()
|
layout = QVBoxLayout()
|
||||||
|
|
||||||
self.console = Console(self)
|
self.console = ConsoleEdit(self)
|
||||||
layout.addWidget(self.console)
|
layout.addWidget(self.console)
|
||||||
|
|
||||||
button_layout = QHBoxLayout()
|
button_layout = QHBoxLayout()
|
||||||
|
@ -43,7 +45,7 @@ class ConsoleWindow(QDialog):
|
||||||
|
|
||||||
self.setLayout(layout)
|
self.setLayout(layout)
|
||||||
|
|
||||||
self.env_variables = EnvVariables(self)
|
self.env_variables = ConsoleEnv(self)
|
||||||
self.env_variables.hide()
|
self.env_variables.hide()
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
|
@ -72,46 +74,12 @@ class ConsoleWindow(QDialog):
|
||||||
self.console.error(text + end)
|
self.console.error(text + end)
|
||||||
|
|
||||||
|
|
||||||
class EnvVariables(QDialog):
|
class ConsoleEnv(QDialog):
|
||||||
|
|
||||||
class Ui(object):
|
|
||||||
def __init__(self, container):
|
|
||||||
layout = QVBoxLayout()
|
|
||||||
self.table = QTableWidget(container)
|
|
||||||
self.table.setColumnCount(2)
|
|
||||||
|
|
||||||
self.table.setHorizontalHeaderItem(0, QTableWidgetItem())
|
|
||||||
self.table.setHorizontalHeaderItem(1, QTableWidgetItem())
|
|
||||||
font = QFont()
|
|
||||||
font.setFamily(u"Monospace")
|
|
||||||
self.table.setFont(font)
|
|
||||||
self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
|
||||||
self.table.setAlternatingRowColors(True)
|
|
||||||
self.table.setSelectionBehavior(QAbstractItemView.SelectRows)
|
|
||||||
self.table.setSortingEnabled(True)
|
|
||||||
self.table.setCornerButtonEnabled(True)
|
|
||||||
self.table.horizontalHeader().setVisible(True)
|
|
||||||
self.table.horizontalHeader().setStretchLastSection(True)
|
|
||||||
self.table.verticalHeader().setVisible(False)
|
|
||||||
self.table.horizontalHeaderItem(0).setText(container.tr("Variable"))
|
|
||||||
self.table.horizontalHeaderItem(1).setText(container.tr("Value"))
|
|
||||||
layout.addWidget(self.table)
|
|
||||||
|
|
||||||
self.buttons = QDialogButtonBox(container)
|
|
||||||
self.buttons.setOrientation(Qt.Horizontal)
|
|
||||||
self.buttons.setStandardButtons(QDialogButtonBox.Close)
|
|
||||||
self.buttons.accepted.connect(container.accept)
|
|
||||||
self.buttons.rejected.connect(container.reject)
|
|
||||||
layout.addWidget(self.buttons)
|
|
||||||
|
|
||||||
container.setLayout(layout)
|
|
||||||
container.setObjectName(type(self).__name__)
|
|
||||||
container.setWindowTitle("Rare Console Environment")
|
|
||||||
container.setGeometry(0, 0, 600, 400)
|
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super(EnvVariables, self).__init__(parent=parent)
|
super(ConsoleEnv, self).__init__(parent=parent)
|
||||||
self.ui = EnvVariables.Ui(self)
|
self.ui = Ui_ConsoleEnv()
|
||||||
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
def setTable(self, env: QProcessEnvironment):
|
def setTable(self, env: QProcessEnvironment):
|
||||||
self.ui.table.clearContents()
|
self.ui.table.clearContents()
|
||||||
|
@ -124,9 +92,9 @@ class EnvVariables(QDialog):
|
||||||
self.ui.table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)
|
self.ui.table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)
|
||||||
|
|
||||||
|
|
||||||
class Console(QPlainTextEdit):
|
class ConsoleEdit(QPlainTextEdit):
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super(Console, self).__init__(parent=parent)
|
super(ConsoleEdit, self).__init__(parent=parent)
|
||||||
self.setReadOnly(True)
|
self.setReadOnly(True)
|
||||||
self.setFont(QFont("monospace"))
|
self.setFont(QFont("monospace"))
|
||||||
self._cursor_output = self.textCursor()
|
self._cursor_output = self.textCursor()
|
||||||
|
|
|
@ -11,7 +11,7 @@ from PyQt5.QtWidgets import QMessageBox, QPushButton
|
||||||
from legendary.models.game import LaunchParameters, InstalledGame
|
from legendary.models.game import LaunchParameters, InstalledGame
|
||||||
|
|
||||||
from rare.components.dialogs.uninstall_dialog import UninstallDialog
|
from rare.components.dialogs.uninstall_dialog import UninstallDialog
|
||||||
from rare.components.extra.console import ConsoleWindow
|
from rare.components.extra.console import Console
|
||||||
from rare.components.tabs.games import CloudSaveUtils
|
from rare.components.tabs.games import CloudSaveUtils
|
||||||
from rare.shared import LegendaryCoreSingleton, GlobalSignalsSingleton, ArgumentsSingleton
|
from rare.shared import LegendaryCoreSingleton, GlobalSignalsSingleton, ArgumentsSingleton
|
||||||
from rare.utils import legendary_utils
|
from rare.utils import legendary_utils
|
||||||
|
@ -58,7 +58,7 @@ class GameUtils(QObject):
|
||||||
self.signals = GlobalSignalsSingleton()
|
self.signals = GlobalSignalsSingleton()
|
||||||
self.args = ArgumentsSingleton()
|
self.args = ArgumentsSingleton()
|
||||||
|
|
||||||
self.console = ConsoleWindow()
|
self.console = Console()
|
||||||
self.cloud_save_utils = CloudSaveUtils()
|
self.cloud_save_utils = CloudSaveUtils()
|
||||||
self.cloud_save_utils.sync_finished.connect(self.sync_finished)
|
self.cloud_save_utils.sync_finished.connect(self.sync_finished)
|
||||||
self.game_meta = RareGameMeta()
|
self.game_meta = RareGameMeta()
|
||||||
|
|
0
rare/ui/components/extra/__init__.py
Normal file
0
rare/ui/components/extra/__init__.py
Normal file
67
rare/ui/components/extra/console_env.py
Normal file
67
rare/ui/components/extra/console_env.py
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Form implementation generated from reading ui file 'rare/ui/components/extra/console_env.ui'
|
||||||
|
#
|
||||||
|
# Created by: PyQt5 UI code generator 5.15.6
|
||||||
|
#
|
||||||
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_ConsoleEnv(object):
|
||||||
|
def setupUi(self, ConsoleEnv):
|
||||||
|
ConsoleEnv.setObjectName("ConsoleEnv")
|
||||||
|
ConsoleEnv.resize(600, 400)
|
||||||
|
self.layout = QtWidgets.QVBoxLayout(ConsoleEnv)
|
||||||
|
self.layout.setObjectName("layout")
|
||||||
|
self.table = QtWidgets.QTableWidget(ConsoleEnv)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setFamily("Monospace")
|
||||||
|
self.table.setFont(font)
|
||||||
|
self.table.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||||
|
self.table.setAlternatingRowColors(True)
|
||||||
|
self.table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
||||||
|
self.table.setCornerButtonEnabled(True)
|
||||||
|
self.table.setColumnCount(2)
|
||||||
|
self.table.setObjectName("table")
|
||||||
|
self.table.setRowCount(0)
|
||||||
|
item = QtWidgets.QTableWidgetItem()
|
||||||
|
self.table.setHorizontalHeaderItem(0, item)
|
||||||
|
item = QtWidgets.QTableWidgetItem()
|
||||||
|
self.table.setHorizontalHeaderItem(1, item)
|
||||||
|
self.table.horizontalHeader().setVisible(True)
|
||||||
|
self.table.horizontalHeader().setStretchLastSection(True)
|
||||||
|
self.table.verticalHeader().setVisible(False)
|
||||||
|
self.layout.addWidget(self.table)
|
||||||
|
self.buttons = QtWidgets.QDialogButtonBox(ConsoleEnv)
|
||||||
|
self.buttons.setOrientation(QtCore.Qt.Horizontal)
|
||||||
|
self.buttons.setStandardButtons(QtWidgets.QDialogButtonBox.Close)
|
||||||
|
self.buttons.setObjectName("buttons")
|
||||||
|
self.layout.addWidget(self.buttons)
|
||||||
|
|
||||||
|
self.retranslateUi(ConsoleEnv)
|
||||||
|
self.buttons.accepted.connect(ConsoleEnv.accept) # type: ignore
|
||||||
|
self.buttons.rejected.connect(ConsoleEnv.reject) # type: ignore
|
||||||
|
QtCore.QMetaObject.connectSlotsByName(ConsoleEnv)
|
||||||
|
|
||||||
|
def retranslateUi(self, ConsoleEnv):
|
||||||
|
_translate = QtCore.QCoreApplication.translate
|
||||||
|
ConsoleEnv.setWindowTitle(_translate("ConsoleEnv", "Rare - Console Environment"))
|
||||||
|
self.table.setSortingEnabled(True)
|
||||||
|
item = self.table.horizontalHeaderItem(0)
|
||||||
|
item.setText(_translate("ConsoleEnv", "Variable"))
|
||||||
|
item = self.table.horizontalHeaderItem(1)
|
||||||
|
item.setText(_translate("ConsoleEnv", "Value"))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import sys
|
||||||
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
|
ConsoleEnv = QtWidgets.QDialog()
|
||||||
|
ui = Ui_ConsoleEnv()
|
||||||
|
ui.setupUi(ConsoleEnv)
|
||||||
|
ConsoleEnv.show()
|
||||||
|
sys.exit(app.exec_())
|
110
rare/ui/components/extra/console_env.ui
Normal file
110
rare/ui/components/extra/console_env.ui
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>ConsoleEnv</class>
|
||||||
|
<widget class="QDialog" name="ConsoleEnv">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>600</width>
|
||||||
|
<height>400</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Rare - Console Environment</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="layout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTableWidget" name="table">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Monospace</family>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="editTriggers">
|
||||||
|
<set>QAbstractItemView::NoEditTriggers</set>
|
||||||
|
</property>
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="selectionBehavior">
|
||||||
|
<enum>QAbstractItemView::SelectRows</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sortingEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="cornerButtonEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="columnCount">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<attribute name="horizontalHeaderVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderStretchLastSection">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="verticalHeaderVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Variable</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Value</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttons">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Close</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttons</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>ConsoleEnv</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>248</x>
|
||||||
|
<y>254</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>157</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttons</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>ConsoleEnv</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>316</x>
|
||||||
|
<y>260</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>286</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
Loading…
Reference in a new issue