From 97c74445f6d056d670ce5035758365ffc69a8be4 Mon Sep 17 00:00:00 2001
From: loathingKernel <142770+loathingKernel@users.noreply.github.com>
Date: Mon, 4 Sep 2023 00:29:15 +0300
Subject: [PATCH] EOSGroup: Use UI membership instead of double inheritance
---
.../tabs/games/integrations/eos_group.py | 104 +++++++++---------
.../tabs/games/integrations/eos_widget.py | 90 +++++++--------
.../tabs/games/integrations/eos_widget.ui | 60 ++++------
3 files changed, 116 insertions(+), 138 deletions(-)
diff --git a/rare/components/tabs/games/integrations/eos_group.py b/rare/components/tabs/games/integrations/eos_group.py
index 784d4ae4..5370622d 100644
--- a/rare/components/tabs/games/integrations/eos_group.py
+++ b/rare/components/tabs/games/integrations/eos_group.py
@@ -10,8 +10,9 @@ from legendary.lfs import eos
from rare.models.install import InstallOptionsModel
from rare.shared import LegendaryCoreSingleton, GlobalSignalsSingleton
from rare.ui.components.tabs.games.integrations.eos_widget import Ui_EosWidget
+from rare.utils.misc import icon
-logger = getLogger("EOS")
+logger = getLogger("EpicOverlay")
def get_wine_prefixes() -> List[str]:
@@ -42,83 +43,86 @@ class CheckForUpdateWorker(QRunnable):
self.signals.update_available.emit(self.core.overlay_update_available)
-class EOSGroup(QGroupBox, Ui_EosWidget):
+class EOSGroup(QGroupBox):
def __init__(self, parent=None):
super(EOSGroup, self).__init__(parent=parent)
- self.setupUi(self)
+ self.ui = Ui_EosWidget()
+ self.ui.setupUi(self)
# lk: set object names for CSS properties
- self.install_button.setObjectName("InstallButton")
- self.uninstall_button.setObjectName("UninstallButton")
+ self.ui.install_button.setObjectName("InstallButton")
+ self.ui.install_button.setIcon(icon("ri.install-line"))
+ self.ui.uninstall_button.setObjectName("UninstallButton")
+ self.ui.uninstall_button.setIcon(icon("ri.uninstall-line"))
self.core = LegendaryCoreSingleton()
self.signals = GlobalSignalsSingleton()
self.prefix_enabled = False
- self.enabled_cb.stateChanged.connect(self.change_enable)
- self.uninstall_button.clicked.connect(self.uninstall_overlay)
+ self.ui.enabled_cb.stateChanged.connect(self.change_enable)
+ self.ui.uninstall_button.clicked.connect(self.uninstall_overlay)
- self.update_button.setVisible(False)
+ self.ui.update_button.setVisible(False)
self.overlay = self.core.lgd.get_overlay_install_info()
self.signals.application.overlay_installed.connect(self.overlay_installation_finished)
self.signals.application.prefix_updated.connect(self.update_prefixes)
- self.update_check_button.clicked.connect(self.check_for_update)
- self.install_button.clicked.connect(self.install_overlay)
- self.update_button.clicked.connect(lambda: self.install_overlay(True))
+ self.ui.update_check_button.clicked.connect(self.check_for_update)
+ self.ui.install_button.clicked.connect(self.install_overlay)
+ self.ui.update_button.clicked.connect(lambda: self.install_overlay(True))
if self.overlay: # installed
- self.installed_version_lbl.setText(f"{self.overlay.version}")
- self.installed_path_lbl.setText(f"{self.overlay.install_path}")
- self.overlay_stack.setCurrentIndex(0)
+ self.ui.installed_version_lbl.setText(f"{self.overlay.version}")
+ self.ui.installed_path_lbl.setText(f"{self.overlay.install_path}")
+ self.ui.overlay_stack.setCurrentIndex(0)
else:
- self.overlay_stack.setCurrentIndex(1)
- self.enable_frame.setDisabled(True)
+ self.ui.overlay_stack.setCurrentIndex(1)
+ self.ui.enable_frame.setDisabled(True)
if platform.system() == "Windows":
self.current_prefix = None
- self.select_pfx_combo.setVisible(False)
+ self.ui.select_pfx_combo.setVisible(False)
else:
self.current_prefix = os.path.expanduser("~/.wine") \
if os.path.exists(os.path.expanduser("~/.wine")) \
else None
pfxs = get_wine_prefixes()
for pfx in pfxs:
- self.select_pfx_combo.addItem(pfx.replace(os.path.expanduser("~/"), "~/"))
+ self.ui.select_pfx_combo.addItem(pfx.replace(os.path.expanduser("~/"), "~/"))
if not pfxs:
- self.enable_frame.setDisabled(True)
+ self.ui.enable_frame.setDisabled(True)
else:
- self.select_pfx_combo.setCurrentIndex(0)
+ self.ui.select_pfx_combo.setCurrentIndex(0)
- self.select_pfx_combo.currentIndexChanged.connect(self.update_select_combo)
+ self.ui.select_pfx_combo.currentIndexChanged.connect(self.update_select_combo)
if pfxs:
self.update_select_combo(None)
- self.enabled_info_label.setText("")
+ self.ui.enabled_info_label.setText("")
self.threadpool = QThreadPool.globalInstance()
def update_prefixes(self):
logger.debug("Updated prefixes")
pfxs = get_wine_prefixes() # returns /home/whatever
- self.select_pfx_combo.clear()
+ self.ui.select_pfx_combo.clear()
for pfx in pfxs:
- self.select_pfx_combo.addItem(pfx.replace(os.path.expanduser("~/"), "~/"))
+ self.ui.select_pfx_combo.addItem(pfx.replace(os.path.expanduser("~/"), "~/"))
if self.current_prefix in pfxs:
- self.select_pfx_combo.setCurrentIndex(
- self.select_pfx_combo.findText(self.current_prefix.replace(os.path.expanduser("~/"), "~/")))
+ self.ui.select_pfx_combo.setCurrentIndex(
+ self.ui.select_pfx_combo.findText(self.current_prefix.replace(os.path.expanduser("~/"), "~/")))
def check_for_update(self):
def worker_finished(update_available):
- self.update_button.setVisible(update_available)
- self.update_check_button.setDisabled(False)
+ self.ui.update_button.setVisible(update_available)
+ self.ui.update_check_button.setDisabled(False)
if not update_available:
- self.update_check_button.setText(self.tr("No update available"))
+ self.ui.update_check_button.setText(self.tr("No update available"))
- self.update_check_button.setDisabled(True)
+ self.ui.update_check_button.setDisabled(True)
worker = CheckForUpdateWorker()
worker.signals.update_available.connect(worker_finished)
QThreadPool.globalInstance().start(worker)
@@ -131,18 +135,18 @@ class EOSGroup(QGroupBox, Ui_EosWidget):
QMessageBox.warning(self, "Error", self.tr("Something went wrong, when installing overlay"))
return
- self.overlay_stack.setCurrentIndex(0)
- self.installed_version_lbl.setText(f"{self.overlay.version}")
- self.installed_path_lbl.setText(f"{self.overlay.install_path}")
+ self.ui.overlay_stack.setCurrentIndex(0)
+ self.ui.installed_version_lbl.setText(f"{self.overlay.version}")
+ self.ui.installed_path_lbl.setText(f"{self.overlay.install_path}")
- self.update_button.setVisible(False)
+ self.ui.update_button.setVisible(False)
- self.enable_frame.setEnabled(True)
+ self.ui.enable_frame.setEnabled(True)
def update_select_combo(self, i: None):
if i is None:
- i = self.select_pfx_combo.currentIndex()
- prefix = os.path.expanduser(self.select_pfx_combo.itemText(i))
+ i = self.ui.select_pfx_combo.currentIndex()
+ prefix = os.path.expanduser(self.ui.select_pfx_combo.itemText(i))
if platform.system() != "Windows" and not os.path.isfile(os.path.join(prefix, "user.reg")):
return
self.current_prefix = prefix
@@ -151,10 +155,10 @@ class EOSGroup(QGroupBox, Ui_EosWidget):
overlay_enabled = False
if reg_paths['overlay_path'] and self.core.is_overlay_install(reg_paths['overlay_path']):
overlay_enabled = True
- self.enabled_cb.setChecked(overlay_enabled)
+ self.ui.enabled_cb.setChecked(overlay_enabled)
def change_enable(self):
- enabled = self.enabled_cb.isChecked()
+ enabled = self.ui.enabled_cb.isChecked()
if not enabled:
try:
eos.remove_registry_entries(self.current_prefix)
@@ -164,7 +168,7 @@ class EOSGroup(QGroupBox, Ui_EosWidget):
"Failed to disable Overlay. Probably it is installed by Epic Games Launcher"))
return
logger.info("Disabled Epic Overlay")
- self.enabled_info_label.setText(self.tr("Disabled"))
+ self.ui.enabled_info_label.setText(self.tr("Disabled"))
else:
if not self.overlay:
available_installs = self.core.search_overlay_installs(self.current_prefix)
@@ -177,7 +181,7 @@ class EOSGroup(QGroupBox, Ui_EosWidget):
if not self.core.is_overlay_install(path):
logger.error(f'Not a valid Overlay installation: {path}')
- self.select_pfx_combo.removeItem(self.select_pfx_combo.currentIndex())
+ self.ui.select_pfx_combo.removeItem(self.ui.select_pfx_combo.currentIndex())
return
path = os.path.normpath(path)
@@ -202,7 +206,7 @@ class EOSGroup(QGroupBox, Ui_EosWidget):
QMessageBox.warning(self, "Error", self.tr(
"Failed to enable EOS overlay. Maybe it is already installed by Epic Games Launcher"))
return
- self.enabled_info_label.setText(self.tr("Enabled"))
+ self.ui.enabled_info_label.setText(self.tr("Enabled"))
logger.info(f'Enabled overlay at: {path}')
def update_checkbox(self):
@@ -210,16 +214,16 @@ class EOSGroup(QGroupBox, Ui_EosWidget):
enabled = False
if reg_paths['overlay_path'] and self.core.is_overlay_install(reg_paths['overlay_path']):
enabled = True
- self.enabled_cb.setChecked(enabled)
+ self.ui.enabled_cb.setChecked(enabled)
def install_overlay(self, update=False):
base_path = os.path.join(
- self.core.lgd.config.get("Legendary", "install_dir", fallback=os.path.expanduser("~/legendary")),".overlay"
+ self.core.lgd.config.get("Legendary", "install_dir", fallback=os.path.expanduser("~/legendary")), ".overlay"
)
if update:
if not self.overlay:
- self.overlay_stack.setCurrentIndex(1)
- self.enable_frame.setDisabled(True)
+ self.ui.overlay_stack.setCurrentIndex(1)
+ self.ui.enable_frame.setDisabled(True)
QMessageBox.warning(self, "Warning", self.tr("Overlay is not installed. Could not update"))
return
base_path = self.overlay.install_path
@@ -233,7 +237,7 @@ class EOSGroup(QGroupBox, Ui_EosWidget):
def uninstall_overlay(self):
if not self.core.is_overlay_installed():
logger.error('No legendary-managed overlay installation found.')
- self.overlay_stack.setCurrentIndex(1)
+ self.ui.overlay_stack.setCurrentIndex(1)
return
if QMessageBox.No == QMessageBox.question(
@@ -244,7 +248,7 @@ class EOSGroup(QGroupBox, Ui_EosWidget):
if platform.system() == "Windows":
eos.remove_registry_entries(None)
else:
- for prefix in [self.select_pfx_combo.itemText(i) for i in range(self.select_pfx_combo.count())]:
+ for prefix in [self.ui.select_pfx_combo.itemText(i) for i in range(self.ui.select_pfx_combo.count())]:
logger.info(f"Removing registry entries from {prefix}")
try:
eos.remove_registry_entries(os.path.expanduser(prefix))
@@ -252,6 +256,6 @@ class EOSGroup(QGroupBox, Ui_EosWidget):
logger.warning(f"{prefix}: {e}")
self.core.remove_overlay_install()
- self.overlay_stack.setCurrentIndex(1)
+ self.ui.overlay_stack.setCurrentIndex(1)
- self.enable_frame.setDisabled(True)
+ self.ui.enable_frame.setDisabled(True)
diff --git a/rare/ui/components/tabs/games/integrations/eos_widget.py b/rare/ui/components/tabs/games/integrations/eos_widget.py
index a6ecce82..8b856256 100644
--- a/rare/ui/components/tabs/games/integrations/eos_widget.py
+++ b/rare/ui/components/tabs/games/integrations/eos_widget.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
-# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/import_sync/eos_widget.ui'
+# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/integrations/eos_widget.ui'
#
-# Created by: PyQt5 UI code generator 5.15.7
+# Created by: PyQt5 UI code generator 5.15.9
#
# 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.
@@ -30,99 +30,85 @@ class Ui_EosWidget(object):
self.overlay_stack.setObjectName("overlay_stack")
self.overlay_info_page = QtWidgets.QWidget()
self.overlay_info_page.setObjectName("overlay_info_page")
- self.formLayout_3 = QtWidgets.QFormLayout(self.overlay_info_page)
- self.formLayout_3.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
- self.formLayout_3.setFormAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
- self.formLayout_3.setObjectName("formLayout_3")
+ self.overlay_info_layout = QtWidgets.QFormLayout(self.overlay_info_page)
+ self.overlay_info_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.overlay_info_layout.setFormAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
+ self.overlay_info_layout.setObjectName("overlay_info_layout")
self.installed_version_info_lbl = QtWidgets.QLabel(self.overlay_info_page)
self.installed_version_info_lbl.setObjectName("installed_version_info_lbl")
- self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.installed_version_info_lbl)
+ self.overlay_info_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.installed_version_info_lbl)
self.installed_version_lbl = QtWidgets.QLabel(self.overlay_info_page)
self.installed_version_lbl.setText("error")
self.installed_version_lbl.setObjectName("installed_version_lbl")
- self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.installed_version_lbl)
+ self.overlay_info_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.installed_version_lbl)
self.installed_path_info_lbl = QtWidgets.QLabel(self.overlay_info_page)
self.installed_path_info_lbl.setObjectName("installed_path_info_lbl")
- self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.installed_path_info_lbl)
+ self.overlay_info_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.installed_path_info_lbl)
self.installed_path_lbl = QtWidgets.QLabel(self.overlay_info_page)
self.installed_path_lbl.setText("error")
self.installed_path_lbl.setObjectName("installed_path_lbl")
- self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.installed_path_lbl)
- self.horizontalLayout = QtWidgets.QHBoxLayout()
- self.horizontalLayout.setObjectName("horizontalLayout")
+ self.overlay_info_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.installed_path_lbl)
+ self.info_buttons_layout = QtWidgets.QHBoxLayout()
+ self.info_buttons_layout.setObjectName("info_buttons_layout")
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
- self.horizontalLayout.addItem(spacerItem)
+ self.info_buttons_layout.addItem(spacerItem)
self.uninstall_button = QtWidgets.QPushButton(self.overlay_info_page)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.uninstall_button.sizePolicy().hasHeightForWidth())
- self.uninstall_button.setSizePolicy(sizePolicy)
- self.uninstall_button.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.uninstall_button.setMinimumSize(QtCore.QSize(120, 0))
self.uninstall_button.setObjectName("uninstall_button")
- self.horizontalLayout.addWidget(self.uninstall_button)
+ self.info_buttons_layout.addWidget(self.uninstall_button)
self.update_check_button = QtWidgets.QPushButton(self.overlay_info_page)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.update_check_button.sizePolicy().hasHeightForWidth())
- self.update_check_button.setSizePolicy(sizePolicy)
- self.update_check_button.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.update_check_button.setMinimumSize(QtCore.QSize(120, 0))
self.update_check_button.setObjectName("update_check_button")
- self.horizontalLayout.addWidget(self.update_check_button)
+ self.info_buttons_layout.addWidget(self.update_check_button)
self.update_button = QtWidgets.QPushButton(self.overlay_info_page)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.update_button.sizePolicy().hasHeightForWidth())
- self.update_button.setSizePolicy(sizePolicy)
- self.update_button.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.update_button.setMinimumSize(QtCore.QSize(120, 0))
self.update_button.setObjectName("update_button")
- self.horizontalLayout.addWidget(self.update_button)
- self.formLayout_3.setLayout(3, QtWidgets.QFormLayout.SpanningRole, self.horizontalLayout)
+ self.info_buttons_layout.addWidget(self.update_button)
+ self.overlay_info_layout.setLayout(3, QtWidgets.QFormLayout.SpanningRole, self.info_buttons_layout)
spacerItem1 = QtWidgets.QSpacerItem(6, 6, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
- self.formLayout_3.setItem(2, QtWidgets.QFormLayout.SpanningRole, spacerItem1)
+ self.overlay_info_layout.setItem(2, QtWidgets.QFormLayout.SpanningRole, spacerItem1)
self.overlay_stack.addWidget(self.overlay_info_page)
self.overlay_install_page = QtWidgets.QWidget()
self.overlay_install_page.setObjectName("overlay_install_page")
- self.formLayout = QtWidgets.QFormLayout(self.overlay_install_page)
- self.formLayout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
- self.formLayout.setFormAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
- self.formLayout.setObjectName("formLayout")
+ self.overlay_install_layout = QtWidgets.QFormLayout(self.overlay_install_page)
+ self.overlay_install_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.overlay_install_layout.setFormAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
+ self.overlay_install_layout.setObjectName("overlay_install_layout")
self.label = QtWidgets.QLabel(self.overlay_install_page)
self.label.setObjectName("label")
- self.formLayout.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.label)
- self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
- self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+ self.overlay_install_layout.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.label)
+ self.install_buttons_layout = QtWidgets.QHBoxLayout()
+ self.install_buttons_layout.setObjectName("install_buttons_layout")
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
- self.horizontalLayout_3.addItem(spacerItem2)
+ self.install_buttons_layout.addItem(spacerItem2)
self.install_button = QtWidgets.QPushButton(self.overlay_install_page)
+ self.install_button.setMinimumSize(QtCore.QSize(120, 0))
self.install_button.setObjectName("install_button")
- self.horizontalLayout_3.addWidget(self.install_button)
- self.formLayout.setLayout(2, QtWidgets.QFormLayout.SpanningRole, self.horizontalLayout_3)
+ self.install_buttons_layout.addWidget(self.install_button)
+ self.overlay_install_layout.setLayout(2, QtWidgets.QFormLayout.SpanningRole, self.install_buttons_layout)
spacerItem3 = QtWidgets.QSpacerItem(6, 6, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
- self.formLayout.setItem(1, QtWidgets.QFormLayout.SpanningRole, spacerItem3)
+ self.overlay_install_layout.setItem(1, QtWidgets.QFormLayout.SpanningRole, spacerItem3)
self.overlay_stack.addWidget(self.overlay_install_page)
self.eos_layout.addWidget(self.overlay_stack)
self.enable_frame = QtWidgets.QFrame(EosWidget)
self.enable_frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.enable_frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.enable_frame.setObjectName("enable_frame")
- self.verticalLayout = QtWidgets.QVBoxLayout(self.enable_frame)
- self.verticalLayout.setObjectName("verticalLayout")
+ self.enable_layout = QtWidgets.QVBoxLayout(self.enable_frame)
+ self.enable_layout.setObjectName("enable_layout")
self.select_pfx_combo = QtWidgets.QComboBox(self.enable_frame)
self.select_pfx_combo.setObjectName("select_pfx_combo")
- self.verticalLayout.addWidget(self.select_pfx_combo)
+ self.enable_layout.addWidget(self.select_pfx_combo)
self.enabled_cb = QtWidgets.QCheckBox(self.enable_frame)
self.enabled_cb.setObjectName("enabled_cb")
- self.verticalLayout.addWidget(self.enabled_cb)
+ self.enable_layout.addWidget(self.enabled_cb)
self.enabled_info_label = QtWidgets.QLabel(self.enable_frame)
font = QtGui.QFont()
font.setItalic(True)
self.enabled_info_label.setFont(font)
self.enabled_info_label.setText("")
self.enabled_info_label.setObjectName("enabled_info_label")
- self.verticalLayout.addWidget(self.enabled_info_label)
+ self.enable_layout.addWidget(self.enabled_info_label)
self.eos_layout.addWidget(self.enable_frame)
self.retranslateUi(EosWidget)
diff --git a/rare/ui/components/tabs/games/integrations/eos_widget.ui b/rare/ui/components/tabs/games/integrations/eos_widget.ui
index 7a70d318..84e017bf 100644
--- a/rare/ui/components/tabs/games/integrations/eos_widget.ui
+++ b/rare/ui/components/tabs/games/integrations/eos_widget.ui
@@ -38,7 +38,7 @@
0
-
+
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
@@ -74,9 +74,9 @@
-
-
+
-
-
+
Qt::Horizontal
@@ -90,16 +90,10 @@
-
-
-
- 0
- 0
-
-
-
+
- 150
- 16777215
+ 120
+ 0
@@ -109,16 +103,10 @@
-
-
-
- 0
- 0
-
-
-
+
- 150
- 16777215
+ 120
+ 0
@@ -128,16 +116,10 @@
-
-
-
- 0
- 0
-
-
-
+
- 150
- 16777215
+ 120
+ 0
@@ -148,7 +130,7 @@
-
-
+
Qt::Vertical
@@ -163,7 +145,7 @@
-
+
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
@@ -178,9 +160,9 @@
-
-
+
-
-
+
Qt::Horizontal
@@ -194,6 +176,12 @@
-
+
+
+ 120
+ 0
+
+
Install
@@ -202,7 +190,7 @@
-
-
+
Qt::Vertical
@@ -226,7 +214,7 @@
QFrame::Raised
-
+
-