409 lines
18 KiB
Python
409 lines
18 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
################################################################################
|
|
## Form generated from reading UI file 'diaAddNewChunkBatchSetMesh.ui'
|
|
##
|
|
## Created by: Qt User Interface Compiler version 5.15.2
|
|
##
|
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
################################################################################
|
|
|
|
from PySide2.QtCore import *
|
|
from PySide2.QtGui import *
|
|
from PySide2.QtWidgets import *
|
|
|
|
import qtresources_rc
|
|
|
|
class Ui_DialogSettingsMesh(object):
|
|
def setupUi(self, DialogSettingsMesh):
|
|
if not DialogSettingsMesh.objectName():
|
|
DialogSettingsMesh.setObjectName(u"DialogSettingsMesh")
|
|
DialogSettingsMesh.resize(350, 510)
|
|
DialogSettingsMesh.setWindowTitle(u"Settings: Mesh & Textures")
|
|
icon = QIcon()
|
|
icon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
DialogSettingsMesh.setWindowIcon(icon)
|
|
self.formLayoutWidget = QWidget(DialogSettingsMesh)
|
|
self.formLayoutWidget.setObjectName(u"formLayoutWidget")
|
|
self.formLayoutWidget.setGeometry(QRect(0, 0, 351, 511))
|
|
self.formLayout = QFormLayout(self.formLayoutWidget)
|
|
self.formLayout.setObjectName(u"formLayout")
|
|
self.formLayout.setContentsMargins(10, 5, 10, 10)
|
|
self.horizontalLayout_2 = QHBoxLayout()
|
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
|
self.label_11 = QLabel(self.formLayoutWidget)
|
|
self.label_11.setObjectName(u"label_11")
|
|
sizePolicy = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
|
|
sizePolicy.setHorizontalStretch(0)
|
|
sizePolicy.setVerticalStretch(0)
|
|
sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth())
|
|
self.label_11.setSizePolicy(sizePolicy)
|
|
self.label_11.setMaximumSize(QSize(24, 24))
|
|
self.label_11.setFrameShape(QFrame.NoFrame)
|
|
self.label_11.setText(u"")
|
|
self.label_11.setPixmap(QPixmap(u":/icons/icons8-geodesic-dome-48.png"))
|
|
self.label_11.setScaledContents(True)
|
|
|
|
self.horizontalLayout_2.addWidget(self.label_11)
|
|
|
|
self.label = QLabel(self.formLayoutWidget)
|
|
self.label.setObjectName(u"label")
|
|
font = QFont()
|
|
font.setFamily(u"Segoe UI")
|
|
font.setPointSize(12)
|
|
font.setBold(True)
|
|
font.setWeight(75)
|
|
self.label.setFont(font)
|
|
self.label.setText(u"Depth Maps")
|
|
|
|
self.horizontalLayout_2.addWidget(self.label)
|
|
|
|
|
|
self.formLayout.setLayout(0, QFormLayout.SpanningRole, self.horizontalLayout_2)
|
|
|
|
self.label_8 = QLabel(self.formLayoutWidget)
|
|
self.label_8.setObjectName(u"label_8")
|
|
|
|
self.formLayout.setWidget(1, QFormLayout.LabelRole, self.label_8)
|
|
|
|
self.comboBox_depthQuality = QComboBox(self.formLayoutWidget)
|
|
icon1 = QIcon()
|
|
icon1.addFile(u":/icons/icons8-connection-status-on-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.comboBox_depthQuality.addItem(icon1, u"Ultra High")
|
|
icon2 = QIcon()
|
|
icon2.addFile(u":/icons/icons8-signal-full-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.comboBox_depthQuality.addItem(icon2, u"HIgh")
|
|
icon3 = QIcon()
|
|
icon3.addFile(u":/icons/icons8-signal-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.comboBox_depthQuality.addItem(icon3, u"Medium")
|
|
icon4 = QIcon()
|
|
icon4.addFile(u":/icons/icons8-low-connection-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.comboBox_depthQuality.addItem(icon4, u"Low")
|
|
icon5 = QIcon()
|
|
icon5.addFile(u":/icons/icons8-no-connection-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.comboBox_depthQuality.addItem(icon5, u"Lowest")
|
|
self.comboBox_depthQuality.setObjectName(u"comboBox_depthQuality")
|
|
self.comboBox_depthQuality.setMinimumSize(QSize(0, 26))
|
|
self.comboBox_depthQuality.setMaximumSize(QSize(16777215, 26))
|
|
self.comboBox_depthQuality.setCurrentText(u"Medium")
|
|
|
|
self.formLayout.setWidget(1, QFormLayout.FieldRole, self.comboBox_depthQuality)
|
|
|
|
self.label_9 = QLabel(self.formLayoutWidget)
|
|
self.label_9.setObjectName(u"label_9")
|
|
|
|
self.formLayout.setWidget(2, QFormLayout.LabelRole, self.label_9)
|
|
|
|
self.comboBox_depthFilter = QComboBox(self.formLayoutWidget)
|
|
self.comboBox_depthFilter.addItem(u"Mild")
|
|
self.comboBox_depthFilter.addItem(u"Moderate")
|
|
self.comboBox_depthFilter.addItem(u"Aggresive")
|
|
self.comboBox_depthFilter.setObjectName(u"comboBox_depthFilter")
|
|
self.comboBox_depthFilter.setMinimumSize(QSize(0, 26))
|
|
self.comboBox_depthFilter.setMaximumSize(QSize(16777215, 26))
|
|
self.comboBox_depthFilter.setCurrentText(u"Moderate")
|
|
|
|
self.formLayout.setWidget(2, QFormLayout.FieldRole, self.comboBox_depthFilter)
|
|
|
|
self.line_3 = QFrame(self.formLayoutWidget)
|
|
self.line_3.setObjectName(u"line_3")
|
|
self.line_3.setFrameShape(QFrame.HLine)
|
|
self.line_3.setFrameShadow(QFrame.Sunken)
|
|
|
|
self.formLayout.setWidget(3, QFormLayout.SpanningRole, self.line_3)
|
|
|
|
self.horizontalLayout_4 = QHBoxLayout()
|
|
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
|
|
self.label_12 = QLabel(self.formLayoutWidget)
|
|
self.label_12.setObjectName(u"label_12")
|
|
sizePolicy.setHeightForWidth(self.label_12.sizePolicy().hasHeightForWidth())
|
|
self.label_12.setSizePolicy(sizePolicy)
|
|
self.label_12.setMaximumSize(QSize(24, 24))
|
|
self.label_12.setFrameShape(QFrame.NoFrame)
|
|
self.label_12.setText(u"")
|
|
self.label_12.setPixmap(QPixmap(u":/icons/icons8-mesh-48.png"))
|
|
self.label_12.setScaledContents(True)
|
|
|
|
self.horizontalLayout_4.addWidget(self.label_12)
|
|
|
|
self.label_10 = QLabel(self.formLayoutWidget)
|
|
self.label_10.setObjectName(u"label_10")
|
|
self.label_10.setFont(font)
|
|
self.label_10.setText(u"Mesh Options")
|
|
|
|
self.horizontalLayout_4.addWidget(self.label_10)
|
|
|
|
|
|
self.formLayout.setLayout(4, QFormLayout.SpanningRole, self.horizontalLayout_4)
|
|
|
|
self.label_2 = QLabel(self.formLayoutWidget)
|
|
self.label_2.setObjectName(u"label_2")
|
|
self.label_2.setText(u"Surface Type")
|
|
|
|
self.formLayout.setWidget(5, QFormLayout.LabelRole, self.label_2)
|
|
|
|
self.cbMeshType = QComboBox(self.formLayoutWidget)
|
|
icon6 = QIcon()
|
|
icon6.addFile(u":/icons/icons8-3d-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.cbMeshType.addItem(icon6, u"Arbitrary")
|
|
icon7 = QIcon()
|
|
icon7.addFile(u":/icons/icons8-national-park-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.cbMeshType.addItem(icon7, u"Height Field")
|
|
self.cbMeshType.setObjectName(u"cbMeshType")
|
|
self.cbMeshType.setMinimumSize(QSize(0, 26))
|
|
self.cbMeshType.setMaximumSize(QSize(16777215, 26))
|
|
#if QT_CONFIG(tooltip)
|
|
self.cbMeshType.setToolTip(u"Choose type of model reconstruction")
|
|
#endif // QT_CONFIG(tooltip)
|
|
|
|
self.formLayout.setWidget(5, QFormLayout.FieldRole, self.cbMeshType)
|
|
|
|
self.label_3 = QLabel(self.formLayoutWidget)
|
|
self.label_3.setObjectName(u"label_3")
|
|
self.label_3.setText(u"Face Count")
|
|
|
|
self.formLayout.setWidget(6, QFormLayout.LabelRole, self.label_3)
|
|
|
|
self.cbFaceCount = QComboBox(self.formLayoutWidget)
|
|
self.cbFaceCount.addItem(icon2, u"High")
|
|
self.cbFaceCount.addItem(icon3, u"Medium")
|
|
self.cbFaceCount.addItem(icon4, u"Low")
|
|
icon8 = QIcon()
|
|
icon8.addFile(u":/icons/icons8-rename-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.cbFaceCount.addItem(icon8, u"Custom")
|
|
self.cbFaceCount.setObjectName(u"cbFaceCount")
|
|
self.cbFaceCount.setMinimumSize(QSize(0, 26))
|
|
self.cbFaceCount.setMaximumSize(QSize(16777215, 26))
|
|
#if QT_CONFIG(tooltip)
|
|
self.cbFaceCount.setToolTip(u"Choose face count density")
|
|
#endif // QT_CONFIG(tooltip)
|
|
self.cbFaceCount.setCurrentText(u"Medium")
|
|
|
|
self.formLayout.setWidget(6, QFormLayout.FieldRole, self.cbFaceCount)
|
|
|
|
self.lineEditFaceCount = QLineEdit(self.formLayoutWidget)
|
|
self.lineEditFaceCount.setObjectName(u"lineEditFaceCount")
|
|
self.lineEditFaceCount.setEnabled(False)
|
|
self.lineEditFaceCount.setPlaceholderText(u"Custom face count")
|
|
|
|
self.formLayout.setWidget(7, QFormLayout.FieldRole, self.lineEditFaceCount)
|
|
|
|
self.checkBox_inter = QCheckBox(self.formLayoutWidget)
|
|
self.checkBox_inter.setObjectName(u"checkBox_inter")
|
|
#if QT_CONFIG(tooltip)
|
|
self.checkBox_inter.setToolTip(u"Enable interpolation")
|
|
#endif // QT_CONFIG(tooltip)
|
|
self.checkBox_inter.setText(u"Interpolation")
|
|
|
|
self.formLayout.setWidget(8, QFormLayout.FieldRole, self.checkBox_inter)
|
|
|
|
self.checkBox_vcol = QCheckBox(self.formLayoutWidget)
|
|
self.checkBox_vcol.setObjectName(u"checkBox_vcol")
|
|
#if QT_CONFIG(tooltip)
|
|
self.checkBox_vcol.setToolTip(u"Calculate vertex colors")
|
|
#endif // QT_CONFIG(tooltip)
|
|
self.checkBox_vcol.setText(u"Vertex Colors")
|
|
self.checkBox_vcol.setChecked(True)
|
|
|
|
self.formLayout.setWidget(9, QFormLayout.FieldRole, self.checkBox_vcol)
|
|
|
|
self.checkBox_vcon = QCheckBox(self.formLayoutWidget)
|
|
self.checkBox_vcon.setObjectName(u"checkBox_vcon")
|
|
#if QT_CONFIG(tooltip)
|
|
self.checkBox_vcon.setToolTip(u"Calculate vertex confidence")
|
|
#endif // QT_CONFIG(tooltip)
|
|
self.checkBox_vcon.setText(u"Vertex Confidence")
|
|
|
|
self.formLayout.setWidget(10, QFormLayout.FieldRole, self.checkBox_vcon)
|
|
|
|
self.line = QFrame(self.formLayoutWidget)
|
|
self.line.setObjectName(u"line")
|
|
self.line.setFrameShape(QFrame.HLine)
|
|
self.line.setFrameShadow(QFrame.Sunken)
|
|
|
|
self.formLayout.setWidget(11, QFormLayout.SpanningRole, self.line)
|
|
|
|
self.horizontalLayout_5 = QHBoxLayout()
|
|
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
|
|
self.label_13 = QLabel(self.formLayoutWidget)
|
|
self.label_13.setObjectName(u"label_13")
|
|
sizePolicy.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
|
|
self.label_13.setSizePolicy(sizePolicy)
|
|
self.label_13.setMaximumSize(QSize(24, 24))
|
|
self.label_13.setFrameShape(QFrame.NoFrame)
|
|
self.label_13.setText(u"")
|
|
self.label_13.setPixmap(QPixmap(u":/icons/icons8-video-wall-50.png"))
|
|
self.label_13.setScaledContents(True)
|
|
|
|
self.horizontalLayout_5.addWidget(self.label_13)
|
|
|
|
self.label_5 = QLabel(self.formLayoutWidget)
|
|
self.label_5.setObjectName(u"label_5")
|
|
self.label_5.setFont(font)
|
|
self.label_5.setText(u"Textures Options")
|
|
|
|
self.horizontalLayout_5.addWidget(self.label_5)
|
|
|
|
|
|
self.formLayout.setLayout(12, QFormLayout.SpanningRole, self.horizontalLayout_5)
|
|
|
|
self.groupBox_buildTex = QGroupBox(self.formLayoutWidget)
|
|
self.groupBox_buildTex.setObjectName(u"groupBox_buildTex")
|
|
self.groupBox_buildTex.setMinimumSize(QSize(0, 90))
|
|
self.groupBox_buildTex.setTitle(u"Build Textures")
|
|
self.groupBox_buildTex.setCheckable(True)
|
|
self.gridLayoutWidget = QWidget(self.groupBox_buildTex)
|
|
self.gridLayoutWidget.setObjectName(u"gridLayoutWidget")
|
|
self.gridLayoutWidget.setGeometry(QRect(10, 30, 311, 52))
|
|
self.gridLayout = QGridLayout(self.gridLayoutWidget)
|
|
self.gridLayout.setObjectName(u"gridLayout")
|
|
self.gridLayout.setContentsMargins(0, 0, 0, 0)
|
|
self.label_4 = QLabel(self.gridLayoutWidget)
|
|
self.label_4.setObjectName(u"label_4")
|
|
self.label_4.setText(u"Size")
|
|
|
|
self.gridLayout.addWidget(self.label_4, 0, 2, 1, 1)
|
|
|
|
self.checkBox_texFillHoles = QCheckBox(self.gridLayoutWidget)
|
|
self.checkBox_texFillHoles.setObjectName(u"checkBox_texFillHoles")
|
|
sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
|
|
sizePolicy1.setHorizontalStretch(0)
|
|
sizePolicy1.setVerticalStretch(0)
|
|
sizePolicy1.setHeightForWidth(self.checkBox_texFillHoles.sizePolicy().hasHeightForWidth())
|
|
self.checkBox_texFillHoles.setSizePolicy(sizePolicy1)
|
|
self.checkBox_texFillHoles.setText(u"Fill Holes")
|
|
self.checkBox_texFillHoles.setChecked(True)
|
|
|
|
self.gridLayout.addWidget(self.checkBox_texFillHoles, 0, 0, 1, 1)
|
|
|
|
self.lineEdit_texSize = QLineEdit(self.gridLayoutWidget)
|
|
self.lineEdit_texSize.setObjectName(u"lineEdit_texSize")
|
|
sizePolicy2 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed)
|
|
sizePolicy2.setHorizontalStretch(0)
|
|
sizePolicy2.setVerticalStretch(0)
|
|
sizePolicy2.setHeightForWidth(self.lineEdit_texSize.sizePolicy().hasHeightForWidth())
|
|
self.lineEdit_texSize.setSizePolicy(sizePolicy2)
|
|
self.lineEdit_texSize.setMaximumSize(QSize(60, 16777215))
|
|
self.lineEdit_texSize.setText(u"4096")
|
|
|
|
self.gridLayout.addWidget(self.lineEdit_texSize, 1, 2, 1, 1)
|
|
|
|
self.label_6 = QLabel(self.gridLayoutWidget)
|
|
self.label_6.setObjectName(u"label_6")
|
|
self.label_6.setText(u"Levels")
|
|
|
|
self.gridLayout.addWidget(self.label_6, 0, 4, 1, 1)
|
|
|
|
self.checkBox_texGhostFilt = QCheckBox(self.gridLayoutWidget)
|
|
self.checkBox_texGhostFilt.setObjectName(u"checkBox_texGhostFilt")
|
|
sizePolicy1.setHeightForWidth(self.checkBox_texGhostFilt.sizePolicy().hasHeightForWidth())
|
|
self.checkBox_texGhostFilt.setSizePolicy(sizePolicy1)
|
|
self.checkBox_texGhostFilt.setText(u"Ghosting Filter")
|
|
self.checkBox_texGhostFilt.setChecked(True)
|
|
|
|
self.gridLayout.addWidget(self.checkBox_texGhostFilt, 1, 0, 1, 1)
|
|
|
|
self.lineEdit_texLevels = QLineEdit(self.gridLayoutWidget)
|
|
self.lineEdit_texLevels.setObjectName(u"lineEdit_texLevels")
|
|
sizePolicy2.setHeightForWidth(self.lineEdit_texLevels.sizePolicy().hasHeightForWidth())
|
|
self.lineEdit_texLevels.setSizePolicy(sizePolicy2)
|
|
self.lineEdit_texLevels.setMaximumSize(QSize(50, 16777215))
|
|
self.lineEdit_texLevels.setText(u"1")
|
|
self.lineEdit_texLevels.setMaxLength(2)
|
|
|
|
self.gridLayout.addWidget(self.lineEdit_texLevels, 1, 4, 1, 1)
|
|
|
|
self.label_7 = QLabel(self.gridLayoutWidget)
|
|
self.label_7.setObjectName(u"label_7")
|
|
sizePolicy3 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred)
|
|
sizePolicy3.setHorizontalStretch(0)
|
|
sizePolicy3.setVerticalStretch(0)
|
|
sizePolicy3.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
|
|
self.label_7.setSizePolicy(sizePolicy3)
|
|
self.label_7.setText(u"x")
|
|
|
|
self.gridLayout.addWidget(self.label_7, 1, 3, 1, 1)
|
|
|
|
self.horizontalSpacer = QSpacerItem(20, 5, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
|
|
|
self.gridLayout.addItem(self.horizontalSpacer, 1, 1, 1, 1)
|
|
|
|
|
|
self.formLayout.setWidget(13, QFormLayout.SpanningRole, self.groupBox_buildTex)
|
|
|
|
self.line_2 = QFrame(self.formLayoutWidget)
|
|
self.line_2.setObjectName(u"line_2")
|
|
self.line_2.setFrameShape(QFrame.HLine)
|
|
self.line_2.setFrameShadow(QFrame.Sunken)
|
|
|
|
self.formLayout.setWidget(15, QFormLayout.SpanningRole, self.line_2)
|
|
|
|
self.horizontalLayout = QHBoxLayout()
|
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
|
self.pushButton_Save = QPushButton(self.formLayoutWidget)
|
|
self.pushButton_Save.setObjectName(u"pushButton_Save")
|
|
self.pushButton_Save.setText(u"Save")
|
|
icon9 = QIcon()
|
|
icon9.addFile(u":/icons/icons8-save-close-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.pushButton_Save.setIcon(icon9)
|
|
self.pushButton_Save.setIconSize(QSize(20, 20))
|
|
|
|
self.horizontalLayout.addWidget(self.pushButton_Save)
|
|
|
|
self.pushButton_Cancel = QPushButton(self.formLayoutWidget)
|
|
self.pushButton_Cancel.setObjectName(u"pushButton_Cancel")
|
|
self.pushButton_Cancel.setText(u"Cancel")
|
|
icon10 = QIcon()
|
|
icon10.addFile(u":/icons/icons8-close-window-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
self.pushButton_Cancel.setIcon(icon10)
|
|
self.pushButton_Cancel.setIconSize(QSize(20, 20))
|
|
|
|
self.horizontalLayout.addWidget(self.pushButton_Cancel)
|
|
|
|
|
|
self.formLayout.setLayout(16, QFormLayout.FieldRole, self.horizontalLayout)
|
|
|
|
self.verticalSpacer = QSpacerItem(20, 20, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
|
|
|
self.formLayout.setItem(14, QFormLayout.FieldRole, self.verticalSpacer)
|
|
|
|
QWidget.setTabOrder(self.comboBox_depthQuality, self.comboBox_depthFilter)
|
|
QWidget.setTabOrder(self.comboBox_depthFilter, self.cbMeshType)
|
|
QWidget.setTabOrder(self.cbMeshType, self.cbFaceCount)
|
|
QWidget.setTabOrder(self.cbFaceCount, self.lineEditFaceCount)
|
|
QWidget.setTabOrder(self.lineEditFaceCount, self.checkBox_inter)
|
|
QWidget.setTabOrder(self.checkBox_inter, self.checkBox_vcol)
|
|
QWidget.setTabOrder(self.checkBox_vcol, self.checkBox_vcon)
|
|
QWidget.setTabOrder(self.checkBox_vcon, self.groupBox_buildTex)
|
|
QWidget.setTabOrder(self.groupBox_buildTex, self.checkBox_texFillHoles)
|
|
QWidget.setTabOrder(self.checkBox_texFillHoles, self.checkBox_texGhostFilt)
|
|
QWidget.setTabOrder(self.checkBox_texGhostFilt, self.lineEdit_texSize)
|
|
QWidget.setTabOrder(self.lineEdit_texSize, self.lineEdit_texLevels)
|
|
QWidget.setTabOrder(self.lineEdit_texLevels, self.pushButton_Save)
|
|
QWidget.setTabOrder(self.pushButton_Save, self.pushButton_Cancel)
|
|
|
|
self.retranslateUi(DialogSettingsMesh)
|
|
self.pushButton_Cancel.clicked.connect(DialogSettingsMesh.reject)
|
|
self.pushButton_Save.clicked.connect(DialogSettingsMesh.accept)
|
|
self.cbFaceCount.highlighted.connect(self.lineEditFaceCount.setText)
|
|
|
|
self.comboBox_depthQuality.setCurrentIndex(2)
|
|
self.comboBox_depthFilter.setCurrentIndex(1)
|
|
self.cbFaceCount.setCurrentIndex(1)
|
|
self.pushButton_Save.setDefault(True)
|
|
|
|
|
|
QMetaObject.connectSlotsByName(DialogSettingsMesh)
|
|
# setupUi
|
|
|
|
def retranslateUi(self, DialogSettingsMesh):
|
|
self.label_8.setText(QCoreApplication.translate("DialogSettingsMesh", u"Depth Maps Quality", None))
|
|
|
|
self.label_9.setText(QCoreApplication.translate("DialogSettingsMesh", u"Depth Filtering", None))
|
|
|
|
|
|
|
|
pass
|
|
# retranslateUi
|
|
|