diff --git a/rare/components/dialogs/install_dialog.py b/rare/components/dialogs/install_dialog.py
index 61621694..49c5f10a 100644
--- a/rare/components/dialogs/install_dialog.py
+++ b/rare/components/dialogs/install_dialog.py
@@ -3,20 +3,19 @@ import platform as pf
import shutil
from typing import Tuple, List, Union, Optional
-from PyQt5.QtCore import Qt, QThreadPool, QSettings, QCoreApplication
+from PyQt5.QtCore import QThreadPool, QSettings
from PyQt5.QtCore import pyqtSignal, pyqtSlot
-from PyQt5.QtGui import QCloseEvent, QKeyEvent, QShowEvent
-from PyQt5.QtWidgets import QDialog, QFileDialog, QCheckBox, QLayout, QWidget, QVBoxLayout, QFormLayout
+from PyQt5.QtGui import QShowEvent
+from PyQt5.QtWidgets import QFileDialog, QCheckBox, QWidget, QVBoxLayout, QFormLayout
from legendary.utils.selective_dl import get_sdl_appname
from rare.models.game import RareGame
from rare.models.install import InstallDownloadModel, InstallQueueItemModel, InstallOptionsModel
-from rare.shared import LegendaryCoreSingleton, ArgumentsSingleton
from rare.shared.workers.install_info import InstallInfoWorker
from rare.ui.components.dialogs.install_dialog import Ui_InstallDialog
from rare.ui.components.dialogs.install_dialog_advanced import Ui_InstallDialogAdvanced
-from rare.utils import config_helper
-from rare.utils.misc import format_size
+from rare.utils.misc import format_size, icon
+from rare.widgets.dialogs import ActionDialog, dialog_title_game
from rare.widgets.collapsible_widget import CollapsibleFrame
from rare.widgets.indicator_edit import PathEdit, IndicatorReasonsCommon
@@ -30,22 +29,37 @@ class InstallDialogAdvanced(CollapsibleFrame):
super(InstallDialogAdvanced, self).__init__(widget=widget, title=title, parent=parent)
-class InstallDialog(QDialog):
+class InstallDialog(ActionDialog):
result_ready = pyqtSignal(InstallQueueItemModel)
def __init__(self, rgame: RareGame, options: InstallOptionsModel, parent=None):
super(InstallDialog, self).__init__(parent=parent)
+
+ header = self.tr("Install")
+ bicon = icon("ri.install-line")
+ if options.repair_mode:
+ header = self.tr("Repair")
+ bicon = icon("fa.wrench")
+ if options.repair_and_update:
+ header = self.tr("Repair and update")
+ elif options.update:
+ header = self.tr("Update")
+ elif options.reset_sdl:
+ header = self.tr("Modify")
+ bicon = icon("fa.gear")
+ self.setWindowTitle(dialog_title_game(header, rgame.app_title))
+
+ install_widget = QWidget(self)
self.ui = Ui_InstallDialog()
- self.ui.setupUi(self)
- self.setAttribute(Qt.WA_DeleteOnClose, True)
- self.setWindowFlags(Qt.Dialog | Qt.CustomizeWindowHint | Qt.WindowTitleHint)
- # lk: set object names for CSS properties
- self.ui.install_button.setObjectName("InstallButton")
+ self.ui.setupUi(install_widget)
+
+ self.ui.title_label.setText(f"
{dialog_title_game(header, rgame.app_title)}
")
self.core = rgame.core
self.rgame = rgame
- self.options = options
+ self.__options: InstallOptionsModel = options
self.__download: Optional[InstallDownloadModel] = None
+ self.__queue_item: Optional[InstallQueueItemModel] = None
self.advanced = InstallDialogAdvanced(parent=self)
self.ui.advanced_layout.addWidget(self.advanced)
@@ -54,25 +68,10 @@ class InstallDialog(QDialog):
self.ui.selectable_layout.addWidget(self.selectable)
self.options_changed = False
- self.worker_running = False
- self.reject_close = True
self.threadpool = QThreadPool(self)
self.threadpool.setMaxThreadCount(1)
- if options.repair_mode:
- header = self.tr("Repair")
- if options.repair_and_update:
- header = self.tr("Repair and update")
- elif options.update:
- header = self.tr("Update")
- elif options.reset_sdl:
- header = self.tr("Modify")
- else:
- header = self.tr("Install")
- self.ui.title_label.setText(f'{header} "{self.rgame.app_title}"
')
- self.setWindowTitle(f'{header} "{self.rgame.app_title}" - {QCoreApplication.instance().applicationName()}')
-
if options.base_path:
base_path = options.base_path
elif rgame.is_installed:
@@ -87,8 +86,8 @@ class InstallDialog(QDialog):
save_func=self.save_install_edit,
parent=self,
)
- self.ui.install_dialog_layout.setWidget(
- self.ui.install_dialog_layout.getWidgetPosition(self.ui.install_dir_label)[0],
+ self.ui.main_layout.setWidget(
+ self.ui.main_layout.getWidgetPosition(self.ui.install_dir_label)[0],
QFormLayout.FieldRole, self.install_dir_edit
)
@@ -139,9 +138,9 @@ class InstallDialog(QDialog):
self.reset_sdl_list(self.ui.platform_combo.currentIndex())
self.check_incompatible_platform(self.ui.platform_combo.currentIndex())
- self.ui.install_button.setEnabled(False)
+ self.accept_button.setEnabled(False)
- if self.options.overlay:
+ if self.__options.overlay:
self.ui.platform_label.setEnabled(False)
self.ui.platform_combo.setEnabled(False)
self.advanced.ui.ignore_space_label.setEnabled(False)
@@ -166,13 +165,17 @@ class InstallDialog(QDialog):
self.non_reload_option_changed("shortcut")
- self.ui.cancel_button.clicked.connect(self.__on_cancel)
- self.ui.verify_button.clicked.connect(self.__on_verify)
- self.ui.install_button.clicked.connect(self.__on_install)
+ self.advanced.ui.install_prereqs_check.setChecked(self.__options.install_prereqs)
- self.advanced.ui.install_prereqs_check.setChecked(self.options.install_prereqs)
+ # lk: set object names for CSS properties
+ self.accept_button.setText(header)
+ self.accept_button.setIcon(bicon)
+ self.accept_button.setObjectName("InstallButton")
- self.ui.install_dialog_layout.setSizeConstraint(QLayout.SetFixedSize)
+ self.action_button.setText(self.tr("Verify"))
+ self.action_button.setIcon(icon("fa.check"))
+
+ self.setCentralWidget(install_widget)
def showEvent(self, a0: QShowEvent) -> None:
if a0.spontaneous():
@@ -181,13 +184,11 @@ class InstallDialog(QDialog):
super().showEvent(a0)
def execute(self):
- if self.options.silent:
- self.reject_close = False
+ if self.__options.silent:
self.get_download_info()
else:
- self.setModal(True)
- self.__on_verify()
- self.show()
+ self.action_handler()
+ self.open()
@pyqtSlot(int)
def reset_install_dir(self, index: int):
@@ -242,50 +243,46 @@ class InstallDialog(QDialog):
self.error_box()
def get_options(self):
- self.options.base_path = "" if self.rgame.is_installed else self.install_dir_edit.text()
- self.options.max_workers = self.advanced.ui.max_workers_spin.value()
- self.options.shared_memory = self.advanced.ui.max_memory_spin.value()
- self.options.order_opt = self.advanced.ui.dl_optimizations_check.isChecked()
- self.options.force = self.advanced.ui.force_download_check.isChecked()
- self.options.ignore_space = self.advanced.ui.ignore_space_check.isChecked()
- self.options.no_install = self.advanced.ui.download_only_check.isChecked()
- self.options.platform = self.ui.platform_combo.currentText()
- self.options.install_prereqs = self.advanced.ui.install_prereqs_check.isChecked()
- self.options.create_shortcut = self.ui.shortcut_check.isChecked()
+ self.__options.base_path = "" if self.rgame.is_installed else self.install_dir_edit.text()
+ self.__options.max_workers = self.advanced.ui.max_workers_spin.value()
+ self.__options.shared_memory = self.advanced.ui.max_memory_spin.value()
+ self.__options.order_opt = self.advanced.ui.dl_optimizations_check.isChecked()
+ self.__options.force = self.advanced.ui.force_download_check.isChecked()
+ self.__options.ignore_space = self.advanced.ui.ignore_space_check.isChecked()
+ self.__options.no_install = self.advanced.ui.download_only_check.isChecked()
+ self.__options.platform = self.ui.platform_combo.currentText()
+ self.__options.install_prereqs = self.advanced.ui.install_prereqs_check.isChecked()
+ self.__options.create_shortcut = self.ui.shortcut_check.isChecked()
if self.selectable_checks:
- self.options.install_tag = [""]
+ self.__options.install_tag = [""]
for cb in self.selectable_checks:
if data := cb.isChecked():
# noinspection PyTypeChecker
- self.options.install_tag.extend(data)
+ self.__options.install_tag.extend(data)
def get_download_info(self):
self.__download = None
- info_worker = InstallInfoWorker(self.core, self.options)
+ info_worker = InstallInfoWorker(self.core, self.__options)
info_worker.signals.result.connect(self.on_worker_result)
info_worker.signals.failed.connect(self.on_worker_failed)
- info_worker.signals.finished.connect(self.on_worker_finished)
- self.worker_running = True
self.threadpool.start(info_worker)
- def __on_verify(self):
+ def action_handler(self):
self.error_box()
message = self.tr("Updating...")
self.ui.download_size_text.setText(message)
self.ui.download_size_text.setStyleSheet("font-style: italic; font-weight: normal")
self.ui.install_size_text.setText(message)
self.ui.install_size_text.setStyleSheet("font-style: italic; font-weight: normal")
- self.ui.cancel_button.setEnabled(False)
- self.ui.verify_button.setEnabled(False)
- self.ui.install_button.setEnabled(False)
+ self.setActive(True)
self.options_changed = False
self.get_options()
self.get_download_info()
def option_changed(self, path) -> Tuple[bool, str, int]:
self.options_changed = True
- self.ui.install_button.setEnabled(False)
- self.ui.verify_button.setEnabled(not self.worker_running)
+ self.accept_button.setEnabled(False)
+ self.action_button.setEnabled(not self.active())
return True, path, IndicatorReasonsCommon.VALID
def save_install_edit(self, path: str):
@@ -296,33 +293,18 @@ class InstallDialog(QDialog):
def non_reload_option_changed(self, option: str):
if option == "download_only":
- self.options.no_install = self.advanced.ui.download_only_check.isChecked()
+ self.__options.no_install = self.advanced.ui.download_only_check.isChecked()
elif option == "shortcut":
QSettings().setValue("create_shortcut", self.ui.shortcut_check.isChecked())
- self.options.create_shortcut = self.ui.shortcut_check.isChecked()
+ self.__options.create_shortcut = self.ui.shortcut_check.isChecked()
elif option == "install_prereqs":
- self.options.install_prereqs = self.advanced.ui.install_prereqs_check.isChecked()
-
- def __on_cancel(self):
- if self.config_tags is not None:
- config_helper.add_option(self.rgame.app_name, 'install_tags', ','.join(self.config_tags))
- else:
- # lk: this is purely for cleaning any install tags we might have added erroneously to the config
- config_helper.remove_option(self.rgame.app_name, 'install_tags')
-
- self.__download = None
- self.reject_close = False
- self.close()
-
- def __on_install(self):
- self.reject_close = False
- self.close()
+ self.__options.install_prereqs = self.advanced.ui.install_prereqs_check.isChecked()
@staticmethod
def same_platform(download: InstallDownloadModel) -> bool:
platform = download.igame.platform
if pf.system() == "Windows":
- return platform == "Windows" or platform == "Win32"
+ return platform in {"Windows", "Win32"}
elif pf.system() == "Darwin":
return platform == "Mac"
else:
@@ -330,6 +312,7 @@ class InstallDialog(QDialog):
@pyqtSlot(InstallDownloadModel)
def on_worker_result(self, download: InstallDownloadModel):
+ self.setActive(False)
self.__download = download
download_size = download.analysis.dl_size
install_size = download.analysis.install_size
@@ -337,14 +320,13 @@ class InstallDialog(QDialog):
if download_size or (not download_size and (download.game.is_dlc or download.repair)):
self.ui.download_size_text.setText(format_size(download_size))
self.ui.download_size_text.setStyleSheet("font-style: normal; font-weight: bold")
- self.ui.install_button.setEnabled(not self.options_changed)
+ self.accept_button.setEnabled(not self.options_changed)
else:
self.ui.install_size_text.setText(self.tr("Game already installed"))
self.ui.install_size_text.setStyleSheet("font-style: italics; font-weight: normal")
self.ui.install_size_text.setText(format_size(install_size))
self.ui.install_size_text.setStyleSheet("font-style: normal; font-weight: bold")
- self.ui.verify_button.setEnabled(self.options_changed)
- self.ui.cancel_button.setEnabled(True)
+ self.action_button.setEnabled(self.options_changed)
has_prereqs = bool(download.igame.prereq_info) and not download.igame.prereq_info.get("installed", False)
if has_prereqs:
prereq_name = download.igame.prereq_info.get("name", "")
@@ -357,18 +339,19 @@ class InstallDialog(QDialog):
self.advanced.ui.install_prereqs_label.setEnabled(has_prereqs)
self.advanced.ui.install_prereqs_check.setEnabled(has_prereqs)
self.advanced.ui.install_prereqs_check.setChecked(has_prereqs and self.same_platform(download))
- if self.options.silent:
- self.close()
+ if self.__options.silent:
+ self.accept()
def on_worker_failed(self, message: str):
+ self.setActive(False)
error_text = self.tr("Error")
self.ui.download_size_text.setText(error_text)
self.ui.install_size_text.setText(error_text)
self.error_box(error_text, message)
- self.ui.verify_button.setEnabled(self.options_changed)
- self.ui.cancel_button.setEnabled(True)
- if self.options.silent:
- self.show()
+ self.action_button.setEnabled(self.options_changed)
+ self.accept_button.setEnabled(False)
+ if self.__options.silent:
+ self.open()
def error_box(self, label: str = "", message: str = ""):
self.ui.warning_label.setVisible(bool(label))
@@ -376,25 +359,23 @@ class InstallDialog(QDialog):
self.ui.warning_text.setVisible(bool(message))
self.ui.warning_text.setText(message)
- def on_worker_finished(self):
- self.worker_running = False
+ def done_handler(self):
+ self.threadpool.clear()
+ self.threadpool.waitForDone()
+ self.result_ready.emit(self.__queue_item)
- # lk: happens when close() is called, also when top right 'X' is pressed.
- # lk: reject any events not coming from the buttons in case the WM
- # lk: doesn't honor the window hints
- def closeEvent(self, a0: QCloseEvent) -> None:
- if self.reject_close:
- a0.ignore()
- else:
- self.threadpool.clear()
- self.threadpool.waitForDone()
- self.result_ready.emit(InstallQueueItemModel(options=self.options, download=self.__download))
- super(InstallDialog, self).closeEvent(a0)
+ # lk: __download is already set at this point so just do nothing.
+ def accept_handler(self):
+ self.__queue_item = InstallQueueItemModel(options=self.__options, download=self.__download)
- def keyPressEvent(self, e: QKeyEvent) -> None:
- if e.key() == Qt.Key_Escape:
- e.accept()
- self.__on_cancel()
+ def reject_handler(self):
+ # FIXME: This is implemented through the selective downloads dialog now. remove soon
+ # if self.config_tags is not None:
+ # config_helper.set_option(self.rgame.app_name, 'install_tags', ','.join(self.config_tags))
+ # else:
+ # # lk: this is purely for cleaning any install tags we might have added erroneously to the config
+ # config_helper.remove_option(self.rgame.app_name, 'install_tags')
+ self.__queue_item = InstallQueueItemModel(options=self.__options, download=None)
class TagCheckBox(QCheckBox):
diff --git a/rare/ui/components/dialogs/install_dialog.py b/rare/ui/components/dialogs/install_dialog.py
index 65e0dbcb..10c5d871 100644
--- a/rare/ui/components/dialogs/install_dialog.py
+++ b/rare/ui/components/dialogs/install_dialog.py
@@ -14,20 +14,20 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_InstallDialog(object):
def setupUi(self, InstallDialog):
InstallDialog.setObjectName("InstallDialog")
- InstallDialog.resize(272, 238)
+ InstallDialog.resize(179, 204)
InstallDialog.setWindowTitle("InstallDialog")
- self.install_dialog_layout = QtWidgets.QFormLayout(InstallDialog)
- self.install_dialog_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
- self.install_dialog_layout.setObjectName("install_dialog_layout")
+ self.main_layout = QtWidgets.QFormLayout(InstallDialog)
+ self.main_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.main_layout.setObjectName("main_layout")
self.title_label = QtWidgets.QLabel(InstallDialog)
self.title_label.setObjectName("title_label")
- self.install_dialog_layout.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.title_label)
+ self.main_layout.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.title_label)
self.install_dir_label = QtWidgets.QLabel(InstallDialog)
self.install_dir_label.setObjectName("install_dir_label")
- self.install_dialog_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.install_dir_label)
+ self.main_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.install_dir_label)
self.platform_label = QtWidgets.QLabel(InstallDialog)
self.platform_label.setObjectName("platform_label")
- self.install_dialog_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.platform_label)
+ self.main_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.platform_label)
self.platform_combo = QtWidgets.QComboBox(InstallDialog)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
@@ -35,43 +35,54 @@ class Ui_InstallDialog(object):
sizePolicy.setHeightForWidth(self.platform_combo.sizePolicy().hasHeightForWidth())
self.platform_combo.setSizePolicy(sizePolicy)
self.platform_combo.setObjectName("platform_combo")
- self.install_dialog_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.platform_combo)
+ self.main_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.platform_combo)
self.shortcut_label = QtWidgets.QLabel(InstallDialog)
self.shortcut_label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.shortcut_label.setObjectName("shortcut_label")
- self.install_dialog_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.shortcut_label)
+ self.main_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.shortcut_label)
self.shortcut_check = QtWidgets.QCheckBox(InstallDialog)
self.shortcut_check.setText("")
self.shortcut_check.setObjectName("shortcut_check")
- self.install_dialog_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.shortcut_check)
+ self.main_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.shortcut_check)
self.selectable_layout = QtWidgets.QVBoxLayout()
self.selectable_layout.setObjectName("selectable_layout")
- self.install_dialog_layout.setLayout(4, QtWidgets.QFormLayout.SpanningRole, self.selectable_layout)
+ self.main_layout.setLayout(4, QtWidgets.QFormLayout.SpanningRole, self.selectable_layout)
self.advanced_layout = QtWidgets.QVBoxLayout()
self.advanced_layout.setObjectName("advanced_layout")
- self.install_dialog_layout.setLayout(5, QtWidgets.QFormLayout.SpanningRole, self.advanced_layout)
+ self.main_layout.setLayout(5, QtWidgets.QFormLayout.SpanningRole, self.advanced_layout)
self.download_size_label = QtWidgets.QLabel(InstallDialog)
self.download_size_label.setObjectName("download_size_label")
- self.install_dialog_layout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.download_size_label)
+ self.main_layout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.download_size_label)
self.download_size_text = QtWidgets.QLabel(InstallDialog)
font = QtGui.QFont()
font.setItalic(True)
self.download_size_text.setFont(font)
self.download_size_text.setObjectName("download_size_text")
- self.install_dialog_layout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.download_size_text)
+ self.main_layout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.download_size_text)
self.install_size_label = QtWidgets.QLabel(InstallDialog)
self.install_size_label.setObjectName("install_size_label")
- self.install_dialog_layout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.install_size_label)
+ self.main_layout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.install_size_label)
self.install_size_text = QtWidgets.QLabel(InstallDialog)
font = QtGui.QFont()
font.setItalic(True)
self.install_size_text.setFont(font)
self.install_size_text.setWordWrap(True)
self.install_size_text.setObjectName("install_size_text")
- self.install_dialog_layout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.install_size_text)
+ self.main_layout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.install_size_text)
+ self.avail_space_label = QtWidgets.QLabel(InstallDialog)
+ self.avail_space_label.setObjectName("avail_space_label")
+ self.main_layout.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.avail_space_label)
+ self.avail_space = QtWidgets.QLabel(InstallDialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.avail_space.setFont(font)
+ self.avail_space.setText("")
+ self.avail_space.setObjectName("avail_space")
+ self.main_layout.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.avail_space)
self.warning_label = QtWidgets.QLabel(InstallDialog)
self.warning_label.setObjectName("warning_label")
- self.install_dialog_layout.setWidget(9, QtWidgets.QFormLayout.LabelRole, self.warning_label)
+ self.main_layout.setWidget(9, QtWidgets.QFormLayout.LabelRole, self.warning_label)
self.warning_text = QtWidgets.QLabel(InstallDialog)
font = QtGui.QFont()
font.setItalic(True)
@@ -81,57 +92,29 @@ class Ui_InstallDialog(object):
self.warning_text.setWordWrap(True)
self.warning_text.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.warning_text.setObjectName("warning_text")
- self.install_dialog_layout.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.warning_text)
- self.button_layout = QtWidgets.QHBoxLayout()
- self.button_layout.setObjectName("button_layout")
- spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
- self.button_layout.addItem(spacerItem)
- self.cancel_button = QtWidgets.QPushButton(InstallDialog)
- self.cancel_button.setObjectName("cancel_button")
- self.button_layout.addWidget(self.cancel_button)
- self.verify_button = QtWidgets.QPushButton(InstallDialog)
- self.verify_button.setObjectName("verify_button")
- self.button_layout.addWidget(self.verify_button)
- self.install_button = QtWidgets.QPushButton(InstallDialog)
- self.install_button.setObjectName("install_button")
- self.button_layout.addWidget(self.install_button)
- self.install_dialog_layout.setLayout(10, QtWidgets.QFormLayout.SpanningRole, self.button_layout)
- self.avail_space_lbl = QtWidgets.QLabel(InstallDialog)
- self.avail_space_lbl.setObjectName("avail_space_lbl")
- self.install_dialog_layout.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.avail_space_lbl)
- self.avail_space = QtWidgets.QLabel(InstallDialog)
- font = QtGui.QFont()
- font.setBold(True)
- font.setWeight(75)
- self.avail_space.setFont(font)
- self.avail_space.setText("")
- self.avail_space.setObjectName("avail_space")
- self.install_dialog_layout.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.avail_space)
+ self.main_layout.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.warning_text)
self.retranslateUi(InstallDialog)
def retranslateUi(self, InstallDialog):
_translate = QtCore.QCoreApplication.translate
self.title_label.setText(_translate("InstallDialog", "error"))
- self.install_dir_label.setText(_translate("InstallDialog", "Install directory"))
+ self.install_dir_label.setText(_translate("InstallDialog", "Install folder"))
self.platform_label.setText(_translate("InstallDialog", "Platform"))
self.shortcut_label.setText(_translate("InstallDialog", "Create shortcut"))
self.download_size_label.setText(_translate("InstallDialog", "Download size"))
self.download_size_text.setText(_translate("InstallDialog", "Click verify..."))
self.install_size_label.setText(_translate("InstallDialog", "Total install size"))
self.install_size_text.setText(_translate("InstallDialog", "Click verify..."))
+ self.avail_space_label.setText(_translate("InstallDialog", "Available space"))
self.warning_label.setText(_translate("InstallDialog", "Warning"))
self.warning_text.setText(_translate("InstallDialog", "None"))
- self.cancel_button.setText(_translate("InstallDialog", "Cancel"))
- self.verify_button.setText(_translate("InstallDialog", "Verify"))
- self.install_button.setText(_translate("InstallDialog", "Install"))
- self.avail_space_lbl.setText(_translate("InstallDialog", "Available space"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
- InstallDialog = QtWidgets.QDialog()
+ InstallDialog = QtWidgets.QWidget()
ui = Ui_InstallDialog()
ui.setupUi(InstallDialog)
InstallDialog.show()
diff --git a/rare/ui/components/dialogs/install_dialog.ui b/rare/ui/components/dialogs/install_dialog.ui
index d75569f5..e47e3eaf 100644
--- a/rare/ui/components/dialogs/install_dialog.ui
+++ b/rare/ui/components/dialogs/install_dialog.ui
@@ -1,19 +1,19 @@
InstallDialog
-
+
0
0
- 272
- 238
+ 179
+ 204
InstallDialog
-
+
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
@@ -27,7 +27,7 @@
-
- Install directory
+ Install folder
@@ -112,6 +112,26 @@
+ -
+
+
+ Available space
+
+
+
+ -
+
+
+
+ 75
+ true
+
+
+
+
+
+
+
-
@@ -143,64 +163,6 @@
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Cancel
-
-
-
- -
-
-
- Verify
-
-
-
- -
-
-
- Install
-
-
-
-
-
- -
-
-
- Available space
-
-
-
- -
-
-
-
- 75
- true
-
-
-
-
-
-
-