LaunchHelper: Add terminate and kill button in the console (visible only in windows for now)
This commit is contained in:
parent
43c8cf8b52
commit
ef88a913f9
|
@ -102,6 +102,8 @@ class GameProcessApp(RareApp):
|
||||||
self.game_process.readAllStandardError().data().decode("utf-8", "ignore")
|
self.game_process.readAllStandardError().data().decode("utf-8", "ignore")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
self.console.term.connect(lambda: self.game_process.terminate())
|
||||||
|
self.console.kill.connect(lambda: self.game_process.kill())
|
||||||
|
|
||||||
self.start_time = time.time()
|
self.start_time = time.time()
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
from PyQt5.QtCore import QProcessEnvironment
|
import platform
|
||||||
|
|
||||||
|
from PyQt5.QtCore import QProcessEnvironment, pyqtSignal
|
||||||
from PyQt5.QtGui import QTextCursor, QFont
|
from PyQt5.QtGui import QTextCursor, QFont
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
QPlainTextEdit,
|
QPlainTextEdit,
|
||||||
|
@ -15,6 +17,8 @@ from rare.ui.components.extra.console_env import Ui_ConsoleEnv
|
||||||
|
|
||||||
|
|
||||||
class Console(QDialog):
|
class Console(QDialog):
|
||||||
|
term = pyqtSignal()
|
||||||
|
kill = pyqtSignal()
|
||||||
env: QProcessEnvironment
|
env: QProcessEnvironment
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
|
@ -27,7 +31,6 @@ class Console(QDialog):
|
||||||
layout.addWidget(self.console)
|
layout.addWidget(self.console)
|
||||||
|
|
||||||
button_layout = QHBoxLayout()
|
button_layout = QHBoxLayout()
|
||||||
button_layout.addItem(QSpacerItem(0, 0, QSizePolicy.Expanding, QSizePolicy.Fixed))
|
|
||||||
|
|
||||||
self.env_button = QPushButton(self.tr("Show environment"))
|
self.env_button = QPushButton(self.tr("Show environment"))
|
||||||
button_layout.addWidget(self.env_button)
|
button_layout.addWidget(self.env_button)
|
||||||
|
@ -41,6 +44,18 @@ class Console(QDialog):
|
||||||
button_layout.addWidget(self.clear_button)
|
button_layout.addWidget(self.clear_button)
|
||||||
self.clear_button.clicked.connect(self.console.clear)
|
self.clear_button.clicked.connect(self.console.clear)
|
||||||
|
|
||||||
|
button_layout.addItem(QSpacerItem(0, 0, QSizePolicy.Expanding, QSizePolicy.Fixed))
|
||||||
|
|
||||||
|
self.terminate_button = QPushButton(self.tr("Terminate"))
|
||||||
|
self.terminate_button.setVisible(platform.system() == "Windows")
|
||||||
|
button_layout.addWidget(self.terminate_button)
|
||||||
|
self.terminate_button.clicked.connect(lambda: self.term.emit())
|
||||||
|
|
||||||
|
self.kill_button = QPushButton(self.tr("Kill"))
|
||||||
|
self.kill_button.setVisible(platform.system() == "Windows")
|
||||||
|
button_layout.addWidget(self.kill_button)
|
||||||
|
self.kill_button.clicked.connect(lambda: self.kill.emit())
|
||||||
|
|
||||||
layout.addLayout(button_layout)
|
layout.addLayout(button_layout)
|
||||||
|
|
||||||
self.setLayout(layout)
|
self.setLayout(layout)
|
||||||
|
|
Loading…
Reference in a new issue