main
12
.gitignore
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
.vs/
|
||||||
|
.vscode/
|
||||||
|
__pycache__/
|
||||||
|
AutoFTG/__pycache__/
|
||||||
|
AutoFTG/templates/
|
||||||
|
AutoFTG_*.zip
|
||||||
|
AutoFTG/qtGui/
|
||||||
|
sync.ffs_db
|
||||||
|
AutoFTG/,backup/*
|
||||||
|
AutoFTG/cameras/dibit*
|
||||||
|
AutoFTG/cameras/DJI-*
|
||||||
|
AutoFTG/templates/
|
0
AutoFTG/__init__.py
Normal file
2011
AutoFTG/autoftg_batch.py
Normal file
326
AutoFTG/autoftg_batch_setalign.py
Normal file
|
@ -0,0 +1,326 @@
|
||||||
|
# AutoFTG - Scripts for Agisoft Metashape Pro
|
||||||
|
#
|
||||||
|
# Dialog: Batch Chunk Creator - Align Photos Settings
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
import subprocess
|
||||||
|
from configparser import ConfigParser
|
||||||
|
from datetime import datetime
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import Metashape
|
||||||
|
from PySide2 import QtCore, QtGui, QtWidgets
|
||||||
|
from PySide2.QtCore import *
|
||||||
|
from PySide2.QtGui import *
|
||||||
|
from PySide2.QtWidgets import *
|
||||||
|
|
||||||
|
import AutoFTG.autoftg_main as autoftg_main
|
||||||
|
from AutoFTG.qtresources_rc2 import *
|
||||||
|
import AutoFTG.autoftg_batch as autoftg_batch
|
||||||
|
from AutoFTG.autoftg_batch import *
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_DialogAlignPhotos(QtWidgets.QDialog):
|
||||||
|
def __init__(self, parent):
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.setObjectName(u"DialogAlignPhotos")
|
||||||
|
self.resize(290, 460)
|
||||||
|
self.setWindowTitle(u"Align Photos Settings")
|
||||||
|
self.formLayoutWidget = QWidget(self)
|
||||||
|
self.formLayoutWidget.setObjectName(u"formLayoutWidget")
|
||||||
|
self.formLayoutWidget.setGeometry(QRect(0, 0, 291, 461))
|
||||||
|
self.formLayout = QFormLayout(self.formLayoutWidget)
|
||||||
|
self.formLayout.setObjectName(u"formLayout")
|
||||||
|
self.formLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.label_4 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_4.setObjectName(u"label_4")
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_4.setSizePolicy(sizePolicy)
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(14)
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.label_4.setFont(font)
|
||||||
|
self.label_4.setText(u"Align Photos Settings")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(0, QFormLayout.SpanningRole, self.label_4)
|
||||||
|
|
||||||
|
self.line = QFrame(self.formLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(1, QFormLayout.SpanningRole, self.line)
|
||||||
|
|
||||||
|
self.label = QLabel(self.formLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(11)
|
||||||
|
self.label.setFont(font1)
|
||||||
|
self.label.setText(u"Quality")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.LabelRole, self.label)
|
||||||
|
|
||||||
|
self.comboBox_quality = QComboBox(self.formLayoutWidget)
|
||||||
|
self.comboBox_quality.addItem(u"Highest")
|
||||||
|
self.comboBox_quality.addItem(u"High")
|
||||||
|
self.comboBox_quality.addItem(u"Medium")
|
||||||
|
self.comboBox_quality.addItem(u"Low")
|
||||||
|
self.comboBox_quality.addItem(u"Lowest")
|
||||||
|
self.comboBox_quality.setObjectName(u"comboBox_quality")
|
||||||
|
self.comboBox_quality.setCurrentText(u"Highest")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.FieldRole, self.comboBox_quality)
|
||||||
|
|
||||||
|
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(3, QFormLayout.SpanningRole, self.line_2)
|
||||||
|
|
||||||
|
self.label_2 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
self.label_2.setFont(font1)
|
||||||
|
self.label_2.setText(u"Pre-selection")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(4, QFormLayout.LabelRole, self.label_2)
|
||||||
|
|
||||||
|
self.checkBox_gen = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_gen.setObjectName(u"checkBox_gen")
|
||||||
|
self.checkBox_gen.setText(u"Generic")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(4, QFormLayout.FieldRole, self.checkBox_gen)
|
||||||
|
|
||||||
|
self.checkBox_ref = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_ref.setObjectName(u"checkBox_ref")
|
||||||
|
self.checkBox_ref.setText(u"Reference")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(5, QFormLayout.FieldRole, self.checkBox_ref)
|
||||||
|
|
||||||
|
self.comboBox_ref = QComboBox(self.formLayoutWidget)
|
||||||
|
self.comboBox_ref.addItem(u"Source")
|
||||||
|
self.comboBox_ref.addItem(u"Estimated")
|
||||||
|
self.comboBox_ref.addItem(u"Sequential")
|
||||||
|
self.comboBox_ref.setObjectName(u"comboBox_ref")
|
||||||
|
self.comboBox_ref.setEnabled(False)
|
||||||
|
self.comboBox_ref.setCurrentText(u"Source")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(6, QFormLayout.FieldRole, self.comboBox_ref)
|
||||||
|
|
||||||
|
self.line_5 = QFrame(self.formLayoutWidget)
|
||||||
|
self.line_5.setObjectName(u"line_5")
|
||||||
|
self.line_5.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_5.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(7, QFormLayout.SpanningRole, self.line_5)
|
||||||
|
|
||||||
|
self.label_3 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_3.setObjectName(u"label_3")
|
||||||
|
self.label_3.setFont(font1)
|
||||||
|
self.label_3.setText(u"Point Limit")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(8, QFormLayout.LabelRole, self.label_3)
|
||||||
|
|
||||||
|
self.horizontalLayout_2 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
|
self.label_6 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_6.setObjectName(u"label_6")
|
||||||
|
sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_6.setSizePolicy(sizePolicy)
|
||||||
|
self.label_6.setText(u"Key")
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.label_6)
|
||||||
|
|
||||||
|
self.label_5 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_5.setObjectName(u"label_5")
|
||||||
|
sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_5.setSizePolicy(sizePolicy)
|
||||||
|
self.label_5.setText(u"Tie")
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.label_5)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(8, QFormLayout.FieldRole, self.horizontalLayout_2)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.lineEdit_keypoints = QLineEdit(self.formLayoutWidget)
|
||||||
|
self.lineEdit_keypoints.setObjectName(u"lineEdit_keypoints")
|
||||||
|
self.lineEdit_keypoints.setPlaceholderText(u"40000")
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.lineEdit_keypoints)
|
||||||
|
|
||||||
|
self.lineEdit_tiepoints = QLineEdit(self.formLayoutWidget)
|
||||||
|
self.lineEdit_tiepoints.setObjectName(u"lineEdit_tiepoints")
|
||||||
|
self.lineEdit_tiepoints.setPlaceholderText(u"10000")
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.lineEdit_tiepoints)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(9, QFormLayout.FieldRole, self.horizontalLayout)
|
||||||
|
|
||||||
|
self.line_4 = QFrame(self.formLayoutWidget)
|
||||||
|
self.line_4.setObjectName(u"line_4")
|
||||||
|
self.line_4.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_4.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(10, QFormLayout.SpanningRole, self.line_4)
|
||||||
|
|
||||||
|
self.label_7 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_7.setObjectName(u"label_7")
|
||||||
|
self.label_7.setFont(font1)
|
||||||
|
self.label_7.setText(u"Other")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(11, QFormLayout.LabelRole, self.label_7)
|
||||||
|
|
||||||
|
self.checkBox_filtmask = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_filtmask.setObjectName(u"checkBox_filtmask")
|
||||||
|
self.checkBox_filtmask.setText(u"Filter Masked")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(11, QFormLayout.FieldRole, self.checkBox_filtmask)
|
||||||
|
|
||||||
|
self.checkBox_masktie = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_masktie.setObjectName(u"checkBox_masktie")
|
||||||
|
self.checkBox_masktie.setText(u"Mask Tie Points")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(13, QFormLayout.FieldRole, self.checkBox_masktie)
|
||||||
|
|
||||||
|
self.checkBox_keepkey = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_keepkey.setObjectName(u"checkBox_keepkey")
|
||||||
|
self.checkBox_keepkey.setText(u"Keep Key Points")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(14, QFormLayout.FieldRole, self.checkBox_keepkey)
|
||||||
|
|
||||||
|
self.checkBox_guided = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_guided.setObjectName(u"checkBox_guided")
|
||||||
|
self.checkBox_guided.setText(u"Guided Matching")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(15, QFormLayout.FieldRole, self.checkBox_guided)
|
||||||
|
|
||||||
|
self.checkBox_reset = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_reset.setObjectName(u"checkBox_reset")
|
||||||
|
self.checkBox_reset.setText(u"Reset Alignement")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(16, QFormLayout.FieldRole, self.checkBox_reset)
|
||||||
|
|
||||||
|
self.verticalSpacer = QSpacerItem(20, 5, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
||||||
|
|
||||||
|
self.formLayout.setItem(17, QFormLayout.FieldRole, self.verticalSpacer)
|
||||||
|
|
||||||
|
self.horizontalLayout_3 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||||
|
self.pushButton_save = QPushButton(self.formLayoutWidget)
|
||||||
|
self.pushButton_save.setObjectName(u"pushButton_save")
|
||||||
|
self.pushButton_save.setText(u"Save")
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/icons8-save-as-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_save.setIcon(icon)
|
||||||
|
self.pushButton_save.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.pushButton_save)
|
||||||
|
|
||||||
|
self.pushButton_cancel = QPushButton(self.formLayoutWidget)
|
||||||
|
self.pushButton_cancel.setObjectName(u"pushButton_cancel")
|
||||||
|
self.pushButton_cancel.setText(u"Cancel")
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-close-window-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_cancel.setIcon(icon1)
|
||||||
|
self.pushButton_cancel.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.pushButton_cancel)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(18, QFormLayout.FieldRole, self.horizontalLayout_3)
|
||||||
|
|
||||||
|
self.checkBox_filtsta = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_filtsta.setObjectName(u"checkBox_filtsta")
|
||||||
|
self.checkBox_filtsta.setText(u"Filter Stationary Points")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(12, QFormLayout.FieldRole, self.checkBox_filtsta)
|
||||||
|
|
||||||
|
self.pushButton_cancel.clicked.connect(self.reject)
|
||||||
|
self.pushButton_save.clicked.connect(self.saveSettingsAlign)
|
||||||
|
|
||||||
|
self.currentChkDef = autoftg_batch.chunkSet
|
||||||
|
|
||||||
|
self.loadSettingsAlign()
|
||||||
|
|
||||||
|
|
||||||
|
self.exec_()
|
||||||
|
|
||||||
|
|
||||||
|
def loadSettingsAlign(self):
|
||||||
|
align_quality = autoftg_main.menuCfg.get(self.currentChkDef, "align_quality")
|
||||||
|
align_gen_presel = autoftg_main.menuCfg.getboolean(self.currentChkDef, "align_gen_presel")
|
||||||
|
align_ref_presel = autoftg_main.menuCfg.getboolean(self.currentChkDef, "align_ref_presel")
|
||||||
|
align_ref_presel_mode = autoftg_main.menuCfg.get(self.currentChkDef, "align_ref_presel_mode")
|
||||||
|
align_key_limit = autoftg_main.menuCfg.getint(self.currentChkDef, "align_key_limit")
|
||||||
|
align_tie_limit = autoftg_main.menuCfg.getint(self.currentChkDef, "align_tie_limit")
|
||||||
|
align_filter_mask = autoftg_main.menuCfg.getboolean(self.currentChkDef, "align_filter_mask")
|
||||||
|
align_mask_tiepoint = autoftg_main.menuCfg.getboolean(self.currentChkDef, "align_mask_tiepoint")
|
||||||
|
align_filter_stationary = autoftg_main.menuCfg.getboolean(self.currentChkDef, "align_filter_stationary")
|
||||||
|
align_keep_keypoints = autoftg_main.menuCfg.getboolean(self.currentChkDef, "align_keep_keypoints")
|
||||||
|
align_guided_matching = autoftg_main.menuCfg.getboolean(self.currentChkDef, "align_guided_matching")
|
||||||
|
align_reset_current = autoftg_main.menuCfg.getboolean(self.currentChkDef, "align_reset_current")
|
||||||
|
|
||||||
|
self.comboBox_quality.setCurrentText(align_quality)
|
||||||
|
self.checkBox_gen.setChecked(align_gen_presel)
|
||||||
|
self.checkBox_ref.setChecked(align_ref_presel)
|
||||||
|
self.comboBox_ref.setCurrentText(align_ref_presel_mode)
|
||||||
|
self.lineEdit_keypoints.setText(str(align_key_limit))
|
||||||
|
self.lineEdit_tiepoints.setText(str(align_tie_limit))
|
||||||
|
self.checkBox_filtmask.setChecked(align_filter_mask)
|
||||||
|
self.checkBox_masktie.setChecked(align_mask_tiepoint)
|
||||||
|
self.checkBox_filtsta.setChecked(align_filter_stationary)
|
||||||
|
self.checkBox_keepkey.setChecked(align_keep_keypoints)
|
||||||
|
self.checkBox_guided.setChecked(align_guided_matching)
|
||||||
|
self.checkBox_reset.setChecked(align_reset_current)
|
||||||
|
|
||||||
|
print("Align Photos settings loaded...")
|
||||||
|
|
||||||
|
|
||||||
|
def saveSettingsAlign(self):
|
||||||
|
align_quality = self.comboBox_quality.currentText()
|
||||||
|
align_gen_presel = self.checkBox_gen.isChecked()
|
||||||
|
align_ref_presel = self.checkBox_ref.isChecked()
|
||||||
|
align_ref_presel_mode = self.comboBox_ref.currentText()
|
||||||
|
align_key_limit = self.lineEdit_keypoints.text()
|
||||||
|
align_tie_limit = self.lineEdit_tiepoints.text()
|
||||||
|
align_filter_mask = self.checkBox_filtmask.isChecked()
|
||||||
|
align_mask_tiepoint = self.checkBox_masktie.isChecked()
|
||||||
|
align_filter_stationary = self.checkBox_filtsta.isChecked()
|
||||||
|
align_keep_keypoints = self.checkBox_keepkey.isChecked()
|
||||||
|
align_guided_matching = self.checkBox_guided.isChecked()
|
||||||
|
align_reset_current = self.checkBox_reset.isChecked()
|
||||||
|
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_quality", str(align_quality))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_gen_presel", str(align_gen_presel))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_ref_presel", str(align_ref_presel))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_ref_presel_mode", str(align_ref_presel_mode))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_key_limit", str(align_key_limit))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_tie_limit", str(align_tie_limit))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_filter_mask", str(align_filter_mask))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_mask_tiepoint", str(align_mask_tiepoint))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_filter_stationary", str(align_filter_stationary))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_keep_keypoints", str(align_keep_keypoints))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_guided_matching", str(align_guided_matching))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "align_reset_current", str(align_reset_current))
|
||||||
|
|
||||||
|
with open(autoftg_main.menuCfgFilePath, 'w') as configfile:
|
||||||
|
autoftg_main.menuCfg.write(configfile)
|
||||||
|
|
||||||
|
print("Align Photos settings saved...")
|
||||||
|
|
||||||
|
self.accept()
|
||||||
|
|
485
AutoFTG/autoftg_batch_setmesh.py
Normal file
|
@ -0,0 +1,485 @@
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
import subprocess
|
||||||
|
from configparser import ConfigParser
|
||||||
|
from datetime import datetime
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import Metashape
|
||||||
|
from PySide2 import QtCore, QtGui, QtWidgets
|
||||||
|
from PySide2.QtCore import *
|
||||||
|
from PySide2.QtGui import *
|
||||||
|
from PySide2.QtWidgets import *
|
||||||
|
|
||||||
|
import AutoFTG.autoftg_main as autoftg_main
|
||||||
|
from AutoFTG.qtresources_rc2 import *
|
||||||
|
import AutoFTG.autoftg_batch as autoftg_batch
|
||||||
|
from AutoFTG.autoftg_batch import *
|
||||||
|
from AutoFTG.autoftg_settingsmain import *
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_DialogSettingsMesh(QtWidgets.QDialog):
|
||||||
|
def __init__(self, parent):
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.currentChkDef = autoftg_batch.chunkSet
|
||||||
|
self.setObjectName(u"DialogSettingsMesh")
|
||||||
|
self.resize(350, 510)
|
||||||
|
self.setWindowTitle(u"Settings: Mesh & Textures")
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.setWindowIcon(icon)
|
||||||
|
self.formLayoutWidget = QWidget(self)
|
||||||
|
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.pushButton_Cancel.clicked.connect(self.reject)
|
||||||
|
self.pushButton_Save.clicked.connect(self.saveSettingsMesh)
|
||||||
|
self.cbFaceCount.currentTextChanged.connect(self.customFaceCount)
|
||||||
|
|
||||||
|
|
||||||
|
self.cbFaceCount.setCurrentIndex(1)
|
||||||
|
self.comboBox_depthQuality.setCurrentIndex(2)
|
||||||
|
self.comboBox_depthFilter.setCurrentIndex(1)
|
||||||
|
self.cbFaceCount.setCurrentIndex(1)
|
||||||
|
self.pushButton_Save.setDefault(True)
|
||||||
|
|
||||||
|
|
||||||
|
QMetaObject.connectSlotsByName(self)
|
||||||
|
|
||||||
|
self.loadSettingsMesh()
|
||||||
|
|
||||||
|
self.exec_()
|
||||||
|
|
||||||
|
|
||||||
|
def customFaceCount(self):
|
||||||
|
if self.cbFaceCount.currentText() == "Custom":
|
||||||
|
self.lineEditFaceCount.setEnabled(True)
|
||||||
|
else:
|
||||||
|
self.lineEditFaceCount.setEnabled(False)
|
||||||
|
|
||||||
|
|
||||||
|
def loadSettingsMesh(self):
|
||||||
|
depth_quality = autoftg_main.menuCfg.get(self.currentChkDef, "mesh_depthmaps")
|
||||||
|
depth_filter = autoftg_main.menuCfg.get(self.currentChkDef, "mesh_depthfilter")
|
||||||
|
mesh_type = autoftg_main.menuCfg.get(self.currentChkDef, "mesh_type")
|
||||||
|
mesh_face_count = autoftg_main.menuCfg.get(self.currentChkDef, "mesh_face_count")
|
||||||
|
mesh_face_count_custom = autoftg_main.menuCfg.get(self.currentChkDef, "mesh_face_count_custom")
|
||||||
|
mesh_interpolation = autoftg_main.menuCfg.getboolean(self.currentChkDef, "mesh_interpolation")
|
||||||
|
mesh_vertex_color = autoftg_main.menuCfg.getboolean(self.currentChkDef, "mesh_vertex_color")
|
||||||
|
mesh_vertex_confidence = autoftg_main.menuCfg.getboolean(self.currentChkDef, "mesh_vertex_confidence")
|
||||||
|
texture_build = autoftg_main.menuCfg.getboolean(self.currentChkDef, "texture_build")
|
||||||
|
texture_size = autoftg_main.menuCfg.get(self.currentChkDef, "texture_size")
|
||||||
|
texture_levels = autoftg_main.menuCfg.get(self.currentChkDef, "texture_levels")
|
||||||
|
texture_fill = autoftg_main.menuCfg.getboolean(self.currentChkDef, "texture_fill")
|
||||||
|
texture_ghosting = autoftg_main.menuCfg.getboolean(self.currentChkDef, "texture_ghosting")
|
||||||
|
|
||||||
|
self.comboBox_depthQuality.setCurrentText(depth_quality)
|
||||||
|
self.comboBox_depthFilter.setCurrentText(depth_filter)
|
||||||
|
self.cbMeshType.setCurrentText(mesh_type)
|
||||||
|
self.cbFaceCount.setCurrentText(mesh_face_count)
|
||||||
|
self.lineEditFaceCount.setText(mesh_face_count_custom)
|
||||||
|
self.checkBox_inter.setChecked(mesh_interpolation)
|
||||||
|
self.checkBox_vcol.setChecked(mesh_vertex_color)
|
||||||
|
self.checkBox_vcon.setChecked(mesh_vertex_confidence)
|
||||||
|
self.groupBox_buildTex.setChecked(texture_build)
|
||||||
|
self.checkBox_texFillHoles.setChecked(texture_fill)
|
||||||
|
self.checkBox_texGhostFilt.setChecked(texture_ghosting)
|
||||||
|
self.lineEdit_texSize.setText(texture_size)
|
||||||
|
self.lineEdit_texLevels.setText(texture_levels)
|
||||||
|
|
||||||
|
print("Mesh and textures settings loaded...")
|
||||||
|
|
||||||
|
|
||||||
|
def saveSettingsMesh(self):
|
||||||
|
depth_quality = self.comboBox_depthQuality.currentText()
|
||||||
|
depth_filter = self.comboBox_depthFilter.currentText()
|
||||||
|
mesh_type = self.cbMeshType.currentText()
|
||||||
|
mesh_face_count = self.cbFaceCount.currentText()
|
||||||
|
mesh_face_count_custom = self.lineEditFaceCount.text()
|
||||||
|
mesh_interpolation = self.checkBox_inter.isChecked()
|
||||||
|
mesh_vertex_color = self.checkBox_vcol.isChecked()
|
||||||
|
mesh_vertex_confidence = self.checkBox_vcon.isChecked()
|
||||||
|
texture_build = self.groupBox_buildTex.isChecked()
|
||||||
|
texture_size = self.lineEdit_texSize.text()
|
||||||
|
texture_levels = self.lineEdit_texLevels.text()
|
||||||
|
texture_fill = self.checkBox_texFillHoles.isChecked()
|
||||||
|
texture_ghosting = self.checkBox_texGhostFilt.isChecked()
|
||||||
|
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "mesh_depthmaps", depth_quality)
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "mesh_depthfilter", depth_filter)
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "mesh_type", mesh_type)
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "mesh_face_count", mesh_face_count)
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "mesh_face_count_custom", mesh_face_count_custom)
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "mesh_interpolation", str(mesh_interpolation))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "mesh_vertex_color", str(mesh_vertex_color))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "mesh_vertex_confidence", str(mesh_vertex_confidence))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "texture_build", str(texture_build))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "texture_size", texture_size)
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "texture_levels", texture_levels)
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "texture_fill", str(texture_fill))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "texture_ghosting", str(texture_ghosting))
|
||||||
|
|
||||||
|
with open(autoftg_main.menuCfgFilePath, 'w') as configfile:
|
||||||
|
autoftg_main.menuCfg.write(configfile)
|
||||||
|
|
||||||
|
print("Mesh and textures settings saved...")
|
||||||
|
|
||||||
|
self.accept()
|
||||||
|
|
202
AutoFTG/autoftg_batch_setpointc.py
Normal file
|
@ -0,0 +1,202 @@
|
||||||
|
# AutoFTG - Scripts for Agisoft Metashape Pro
|
||||||
|
#
|
||||||
|
# Dialog: Batch Chunk Creator - Point Cloud Settings
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
from configparser import ConfigParser
|
||||||
|
from datetime import datetime
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import Metashape
|
||||||
|
from PySide2 import QtCore, QtGui, QtWidgets
|
||||||
|
from PySide2.QtCore import *
|
||||||
|
from PySide2.QtGui import *
|
||||||
|
from PySide2.QtWidgets import *
|
||||||
|
|
||||||
|
import AutoFTG.autoftg_batch as autoftg_batch
|
||||||
|
import AutoFTG.autoftg_main as autoftg_main
|
||||||
|
from AutoFTG.autoftg_batch import *
|
||||||
|
from AutoFTG.qtresources_rc2 import *
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_DialogPCloudSet(QtWidgets.QDialog):
|
||||||
|
def __init__(self, parent):
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.setObjectName(u"DialogPointCloud")
|
||||||
|
self.resize(320, 240)
|
||||||
|
self.setWindowTitle(u"Point Cloud Settings")
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/icons8-live-photos-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.gridLayoutWidget = QWidget(self)
|
||||||
|
self.gridLayoutWidget.setObjectName(u"gridLayoutWidget")
|
||||||
|
self.gridLayoutWidget.setGeometry(QRect(0, 0, 321, 243))
|
||||||
|
self.gridLayout = QGridLayout(self.gridLayoutWidget)
|
||||||
|
self.gridLayout.setSpacing(5)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout.setObjectName(u"gridLayout")
|
||||||
|
self.gridLayout.setHorizontalSpacing(10)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.checkBox_2 = QCheckBox(self.gridLayoutWidget)
|
||||||
|
self.checkBox_2.setObjectName(u"checkBox_2")
|
||||||
|
self.checkBox_2.setLayoutDirection(Qt.RightToLeft)
|
||||||
|
self.checkBox_2.setText(u"Calculate Confidence")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.checkBox_2, 3, 0, 1, 1)
|
||||||
|
|
||||||
|
self.line = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.line, 1, 0, 1, 2)
|
||||||
|
|
||||||
|
self.label_3 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_3.setObjectName(u"label_3")
|
||||||
|
self.label_3.setText(u"Regular")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_3, 4, 1, 1, 1)
|
||||||
|
|
||||||
|
self.lineEdit = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit.setObjectName(u"lineEdit")
|
||||||
|
self.lineEdit.setPlaceholderText(u"0.05")
|
||||||
|
self.lineEdit.setClearButtonEnabled(True)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.lineEdit, 5, 1, 1, 1)
|
||||||
|
|
||||||
|
self.checkBox_3 = QCheckBox(self.gridLayoutWidget)
|
||||||
|
self.checkBox_3.setObjectName(u"checkBox_3")
|
||||||
|
self.checkBox_3.setLayoutDirection(Qt.RightToLeft)
|
||||||
|
self.checkBox_3.setText(u"Point Sampling")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.checkBox_3, 4, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
self.label.setText(u"Enabled")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label, 2, 1, 1, 1)
|
||||||
|
|
||||||
|
self.label_4 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_4.setObjectName(u"label_4")
|
||||||
|
self.label_4.setText(u"Point spacing (m)")
|
||||||
|
self.label_4.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
self.label_2.setText(u"Disabled")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_2, 3, 1, 1, 1)
|
||||||
|
|
||||||
|
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
||||||
|
|
||||||
|
self.gridLayout.addItem(self.verticalSpacer, 6, 1, 1, 1)
|
||||||
|
|
||||||
|
self.checkBox = QCheckBox(self.gridLayoutWidget)
|
||||||
|
self.checkBox.setObjectName(u"checkBox")
|
||||||
|
self.checkBox.setLayoutDirection(Qt.RightToLeft)
|
||||||
|
self.checkBox.setText(u"Calculate Colors")
|
||||||
|
self.checkBox.setChecked(True)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.checkBox, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_5 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_5.setObjectName(u"label_5")
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(14)
|
||||||
|
self.label_5.setFont(font)
|
||||||
|
self.label_5.setText(u"Point Cloud Settings")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_5, 0, 0, 1, 2)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(5)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.pushButton = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton.setObjectName(u"pushButton")
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton.setSizePolicy(sizePolicy)
|
||||||
|
self.pushButton.setText(u"Cancel")
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-close-window-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton.setIcon(icon1)
|
||||||
|
self.pushButton.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton)
|
||||||
|
|
||||||
|
self.pushButton_2 = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_2.setObjectName(u"pushButton_2")
|
||||||
|
sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_2.setSizePolicy(sizePolicy)
|
||||||
|
self.pushButton_2.setText(u"Save")
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/icons8-save-as-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_2.setIcon(icon2)
|
||||||
|
self.pushButton_2.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton_2)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout, 7, 0, 1, 2)
|
||||||
|
|
||||||
|
self.label_4.setBuddy(self.lineEdit)
|
||||||
|
QWidget.setTabOrder(self.checkBox, self.checkBox_2)
|
||||||
|
QWidget.setTabOrder(self.checkBox_2, self.checkBox_3)
|
||||||
|
QWidget.setTabOrder(self.checkBox_3, self.lineEdit)
|
||||||
|
QWidget.setTabOrder(self.lineEdit, self.pushButton_2)
|
||||||
|
QWidget.setTabOrder(self.pushButton_2, self.pushButton)
|
||||||
|
|
||||||
|
self.pushButton_2.clicked.connect(self.saveSetPCloud)
|
||||||
|
self.pushButton.clicked.connect(self.reject)
|
||||||
|
self.checkBox_3.toggled.connect(self.actionSetPointSampling.setVisible)
|
||||||
|
|
||||||
|
self.setWindowTitle(u"Dialog")
|
||||||
|
|
||||||
|
self.currentChkDef = autoftg_batch.chunkSet
|
||||||
|
|
||||||
|
self.loadSetPCloud()
|
||||||
|
|
||||||
|
self.exec_()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def loadSetPCloud(self):
|
||||||
|
self.pointcloud_source_data = autoftg_main.menuCfg.get(self.currentChkDef, "pointcloud_source_data")
|
||||||
|
if self.pointcloud_source_data == "DepthMaps":
|
||||||
|
self.source_data = Metashape.DataSource.DepthMapsData
|
||||||
|
elif self.pointcloud_source_data == "Mesh":
|
||||||
|
self.source_data = Metashape.DataSource.ModelData
|
||||||
|
else:
|
||||||
|
self.source_data = Metashape.DataSource.DepthMapsData
|
||||||
|
|
||||||
|
pointcloud_point_colors = autoftg_main.menuCfg.getboolean(self.currentChkDef, "pointcloud_point_colors")
|
||||||
|
self.checkBox.setChecked(pointcloud_point_colors)
|
||||||
|
|
||||||
|
pointcloud_point_confidence = autoftg_main.menuCfg.getboolean(self.currentChkDef, "pointcloud_point_confidence")
|
||||||
|
self.checkBox_2.setChecked(pointcloud_point_confidence)
|
||||||
|
|
||||||
|
pointcloud_uniform_sam = autoftg_main.menuCfg.getboolean(self.currentChkDef, "pointcloud_uniform_sampling")
|
||||||
|
self.checkBox_3.setChecked(pointcloud_uniform_sam)
|
||||||
|
|
||||||
|
pointcloud_points_spacing = autoftg_main.menuCfg.get(self.currentChkDef, "pointcloud_points_spacing")
|
||||||
|
self.lineEdit.setText(str(pointcloud_points_spacing))
|
||||||
|
|
||||||
|
print("Point Cloud settings loaded...")
|
||||||
|
|
||||||
|
|
||||||
|
def saveSetPCloud(self):
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "pointcloud_source_data", str(self.pointcloud_source_data))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "pointcloud_point_colors", str(self.checkBox.isChecked))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "pointcloud_point_confidence", str(self.checkBox_2.isChecked))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "pointcloud_uniform_sampling", str(self.checkBox_3.isChecked))
|
||||||
|
autoftg_main.menuCfg.set(self.currentChkDef, "pointcloud_points_spacing", str(self.lineEdit.text))
|
||||||
|
with open(autoftg_main.menuCfgFilePath, 'w') as configfile:
|
||||||
|
autoftg_main.menuCfg.write(configfile)
|
||||||
|
|
||||||
|
print("Point Cloud settings saved...")
|
||||||
|
|
||||||
|
self.accept()
|
176
AutoFTG/autoftg_chunkquickadd.py
Normal file
|
@ -0,0 +1,176 @@
|
||||||
|
# Class for settings editing UI
|
||||||
|
import os
|
||||||
|
import pydoc
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
from configparser import ConfigParser
|
||||||
|
from datetime import datetime
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import Metashape
|
||||||
|
from PySide2 import QtCore, QtGui, QtWidgets
|
||||||
|
from PySide2.QtCore import *
|
||||||
|
from PySide2.QtGui import *
|
||||||
|
from PySide2.QtWidgets import *
|
||||||
|
|
||||||
|
import AutoFTG.autoftg_main as autoftg_main
|
||||||
|
from AutoFTG.qtresources_rc2 import *
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_DialogAddChunkQuick(QtWidgets.QDialog):
|
||||||
|
def __init__(self, parent):
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.setObjectName(u"DialogAddChunkQuick")
|
||||||
|
self.resize(310, 155)
|
||||||
|
appIcon = QIcon()
|
||||||
|
appIcon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.setWindowIcon(appIcon)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
|
||||||
|
self.setSizePolicy(sizePolicy)
|
||||||
|
self.setMinimumSize(QSize(310, 155))
|
||||||
|
self.setMaximumSize(QSize(310, 155))
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(9)
|
||||||
|
self.setFont(font)
|
||||||
|
self.setWindowTitle(u"Create New Chunk")
|
||||||
|
self.verticalLayoutWidget = QWidget(self)
|
||||||
|
self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget")
|
||||||
|
self.verticalLayoutWidget.setGeometry(QRect(9, 9, 295, 141))
|
||||||
|
self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget)
|
||||||
|
self.verticalLayout.setSpacing(5)
|
||||||
|
self.verticalLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||||
|
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.labelQuickAdd = QLabel(self.verticalLayoutWidget)
|
||||||
|
self.labelQuickAdd.setObjectName(u"labelQuickAdd")
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.labelQuickAdd.sizePolicy().hasHeightForWidth())
|
||||||
|
self.labelQuickAdd.setSizePolicy(sizePolicy)
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(11)
|
||||||
|
font1.setBold(True)
|
||||||
|
font1.setWeight(75)
|
||||||
|
self.labelQuickAdd.setFont(font1)
|
||||||
|
self.labelQuickAdd.setText(u"Create New Chunk")
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.labelQuickAdd)
|
||||||
|
|
||||||
|
self.line_2 = QFrame(self.verticalLayoutWidget)
|
||||||
|
self.line_2.setObjectName(u"line_2")
|
||||||
|
self.line_2.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_2.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.line_2)
|
||||||
|
|
||||||
|
self.label = QLabel(self.verticalLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label.setSizePolicy(sizePolicy)
|
||||||
|
self.label.setText(u"Select chunk creation settings:")
|
||||||
|
self.label.setAlignment(Qt.AlignBottom|Qt.AlignLeading|Qt.AlignLeft)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.label)
|
||||||
|
|
||||||
|
self.cbChunkSettings = QComboBox(self.verticalLayoutWidget)
|
||||||
|
for section in autoftg_main.chunk_sections:
|
||||||
|
menu_icon = autoftg_main.menuCfg.get(section, "menu_icon")
|
||||||
|
menu_icon_path = u":/icons/" + autoftg_main.icoCfg.get("ICONS", menu_icon)
|
||||||
|
seticon = QIcon()
|
||||||
|
seticon.addFile(menu_icon_path, QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(seticon, section)
|
||||||
|
|
||||||
|
|
||||||
|
self.cbChunkSettings.setObjectName(u"cbChunkSettings")
|
||||||
|
sizePolicy.setHeightForWidth(self.cbChunkSettings.sizePolicy().hasHeightForWidth())
|
||||||
|
self.cbChunkSettings.setSizePolicy(sizePolicy)
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setFamily(u"Segoe UI")
|
||||||
|
font2.setPointSize(11)
|
||||||
|
self.cbChunkSettings.setFont(font2)
|
||||||
|
self.cbChunkSettings.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
|
||||||
|
self.cbChunkSettings.setCurrentText(u"GENERAL")
|
||||||
|
self.cbChunkSettings.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.cbChunkSettings)
|
||||||
|
|
||||||
|
self.line = QFrame(self.verticalLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.line)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(5)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.btnCreate = QPushButton(self.verticalLayoutWidget)
|
||||||
|
self.btnCreate.setObjectName(u"btnCreate")
|
||||||
|
sizePolicy3 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed)
|
||||||
|
sizePolicy3.setHorizontalStretch(0)
|
||||||
|
sizePolicy3.setVerticalStretch(0)
|
||||||
|
sizePolicy3.setHeightForWidth(self.btnCreate.sizePolicy().hasHeightForWidth())
|
||||||
|
self.btnCreate.setSizePolicy(sizePolicy3)
|
||||||
|
self.btnCreate.setText(u"Create")
|
||||||
|
icon4 = QIcon()
|
||||||
|
icon4.addFile(u":/icons/icons8-add-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.btnCreate.setIcon(icon4)
|
||||||
|
self.btnCreate.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.btnCreate)
|
||||||
|
|
||||||
|
self.checkBoxAutoProc = QCheckBox(self.verticalLayoutWidget)
|
||||||
|
self.checkBoxAutoProc.setObjectName(u"checkBoxAutoProc")
|
||||||
|
self.checkBoxAutoProc.setText(u"Auto Processing")
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/icons8-in-progress-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.checkBoxAutoProc.setIcon(icon5)
|
||||||
|
self.checkBoxAutoProc.setChecked(True)
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.checkBoxAutoProc)
|
||||||
|
|
||||||
|
self.btnCancel = QPushButton(self.verticalLayoutWidget)
|
||||||
|
self.btnCancel.setObjectName(u"btnCancel")
|
||||||
|
sizePolicy3.setHeightForWidth(self.btnCancel.sizePolicy().hasHeightForWidth())
|
||||||
|
self.btnCancel.setSizePolicy(sizePolicy3)
|
||||||
|
self.btnCancel.setText(u"Close")
|
||||||
|
icon6 = QIcon()
|
||||||
|
icon6.addFile(u":/icons/icons8-enter-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.btnCancel.setIcon(icon6)
|
||||||
|
self.btnCancel.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.btnCancel)
|
||||||
|
|
||||||
|
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||||
|
|
||||||
|
|
||||||
|
QtCore.QObject.connect(self.btnCreate, QtCore.SIGNAL("clicked()"), self.startProcess)
|
||||||
|
QtCore.QObject.connect(self.btnCancel, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("reject()"))
|
||||||
|
|
||||||
|
self.exec()
|
||||||
|
|
||||||
|
|
||||||
|
def startProcess(self):
|
||||||
|
# global selected_pre
|
||||||
|
# global selected_suf
|
||||||
|
autoftg_main.selected_menu = self.cbChunkSettings.currentText()
|
||||||
|
autoftg_main.selected_pre = autoftg_main.menuCfg.get(autoftg_main.selected_menu, "chunk_name_prefix")
|
||||||
|
autoftg_main.selected_suf = autoftg_main.menuCfg.get(autoftg_main.selected_menu, "chunk_name_suffix")
|
||||||
|
selected_workfolder = autoftg_main.menuCfg.get(autoftg_main.selected_menu, "work_folder")
|
||||||
|
|
||||||
|
if self.checkBoxAutoProc.isChecked == False:
|
||||||
|
self.accept()
|
||||||
|
autoftg_main.newchunk_manual(autoftg_main.selected_pre, autoftg_main.selected_suf, selected_workfolder)
|
||||||
|
else:
|
||||||
|
self.accept()
|
||||||
|
autoftg_main.newchunk_auto(autoftg_main.selected_pre, autoftg_main.selected_suf, selected_workfolder)
|
||||||
|
|
||||||
|
|
118
AutoFTG/autoftg_copyregion.py
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
# Class for Copy Region UI
|
||||||
|
import os
|
||||||
|
import pydoc
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
from configparser import ConfigParser
|
||||||
|
from datetime import datetime
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import Metashape
|
||||||
|
from PySide2 import QtCore, QtGui, QtWidgets
|
||||||
|
from PySide2.QtCore import *
|
||||||
|
from PySide2.QtGui import *
|
||||||
|
from PySide2.QtWidgets import *
|
||||||
|
|
||||||
|
from AutoFTG.autoftg_batch import *
|
||||||
|
from AutoFTG.autoftg_settingschunk import *
|
||||||
|
from AutoFTG.autoftg_settingsmain import *
|
||||||
|
from AutoFTG.qtresources_rc2 import *
|
||||||
|
|
||||||
|
|
||||||
|
class CopyBoundingBoxDlg(QtWidgets.QDialog):
|
||||||
|
|
||||||
|
def __init__(self, parent):
|
||||||
|
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.setWindowTitle("Copy Region (Bounding Box)")
|
||||||
|
appIcon = QIcon()
|
||||||
|
appIcon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.setWindowIcon(appIcon)
|
||||||
|
|
||||||
|
self.labelFrom = QtWidgets.QLabel("From")
|
||||||
|
self.labelTo = QtWidgets.QLabel("To")
|
||||||
|
|
||||||
|
self.fromChunk = QtWidgets.QComboBox()
|
||||||
|
for chunk in Metashape.app.document.chunks:
|
||||||
|
self.fromChunk.addItem(chunk.label)
|
||||||
|
|
||||||
|
self.toChunks = QtWidgets.QListWidget()
|
||||||
|
self.toChunks.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||||
|
for chunk in Metashape.app.document.chunks:
|
||||||
|
self.toChunks.addItem(chunk.label)
|
||||||
|
|
||||||
|
self.btnOk = QtWidgets.QPushButton("Copy")
|
||||||
|
self.btnOk.setFixedSize(120, 36)
|
||||||
|
self.btnOk.setToolTip("Copy region from one chunk to multiple chunks.:")
|
||||||
|
|
||||||
|
self.btnQuit = QtWidgets.QPushButton("Cancel")
|
||||||
|
self.btnQuit.setFixedSize(80, 36)
|
||||||
|
|
||||||
|
layout = QtWidgets.QGridLayout() # creating layout
|
||||||
|
layout.setColumnMinimumWidth(0, 80) # minimum column width
|
||||||
|
layout.setColumnMinimumWidth(1, 180) # minimum column width
|
||||||
|
layout.addWidget(self.labelFrom, 0, 0)
|
||||||
|
layout.addWidget(self.fromChunk, 0, 1)
|
||||||
|
|
||||||
|
layout.addWidget(self.labelTo, 1, 0)
|
||||||
|
layout.addWidget(self.toChunks, 1, 1, 20, 2)
|
||||||
|
|
||||||
|
layout.addWidget(self.btnQuit, 30, 0)
|
||||||
|
layout.addWidget(self.btnOk, 30, 1)
|
||||||
|
|
||||||
|
self.setLayout(layout)
|
||||||
|
|
||||||
|
QtCore.QObject.connect(self.btnOk, QtCore.SIGNAL("clicked()"), self.copyBoundingBox)
|
||||||
|
QtCore.QObject.connect(self.btnQuit, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("reject()"))
|
||||||
|
|
||||||
|
self.exec()
|
||||||
|
|
||||||
|
|
||||||
|
def copyBoundingBox(self):
|
||||||
|
print("Copy region bounding box...")
|
||||||
|
|
||||||
|
doc = Metashape.app.document
|
||||||
|
|
||||||
|
fromChunk = doc.chunks[self.fromChunk.currentIndex()]
|
||||||
|
|
||||||
|
toChunks = []
|
||||||
|
for i in range(self.toChunks.count()):
|
||||||
|
if self.toChunks.item(i).isSelected():
|
||||||
|
toChunks.append(doc.chunks[i])
|
||||||
|
|
||||||
|
print("Copy region from/to: '" + fromChunk.label + "' to " + str(len(toChunks)))
|
||||||
|
|
||||||
|
T0 = fromChunk.transform.matrix
|
||||||
|
|
||||||
|
region = fromChunk.region
|
||||||
|
R0 = region.rot
|
||||||
|
C0 = region.center
|
||||||
|
s0 = region.size
|
||||||
|
|
||||||
|
for chunk in toChunks:
|
||||||
|
|
||||||
|
if chunk == fromChunk:
|
||||||
|
continue
|
||||||
|
|
||||||
|
T = chunk.transform.matrix.inv() * T0
|
||||||
|
|
||||||
|
R = Metashape.Matrix([[T[0, 0], T[0, 1], T[0, 2]],
|
||||||
|
[T[1, 0], T[1, 1], T[1, 2]],
|
||||||
|
[T[2, 0], T[2, 1], T[2, 2]]])
|
||||||
|
|
||||||
|
scale = R.row(0).norm()
|
||||||
|
R = R * (1 / scale)
|
||||||
|
|
||||||
|
new_region = Metashape.Region()
|
||||||
|
new_region.rot = R * R0
|
||||||
|
c = T.mulp(C0)
|
||||||
|
new_region.center = c
|
||||||
|
new_region.size = s0 * scale / 1.
|
||||||
|
|
||||||
|
chunk.region = new_region
|
||||||
|
|
||||||
|
print("Process complete!\n\nFrom: " + fromChunk.label + " / To: " + str(len(toChunks)) + "\n")
|
||||||
|
self.reject()
|
||||||
|
|
||||||
|
|
825
AutoFTG/autoftg_main.py
Normal file
|
@ -0,0 +1,825 @@
|
||||||
|
# AutoFTG - Scripts for Agisoft Metashape Pro
|
||||||
|
#
|
||||||
|
# This is an assembly of python scripts for process automation, and some existing scripts from other users
|
||||||
|
#
|
||||||
|
# Scripts were written for use in work process on project 2TDK, construction of railroad tunnels in Slovenia,
|
||||||
|
# but were later modified to support any kind of project where lots of processing is needed.
|
||||||
|
#
|
||||||
|
# Author: Boris Bilc
|
||||||
|
#
|
||||||
|
# Script repository (GitHub):
|
||||||
|
# ---------------------------
|
||||||
|
# URL: https://github.com/bilkos/AutoFTG-Scripts_Metashape-Pro
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# References:
|
||||||
|
# -----------
|
||||||
|
#
|
||||||
|
# Copy Bounding Box Script:
|
||||||
|
# - https://github.com/agisoft-llc/metashape-scripts/blob/master/src/copy_bounding_box_dialog.py
|
||||||
|
# Copies bounding boxes from chunk to other chunks.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# If you add or change resorces (icons, images, etc... in qtresorces.qrc), then you need to re-compile qtresorces.qrc file.
|
||||||
|
# To do that you need to navigate to script folder and run following command:
|
||||||
|
#
|
||||||
|
# pyside2-rcc -o resource.py qtresources.qrc
|
||||||
|
#
|
||||||
|
# If you are using VSCode that you can modify and compile UI elements with PySide2-VSC extension.
|
||||||
|
#
|
||||||
|
# Scripts are free to use for commercial or non-commercial use.
|
||||||
|
#
|
||||||
|
# Please use 'Issues' page in GitHub repository to report any bugs, and suggestions for improvements.
|
||||||
|
# Link to issues page: https://github.com/bilkos/AutoFTG-Scripts_Metashape-Pro/issues
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import os
|
||||||
|
import pydoc
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
from configparser import ConfigParser
|
||||||
|
from datetime import datetime
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import Metashape
|
||||||
|
from PySide2 import QtCore, QtGui, QtWidgets
|
||||||
|
from PySide2.QtCore import *
|
||||||
|
from PySide2.QtGui import *
|
||||||
|
from PySide2.QtWidgets import *
|
||||||
|
|
||||||
|
import AutoFTG.autoftg_batch
|
||||||
|
import AutoFTG.autoftg_chunkquickadd
|
||||||
|
import AutoFTG.autoftg_copyregion
|
||||||
|
import AutoFTG.autoftg_settingscamedit
|
||||||
|
import AutoFTG.autoftg_settingschunk
|
||||||
|
import AutoFTG.autoftg_settingsmain
|
||||||
|
import AutoFTG.qtresources_rc2
|
||||||
|
from AutoFTG.autoftg_batch import *
|
||||||
|
from AutoFTG.autoftg_chunkquickadd import *
|
||||||
|
from AutoFTG.autoftg_copyregion import *
|
||||||
|
from AutoFTG.autoftg_settingscamedit import *
|
||||||
|
from AutoFTG.autoftg_settingschunk import *
|
||||||
|
from AutoFTG.autoftg_settingsmain import *
|
||||||
|
from AutoFTG.qtresources_rc2 import *
|
||||||
|
|
||||||
|
# App info
|
||||||
|
app_name = "AutoFTG"
|
||||||
|
app_ver = "2.6.4"
|
||||||
|
appsettings_ver = "6"
|
||||||
|
app_author = "Author: Boris Bilc\n\n"
|
||||||
|
app_repo = "Repository URL:\nhttps://github.com/bilkos/AutoFTG-Scripts_Metashape-Pro"
|
||||||
|
ref_repo = "Agisoft GitHub repository:\nhttps://github.com/agisoft-llc/metashape-scripts"
|
||||||
|
ref_scripts = "Copy Bounding Box Script:\nhttps://github.com/agisoft-llc/metashape-scripts/blob/master/src/copy_bounding_box_dialog.py"
|
||||||
|
app_about = "Scripts for process automation in Agisoft Metashape Pro\n\nThis is an assembly of existing scripts from other users,\nand some additional scripts written for use in work process at project 2TIR, tunnel T8-KP in Slovenia."
|
||||||
|
|
||||||
|
|
||||||
|
# Check compatibility with Metashape
|
||||||
|
compatible_major_version = "2.0"
|
||||||
|
found_major_version = ".".join(Metashape.app.version.split('.')[:2])
|
||||||
|
if found_major_version != compatible_major_version:
|
||||||
|
raise Exception("Incompatible Metashape version: {} != {}".format(found_major_version, compatible_major_version))
|
||||||
|
|
||||||
|
|
||||||
|
projectOpened = False
|
||||||
|
settingsRebuild = False
|
||||||
|
selected_data_folder = ''
|
||||||
|
selected_camera = "No Calibration - Frame (Default)"
|
||||||
|
selected_pre = ''
|
||||||
|
selected_suf = ''
|
||||||
|
selected_menu = ''
|
||||||
|
|
||||||
|
|
||||||
|
# Load icons settings
|
||||||
|
icoCfg = ConfigParser()
|
||||||
|
icoCfgFile = 'settings_icons.ini'
|
||||||
|
icoCfgPath = os.path.expanduser('~\AppData\Local\Agisoft\Metashape Pro\scripts\AutoFTG\\').replace("\\", "/")
|
||||||
|
icoCfgFilePath = icoCfgPath + icoCfgFile
|
||||||
|
icons_list = []
|
||||||
|
|
||||||
|
|
||||||
|
def loadIcoSettings():
|
||||||
|
global icons_list
|
||||||
|
icoCfgFileExists = os.path.isfile(icoCfgFilePath) # Check if settings file exists
|
||||||
|
if icoCfgFileExists == False:
|
||||||
|
icoCfg.add_section("ICONS")
|
||||||
|
icoCfg.set("ICONS", "ico-0", "icons8-xbox-cross-96.png")
|
||||||
|
icoCfg.set("ICONS", "ico-1", "icons8-product-documents-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-2", "icons8-documents-folder-50-2.png")
|
||||||
|
icoCfg.set("ICONS", "ico-3", "icons8-documents-folder-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-4", "icons8-dossier-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-5", "icons8-pictures-folder-50-2.png")
|
||||||
|
icoCfg.set("ICONS", "ico-6", "icons8-folded-booklet-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-7", "icons8-images-folder-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-8", "icons8-full-image-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-9", "icons8-video-folder-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-10", "icons8-ftp-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-11", "icons8-web-camera-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-12", "icons8-camera-on-tripod-96.png")
|
||||||
|
icoCfg.set("ICONS", "ico-13", "icons8-sd-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-14", "icons8-quadcopter-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-15", "icons8-plane-48.png")
|
||||||
|
icoCfg.set("ICONS", "ico-16", "icons8-national-park-48.png")
|
||||||
|
icoCfg.set("ICONS", "ico-17", "icons8-ground-48.png")
|
||||||
|
icoCfg.set("ICONS", "ico-18", "icons8-country-48.png")
|
||||||
|
icoCfg.set("ICONS", "ico-19", "icons8-subway-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-20", "icons8-underground-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-21", "icons8-land-surveying-48.png")
|
||||||
|
icoCfg.set("ICONS", "ico-22", "icons8-drawing-compass-48.png")
|
||||||
|
icoCfg.set("ICONS", "ico-23", "icons8-camera-50.png")
|
||||||
|
icoCfg.set("ICONS", "ico-24", "menu_kalota-modra.png")
|
||||||
|
icoCfg.set("ICONS", "ico-25", "menu_kalota-oranzna.png")
|
||||||
|
icoCfg.set("ICONS", "ico-26", "template_kalota-modra.png")
|
||||||
|
icoCfg.set("ICONS", "ico-27", "template_kalota-oranzna.png")
|
||||||
|
icoCfg.set("ICONS", "ico-28", "template_kalota-rdeca.png")
|
||||||
|
icoCfg.set("ICONS", "ico-29", "template_kalota-vijola.png")
|
||||||
|
icoCfg.set("ICONS", "ico-30", "template_kalota-zelena.png")
|
||||||
|
icoCfg.set("ICONS", "ico-31", "template_stopnica-modra.png")
|
||||||
|
icoCfg.set("ICONS", "ico-32", "template_stopnica-oranzna.png")
|
||||||
|
icoCfg.set("ICONS", "ico-33", "template_stopnica-rdeca.png")
|
||||||
|
icoCfg.set("ICONS", "ico-34", "template_stopnica-vijola.png")
|
||||||
|
icoCfg.set("ICONS", "ico-35", "template_stopnica-zelena.png")
|
||||||
|
|
||||||
|
with open(icoCfgFilePath, 'w') as icoconfig:
|
||||||
|
camCfg.write(icoconfig)
|
||||||
|
|
||||||
|
icoCfgFileExists = True
|
||||||
|
|
||||||
|
icoCfg.read(icoCfgFilePath)
|
||||||
|
icons_list = icoCfg.options("ICONS")
|
||||||
|
print("Loading chunk definition icons... OK.")
|
||||||
|
|
||||||
|
|
||||||
|
# Load main app settings
|
||||||
|
appCfg = ConfigParser()
|
||||||
|
appCfgFile = 'settings_autoftg.ini'
|
||||||
|
appCfgPath = os.path.expanduser('~\AppData\Local\Agisoft\Metashape Pro\scripts\AutoFTG\\').replace("\\", "/")
|
||||||
|
appCfgFilePath = appCfgPath + appCfgFile
|
||||||
|
appCfgFileExists = os.path.isfile(appCfgFilePath) # Check if settings file exists
|
||||||
|
|
||||||
|
|
||||||
|
# Load custom menu settings
|
||||||
|
menuCfg = ConfigParser()
|
||||||
|
menuCfgFile = "settings_newchunk.ini"
|
||||||
|
menuCfgPath = os.path.expanduser('~\AppData\Local\Agisoft\Metashape Pro\scripts\AutoFTG').replace("\\", "/")
|
||||||
|
menuCfgFilePath = menuCfgPath + "/" + menuCfgFile
|
||||||
|
menuCfgFilePathExists = os.path.isfile(menuCfgFilePath)
|
||||||
|
chunk_sections = []
|
||||||
|
|
||||||
|
|
||||||
|
# Init configparser for camera settings. Set empty camera variables for global use.
|
||||||
|
camCfg = ConfigParser()
|
||||||
|
cam_name = ''
|
||||||
|
cam_desc = ''
|
||||||
|
cam_type = ''
|
||||||
|
cam_subtype = ''
|
||||||
|
cam_res = ''
|
||||||
|
cam_file = ''
|
||||||
|
|
||||||
|
cameraXmlSource = ''
|
||||||
|
cameraXmlDest = ''
|
||||||
|
|
||||||
|
camCfgFile = "settings_cam.ini"
|
||||||
|
camCfgPath = os.path.expanduser('~\AppData\Local\Agisoft\Metashape Pro\scripts\AutoFTG\cameras\\').replace("\\", "/")
|
||||||
|
camCfgFilePath = camCfgPath + camCfgFile
|
||||||
|
camCfgFilePathExists = os.path.isfile(camCfgFilePath)
|
||||||
|
cam_list = []
|
||||||
|
|
||||||
|
projCfg = ConfigParser() # INICALIZACIJA NASTAVITEV
|
||||||
|
|
||||||
|
|
||||||
|
def camCfgLoad():
|
||||||
|
global cam_list
|
||||||
|
|
||||||
|
if camCfgFilePathExists == False:
|
||||||
|
defcam_name = 'No Calibration - Frame (Default)'
|
||||||
|
defcam_description = 'Default Metashape camera settings for type FRAME. Calibration is calculated On-The-Fly.'
|
||||||
|
defcam_type = 'Frame'
|
||||||
|
defcam_subtype = 'Standard'
|
||||||
|
defcam_resolution = '0'
|
||||||
|
defcam_file = 'None'
|
||||||
|
|
||||||
|
defcam2_name = 'No Calibration - Fisheye'
|
||||||
|
defcam2_description = 'Default Metashape camera settings for type FISHEYE. Calibration is calculated On-The-Fly.'
|
||||||
|
defcam2_type = 'Fisheye'
|
||||||
|
defcam2_subtype = 'Standard'
|
||||||
|
defcam2_resolution = '0'
|
||||||
|
defcam2_file = 'None'
|
||||||
|
|
||||||
|
camCfg.add_section(defcam_name)
|
||||||
|
camCfg.set(defcam_name, "description", defcam_description)
|
||||||
|
camCfg.set(defcam_name, "type", defcam_type)
|
||||||
|
camCfg.set(defcam_name, "subtype", defcam_subtype)
|
||||||
|
camCfg.set(defcam_name, "resolution", defcam_resolution)
|
||||||
|
camCfg.set(defcam_name, "file", defcam_file)
|
||||||
|
camCfg.add_section(defcam2_name)
|
||||||
|
camCfg.set(defcam2_name, "description", defcam2_description)
|
||||||
|
camCfg.set(defcam2_name, "type", defcam2_type)
|
||||||
|
camCfg.set(defcam2_name, "subtype", defcam2_subtype)
|
||||||
|
camCfg.set(defcam2_name, "resolution", defcam2_resolution)
|
||||||
|
camCfg.set(defcam2_name, "file", defcam2_file)
|
||||||
|
|
||||||
|
with open(camCfgFilePath, 'w') as camconfigfile:
|
||||||
|
camCfg.write(camconfigfile)
|
||||||
|
|
||||||
|
camCfg.read(camCfgFilePath)
|
||||||
|
cam_list = camCfg.sections()
|
||||||
|
print("Camera settings loaded...")
|
||||||
|
|
||||||
|
|
||||||
|
# Read camera settings from INI config file
|
||||||
|
def readCameraSettings(cam_section):
|
||||||
|
global cam_name
|
||||||
|
global cam_desc
|
||||||
|
global cam_type
|
||||||
|
global cam_subtype
|
||||||
|
global cam_res
|
||||||
|
global cam_file
|
||||||
|
|
||||||
|
# Read settings for requested camera
|
||||||
|
cam_name = cam_section
|
||||||
|
cam_desc = camCfg.get(cam_section, "Description")
|
||||||
|
cam_type = camCfg.get(cam_section, "Type")
|
||||||
|
cam_subtype = camCfg.get(cam_section, "SubType")
|
||||||
|
cam_res = camCfg.get(cam_section, "Resolution")
|
||||||
|
cam_file = camCfg.get(cam_section, "File")
|
||||||
|
print("Using camera\n" + "Name: " + cam_name + "\nDesc.: " + cam_desc + "\nType: " + cam_type + "\nSubType: " + cam_subtype + "\nResolution: " + cam_res + "\nFile: " + cam_file)
|
||||||
|
|
||||||
|
|
||||||
|
# Called to apply camera settings when creating new chunk
|
||||||
|
def useCameraSettings():
|
||||||
|
# Init document
|
||||||
|
doc = Metashape.app.document
|
||||||
|
chunk = doc.chunk
|
||||||
|
# readCameraSettings(settings.defaultCamera)
|
||||||
|
camera_path = camCfgPath + cam_file
|
||||||
|
|
||||||
|
# Sensor to which we will apply settings
|
||||||
|
chunk_sensor = chunk.sensors[0]
|
||||||
|
|
||||||
|
# Set sensor type from camera
|
||||||
|
if cam_type == "Fisheye":
|
||||||
|
chunk_sensor.type = Metashape.Sensor.Type.Fisheye
|
||||||
|
elif cam_type == "Frame":
|
||||||
|
chunk_sensor.type = Metashape.Sensor.Type.Frame
|
||||||
|
elif cam_type == "Spherical":
|
||||||
|
chunk_sensor.type = Metashape.Sensor.Type.Spherical
|
||||||
|
elif cam_type == "Cylindrical":
|
||||||
|
chunk_sensor.type = Metashape.Sensor.Type.Cylindrical
|
||||||
|
elif cam_type == "RPC":
|
||||||
|
chunk_sensor.type = Metashape.Sensor.Type.RPC
|
||||||
|
else:
|
||||||
|
Metashape.app.messagBox("Camera Type not recognized.\nPlease check camera settings...")
|
||||||
|
|
||||||
|
# Init calibration and import settings from camera calibration file (Metashape XML)
|
||||||
|
chunk_calib = Metashape.Calibration()
|
||||||
|
if cam_file != "None":
|
||||||
|
chunk_calib.load(path=camera_path, format=Metashape.CalibrationFormatXML)
|
||||||
|
chunk_sensor.user_calib = chunk_calib
|
||||||
|
|
||||||
|
# Save document and show message with applied settings
|
||||||
|
doc.save()
|
||||||
|
# Metashape.app.messageBox("Camera settings applied.\n\nCamera: " + cam_name + "\nType: " + cam_type + "\nFilename: " + cam_file)
|
||||||
|
Metashape.app.update()
|
||||||
|
|
||||||
|
|
||||||
|
def selectCamChunk():
|
||||||
|
camCfgLoad()
|
||||||
|
diaSelectCamera()
|
||||||
|
if selected_camera == None:
|
||||||
|
print("No camera chosen. Using default camera.")
|
||||||
|
else:
|
||||||
|
readCameraSettings(selected_camera)
|
||||||
|
useCameraSettings()
|
||||||
|
print("\n\nApplied custom camera: " + selected_camera)
|
||||||
|
|
||||||
|
|
||||||
|
# Routine for adding/editing camera configuration
|
||||||
|
def saveCamConfig(camorig, camname, camdesc, camtype, camsub, camres, camfile):
|
||||||
|
if camCfg.has_section(camorig) == True:
|
||||||
|
camCfg.remove_section(camorig)
|
||||||
|
camCfg.add_section(camname)
|
||||||
|
camCfg.set(camname, "Description", camdesc)
|
||||||
|
camCfg.set(camname, "Type", camtype)
|
||||||
|
camCfg.set(camname, "SubType", camsub)
|
||||||
|
camCfg.set(camname, "Resolution", camres)
|
||||||
|
camCfg.set(camname, "File", camfile)
|
||||||
|
Metashape.app.messageBox("Camera Updated\n\n" + "Name: " + camname + "\nDesc.: " + camdesc + "\nType: " + camtype + "\nSubType: " + camsub + "\nRes.:: " + camres + " MP\nFile: " + camfile)
|
||||||
|
else:
|
||||||
|
camCfg.add_section(camname)
|
||||||
|
camCfg.set(camname, "Description", camdesc)
|
||||||
|
camCfg.set(camname, "Type", camtype)
|
||||||
|
camCfg.set(camname, "SubType", camsub)
|
||||||
|
camCfg.set(camname, "Resolution", camres)
|
||||||
|
camCfg.set(camname, "File", camfile)
|
||||||
|
Metashape.app.messageBox("Camera Created\n\n" + "Name: " + camname + "\nDesc.: " + camdesc + "\nType: " + camtype + "\nSubType: " + camsub + "\nRes.:: " + camres + " MP\nFile: " + camfile)
|
||||||
|
|
||||||
|
with open(camCfgFilePath, 'w') as configfile:
|
||||||
|
camCfg.write(configfile)
|
||||||
|
|
||||||
|
camCfgLoad()
|
||||||
|
|
||||||
|
|
||||||
|
# Routine for adding/editing camera configuration
|
||||||
|
def removeCamConfig(camname):
|
||||||
|
cam_xmlmsg = ''
|
||||||
|
if camCfg.has_section(camname) == True:
|
||||||
|
if camCfg.get(camname, "File") != "":
|
||||||
|
cameraXml = camCfgPath + camCfg.get(camname, "File")
|
||||||
|
if os.path.isfile(cameraXml):
|
||||||
|
os.remove(cameraXml)
|
||||||
|
cam_xmlmsg = "\nXML file " + cameraXml + " deleted."
|
||||||
|
|
||||||
|
camCfg.remove_section(camname)
|
||||||
|
cam_secmsg = "Camera [" + camname + "] removed from settings." + cam_xmlmsg
|
||||||
|
|
||||||
|
with open(camCfgFilePath, 'w') as configfile:
|
||||||
|
camCfg.write(configfile)
|
||||||
|
|
||||||
|
camCfgLoad()
|
||||||
|
|
||||||
|
Metashape.app.messageBox(cam_secmsg)
|
||||||
|
else:
|
||||||
|
Metashape.app.messageBox("Error! No camera named (" + str(camname) + ") was found.\n\nDid you manualy edit comaera configuration?")
|
||||||
|
|
||||||
|
|
||||||
|
def chunksCfgLoad():
|
||||||
|
global chunk_sections
|
||||||
|
if menuCfgFilePathExists == False:
|
||||||
|
menu_section_m = "GENERAL"
|
||||||
|
menuCfg.add_section(menu_section_m)
|
||||||
|
menuCfg.set(menu_section_m, "menu_icon", "ico-0")
|
||||||
|
menuCfg.set(menu_section_m, "chunk_name_format", "metashape")
|
||||||
|
menuCfg.set(menu_section_m, "chunk_name_prefix", "")
|
||||||
|
menuCfg.set(menu_section_m, "chunk_name_suffix", "")
|
||||||
|
menuCfg.set(menu_section_m, "work_folder", str(Metashape.app.getExistingDirectory("Project data folder (batch)")))
|
||||||
|
menuCfg.set(menu_section_m, "export_folder", str(Metashape.app.getExistingDirectory("Project data export folder (batch)")))
|
||||||
|
|
||||||
|
with open(menuCfgFilePath, 'w') as menuconfig:
|
||||||
|
menuCfg.write(menuconfig)
|
||||||
|
|
||||||
|
menuCfg.read(menuCfgFilePath)
|
||||||
|
chunk_sections = menuCfg.sections()
|
||||||
|
print("Custom chunk settings loaded...\nFile: " + menuCfgFile)
|
||||||
|
|
||||||
|
|
||||||
|
def appCfgLoad():
|
||||||
|
global selected_data_folder
|
||||||
|
global selected_camera
|
||||||
|
appCfgFileExists = os.path.isfile(appCfgFilePath) # Check if settings file exists
|
||||||
|
if appCfgFileExists == False:
|
||||||
|
print("\nSettings initialization...\nPlease choose data folder, and default camera.")
|
||||||
|
Metashape.app.messageBox("Settings file not found...\nPlease choose default data folder, and default camera.")
|
||||||
|
foldeData = str(Metashape.app.getExistingDirectory("Working data folder"))
|
||||||
|
#selectCamDefault()
|
||||||
|
diaSelectCamera()
|
||||||
|
appCfg.add_section('APP SETTINGS')
|
||||||
|
appCfg.set('APP SETTINGS', 'settings_version', appsettings_ver)
|
||||||
|
appCfg.set('APP SETTINGS', 'folder_data', foldeData)
|
||||||
|
appCfg.set('APP SETTINGS', 'default_camera', selected_camera)
|
||||||
|
appCfg.set('APP SETTINGS', 'default_chunk_def', "GENERAL")
|
||||||
|
|
||||||
|
# Writing our configuration file to 'example.cfg'
|
||||||
|
with open(appCfgFilePath, 'w') as configfile:
|
||||||
|
appCfg.write(configfile)
|
||||||
|
|
||||||
|
appCfg.read(appCfgFilePath)
|
||||||
|
checkSettingsVer()
|
||||||
|
selected_data_folder = appCfg.get('APP SETTINGS', 'folder_data')
|
||||||
|
selected_camera = appCfg.get('APP SETTINGS', 'default_camera')
|
||||||
|
|
||||||
|
|
||||||
|
# Project settings initialization (used when .psx project is loaded)
|
||||||
|
def projCfgLoad():
|
||||||
|
global settingsRebuild
|
||||||
|
global projDoc
|
||||||
|
global projCfgFilePath
|
||||||
|
global projCfgFilePathExists
|
||||||
|
global projCfg
|
||||||
|
global projectOpened
|
||||||
|
global selected_camera
|
||||||
|
global selected_data_folder
|
||||||
|
|
||||||
|
projDoc = Metashape.app.document
|
||||||
|
projDocFile = str(projDoc).replace("<Document '", "").replace("'>", "")
|
||||||
|
projCfgFilePath = projDocFile.replace(".psx", "_settings.ini") # Datoteka z nastavitvami projekta
|
||||||
|
projCfgFilePathExists = os.path.isfile(projCfgFilePath) # Preveri, če datoteka z projektom obstaja
|
||||||
|
|
||||||
|
if projCfgFilePathExists == False:
|
||||||
|
print("\nProject settings initialization...\nPlease choose data folder, and default camera.")
|
||||||
|
Metashape.app.messageBox("Settings initialization...\nPlease choose data folder, and default camera.")
|
||||||
|
proj_data = Metashape.app.getExistingDirectory("Project data folder")
|
||||||
|
diaSelectCamera()
|
||||||
|
if projCfg.has_section('PROJECT SETTINGS') == True:
|
||||||
|
projCfg.remove_section('PROJECT SETTINGS')
|
||||||
|
|
||||||
|
projCfg.add_section('PROJECT SETTINGS')
|
||||||
|
projCfg.set('PROJECT SETTINGS', 'settings_version', appsettings_ver)
|
||||||
|
projCfg.set('PROJECT SETTINGS', 'folder_data', str(proj_data))
|
||||||
|
projCfg.set('PROJECT SETTINGS', 'default_camera', selected_camera)
|
||||||
|
projCfg.set('PROJECT SETTINGS', 'default_chunk_def', "GENERAL")
|
||||||
|
|
||||||
|
# Writing our configuration file to 'example.cfg'
|
||||||
|
with open(projCfgFilePath, 'w') as configfile:
|
||||||
|
projCfg.write(configfile)
|
||||||
|
|
||||||
|
projCfg.read(projCfgFilePath)
|
||||||
|
checkSettingsVer()
|
||||||
|
selected_data_folder = projCfg.get('PROJECT SETTINGS', 'folder_data')
|
||||||
|
selected_camera = projCfg.get('PROJECT SETTINGS', 'default_camera')
|
||||||
|
selected_chunk_def = projCfg.get('PROJECT SETTINGS', 'default_chunk_def')
|
||||||
|
readCameraSettings(selected_camera)
|
||||||
|
projectOpened = True
|
||||||
|
Metashape.app.messageBox("Project settings loaded.\n\n"
|
||||||
|
+ "Data Folder: " + str(selected_data_folder) + "\n"
|
||||||
|
+ "Default Camera: " + str(selected_camera) + "\n"
|
||||||
|
+ "Def. Chunk Definition: " + str(selected_chunk_def))
|
||||||
|
|
||||||
|
|
||||||
|
# Check settings version
|
||||||
|
def checkSettingsVer():
|
||||||
|
global settingsRebuild
|
||||||
|
if appCfg.get("APP SETTINGS", "settings_version") != appsettings_ver:
|
||||||
|
settingsReset()
|
||||||
|
|
||||||
|
|
||||||
|
# Reset settings
|
||||||
|
def settingsReset():
|
||||||
|
if projectOpened == True:
|
||||||
|
os.remove(projCfgFilePath)
|
||||||
|
projCfgLoad()
|
||||||
|
else:
|
||||||
|
os.remove(appCfgFilePath)
|
||||||
|
appCfgLoad()
|
||||||
|
|
||||||
|
|
||||||
|
# Routine to check if project exists before initializing settings
|
||||||
|
def projectOpenedCheck():
|
||||||
|
global projectOpened
|
||||||
|
doc = Metashape.app.document
|
||||||
|
#fileDoc = str(doc).replace("<Document '", "").replace("'>", "")
|
||||||
|
|
||||||
|
if doc == "<Document ''>" or doc == None:
|
||||||
|
projectOpened = False
|
||||||
|
appCfgLoad()
|
||||||
|
Metashape.app.messageBox("Empty project?\n\nSave project first, or open an existing project. (*.psx).")
|
||||||
|
else:
|
||||||
|
projectOpened = True
|
||||||
|
projCfgLoad()
|
||||||
|
|
||||||
|
|
||||||
|
# Show progress of processing
|
||||||
|
def progress_print(p):
|
||||||
|
print('Completed: {:.2f}%'.format(p))
|
||||||
|
|
||||||
|
|
||||||
|
# Detect markers and import coords
|
||||||
|
def marker_targets():
|
||||||
|
doc = Metashape.app.document
|
||||||
|
chunk = doc.chunk
|
||||||
|
netpath = Metashape.app.document.path
|
||||||
|
netroot = path.dirname(netpath)
|
||||||
|
nadaljujem = Metashape.app.getBool("Start marker detection?")
|
||||||
|
|
||||||
|
if nadaljujem == True:
|
||||||
|
chunk.detectMarkers(target_type=Metashape.CircularTarget12bit, tolerance=98)
|
||||||
|
Metashape.app.messageBox("Marker detection finished.\n\nIn next step choose file containing marker coordinates.\n\nFile must contain header, coordinates are expected starting at line 7.")
|
||||||
|
path_ref = Metashape.app.getOpenFileName("Import coordinates " + chunk.label, netroot, "Text file (*.txt)")
|
||||||
|
chunk.importReference(path_ref, format=Metashape.ReferenceFormatCSV, columns='nxyz', delimiter=',', skip_rows=6, create_markers=True)
|
||||||
|
chunk.updateTransform()
|
||||||
|
Metashape.app.messageBox("Target coordinates imported.\n\nNext step: Workflow > Align Photos")
|
||||||
|
Metashape.app.update()
|
||||||
|
doc.save()
|
||||||
|
|
||||||
|
|
||||||
|
# Routine for finding files - used when creating new chunk
|
||||||
|
def find_files(folder, types):
|
||||||
|
return [entry.path for entry in os.scandir(folder) if (entry.is_file() and os.path.splitext(entry.name)[1].lower() in types)]
|
||||||
|
|
||||||
|
|
||||||
|
def newchunk_manual(name_prefix, name_suffix, work_folder):
|
||||||
|
global projectOpened
|
||||||
|
if projectOpened == True:
|
||||||
|
doc = Metashape.app.document
|
||||||
|
# netroot = path.dirname(netpath)
|
||||||
|
netroot = work_folder
|
||||||
|
try:
|
||||||
|
image_folder = Metashape.app.getExistingDirectory("Select data folder", netroot)
|
||||||
|
|
||||||
|
except:
|
||||||
|
print("Add Chunk cancelled...")
|
||||||
|
|
||||||
|
else:
|
||||||
|
photos = find_files(image_folder, [".jpg", ".jpeg", ".png", ".tif", ".tiff"])
|
||||||
|
chunk = doc.addChunk()
|
||||||
|
chunk_nameraw = os.path.basename(image_folder)
|
||||||
|
chunk_name = name_prefix + chunk_nameraw + name_suffix
|
||||||
|
chunk.label = Metashape.app.getString("Chunk Name", chunk_name)
|
||||||
|
chunk.addPhotos(photos)
|
||||||
|
doc.chunk = chunk
|
||||||
|
doc.save()
|
||||||
|
Metashape.app.messageBox("New chunk added!\n\nChunk Name: " + chunk_name)
|
||||||
|
addcalib = Metashape.app.getBool("Confirm to import default camera calibration.\n\nDefault Camera: " + cam_name)
|
||||||
|
if addcalib == True:
|
||||||
|
readCameraSettings(selected_camera)
|
||||||
|
useCameraSettings()
|
||||||
|
doc.save()
|
||||||
|
else:
|
||||||
|
diaSelectCamera()
|
||||||
|
readCameraSettings(selected_camera)
|
||||||
|
useCameraSettings()
|
||||||
|
nadaljujem = Metashape.app.getBool("Camera set...\nUsing Camera: " + str(selected_camera) + "\n\nContinue with marker detection and coordinates import?")
|
||||||
|
if nadaljujem == True:
|
||||||
|
chunk.detectMarkers(target_type=Metashape.CircularTarget12bit, tolerance=98)
|
||||||
|
Metashape.app.messageBox("Marker Detection complete!\n\nNext step: Choose file with target coordinates.\nPoint file must have header.\nImport starts at line 7.")
|
||||||
|
path_ref = Metashape.app.getOpenFileName("Import Target Coordinates", image_folder, "Text file (*.txt)")
|
||||||
|
chunk.importReference(path_ref, format=Metashape.ReferenceFormatCSV, columns='nxyz', delimiter=',', skip_rows=6, create_markers=True)
|
||||||
|
chunk.updateTransform()
|
||||||
|
Metashape.app.messageBox("Target coordinates imported.\n\nNext step: Workflow > Align Photos")
|
||||||
|
Metashape.app.update()
|
||||||
|
doc.save()
|
||||||
|
else:
|
||||||
|
projectOpenedCheck()
|
||||||
|
|
||||||
|
|
||||||
|
# Create chunk AUTO - automaticaly use predefined options
|
||||||
|
def newchunk_auto(name_prefix, name_suffix, work_folder):
|
||||||
|
global projectOpened
|
||||||
|
if projectOpened == True:
|
||||||
|
doc = Metashape.app.document
|
||||||
|
netpath = Metashape.app.document.path
|
||||||
|
netroot = work_folder
|
||||||
|
try:
|
||||||
|
image_folder = Metashape.app.getExistingDirectory("Select data folder", netroot)
|
||||||
|
|
||||||
|
except:
|
||||||
|
print("Add Chunk cancelled...")
|
||||||
|
|
||||||
|
else:
|
||||||
|
photos = find_files(image_folder, [".jpg", ".jpeg", ".png", ".tif", ".tiff"])
|
||||||
|
chunk = doc.addChunk()
|
||||||
|
chunk.addPhotos(photos)
|
||||||
|
chunk_nameraw = os.path.basename(image_folder)
|
||||||
|
chunk_name = name_prefix + chunk_nameraw + name_suffix
|
||||||
|
# chunk.label = Metashape.app.getString("Chunk Name", chunk_name)
|
||||||
|
chunk.label = chunk_name
|
||||||
|
doc.chunk = chunk
|
||||||
|
doc.save(netpath)
|
||||||
|
Metashape.app.update()
|
||||||
|
# Metashape.app.messageBox("Nalaganje slik...")
|
||||||
|
# time.sleep(3)
|
||||||
|
readCameraSettings(selected_camera)
|
||||||
|
useCameraSettings()
|
||||||
|
chunk.detectMarkers(target_type=Metashape.CircularTarget12bit, tolerance=98)
|
||||||
|
# path_ref = Metashape.app.getOpenFileName("Import marker coordinates", image_folder, "Text file (*.txt)")
|
||||||
|
points_file = image_folder + "/" + chunk_nameraw + ".txt"
|
||||||
|
chunk.importReference(points_file, format=Metashape.ReferenceFormatCSV, columns='nxyz', delimiter=',', skip_rows=6, create_markers=True)
|
||||||
|
chunk.updateTransform()
|
||||||
|
doc.save(netpath)
|
||||||
|
Metashape.app.update()
|
||||||
|
else:
|
||||||
|
projectOpenedCheck()
|
||||||
|
|
||||||
|
|
||||||
|
# Choose default camera routine
|
||||||
|
def selectCamDefault():
|
||||||
|
camCfgLoad()
|
||||||
|
diaSelectCamera()
|
||||||
|
if selected_camera == None:
|
||||||
|
Metashape.app.messageBox("No camera selected. Nothing has changed...")
|
||||||
|
else:
|
||||||
|
if projectOpened == True:
|
||||||
|
projCfg.set('PROJECT SETTINGS', 'default_camera', selected_camera)
|
||||||
|
with open(projCfgFilePath, 'w') as configfile:
|
||||||
|
projCfg.write(configfile)
|
||||||
|
projCfg.read(projCfgFilePath)
|
||||||
|
else:
|
||||||
|
appCfg.set('APP SETTINGS', 'default_camera', selected_camera)
|
||||||
|
with open(appCfgFilePath, 'w') as configfile:
|
||||||
|
appCfg.write(configfile)
|
||||||
|
appCfg.read(appCfgFilePath)
|
||||||
|
|
||||||
|
print("Default camera settings saved.\nDefault Camera: " + selected_camera)
|
||||||
|
|
||||||
|
|
||||||
|
# Create About message dialog
|
||||||
|
def appAbout():
|
||||||
|
app_aboutmsg = app_name + "\n\nVersion: " + app_ver + "\n" + app_author + "\n" + app_about + "\n\n" + app_repo + "\n\nReferences:\n" + ref_repo + "\n\n" + ref_scripts + "\n"
|
||||||
|
message_box = QMessageBox()
|
||||||
|
message_box.setMinimumSize(600,500)
|
||||||
|
message_box.setTextFormat(Qt.PlainText)
|
||||||
|
message_box.setText(app_aboutmsg)
|
||||||
|
|
||||||
|
message_box.exec_()
|
||||||
|
|
||||||
|
|
||||||
|
def prazno():
|
||||||
|
print("Prazna vrstica")
|
||||||
|
|
||||||
|
|
||||||
|
# Routine for calling Edit Settings UI - called when user want's to edit settings
|
||||||
|
def editSettings():
|
||||||
|
app = QtWidgets.QApplication.instance()
|
||||||
|
parent = app.activeWindow()
|
||||||
|
editDialog = Ui_settingsDialog(parent)
|
||||||
|
|
||||||
|
|
||||||
|
# Routine for calling Edit Settings UI - called when user want's to edit settings
|
||||||
|
def addCameraDialog(camnew, camname):
|
||||||
|
app = QtWidgets.QApplication.instance()
|
||||||
|
parent = app.activeWindow()
|
||||||
|
if camnew == False:
|
||||||
|
dia = Ui_DialogAddEditCam(parent, camnew, camname)
|
||||||
|
else:
|
||||||
|
dia = Ui_DialogAddEditCam(parent, camnew, camname="")
|
||||||
|
|
||||||
|
|
||||||
|
# Routine for calling Edit Settings UI - called when user want's to edit settings
|
||||||
|
def diaSelectCamera():
|
||||||
|
app = QtWidgets.QApplication.instance()
|
||||||
|
parent = app.activeWindow()
|
||||||
|
diaChCam = Ui_dialogChooseCamera(parent)
|
||||||
|
|
||||||
|
|
||||||
|
# Routine for calling Edit Settings UI - called when user want's to edit settings
|
||||||
|
def camerasEditor():
|
||||||
|
app = QtWidgets.QApplication.instance()
|
||||||
|
parent = app.activeWindow()
|
||||||
|
camEditDialog = Ui_dialogCamGui(parent)
|
||||||
|
|
||||||
|
|
||||||
|
# Routine for calling Copy Regions UI
|
||||||
|
def copy_bbox():
|
||||||
|
app = QtWidgets.QApplication.instance()
|
||||||
|
parent = app.activeWindow()
|
||||||
|
dlg = CopyBoundingBoxDlg(parent)
|
||||||
|
|
||||||
|
|
||||||
|
def diaAddChunkSingle():
|
||||||
|
app = QtWidgets.QApplication.instance()
|
||||||
|
parent = app.activeWindow()
|
||||||
|
dia = Ui_DialogAddChunkQuick(parent)
|
||||||
|
|
||||||
|
|
||||||
|
def diaAddChunkBatch():
|
||||||
|
projectOpenedCheck()
|
||||||
|
app = QtWidgets.QApplication.instance()
|
||||||
|
parent = app.activeWindow()
|
||||||
|
dia2 = Ui_DialogBatchChunk(parent)
|
||||||
|
|
||||||
|
|
||||||
|
def diaChunkSettings():
|
||||||
|
app = QtWidgets.QApplication.instance()
|
||||||
|
parent = app.activeWindow()
|
||||||
|
dia_cs = Ui_DialogChunkSettings(parent)
|
||||||
|
|
||||||
|
|
||||||
|
icon_app = ":/icons/AutoFTG-appicon.png"
|
||||||
|
icon_app2 = ":/icons/AUTOFTG-V2.png"
|
||||||
|
icon0 = ":/icons/icons8-about-50.png"
|
||||||
|
iconadd = ":/icons/icons8-add-50.png"
|
||||||
|
icon2 = ":/icons/icons8-add-camera-50.png"
|
||||||
|
icon3 = ":/icons/icons8-add-list-50.png"
|
||||||
|
icon4 = ":/icons/icons8-add-new-50.png"
|
||||||
|
icon5 = ":/icons/icons8-aperture-50.png"
|
||||||
|
icon6 = ":/icons/icons8-apps-tab-50.png"
|
||||||
|
icon7 = ":/icons/icons8-bursts-50.png"
|
||||||
|
icon8 = ":/icons/icons8-camera-50.png"
|
||||||
|
icon9 = ":/icons/icons8-cameras-50.png"
|
||||||
|
icon10 = ":/icons/icons8-cancel-50.png"
|
||||||
|
icon11 = ":/icons/icons8-christmas-star-50.png"
|
||||||
|
icon12 = ":/icons/icons8-close-50.png"
|
||||||
|
icon13 = ":/icons/icons8-close-window-50.png"
|
||||||
|
icon14 = ":/icons/icons8-design-50.png"
|
||||||
|
icon15 = ":/icons/icons8-drag-and-drop-50.png"
|
||||||
|
icon16 = ":/icons/icons8-edit-50.png"
|
||||||
|
icon17 = ":/icons/icons8-full-page-view-50.png"
|
||||||
|
icon18 = ":/icons/icons8-images-folder-50.png"
|
||||||
|
icon19 = ":/icons/icons8-ios-application-placeholder-50.png"
|
||||||
|
icon20 = ":/icons/icons8-my-location-50.png"
|
||||||
|
icon21 = ":/icons/icons8-opened-folder-50.png"
|
||||||
|
icon22 = ":/icons/icons8-overscan-settings-50.png"
|
||||||
|
icon23 = ":/icons/icons8-panorama-50.png"
|
||||||
|
icon24 = ":/icons/icons8-quadcopter-50.png"
|
||||||
|
icon25 = ":/icons/icons8-restore-50.png"
|
||||||
|
icon26 = ":/icons/icons8-save-50.png"
|
||||||
|
icon27 = ":/icons/icons8-save-as-50.png"
|
||||||
|
icon28 = ":/icons/icons8-services-50.png"
|
||||||
|
icon29 = ":/icons/icons8-settings-50.png"
|
||||||
|
icon30 = ":/icons/icons8-slr-back-side-50.png"
|
||||||
|
icon31 = ":/icons/icons8-slr-camera-50.png"
|
||||||
|
icon32 = ":/icons/icons8-tools-50.png"
|
||||||
|
icon33 = ":/icons/icons8-video-stabilization-50.png"
|
||||||
|
icon34 = ":/icons/icons8-video-wall-50.png"
|
||||||
|
icon35 = ":/icons/icons8-vintage-camera-50.png"
|
||||||
|
icon36 = ":/icons/icons8-wallpaper-50.png"
|
||||||
|
icon37 = ":/icons/icons8-web-camera-50.png"
|
||||||
|
icon38 = ":/icons/icons8-map-marker-50.png"
|
||||||
|
icon40 = ":/icons/icons8-toolbox-50.png"
|
||||||
|
iconaddc = ":/icons/icons8-plus-50.png"
|
||||||
|
iconloads = ":/icons/icons8-share-50.png"
|
||||||
|
iconimg28 = ":/icons/kalota.png"
|
||||||
|
iconimg29 = ":/icons/kalota_m.png"
|
||||||
|
iconimg59 = ":/icons/stopnca_o.png"
|
||||||
|
iconimg60 = ":/icons/stopnca_s.png"
|
||||||
|
|
||||||
|
|
||||||
|
# Add Main Menu to start with
|
||||||
|
labelmenu= "About Auto FTG"
|
||||||
|
Metashape.app.addMenuItem(labelmenu, appAbout, icon=icon_app)
|
||||||
|
|
||||||
|
labelAddChSingle = "AutoFTG/Add Chunk (Single)"
|
||||||
|
Metashape.app.addMenuItem(label=labelAddChSingle, func=diaAddChunkSingle, shortcut="Ctrl++", icon=iconadd)
|
||||||
|
|
||||||
|
labelAddChBatch = "AutoFTG/Batch Chunk Creator"
|
||||||
|
Metashape.app.addMenuItem(label=labelAddChBatch, func=diaAddChunkBatch, shortcut="Ctrl+*", icon=icon4)
|
||||||
|
|
||||||
|
labelChSet = "AutoFTG/Chunk Definition Settings"
|
||||||
|
Metashape.app.addMenuItem(label=labelChSet, func=diaChunkSettings, icon=":/icons/icons8-content-50.png")
|
||||||
|
|
||||||
|
labelsep1a = "AutoFTG/--------------------"
|
||||||
|
Metashape.app.addMenuItem(labelsep1a, prazno)
|
||||||
|
|
||||||
|
label3a = "AutoFTG/Detect markers && Import coordinates"
|
||||||
|
Metashape.app.addMenuItem(label3a, marker_targets, icon=icon38)
|
||||||
|
|
||||||
|
label4 = "AutoFTG/Copy Region (Bounding Box)"
|
||||||
|
Metashape.app.addMenuItem(label4, copy_bbox, icon=icon15)
|
||||||
|
|
||||||
|
labelsep1 = "AutoFTG/--------------------"
|
||||||
|
Metashape.app.addMenuItem(labelsep1, prazno)
|
||||||
|
|
||||||
|
label2 = "AutoFTG/Change Camera (Chunk)"
|
||||||
|
Metashape.app.addMenuItem(label2, selectCamChunk, icon=icon8)
|
||||||
|
|
||||||
|
label2aaa = "AutoFTG/Set Default Camera (Project)"
|
||||||
|
Metashape.app.addMenuItem(label2aaa, selectCamDefault, icon=icon35)
|
||||||
|
|
||||||
|
label2cccc = "AutoFTG/Cameras Editor"
|
||||||
|
Metashape.app.addMenuItem(label2cccc, camerasEditor, icon=icon9)
|
||||||
|
|
||||||
|
labelsep55 = "AutoFTG/--------------------"
|
||||||
|
Metashape.app.addMenuItem(labelsep55, prazno)
|
||||||
|
|
||||||
|
labelset2 = "AutoFTG/Load Project Settings"
|
||||||
|
Metashape.app.addMenuItem(labelset2, projectOpenedCheck, icon=icon40)
|
||||||
|
|
||||||
|
labelset4 = "AutoFTG/Edit Loaded Settings"
|
||||||
|
Metashape.app.addMenuItem(labelset4, editSettings, icon=icon32)
|
||||||
|
|
||||||
|
labelset2i = "Load Project Settings"
|
||||||
|
Metashape.app.addMenuItem(labelset2i, projectOpenedCheck, icon=icon40)
|
||||||
|
|
||||||
|
labelAddChQui = "Add Chunk (Single)"
|
||||||
|
Metashape.app.addMenuItem(label=labelAddChQui, func=diaAddChunkSingle, icon=iconadd)
|
||||||
|
|
||||||
|
labelAddChBat = "Add Chunk (Multi)"
|
||||||
|
Metashape.app.addMenuItem(label=labelAddChBat, func=diaAddChunkBatch, icon=icon4)
|
||||||
|
|
||||||
|
labelCopyReg = "Copy Region"
|
||||||
|
Metashape.app.addMenuItem(labelCopyReg, copy_bbox, icon=icon15)
|
||||||
|
|
||||||
|
# labelsep3 = "AutoFTG/New Chunk (2TIR)/--------------------"
|
||||||
|
# Metashape.app.addMenuItem(labelsep3, prazno)
|
||||||
|
#
|
||||||
|
# labelNewStIz = "AutoFTG/New Chunk (2TIR)/STOPNICA (IZKOP) Pefix\Suffix"
|
||||||
|
# Metashape.app.addMenuSeparator(labelNewStIz)
|
||||||
|
#
|
||||||
|
# label0c = "AutoFTG/New Chunk (2TIR)/STOPNICA (IZKOP) Pefix\Suffix/< Modify prefix"
|
||||||
|
# Metashape.app.addMenuItem(label0c, changeNameStIzPre)
|
||||||
|
#
|
||||||
|
# label0d = "AutoFTG/New Chunk (2TIR)/STOPNICA (IZKOP) Pefix\Suffix/> Modify suffix"
|
||||||
|
# Metashape.app.addMenuItem(label0d, changeNameStIzSuf)
|
||||||
|
#
|
||||||
|
# labelNewStBb = "AutoFTG/New Chunk (2TIR)/STOPNICA (B.BET.) Pefix\Suffix"
|
||||||
|
# Metashape.app.addMenuSeparator(labelNewStBb)
|
||||||
|
#
|
||||||
|
# label0f = "AutoFTG/New Chunk (2TIR)/STOPNICA (B.BET.) Pefix\Suffix/< Modify prefix"
|
||||||
|
# Metashape.app.addMenuItem(label0f, changeNameStBbPre)
|
||||||
|
#
|
||||||
|
# label0g = "AutoFTG/New Chunk (2TIR)/STOPNICA (B.BET.) Pefix\Suffix/> Modify suffix"
|
||||||
|
# Metashape.app.addMenuItem(label0g, changeNameStBbSuf)
|
||||||
|
|
||||||
|
# changeChunkAppend(setting_name, append_type)
|
||||||
|
|
||||||
|
# labelsep2 = "Cameras"
|
||||||
|
# Metashape.app.addMenuSeparator(labelsep2)
|
||||||
|
|
||||||
|
# labelsep5 = "AutoFTG/--------------------"
|
||||||
|
# Metashape.app.addMenuItem(labelsep5, prazno)
|
||||||
|
|
||||||
|
# Initialize AutoFTG
|
||||||
|
def loadAutoftg():
|
||||||
|
global projectOpened
|
||||||
|
camCfgLoad()
|
||||||
|
chunksCfgLoad()
|
||||||
|
loadIcoSettings()
|
||||||
|
projectOpenedCheck()
|
||||||
|
checkSettingsVer()
|
||||||
|
print("\n\nAutoFTG initialized...\nApp Version: " + str(app_ver) + "\nSettings Version: " + str(appCfg.get('APP SETTINGS', 'settings_version')))
|
||||||
|
print(str(app_author))
|
||||||
|
|
||||||
|
# Run
|
||||||
|
loadAutoftg()
|
||||||
|
|
730
AutoFTG/autoftg_settingscamedit.py
Normal file
|
@ -0,0 +1,730 @@
|
||||||
|
# Class for settings editing UI
|
||||||
|
import os
|
||||||
|
import pydoc
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
from configparser import ConfigParser
|
||||||
|
from datetime import datetime
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import Metashape
|
||||||
|
from PySide2 import QtCore, QtGui, QtWidgets
|
||||||
|
from PySide2.QtCore import *
|
||||||
|
from PySide2.QtGui import *
|
||||||
|
from PySide2.QtWidgets import *
|
||||||
|
|
||||||
|
import AutoFTG.autoftg_main as autoftg_main
|
||||||
|
from AutoFTG.qtresources_rc2 import *
|
||||||
|
|
||||||
|
selected_camera = None
|
||||||
|
|
||||||
|
class Ui_DialogAddEditCam(QtWidgets.QDialog):
|
||||||
|
def __init__(self, parent, camnew, camname):
|
||||||
|
global camOrigName
|
||||||
|
camOrigName = camname
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.setObjectName(u"DialogAddEditCam")
|
||||||
|
appIcon = QIcon()
|
||||||
|
appIcon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.setWindowIcon(appIcon)
|
||||||
|
self.resize(480, 270)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
|
||||||
|
self.setSizePolicy(sizePolicy)
|
||||||
|
self.setMinimumSize(QSize(480, 270))
|
||||||
|
self.setMaximumSize(QSize(480, 270))
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(10)
|
||||||
|
self.setFont(font)
|
||||||
|
self.setWindowTitle(u"Add/Edit Camera")
|
||||||
|
appIcon = QIcon()
|
||||||
|
appIcon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.setWindowIcon(appIcon)
|
||||||
|
self.gridLayoutWidget = QWidget(self)
|
||||||
|
self.gridLayoutWidget.setObjectName(u"gridLayoutWidget")
|
||||||
|
self.gridLayoutWidget.setGeometry(QRect(10, 10, 461, 251))
|
||||||
|
self.gridLayout = QGridLayout(self.gridLayoutWidget)
|
||||||
|
self.gridLayout.setSpacing(5)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout.setObjectName(u"gridLayout")
|
||||||
|
self.gridLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.comboBox_2 = QComboBox(self.gridLayoutWidget)
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-camera-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon1, u"Standard")
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/icons8-slr-small-lens-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon2, u"DSLR")
|
||||||
|
icon3 = QIcon()
|
||||||
|
icon3.addFile(u":/icons/icons8-camera-on-tripod-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon3, u"Special")
|
||||||
|
icon4 = QIcon()
|
||||||
|
icon4.addFile(u":/icons/icons8-quadcopter-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon4, u"Drone")
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/icons8-touchscreen-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon5, u"SmartPhone")
|
||||||
|
icon6 = QIcon()
|
||||||
|
icon6.addFile(u":/icons/icons8-gopro-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon6, u"SportCam")
|
||||||
|
self.comboBox_2.setObjectName(u"comboBox_2")
|
||||||
|
self.comboBox_2.setFont(font)
|
||||||
|
self.comboBox_2.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.comboBox_2, 3, 1, 1, 1)
|
||||||
|
|
||||||
|
self.lineEdit_2 = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_2.setObjectName(u"lineEdit_2")
|
||||||
|
self.lineEdit_2.setFont(font)
|
||||||
|
self.lineEdit_2.setPlaceholderText(u"Camera name")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.lineEdit_2, 0, 1, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_2 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setSpacing(5)
|
||||||
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
|
self.lineEdit_3 = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_3.setObjectName(u"lineEdit_3")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.lineEdit_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_3.setSizePolicy(sizePolicy1)
|
||||||
|
self.lineEdit_3.setMinimumSize(QSize(0, 28))
|
||||||
|
self.lineEdit_3.setMaximumSize(QSize(16777215, 28))
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(8)
|
||||||
|
self.lineEdit_3.setFont(font1)
|
||||||
|
self.lineEdit_3.setPlaceholderText(u"Choose calibration XML file...")
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.lineEdit_3)
|
||||||
|
|
||||||
|
self.pushButton_3 = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_3.setObjectName(u"pushButton_3")
|
||||||
|
sizePolicy2 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
|
||||||
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
|
sizePolicy2.setVerticalStretch(0)
|
||||||
|
sizePolicy2.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_3.setSizePolicy(sizePolicy2)
|
||||||
|
self.pushButton_3.setFont(font1)
|
||||||
|
self.pushButton_3.setToolTip(u"Choose XML calibration file...")
|
||||||
|
self.pushButton_3.setText(u"Browse")
|
||||||
|
icon7 = QIcon()
|
||||||
|
icon7.addFile(u":/icons/icons8-images-folder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_3.setIcon(icon7)
|
||||||
|
self.pushButton_3.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_3)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_2, 5, 1, 1, 1)
|
||||||
|
|
||||||
|
self.label_3 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_3.setObjectName(u"label_3")
|
||||||
|
sizePolicy3 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy3.setHorizontalStretch(0)
|
||||||
|
sizePolicy3.setVerticalStretch(0)
|
||||||
|
sizePolicy3.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_3.setSizePolicy(sizePolicy3)
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setFamily(u"Segoe UI")
|
||||||
|
font2.setPointSize(10)
|
||||||
|
font2.setBold(True)
|
||||||
|
font2.setWeight(75)
|
||||||
|
self.label_3.setFont(font2)
|
||||||
|
self.label_3.setText(u"Camera Name")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(5)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.pushButton = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton.setObjectName(u"pushButton")
|
||||||
|
sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton.setSizePolicy(sizePolicy)
|
||||||
|
self.pushButton.setMinimumSize(QSize(0, 0))
|
||||||
|
self.pushButton.setMaximumSize(QSize(90, 30))
|
||||||
|
self.pushButton.setText(u"Cancel")
|
||||||
|
icon8 = QIcon()
|
||||||
|
icon8.addFile(u":/icons/icons8-close-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton.setIcon(icon8)
|
||||||
|
self.pushButton.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton)
|
||||||
|
|
||||||
|
self.pushButton_2 = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_2.setObjectName(u"pushButton_2")
|
||||||
|
sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_2.setSizePolicy(sizePolicy)
|
||||||
|
self.pushButton_2.setMinimumSize(QSize(0, 0))
|
||||||
|
self.pushButton_2.setMaximumSize(QSize(90, 30))
|
||||||
|
self.pushButton_2.setText(u"Save")
|
||||||
|
icon9 = QIcon()
|
||||||
|
icon9.addFile(u":/icons/icons8-save-all-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_2.setIcon(icon9)
|
||||||
|
self.pushButton_2.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton_2)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout, 7, 0, 1, 2)
|
||||||
|
|
||||||
|
self.label = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
sizePolicy3.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label.setSizePolicy(sizePolicy3)
|
||||||
|
self.label.setFont(font)
|
||||||
|
self.label.setText(u"Type")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_4 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_4.setObjectName(u"label_4")
|
||||||
|
sizePolicy3.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_4.setSizePolicy(sizePolicy3)
|
||||||
|
font3 = QFont()
|
||||||
|
font3.setFamily(u"Segoe UI")
|
||||||
|
font3.setPointSize(9)
|
||||||
|
self.label_4.setFont(font3)
|
||||||
|
self.label_4.setText(u"Resolution")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_7 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_7.setObjectName(u"label_7")
|
||||||
|
self.label_7.setFont(font3)
|
||||||
|
self.label_7.setText(u"Description")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_7, 1, 0, 1, 1)
|
||||||
|
|
||||||
|
self.line = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.line, 6, 0, 1, 2)
|
||||||
|
|
||||||
|
self.comboBox = QComboBox(self.gridLayoutWidget)
|
||||||
|
icon10 = QIcon()
|
||||||
|
icon10.addFile(u":/icons/icons8-full-page-view-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon10, u"Frame")
|
||||||
|
icon11 = QIcon()
|
||||||
|
icon11.addFile(u":/icons/icons8-video-wall-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon11, u"Fisheye")
|
||||||
|
icon12 = QIcon()
|
||||||
|
icon12.addFile(u":/icons/icons8-live-photos-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon12, u"Spherical")
|
||||||
|
icon13 = QIcon()
|
||||||
|
icon13.addFile(u":/icons/icons8-aperture-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon13, u"Cylindical")
|
||||||
|
icon14 = QIcon()
|
||||||
|
icon14.addFile(u":/icons/icons8-ios-application-placeholder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon14, u"RPC")
|
||||||
|
self.comboBox.setObjectName(u"comboBox")
|
||||||
|
self.comboBox.setFont(font)
|
||||||
|
self.comboBox.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.comboBox, 2, 1, 1, 1)
|
||||||
|
|
||||||
|
self.label_5 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_5.setObjectName(u"label_5")
|
||||||
|
sizePolicy3.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_5.setSizePolicy(sizePolicy3)
|
||||||
|
self.label_5.setText(u"Callibration")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_5, 5, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
sizePolicy3.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_2.setSizePolicy(sizePolicy3)
|
||||||
|
self.label_2.setFont(font3)
|
||||||
|
self.label_2.setText(u"Sub-Type")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_3 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_3.setSpacing(5)
|
||||||
|
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||||
|
self.lineEdit = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit.setObjectName(u"lineEdit")
|
||||||
|
self.lineEdit.setMaximumSize(QSize(50, 16777215))
|
||||||
|
self.lineEdit.setFont(font)
|
||||||
|
self.lineEdit.setText(u"0")
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.lineEdit)
|
||||||
|
|
||||||
|
self.label_6 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_6.setObjectName(u"label_6")
|
||||||
|
self.label_6.setText(u"MP")
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_6)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_3, 4, 1, 1, 1)
|
||||||
|
|
||||||
|
self.lineEdit_4 = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_4.setObjectName(u"lineEdit_4")
|
||||||
|
self.lineEdit_4.setFont(font)
|
||||||
|
self.lineEdit_4.setPlaceholderText(u"Description of camera (optional)")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.lineEdit_4, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
QWidget.setTabOrder(self.lineEdit_2, self.lineEdit_4)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_4, self.comboBox)
|
||||||
|
QWidget.setTabOrder(self.comboBox, self.comboBox_2)
|
||||||
|
QWidget.setTabOrder(self.comboBox_2, self.lineEdit)
|
||||||
|
QWidget.setTabOrder(self.lineEdit, self.lineEdit_3)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_3, self.pushButton_3)
|
||||||
|
QWidget.setTabOrder(self.pushButton_3, self.pushButton_2)
|
||||||
|
QWidget.setTabOrder(self.pushButton_2, self.pushButton)
|
||||||
|
|
||||||
|
if camnew == True:
|
||||||
|
autoftg_main.cameraXmlSource = ''
|
||||||
|
autoftg_main.cameraXmlDest = ''
|
||||||
|
self.setWindowTitle(u"Add New Camera")
|
||||||
|
self.pushButton_2.setText(u"Add Camera")
|
||||||
|
else:
|
||||||
|
selCamType = autoftg_main.camCfg.get(camname, "Description")
|
||||||
|
selCamType = autoftg_main.camCfg.get(camname, "Type")
|
||||||
|
selCamSubType = autoftg_main.camCfg.get(camname, "SubType")
|
||||||
|
selCamRes = autoftg_main.camCfg.get(camname, "Resolution")
|
||||||
|
selCamFile = autoftg_main.camCfg.get(camname, "File")
|
||||||
|
autoftg_main.cameraXmlSource = selCamFile
|
||||||
|
autoftg_main.cameraXmlDest = selCamFile
|
||||||
|
self.lineEdit_2.setText(camname)
|
||||||
|
self.comboBox.setCurrentText(selCamType)
|
||||||
|
self.comboBox_2.setCurrentText(selCamSubType)
|
||||||
|
self.lineEdit.setText(selCamRes)
|
||||||
|
self.lineEdit_3.setText(selCamFile)
|
||||||
|
self.setWindowTitle(u"Edit Camera")
|
||||||
|
self.pushButton_2.setText(u"Save Changes")
|
||||||
|
|
||||||
|
QtCore.QObject.connect(self.pushButton_3, QtCore.SIGNAL("clicked()"), self.selectCameraFile)
|
||||||
|
QtCore.QObject.connect(self.pushButton_2, QtCore.SIGNAL("clicked()"), self.saveCamera)
|
||||||
|
QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("reject()"))
|
||||||
|
|
||||||
|
self.exec()
|
||||||
|
|
||||||
|
|
||||||
|
def selectCameraFile(self):
|
||||||
|
autoftg_main.cameraXmlSource = Metashape.app.getOpenFileName(hint="Select Camera Calibration", dir=str(autoftg_main.selected_data_folder), filter="Metashape Camera Calibration (*.xml)")
|
||||||
|
camXmlFile = os.path.basename(autoftg_main.cameraXmlSource)
|
||||||
|
autoftg_main.cameraXmlDest = autoftg_main.camCfgPath + camXmlFile
|
||||||
|
self.lineEdit_3.setText(camXmlFile)
|
||||||
|
|
||||||
|
|
||||||
|
def saveCamera(self):
|
||||||
|
cameraNameAdd = self.lineEdit_2.text()
|
||||||
|
camDesc = self.lineEdit_4.text()
|
||||||
|
cameraTypeAdd = self.comboBox.currentText()
|
||||||
|
cameraSubTypeAdd = self.comboBox_2.currentText()
|
||||||
|
cameraResAdd = self.lineEdit.text()
|
||||||
|
cameraFileAdd = self.lineEdit_3.text()
|
||||||
|
if cameraNameAdd == "" or cameraNameAdd == None:
|
||||||
|
Metashape.app.messageBox("Error! No camera name entered...")
|
||||||
|
else:
|
||||||
|
if self.lineEdit_3.text() != "" or self.lineEdit_3.text() != None:
|
||||||
|
self.copyXml()
|
||||||
|
else:
|
||||||
|
cameraFileAdd = "None"
|
||||||
|
autoftg_main.saveCamConfig(camOrigName, cameraNameAdd, camDesc, cameraTypeAdd, cameraSubTypeAdd, cameraResAdd, cameraFileAdd)
|
||||||
|
autoftg_main.camCfgLoad()
|
||||||
|
autoftg_main.cameraXmlSource = ''
|
||||||
|
autoftg_main.cameraXmlDest = ''
|
||||||
|
self.close()
|
||||||
|
|
||||||
|
|
||||||
|
def copyXml(self):
|
||||||
|
if autoftg_main.cameraXmlSource != autoftg_main.cameraXmlDest:
|
||||||
|
cameraXmlDestExists = os.path.isfile(autoftg_main.cameraXmlDest)
|
||||||
|
if cameraXmlDestExists == False:
|
||||||
|
try:
|
||||||
|
shutil.copy2(autoftg_main.cameraXmlSource, autoftg_main.cameraXmlDest)
|
||||||
|
except:
|
||||||
|
Metashape.app.messageBox("Error! Could not copy calibration file...")
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
os.remove(autoftg_main.cameraXmlDest)
|
||||||
|
except:
|
||||||
|
Metashape.app.messageBox("Error! Failed to remove old calibration file...")
|
||||||
|
|
||||||
|
try:
|
||||||
|
shutil.copy2(autoftg_main.cameraXmlSource, autoftg_main.cameraXmlDest)
|
||||||
|
except:
|
||||||
|
Metashape.app.messageBox("Error! Failed to copy calibration file...")
|
||||||
|
|
||||||
|
|
||||||
|
def closeCameraDialog(self):
|
||||||
|
autoftg_main.camCfgLoad()
|
||||||
|
self.close()
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_dialogCamGui(QtWidgets.QDialog):
|
||||||
|
def __init__(self, parent):
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.setObjectName(u"dialogCamGui")
|
||||||
|
self.resize(350, 300)
|
||||||
|
self.setWindowTitle(u"Cameras Editor")
|
||||||
|
appIcon = QIcon()
|
||||||
|
appIcon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.setWindowIcon(appIcon)
|
||||||
|
layoutMain = QtWidgets.QVBoxLayout() # creating layout
|
||||||
|
menuico00 = QIcon()
|
||||||
|
menuico00.addFile(u":/icons/icons8-full-page-view-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico1 = QIcon()
|
||||||
|
menuico1.addFile(u":/icons/icons8-panorama-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico2 = QIcon()
|
||||||
|
menuico2.addFile(u":/icons/icons8-aperture-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico3 = QIcon()
|
||||||
|
menuico3.addFile(u":/icons/icons8-video-stabilization-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico4 = QIcon()
|
||||||
|
menuico4.addFile(u":/icons/icons8-touchscreen-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico5 = QIcon()
|
||||||
|
menuico5.addFile(u":/icons/icons8-quadcopter-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico6 = QIcon()
|
||||||
|
menuico6.addFile(u":/icons/icons8-add-camera-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico7 = QIcon()
|
||||||
|
menuico7.addFile(u":/icons/icons8-design-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico8 = QIcon()
|
||||||
|
menuico8.addFile(u":/icons/icons8-no-camera-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico9 = QIcon()
|
||||||
|
menuico9.addFile(u":/icons/icons8-ios-application-placeholder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icoTripod = QIcon()
|
||||||
|
icoTripod.addFile(u":/icons/icons8-camera-on-tripod-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setPointSize(10)
|
||||||
|
self.verticalLayoutWidget_2 = QWidget()
|
||||||
|
self.verticalLayoutWidget_2.setObjectName(u"verticalLayoutWidget_2")
|
||||||
|
self.verticalLayoutWidget_2.setGeometry(QRect(10, 10, 331, 211))
|
||||||
|
self.vLayout_Main = QVBoxLayout(self.verticalLayoutWidget_2)
|
||||||
|
self.vLayout_Main.setObjectName(u"vLayout_Main")
|
||||||
|
self.vLayout_Main.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.hLayoutCamEdit = QHBoxLayout()
|
||||||
|
self.hLayoutCamEdit.setObjectName(u"hLayoutCamEdit")
|
||||||
|
self.listWidgetCam = QListWidget(self.verticalLayoutWidget_2)
|
||||||
|
self.listWidgetCam.setObjectName(u"listWidgetCam")
|
||||||
|
self.listWidgetCam.setFont(font1)
|
||||||
|
self.listWidgetCam.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.listWidgetCam.setFrameShadow(QFrame.Plain)
|
||||||
|
self.listWidgetCam.setDefaultDropAction(Qt.IgnoreAction)
|
||||||
|
self.listWidgetCam.setIconSize(QSize(20, 20))
|
||||||
|
for camera in autoftg_main.cam_list:
|
||||||
|
lcam_type = str(autoftg_main.camCfg.get(camera, 'Type'))
|
||||||
|
lcam_stype = str(autoftg_main.camCfg.get(camera, "SubType"))
|
||||||
|
lcam_res = str(autoftg_main.camCfg.get(camera, 'Resolution'))
|
||||||
|
lcam_desc = str(autoftg_main.camCfg.get(camera, 'Description'))
|
||||||
|
self.listWidgetCamItem = QListWidgetItem(camera, self.listWidgetCam)
|
||||||
|
self.listWidgetCamItem.setText(str(camera))
|
||||||
|
# <html><head/><body><p><b>Processing error!</span></p></body></html>
|
||||||
|
if lcam_stype == "Drone":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico5)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_stype == "SmartPhone":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico4)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_stype == "Special":
|
||||||
|
self.listWidgetCamItem.setIcon(icoTripod)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_type == "Fisheye":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico1)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_type == "Cylindrical":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico2)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_type == "Spherical":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico3)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_type == "RPC":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico9)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
else:
|
||||||
|
self.listWidgetCamItem.setIcon(menuico00)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
|
||||||
|
self.hLayoutCamEdit.addWidget(self.listWidgetCam)
|
||||||
|
|
||||||
|
self.vLayout_CamBtn = QVBoxLayout()
|
||||||
|
self.vLayout_CamBtn.setObjectName(u"vLayout_CamBtn")
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
|
||||||
|
self.btnRemoveCam = QPushButton(self.verticalLayoutWidget_2)
|
||||||
|
self.btnRemoveCam.setObjectName(u"btnRemoveCam")
|
||||||
|
sizePolicy.setHeightForWidth(self.btnRemoveCam.sizePolicy().hasHeightForWidth())
|
||||||
|
self.btnRemoveCam.setSizePolicy(sizePolicy)
|
||||||
|
self.btnRemoveCam.setText(u" Remove")
|
||||||
|
self.btnRemoveCam.setIcon(menuico8)
|
||||||
|
self.btnRemoveCam.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.vLayout_CamBtn.addWidget(self.btnRemoveCam)
|
||||||
|
|
||||||
|
self.btnEditCam = QPushButton(self.verticalLayoutWidget_2)
|
||||||
|
self.btnEditCam.setObjectName(u"btnEditCam")
|
||||||
|
sizePolicy.setHeightForWidth(self.btnEditCam.sizePolicy().hasHeightForWidth())
|
||||||
|
self.btnEditCam.setSizePolicy(sizePolicy)
|
||||||
|
self.btnEditCam.setText(u" Edit")
|
||||||
|
self.btnEditCam.setIcon(menuico7)
|
||||||
|
self.btnEditCam.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.vLayout_CamBtn.addWidget(self.btnEditCam)
|
||||||
|
|
||||||
|
self.btnAddNewCam = QPushButton(self.verticalLayoutWidget_2)
|
||||||
|
self.btnAddNewCam.setObjectName(u"btnAddNewCam")
|
||||||
|
sizePolicy.setHeightForWidth(self.btnAddNewCam.sizePolicy().hasHeightForWidth())
|
||||||
|
self.btnAddNewCam.setSizePolicy(sizePolicy)
|
||||||
|
self.btnAddNewCam.setText(u" Add")
|
||||||
|
self.btnAddNewCam.setIcon(menuico6)
|
||||||
|
self.btnAddNewCam.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.vLayout_CamBtn.addWidget(self.btnAddNewCam)
|
||||||
|
|
||||||
|
self.hLayoutCamEdit.addLayout(self.vLayout_CamBtn)
|
||||||
|
|
||||||
|
layoutMain.addLayout(self.hLayoutCamEdit)
|
||||||
|
|
||||||
|
self.hLayout_MainBtn = QHBoxLayout()
|
||||||
|
self.hLayout_MainBtn.setObjectName(u"hLayout_MainBtn")
|
||||||
|
self.btnMainClose = QPushButton(self.verticalLayoutWidget_2)
|
||||||
|
self.btnMainClose.setObjectName(u"btnMainClose")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Minimum)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.btnMainClose.sizePolicy().hasHeightForWidth())
|
||||||
|
self.btnMainClose.setSizePolicy(sizePolicy1)
|
||||||
|
self.btnMainClose.setText(u"Close")
|
||||||
|
|
||||||
|
self.hLayout_MainBtn.addWidget(self.btnMainClose)
|
||||||
|
|
||||||
|
layoutMain.addLayout(self.hLayout_MainBtn)
|
||||||
|
|
||||||
|
self.setLayout(layoutMain)
|
||||||
|
|
||||||
|
QtCore.QObject.connect(self.btnAddNewCam, QtCore.SIGNAL("clicked()"), self.addNewCam)
|
||||||
|
QtCore.QObject.connect(self.btnEditCam, QtCore.SIGNAL("clicked()"), self.editSelCamera)
|
||||||
|
QtCore.QObject.connect(self.btnRemoveCam, QtCore.SIGNAL("clicked()"), self.removeSelCamera)
|
||||||
|
QtCore.QObject.connect(self.btnMainClose, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("reject()"))
|
||||||
|
|
||||||
|
self.exec()
|
||||||
|
|
||||||
|
|
||||||
|
def refreshCamList(self):
|
||||||
|
self.listWidgetCam.clear()
|
||||||
|
menuico00 = QIcon()
|
||||||
|
menuico00.addFile(u":/icons/icons8-full-page-view-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico1 = QIcon()
|
||||||
|
menuico1.addFile(u":/icons/icons8-panorama-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico2 = QIcon()
|
||||||
|
menuico2.addFile(u":/icons/icons8-aperture-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico3 = QIcon()
|
||||||
|
menuico3.addFile(u":/icons/icons8-video-stabilization-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico4 = QIcon()
|
||||||
|
menuico4.addFile(u":/icons/icons8-touchscreen-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico5 = QIcon()
|
||||||
|
menuico5.addFile(u":/icons/icons8-quadcopter-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico6 = QIcon()
|
||||||
|
menuico6.addFile(u":/icons/icons8-add-camera-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico7 = QIcon()
|
||||||
|
menuico7.addFile(u":/icons/icons8-design-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico8 = QIcon()
|
||||||
|
menuico8.addFile(u":/icons/icons8-no-camera-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
menuico9 = QIcon()
|
||||||
|
menuico9.addFile(u":/icons/icons8-ios-application-placeholder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icoTripod = QIcon()
|
||||||
|
icoTripod.addFile(u":/icons/icons8-camera-on-tripod-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
for camera in autoftg_main.cam_list:
|
||||||
|
lcam_type = str(autoftg_main.camCfg.get(camera, 'Type'))
|
||||||
|
lcam_stype = str(autoftg_main.camCfg.get(camera, "SubType"))
|
||||||
|
lcam_res = str(autoftg_main.camCfg.get(camera, 'Resolution'))
|
||||||
|
lcam_desc = str(autoftg_main.camCfg.get(camera, 'Description'))
|
||||||
|
self.listWidgetCamItem = QListWidgetItem(camera, self.listWidgetCam)
|
||||||
|
self.listWidgetCamItem.setText(str(camera))
|
||||||
|
# <html><head/><body><p><b>Processing error!</span></p></body></html>
|
||||||
|
if lcam_stype == "Drone":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico5)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_stype == "SmartPhone":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico4)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_stype == "Special":
|
||||||
|
self.listWidgetCamItem.setIcon(icoTripod)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_type == "Fisheye":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico1)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_type == "Cylindrical":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico2)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_type == "Spherical":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico3)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
elif lcam_type == "RPC":
|
||||||
|
self.listWidgetCamItem.setIcon(menuico9)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
else:
|
||||||
|
self.listWidgetCamItem.setIcon(menuico00)
|
||||||
|
self.listWidgetCamItem.setToolTip("<html><head/><body><p><b>Type: " + lcam_type + "</b><br>SubType: " + lcam_stype + "<br>Res.: " + lcam_res + "MP" + "<br>Desc.: " + lcam_desc)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def addNewCam(self):
|
||||||
|
autoftg_main.addCameraDialog(camnew=True, camname="")
|
||||||
|
self.refreshCamList()
|
||||||
|
|
||||||
|
|
||||||
|
def editSelCamera(self):
|
||||||
|
# defaultItem = self.listWidgetCam.isItemSelected("Default")
|
||||||
|
if self.listWidgetCam.currentRow() > 1:
|
||||||
|
selCamName = self.listWidgetCam.currentItem().text()
|
||||||
|
autoftg_main.addCameraDialog(camnew=False, camname=selCamName)
|
||||||
|
self.refreshCamList()
|
||||||
|
|
||||||
|
elif self.listWidgetCam.currentRow() <= 1:
|
||||||
|
Metashape.app.messageBox("Default cameras can not be edited.")
|
||||||
|
|
||||||
|
else:
|
||||||
|
Metashape.app.messageBox("No camera selected...")
|
||||||
|
|
||||||
|
|
||||||
|
def removeSelCamera(self):
|
||||||
|
if self.listWidgetCam.currentRow() > 1:
|
||||||
|
del_cam = self.listWidgetCam.currentItem().text()
|
||||||
|
remove_confirm = Metashape.app.getBool("Remove selected camera?\n\nSelected: " + del_cam)
|
||||||
|
if remove_confirm == True:
|
||||||
|
autoftg_main.removeCamConfig(del_cam)
|
||||||
|
self.refreshCamList()
|
||||||
|
|
||||||
|
elif self.listWidgetCam.currentRow() <= 1:
|
||||||
|
Metashape.app.messageBox("Default cameras can not be removed.")
|
||||||
|
|
||||||
|
else:
|
||||||
|
Metashape.app.messageBox("No camera selected...")
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_dialogChooseCamera(QtWidgets.QDialog):
|
||||||
|
def __init__(self, parent):
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.setObjectName(u"dialogChooseCamera")
|
||||||
|
self.resize(320, 300)
|
||||||
|
self.setWindowTitle(u"Choose Camera")
|
||||||
|
appIcon = QIcon()
|
||||||
|
appIcon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.setWindowIcon(appIcon)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
self.setSizePolicy(sizePolicy)
|
||||||
|
self.setMinimumSize(QSize(320, 300))
|
||||||
|
self.setMaximumSize(QSize(320, 300))
|
||||||
|
self.setWindowTitle(u"Choose Camera")
|
||||||
|
self.verticalLayoutWidget = QWidget(self)
|
||||||
|
self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget")
|
||||||
|
self.verticalLayoutWidget.setGeometry(QRect(10, 10, 301, 281))
|
||||||
|
self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget)
|
||||||
|
self.verticalLayout.setSpacing(5)
|
||||||
|
self.verticalLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||||
|
self.verticalLayout.setSizeConstraint(QLayout.SetDefaultConstraint)
|
||||||
|
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.label = QLabel(self.verticalLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
font = QFont()
|
||||||
|
font.setPointSize(11)
|
||||||
|
self.label.setFont(font)
|
||||||
|
self.label.setText(u"Select Camera")
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.label)
|
||||||
|
|
||||||
|
self.listWidget = QListWidget(self.verticalLayoutWidget)
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/icons8-full-page-view-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-panorama-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/icons8-aperture-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon3 = QIcon()
|
||||||
|
icon3.addFile(u":/icons/icons8-video-stabilization-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon4 = QIcon()
|
||||||
|
icon4.addFile(u":/icons/icons8-touchscreen-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/icons8-quadcopter-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon5a = QIcon()
|
||||||
|
icon5a.addFile(u":/icons/icons8-ios-application-placeholder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icoTripod = QIcon()
|
||||||
|
icoTripod.addFile(u":/icons/icons8-camera-on-tripod-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setPointSize(10)
|
||||||
|
for cam in autoftg_main.cam_list:
|
||||||
|
icon_type = autoftg_main.camCfg.get(cam, "Type")
|
||||||
|
icon_subtype = autoftg_main.camCfg.get(cam, "SubType")
|
||||||
|
self.listwidget = QListWidgetItem(self.listWidget)
|
||||||
|
self.listwidget.setText(cam)
|
||||||
|
if icon_subtype == "SmartPhone":
|
||||||
|
self.listwidget.setIcon(icon4)
|
||||||
|
elif icon_subtype == "Drone":
|
||||||
|
self.listwidget.setIcon(icon5)
|
||||||
|
elif icon_subtype == "Special":
|
||||||
|
self.listwidget.setIcon(icoTripod)
|
||||||
|
else:
|
||||||
|
if icon_type == "Fisheye":
|
||||||
|
self.listwidget.setIcon(icon1)
|
||||||
|
elif icon_type == "Spherical":
|
||||||
|
self.listwidget.setIcon(icon3)
|
||||||
|
elif icon_type == "Cylindrical":
|
||||||
|
self.listwidget.setIcon(icon2)
|
||||||
|
elif icon_type == "RPC":
|
||||||
|
self.listwidget.setIcon(icon5a)
|
||||||
|
else:
|
||||||
|
self.listwidget.setIcon(icon)
|
||||||
|
|
||||||
|
self.listWidget.setObjectName(u"listWidget")
|
||||||
|
self.listWidget.setFont(font1)
|
||||||
|
self.listWidget.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.listWidget.setFrameShadow(QFrame.Plain)
|
||||||
|
self.listWidget.setDefaultDropAction(Qt.IgnoreAction)
|
||||||
|
self.listWidget.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.listWidget)
|
||||||
|
|
||||||
|
self.horizontalLayout_2 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setSpacing(5)
|
||||||
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
|
self.pushButton_2 = QPushButton(self.verticalLayoutWidget)
|
||||||
|
self.pushButton_2.setObjectName(u"pushButton_2")
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/icons8-close-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_2.setIcon(icon5)
|
||||||
|
self.pushButton_2.setText(u"Cancel")
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_2)
|
||||||
|
|
||||||
|
self.pushButton = QPushButton(self.verticalLayoutWidget)
|
||||||
|
self.pushButton.setObjectName(u"pushButton")
|
||||||
|
icon6 = QIcon()
|
||||||
|
icon6.addFile(u":/icons/icons8-done-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton.setIcon(icon6)
|
||||||
|
self.pushButton.setText(u"Ok")
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton)
|
||||||
|
|
||||||
|
self.verticalLayout.addLayout(self.horizontalLayout_2)
|
||||||
|
|
||||||
|
self.listWidget.setCurrentRow(autoftg_main.cam_list.index(autoftg_main.selected_camera))
|
||||||
|
|
||||||
|
self.listWidget.setSortingEnabled(False)
|
||||||
|
|
||||||
|
QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.selectCam)
|
||||||
|
QtCore.QObject.connect(self.pushButton_2, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("reject()"))
|
||||||
|
|
||||||
|
self.exec()
|
||||||
|
|
||||||
|
def selectCam(self):
|
||||||
|
autoftg_main.selected_camera = self.listWidget.currentItem().text()
|
||||||
|
self.close()
|
||||||
|
|
||||||
|
|
889
AutoFTG/autoftg_settingschunk.py
Normal file
|
@ -0,0 +1,889 @@
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
from configparser import ConfigParser
|
||||||
|
from datetime import datetime
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import Metashape
|
||||||
|
from PySide2 import QtCore, QtGui, QtWidgets
|
||||||
|
from PySide2.QtCore import *
|
||||||
|
from PySide2.QtGui import *
|
||||||
|
from PySide2.QtWidgets import *
|
||||||
|
|
||||||
|
import AutoFTG.autoftg_main as autoftg_main
|
||||||
|
from AutoFTG.qtresources_rc2 import *
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_DialogChunkSettings(QtWidgets.QDialog):
|
||||||
|
def __init__(self, parent):
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.setObjectName(u"DialogChunkSettings")
|
||||||
|
self.setWindowModality(Qt.WindowModal)
|
||||||
|
self.resize(720, 360)
|
||||||
|
self.setWindowTitle(u"Chunk Definition Settings")
|
||||||
|
sizePolicy0 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
sizePolicy0.setHorizontalStretch(0)
|
||||||
|
sizePolicy0.setVerticalStretch(0)
|
||||||
|
sizePolicy0.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
|
||||||
|
self.setSizePolicy(sizePolicy0)
|
||||||
|
self.setMinimumSize(QSize(720, 480))
|
||||||
|
self.setMaximumSize(QSize(720, 480))
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.setWindowIcon(icon)
|
||||||
|
self.gridLayoutWidget = QWidget(self)
|
||||||
|
self.gridLayoutWidget.setObjectName(u"gridLayoutWidget")
|
||||||
|
self.gridLayoutWidget.setGeometry(QRect(9, 10, 701, 461))
|
||||||
|
self.gridLayout = QGridLayout(self.gridLayoutWidget)
|
||||||
|
self.gridLayout.setSpacing(5)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout.setObjectName(u"gridLayout")
|
||||||
|
self.gridLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.label_menuSet_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_menuSet_2.setObjectName(u"label_menuSet_2")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.label_menuSet_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_menuSet_2.setSizePolicy(sizePolicy1)
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(12)
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.label_menuSet_2.setFont(font)
|
||||||
|
self.label_menuSet_2.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.label_menuSet_2.setText(u"Chunk Definitions List")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_menuSet_2, 0, 0, 1, 1)
|
||||||
|
|
||||||
|
self.listWidgetChunkDefs = QListWidget(self.gridLayoutWidget)
|
||||||
|
self.listWidgetChunkDefs.setObjectName(u"listWidgetChunkDefs")
|
||||||
|
sizePolicy2 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
|
||||||
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
|
sizePolicy2.setVerticalStretch(0)
|
||||||
|
sizePolicy2.setHeightForWidth(self.listWidgetChunkDefs.sizePolicy().hasHeightForWidth())
|
||||||
|
self.listWidgetChunkDefs.setSizePolicy(sizePolicy2)
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(11)
|
||||||
|
self.listWidgetChunkDefs.setFont(font1)
|
||||||
|
self.listWidgetChunkDefs.setAutoScrollMargin(20)
|
||||||
|
self.listWidgetChunkDefs.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
||||||
|
self.listWidgetChunkDefs.setProperty("showDropIndicator", False)
|
||||||
|
self.listWidgetChunkDefs.setSelectionBehavior(QAbstractItemView.SelectItems)
|
||||||
|
self.listWidgetChunkDefs.setIconSize(QSize(24, 24))
|
||||||
|
self.listWidgetChunkDefs.setViewMode(QListView.ListMode)
|
||||||
|
self.listWidgetChunkDefs.setUniformItemSizes(True)
|
||||||
|
self.listWidgetChunkDefs.setSelectionRectVisible(True)
|
||||||
|
self.listWidgetChunkDefs.setSortingEnabled(False)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.listWidgetChunkDefs, 1, 0, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_6 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_6.setSpacing(5)
|
||||||
|
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
|
||||||
|
self.pushButton_sremove = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_sremove.setObjectName(u"pushButton_sremove")
|
||||||
|
self.pushButton_sremove.setEnabled(True)
|
||||||
|
sizePolicy3 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed)
|
||||||
|
sizePolicy3.setHorizontalStretch(0)
|
||||||
|
sizePolicy3.setVerticalStretch(0)
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_sremove.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_sremove.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_sremove.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sremove.setToolTip(u"<html><head/><body><p><span style=\" font-weight:600;\">Remove<br/></span>Remove selected definition</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sremove.setText(u"Remove")
|
||||||
|
icon7 = QIcon()
|
||||||
|
icon7.addFile(u":/icons/icons8-full-recycle-bin-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_sremove.setIcon(icon7)
|
||||||
|
self.pushButton_sremove.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sremove.setShortcut(u"R")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sremove.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addWidget(self.pushButton_sremove)
|
||||||
|
|
||||||
|
self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addItem(self.horizontalSpacer_3)
|
||||||
|
|
||||||
|
self.pushButton_sedit = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_sedit.setObjectName(u"pushButton_sedit")
|
||||||
|
self.pushButton_sedit.setEnabled(True)
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_sedit.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_sedit.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_sedit.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sedit.setToolTip(u"<html><head/><body><p><span style=\" font-weight:600;\">Edit</span><br/>Edit selected chunk definition</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sedit.setLayoutDirection(Qt.RightToLeft)
|
||||||
|
self.pushButton_sedit.setText(u"Edit")
|
||||||
|
icon8 = QIcon()
|
||||||
|
icon8.addFile(u":/icons/icons8-design-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_sedit.setIcon(icon8)
|
||||||
|
self.pushButton_sedit.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sedit.setShortcut(u"E")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sedit.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addWidget(self.pushButton_sedit)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_6, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.line = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.line, 3, 0, 1, 2)
|
||||||
|
|
||||||
|
self.formLayout = QFormLayout()
|
||||||
|
self.formLayout.setSpacing(5)
|
||||||
|
self.formLayout.setObjectName(u"formLayout")
|
||||||
|
self.formLayout.setHorizontalSpacing(5)
|
||||||
|
self.formLayout.setVerticalSpacing(5)
|
||||||
|
self.label_menuSet = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_menuSet.setObjectName(u"label_menuSet")
|
||||||
|
sizePolicy1.setHeightForWidth(self.label_menuSet.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_menuSet.setSizePolicy(sizePolicy1)
|
||||||
|
self.label_menuSet.setFont(font)
|
||||||
|
self.label_menuSet.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.label_menuSet.setText(u"Menu Settings")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(0, QFormLayout.SpanningRole, self.label_menuSet)
|
||||||
|
|
||||||
|
self.label_nameicon = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_nameicon.setObjectName(u"label_nameicon")
|
||||||
|
self.label_nameicon.setMinimumSize(QSize(80, 0))
|
||||||
|
self.label_nameicon.setMaximumSize(QSize(80, 16777215))
|
||||||
|
self.label_nameicon.setText(u"Name")
|
||||||
|
self.label_nameicon.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(1, QFormLayout.LabelRole, self.label_nameicon)
|
||||||
|
|
||||||
|
self.horizontalLayout_4 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_4.setSpacing(5)
|
||||||
|
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
|
||||||
|
self.lineEdit_name = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_name.setObjectName(u"lineEdit_name")
|
||||||
|
sizePolicy4 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
|
||||||
|
sizePolicy4.setHorizontalStretch(0)
|
||||||
|
sizePolicy4.setVerticalStretch(0)
|
||||||
|
sizePolicy4.setHeightForWidth(self.lineEdit_name.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_name.setSizePolicy(sizePolicy4)
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setFamily(u"Segoe UI")
|
||||||
|
font2.setPointSize(12)
|
||||||
|
self.lineEdit_name.setFont(font2)
|
||||||
|
self.lineEdit_name.setPlaceholderText(u"Name shown in list...")
|
||||||
|
|
||||||
|
self.horizontalLayout_4.addWidget(self.lineEdit_name)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(1, QFormLayout.FieldRole, self.horizontalLayout_4)
|
||||||
|
|
||||||
|
self.label_nameicon_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_nameicon_2.setObjectName(u"label_nameicon_2")
|
||||||
|
sizePolicy5 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
|
||||||
|
sizePolicy5.setHorizontalStretch(0)
|
||||||
|
sizePolicy5.setVerticalStretch(0)
|
||||||
|
sizePolicy5.setHeightForWidth(self.label_nameicon_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_nameicon_2.setSizePolicy(sizePolicy5)
|
||||||
|
font3 = QFont()
|
||||||
|
font3.setFamily(u"Segoe UI")
|
||||||
|
font3.setPointSize(9)
|
||||||
|
self.label_nameicon_2.setFont(font3)
|
||||||
|
self.label_nameicon_2.setText(u"Icon")
|
||||||
|
self.label_nameicon_2.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.LabelRole, self.label_nameicon_2)
|
||||||
|
|
||||||
|
self.comboBox_icon = QComboBox(self.gridLayoutWidget)
|
||||||
|
self.comboBox_icon.setObjectName(u"comboBox_icon")
|
||||||
|
sizePolicy6 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred)
|
||||||
|
sizePolicy6.setHorizontalStretch(0)
|
||||||
|
sizePolicy6.setVerticalStretch(0)
|
||||||
|
sizePolicy6.setHeightForWidth(self.comboBox_icon.sizePolicy().hasHeightForWidth())
|
||||||
|
self.comboBox_icon.setSizePolicy(sizePolicy6)
|
||||||
|
self.comboBox_icon.setMaximumSize(QSize(100, 16777215))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.comboBox_icon.setToolTip(u"Choose icon to be used in list...")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.comboBox_icon.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.FieldRole, self.comboBox_icon)
|
||||||
|
|
||||||
|
self.label_chunkSet = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_chunkSet.setObjectName(u"label_chunkSet")
|
||||||
|
sizePolicy1.setHeightForWidth(self.label_chunkSet.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_chunkSet.setSizePolicy(sizePolicy1)
|
||||||
|
self.label_chunkSet.setFont(font)
|
||||||
|
self.label_chunkSet.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.label_chunkSet.setText(u"Chunk Settings")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(3, QFormLayout.SpanningRole, self.label_chunkSet)
|
||||||
|
|
||||||
|
self.horizontalLayout_7 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_7.setSpacing(5)
|
||||||
|
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
|
||||||
|
self.groupBoxChunkName = QGroupBox(self.gridLayoutWidget)
|
||||||
|
self.groupBoxChunkName.setObjectName(u"groupBoxChunkName")
|
||||||
|
sizePolicy7 = QSizePolicy(QSizePolicy.Ignored, QSizePolicy.Preferred)
|
||||||
|
sizePolicy7.setHorizontalStretch(0)
|
||||||
|
sizePolicy7.setVerticalStretch(0)
|
||||||
|
sizePolicy7.setHeightForWidth(self.groupBoxChunkName.sizePolicy().hasHeightForWidth())
|
||||||
|
self.groupBoxChunkName.setSizePolicy(sizePolicy7)
|
||||||
|
self.groupBoxChunkName.setMinimumSize(QSize(0, 130))
|
||||||
|
font4 = QFont()
|
||||||
|
font4.setFamily(u"Segoe UI")
|
||||||
|
font4.setPointSize(9)
|
||||||
|
font4.setBold(True)
|
||||||
|
font4.setWeight(75)
|
||||||
|
self.groupBoxChunkName.setFont(font4)
|
||||||
|
self.groupBoxChunkName.setTitle(u"Chunk Name Format")
|
||||||
|
self.gridLayoutWidget_2 = QWidget(self.groupBoxChunkName)
|
||||||
|
self.gridLayoutWidget_2.setObjectName(u"gridLayoutWidget_2")
|
||||||
|
self.gridLayoutWidget_2.setGeometry(QRect(12, 25, 411, 100))
|
||||||
|
self.gridLayout_2 = QGridLayout(self.gridLayoutWidget_2)
|
||||||
|
self.gridLayout_2.setSpacing(5)
|
||||||
|
self.gridLayout_2.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout_2.setObjectName(u"gridLayout_2")
|
||||||
|
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.radioButton_5 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_5.setObjectName(u"radioButton_5")
|
||||||
|
sizePolicy8 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
||||||
|
sizePolicy8.setHorizontalStretch(0)
|
||||||
|
sizePolicy8.setVerticalStretch(0)
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_5.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_5.setSizePolicy(sizePolicy8)
|
||||||
|
font5 = QFont()
|
||||||
|
font5.setFamily(u"Segoe UI")
|
||||||
|
font5.setPointSize(9)
|
||||||
|
font5.setBold(False)
|
||||||
|
font5.setWeight(50)
|
||||||
|
self.radioButton_5.setFont(font5)
|
||||||
|
self.radioButton_5.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_5.setToolTip(u"<html><head/><body><p>Use date and time found in first image file that is imported from work folder.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_5.setText(u"Image date-time")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_5, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_3 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_3.setObjectName(u"radioButton_3")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_3.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_3.setFont(font5)
|
||||||
|
self.radioButton_3.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_3.setToolTip(u"<html><head/><body><p>Use metadata string from point file that must be located in imported data folder, and must also have the same name as data folder..</p><p><span style=\" font-weight:600;\">Info:</span> String must be in metadata format at the beginnig of point file, as described in help.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_3.setText(u"Point File Metadata")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_3, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_6 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_6.setObjectName(u"radioButton_6")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_6.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_6.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_6.setFont(font5)
|
||||||
|
self.radioButton_6.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_6.setToolTip(u"<html><head/><body><p>Use date and time at which chunk is created in custom provided format.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_6.setText(u"Custom date-time")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_6, 2, 1, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_2 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_2.setObjectName(u"radioButton_2")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_2.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_2.setFont(font5)
|
||||||
|
self.radioButton_2.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_2.setToolTip(u"<html><head/><body><p>Uses the name of folder from which data is beeing imported from.</p><p>* Recommended naming format.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_2.setText(u"Data Folder Name")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_2, 1, 0, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_1 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_1.setObjectName(u"radioButton_1")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_1.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_1.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_1.setFont(font5)
|
||||||
|
self.radioButton_1.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_1.setToolTip(u"<html><head/><body><p>Use default naming format provided by Metashape.</p><p>Example: Chunk 1, Chunk 2,...</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_1.setText(u"Metashape Default")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_1, 0, 0, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_4 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_4.setObjectName(u"radioButton_4")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_4.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_4.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_4.setFont(font5)
|
||||||
|
self.radioButton_4.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_4.setToolTip(u"<html><head/><body><p>Use date and time at which chunk is created.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_4.setText(u"Creation date-time")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_4, 0, 1, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_8 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_8.setSpacing(5)
|
||||||
|
self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
|
||||||
|
self.horizontalSpacer_4 = QSpacerItem(225, 0, QSizePolicy.Fixed, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_8.addItem(self.horizontalSpacer_4)
|
||||||
|
|
||||||
|
self.lineEdit = QLineEdit(self.gridLayoutWidget_2)
|
||||||
|
self.lineEdit.setObjectName(u"lineEdit")
|
||||||
|
self.lineEdit.setEnabled(False)
|
||||||
|
sizePolicy8.setHeightForWidth(self.lineEdit.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit.setSizePolicy(sizePolicy8)
|
||||||
|
self.lineEdit.setMinimumSize(QSize(140, 0))
|
||||||
|
self.lineEdit.setFont(font5)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit.setToolTip(u"<html><head/><body><p>Enter format string in python format.</p><p>*For details please check help first.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit.setPlaceholderText(u"%Y%m%d-%H%M%S")
|
||||||
|
|
||||||
|
self.horizontalLayout_8.addWidget(self.lineEdit)
|
||||||
|
|
||||||
|
self.horizontalSpacer_5 = QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_8.addItem(self.horizontalSpacer_5)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout_2.addLayout(self.horizontalLayout_8, 3, 0, 1, 2)
|
||||||
|
|
||||||
|
|
||||||
|
self.horizontalLayout_7.addWidget(self.groupBoxChunkName)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(4, QFormLayout.SpanningRole, self.horizontalLayout_7)
|
||||||
|
|
||||||
|
self.label_wfolder_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_wfolder_2.setObjectName(u"label_wfolder_2")
|
||||||
|
self.label_wfolder_2.setFont(font3)
|
||||||
|
self.label_wfolder_2.setText(u"Prefix/Suffix")
|
||||||
|
self.label_wfolder_2.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(5, QFormLayout.LabelRole, self.label_wfolder_2)
|
||||||
|
|
||||||
|
self.horizontalLayout_5 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_5.setSpacing(5)
|
||||||
|
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
|
||||||
|
self.lineEdit_pre = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_pre.setObjectName(u"lineEdit_pre")
|
||||||
|
self.lineEdit_pre.setEnabled(False)
|
||||||
|
sizePolicy4.setHeightForWidth(self.lineEdit_pre.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_pre.setSizePolicy(sizePolicy4)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_pre.setToolTip(u"Leave empty to disable prefix.")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_pre.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
|
||||||
|
self.lineEdit_pre.setPlaceholderText(u"PREFIX_")
|
||||||
|
|
||||||
|
self.horizontalLayout_5.addWidget(self.lineEdit_pre)
|
||||||
|
|
||||||
|
self.label = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
self.label.setStyleSheet(u"color: rgb(157, 158, 149);")
|
||||||
|
self.label.setText(u"<chunk name>")
|
||||||
|
self.label.setAlignment(Qt.AlignCenter)
|
||||||
|
|
||||||
|
self.horizontalLayout_5.addWidget(self.label)
|
||||||
|
|
||||||
|
self.lineEdit_suf = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_suf.setObjectName(u"lineEdit_suf")
|
||||||
|
self.lineEdit_suf.setEnabled(False)
|
||||||
|
sizePolicy4.setHeightForWidth(self.lineEdit_suf.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_suf.setSizePolicy(sizePolicy4)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_suf.setToolTip(u"Leave empty to disable suffix.")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_suf.setPlaceholderText(u"_SUFFIX")
|
||||||
|
|
||||||
|
self.horizontalLayout_5.addWidget(self.lineEdit_suf)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(5, QFormLayout.FieldRole, self.horizontalLayout_5)
|
||||||
|
|
||||||
|
self.label_wfolder = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_wfolder.setObjectName(u"label_wfolder")
|
||||||
|
self.label_wfolder.setFont(font3)
|
||||||
|
self.label_wfolder.setText(u"Data Folder")
|
||||||
|
self.label_wfolder.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(6, QFormLayout.LabelRole, self.label_wfolder)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(5)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.lineEdit_wfolder = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_wfolder.setObjectName(u"lineEdit_wfolder")
|
||||||
|
self.lineEdit_wfolder.setPlaceholderText(u"Path to folder with data...")
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.lineEdit_wfolder)
|
||||||
|
|
||||||
|
self.pushButton_browsewf = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_browsewf.setObjectName(u"pushButton_browsewf")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_browsewf.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_browsewf.setSizePolicy(sizePolicy3)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browsewf.setToolTip(u"<html><head/><body><p>Select location with working data for this definition.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browsewf.setText(u"")
|
||||||
|
icon9 = QIcon()
|
||||||
|
icon9.addFile(u":/icons/icons8-opened-folder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_browsewf.setIcon(icon9)
|
||||||
|
self.pushButton_browsewf.setIconSize(QSize(20, 20))
|
||||||
|
self.pushButton_browsewf.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton_browsewf)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(6, QFormLayout.FieldRole, self.horizontalLayout)
|
||||||
|
|
||||||
|
self.label_efolder = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_efolder.setObjectName(u"label_efolder")
|
||||||
|
self.label_efolder.setFont(font3)
|
||||||
|
self.label_efolder.setText(u"Export Folder")
|
||||||
|
self.label_efolder.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(7, QFormLayout.LabelRole, self.label_efolder)
|
||||||
|
|
||||||
|
self.horizontalLayout_10 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_10.setSpacing(5)
|
||||||
|
self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
|
||||||
|
self.lineEdit_efolder = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_efolder.setObjectName(u"lineEdit_efolder")
|
||||||
|
self.lineEdit_efolder.setPlaceholderText(u"Path to folder for exporting...")
|
||||||
|
|
||||||
|
self.horizontalLayout_10.addWidget(self.lineEdit_efolder)
|
||||||
|
|
||||||
|
self.pushButton_browseef = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_browseef.setObjectName(u"pushButton_browseef")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_browseef.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_browseef.setSizePolicy(sizePolicy3)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browseef.setToolTip(u"<html><head/><body><p>Select location with working data for this definition.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browseef.setText(u"")
|
||||||
|
self.pushButton_browseef.setIcon(icon9)
|
||||||
|
self.pushButton_browseef.setIconSize(QSize(20, 20))
|
||||||
|
self.pushButton_browseef.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_10.addWidget(self.pushButton_browseef)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(7, QFormLayout.FieldRole, self.horizontalLayout_10)
|
||||||
|
|
||||||
|
self.horizontalLayout_2 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setSpacing(5)
|
||||||
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
|
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addItem(self.horizontalSpacer_2)
|
||||||
|
|
||||||
|
self.pushButton_save = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_save.setObjectName(u"pushButton_save")
|
||||||
|
self.pushButton_save.setEnabled(False)
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_save.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_save.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_save.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_save.setToolTip(u"<html><head/><body><p>Save currently selected chunk definition</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_save.setText(u"Save")
|
||||||
|
icon10 = QIcon()
|
||||||
|
icon10.addFile(u":/icons/icons8-save-as-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_save.setIcon(icon10)
|
||||||
|
self.pushButton_save.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_save.setShortcut(u"S")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_save.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_save)
|
||||||
|
|
||||||
|
self.pushButton_add = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_add.setObjectName(u"pushButton_add")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_add.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_add.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_add.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_add.setToolTip(u"<html><head/><body><p><span style=\" font-weight:600;\">Add new</span><br/>Add new chunk settings definition</p><p>*Crates new chunk definition with current options.<br/>**Definition Name must be unique.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_add.setText(u"Add New")
|
||||||
|
icon11 = QIcon()
|
||||||
|
icon11.addFile(u":/icons/icons8-add-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_add.setIcon(icon11)
|
||||||
|
self.pushButton_add.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_add.setShortcut(u"A")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_add.setAutoDefault(True)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_add)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(9, QFormLayout.FieldRole, self.horizontalLayout_2)
|
||||||
|
|
||||||
|
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
||||||
|
|
||||||
|
self.formLayout.setItem(10, QFormLayout.LabelRole, self.verticalSpacer)
|
||||||
|
|
||||||
|
self.line_2 = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line_2.setObjectName(u"line_2")
|
||||||
|
self.line_2.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_2.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(8, QFormLayout.SpanningRole, self.line_2)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.formLayout, 0, 1, 3, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_3 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_3.setSpacing(5)
|
||||||
|
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||||
|
self.label_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
font6 = QFont()
|
||||||
|
font6.setFamily(u"Segoe UI")
|
||||||
|
font6.setPointSize(8)
|
||||||
|
self.label_2.setFont(font6)
|
||||||
|
self.label_2.setText(u"<html><head/><body><p><span style=\" font-weight:600; font-style:italic;\">Shortcuts</span>: [A] Add New / [E] Edit / [R] Remove / [S] Save / [C] Close</p></body></html>")
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_2)
|
||||||
|
|
||||||
|
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addItem(self.horizontalSpacer)
|
||||||
|
|
||||||
|
self.pushButton_close = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_close.setObjectName(u"pushButton_close")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_close.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_close.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_close.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_close.setToolTip(u"Close Chunk Settings Editor")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_close.setText(u"Close")
|
||||||
|
icon12 = QIcon()
|
||||||
|
icon12.addFile(u":/icons/icons8-close-window-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_close.setIcon(icon12)
|
||||||
|
self.pushButton_close.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_close.setShortcut(u"C")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.pushButton_close)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_3, 4, 0, 1, 2)
|
||||||
|
|
||||||
|
QWidget.setTabOrder(self.listWidgetChunkDefs, self.pushButton_sremove)
|
||||||
|
QWidget.setTabOrder(self.pushButton_sremove, self.pushButton_sedit)
|
||||||
|
QWidget.setTabOrder(self.pushButton_sedit, self.lineEdit_name)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_name, self.comboBox_icon)
|
||||||
|
QWidget.setTabOrder(self.comboBox_icon, self.radioButton_1)
|
||||||
|
QWidget.setTabOrder(self.radioButton_1, self.radioButton_2)
|
||||||
|
QWidget.setTabOrder(self.radioButton_2, self.radioButton_3)
|
||||||
|
QWidget.setTabOrder(self.radioButton_3, self.radioButton_4)
|
||||||
|
QWidget.setTabOrder(self.radioButton_4, self.radioButton_5)
|
||||||
|
QWidget.setTabOrder(self.radioButton_5, self.radioButton_6)
|
||||||
|
QWidget.setTabOrder(self.radioButton_6, self.lineEdit)
|
||||||
|
QWidget.setTabOrder(self.lineEdit, self.lineEdit_pre)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_pre, self.lineEdit_suf)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_suf, self.lineEdit_wfolder)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_wfolder, self.pushButton_browsewf)
|
||||||
|
QWidget.setTabOrder(self.pushButton_browsewf, self.lineEdit_efolder)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_efolder, self.pushButton_browseef)
|
||||||
|
QWidget.setTabOrder(self.pushButton_browseef, self.pushButton_save)
|
||||||
|
QWidget.setTabOrder(self.pushButton_save, self.pushButton_add)
|
||||||
|
QWidget.setTabOrder(self.pushButton_add, self.pushButton_close)
|
||||||
|
|
||||||
|
self.btnAction = True
|
||||||
|
self.selFormat = str("metashape")
|
||||||
|
|
||||||
|
self.pushButton_sremove.clicked.connect(self.removeSelectedItem)
|
||||||
|
self.pushButton_add.clicked.connect(self.addBtnAction)
|
||||||
|
self.pushButton_close.clicked.connect(self.reject)
|
||||||
|
self.listWidgetChunkDefs.currentItemChanged.connect(self.pushButton_sedit.setEnabled(True))
|
||||||
|
self.listWidgetChunkDefs.currentItemChanged.connect(self.pushButton_sremove.setEnabled(True))
|
||||||
|
self.pushButton_sedit.clicked.connect(self.editSelectedItem)
|
||||||
|
self.pushButton_browsewf.clicked.connect(self.selectWorkFolder)
|
||||||
|
self.pushButton_browseef.clicked.connect(self.selectExportFolder)
|
||||||
|
self.pushButton_save.clicked.connect(self.saveSelectedItem)
|
||||||
|
self.radioButton_1.toggled.connect(self.lineEdit_pre.setDisabled)
|
||||||
|
self.radioButton_1.toggled.connect(self.lineEdit_suf.setDisabled)
|
||||||
|
self.radioButton_2.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_2.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_3.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_3.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_4.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_4.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_5.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_5.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_6.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_6.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_6.toggled.connect(self.lineEdit.setEnabled)
|
||||||
|
self.radioButton_1.toggled.connect(self.updateChunkFormat)
|
||||||
|
self.radioButton_2.toggled.connect(self.updateChunkFormat)
|
||||||
|
self.radioButton_3.toggled.connect(self.updateChunkFormat)
|
||||||
|
self.radioButton_4.toggled.connect(self.updateChunkFormat)
|
||||||
|
self.radioButton_5.toggled.connect(self.updateChunkFormat)
|
||||||
|
self.radioButton_6.toggled.connect(self.updateChunkFormat)
|
||||||
|
|
||||||
|
self.pushButton_close.setDefault(True)
|
||||||
|
|
||||||
|
self.listChunkDefs()
|
||||||
|
self.readIconsIni()
|
||||||
|
self.selectChunkFormat()
|
||||||
|
|
||||||
|
|
||||||
|
self.exec()
|
||||||
|
|
||||||
|
# Dialog setup end
|
||||||
|
|
||||||
|
def updateChunkFormat(self):
|
||||||
|
selected_format = self.sender()
|
||||||
|
|
||||||
|
if selected_format.isChecked():
|
||||||
|
sel_name = selected_format.text()
|
||||||
|
self.selFormat = str(sel_name).split(" ")[0].lower()
|
||||||
|
self.selectChunkFormat()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def selectChunkFormat(self):
|
||||||
|
if self.selFormat == "metashape":
|
||||||
|
self.radioButton_1.setChecked(True)
|
||||||
|
elif self.selFormat == "data":
|
||||||
|
self.radioButton_2.setChecked(True)
|
||||||
|
elif self.selFormat == "point":
|
||||||
|
self.radioButton_3.setChecked(True)
|
||||||
|
elif self.selFormat == "creation":
|
||||||
|
self.radioButton_4.setChecked(True)
|
||||||
|
elif self.selFormat == "image":
|
||||||
|
self.radioButton_5.setChecked(True)
|
||||||
|
elif self.selFormat == "custom":
|
||||||
|
self.radioButton_6.setChecked(True)
|
||||||
|
|
||||||
|
|
||||||
|
def listChunkDefs(self):
|
||||||
|
self.lineEdit_wfolder.setText(autoftg_main.selected_data_folder)
|
||||||
|
self.pushButton_save.setDisabled(True)
|
||||||
|
self.pushButton_sremove.setEnabled(True)
|
||||||
|
self.listWidgetChunkDefs.clear()
|
||||||
|
for section in autoftg_main.chunk_sections:
|
||||||
|
menu_icon = autoftg_main.menuCfg.get(section, "menu_icon")
|
||||||
|
menu_icon_path = u":/icons/" + autoftg_main.icoCfg.get("ICONS", menu_icon)
|
||||||
|
seticon = QIcon()
|
||||||
|
seticon.addFile(menu_icon_path, QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.qlistwidgetitem = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
self.qlistwidgetitem.setText(section)
|
||||||
|
self.qlistwidgetitem.setIcon(seticon)
|
||||||
|
|
||||||
|
|
||||||
|
def readIconsIni(self):
|
||||||
|
ico_count = 0
|
||||||
|
for iconitem in autoftg_main.icons_list:
|
||||||
|
aicon_name = "ico-" + str(ico_count)
|
||||||
|
aicon_path = u":/icons/" + autoftg_main.icoCfg.get("ICONS", iconitem)
|
||||||
|
aicon = QIcon()
|
||||||
|
aicon.addFile(aicon_path, QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_icon.addItem(aicon, aicon_name)
|
||||||
|
ico_count += 1
|
||||||
|
|
||||||
|
|
||||||
|
def editSelectedItem(self):
|
||||||
|
selected_item = self.listWidgetChunkDefs.currentItem().text()
|
||||||
|
self.lineEdit_name.setText(selected_item)
|
||||||
|
self.comboBox_icon.setCurrentText(str(autoftg_main.menuCfg.get(selected_item, "menu_icon")))
|
||||||
|
self.selFormat = str(autoftg_main.menuCfg.get(selected_item, "chunk_name_format"))
|
||||||
|
self.selectChunkFormat()
|
||||||
|
self.lineEdit_wfolder.setText(str(autoftg_main.menuCfg.get(selected_item, "work_folder")))
|
||||||
|
self.lineEdit_efolder.setText(str(autoftg_main.menuCfg.get(selected_item, "export_folder")))
|
||||||
|
self.lineEdit_pre.setText(str(autoftg_main.menuCfg.get(selected_item, "chunk_name_prefix")))
|
||||||
|
self.lineEdit_suf.setText(str(autoftg_main.menuCfg.get(selected_item, "chunk_name_suffix")))
|
||||||
|
self.lineEdit_name.setDisabled(True)
|
||||||
|
self.listWidgetChunkDefs.setDisabled(True)
|
||||||
|
self.pushButton_sedit.setDisabled(True)
|
||||||
|
self.pushButton_sremove.setDisabled(True)
|
||||||
|
self.pushButton_save.setEnabled(True)
|
||||||
|
self.pushButton_add.setText(u"Cancel")
|
||||||
|
abanicon = QIcon()
|
||||||
|
abanicon.addFile(u":/icons/icons8-unavailable-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_add.setIcon(abanicon)
|
||||||
|
self.btnAction = False
|
||||||
|
|
||||||
|
|
||||||
|
def removeSelectedItem(self):
|
||||||
|
selected_item = self.listWidgetChunkDefs.currentItem().text()
|
||||||
|
confirm_remove = Metashape.app.getBool("Remove (" + selected_item + ")?")
|
||||||
|
|
||||||
|
if confirm_remove == True:
|
||||||
|
self.backupSettings()
|
||||||
|
autoftg_main.menuCfg.remove_section(selected_item)
|
||||||
|
|
||||||
|
with open(autoftg_main.menuCfgFilePath, 'w') as menuconfig:
|
||||||
|
autoftg_main.menuCfg.write(menuconfig)
|
||||||
|
|
||||||
|
self.lineEdit_name.clear
|
||||||
|
self.comboBox_icon.setCurrentIndex(0)
|
||||||
|
self.lineEdit_wfolder.clear
|
||||||
|
self.lineEdit_efolder.clear
|
||||||
|
self.lineEdit_pre.clear
|
||||||
|
self.lineEdit_suf.clear
|
||||||
|
self.pushButton_sedit.setEnabled(True)
|
||||||
|
self.pushButton_save.setDisabled(True)
|
||||||
|
self.pushButton_add.setEnabled(True)
|
||||||
|
self.lineEdit_name.setEnabled(True)
|
||||||
|
self.listWidgetChunkDefs.takeItem(self.listWidgetChunkDefs.currentRow())
|
||||||
|
print("Chunk definition removed from settings...\nRemoved: " + str(selected_item) + "\n")
|
||||||
|
|
||||||
|
|
||||||
|
def saveSelectedItem(self):
|
||||||
|
edit_section = self.lineEdit_name.text()
|
||||||
|
autoftg_main.menuCfg.set(edit_section, "menu_icon", self.comboBox_icon.currentText())
|
||||||
|
autoftg_main.menuCfg.set(edit_section, "chunk_name_format", self.selFormat)
|
||||||
|
autoftg_main.menuCfg.set(edit_section, "chunk_name_prefix", self.lineEdit_pre.text())
|
||||||
|
autoftg_main.menuCfg.set(edit_section, "chunk_name_suffix", self.lineEdit_suf.text())
|
||||||
|
autoftg_main.menuCfg.set(edit_section, "work_folder", self.lineEdit_wfolder.text())
|
||||||
|
autoftg_main.menuCfg.set(edit_section, "export_folder", self.lineEdit_efolder.text())
|
||||||
|
|
||||||
|
with open(autoftg_main.menuCfgFilePath, 'w') as menuconfig:
|
||||||
|
autoftg_main.menuCfg.write(menuconfig)
|
||||||
|
|
||||||
|
autoftg_main.chunksCfgLoad()
|
||||||
|
|
||||||
|
self.listWidgetChunkDefs.setEnabled(True)
|
||||||
|
self.lineEdit_name.setEnabled(True)
|
||||||
|
self.lineEdit_name.clear()
|
||||||
|
self.lineEdit_wfolder.clear()
|
||||||
|
self.lineEdit_efolder.clear()
|
||||||
|
self.lineEdit_pre.clear()
|
||||||
|
self.lineEdit_suf.clear()
|
||||||
|
self.comboBox_icon.setCurrentIndex(0)
|
||||||
|
self.pushButton_save.setDisabled(True)
|
||||||
|
self.pushButton_sedit.setEnabled(True)
|
||||||
|
self.pushButton_add.setEnabled(True)
|
||||||
|
self.pushButton_add.setText(u"Add New")
|
||||||
|
addicon = QIcon()
|
||||||
|
addicon.addFile(u":/icons/icons8-add-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_add.setIcon(addicon)
|
||||||
|
self.pushButton_add_action = False
|
||||||
|
self.btnAction = True
|
||||||
|
print("Chunk definition updated...\nUpdated: " + str(edit_section) + "\n")
|
||||||
|
self.selFormat = str("metashape")
|
||||||
|
self.selectChunkFormat()
|
||||||
|
self.listChunkDefs()
|
||||||
|
|
||||||
|
|
||||||
|
def addBtnAction(self):
|
||||||
|
if self.btnAction == True:
|
||||||
|
self.backupSettings()
|
||||||
|
new_section = self.lineEdit_name.text()
|
||||||
|
autoftg_main.menuCfg.add_section(new_section)
|
||||||
|
autoftg_main.menuCfg.set(new_section, "menu_icon", self.comboBox_icon.currentText())
|
||||||
|
autoftg_main.menuCfg.set(new_section, "chunk_name_format", self.selFormat)
|
||||||
|
autoftg_main.menuCfg.set(new_section, "chunk_name_prefix", self.lineEdit_pre.text())
|
||||||
|
autoftg_main.menuCfg.set(new_section, "chunk_name_suffix", self.lineEdit_suf.text())
|
||||||
|
autoftg_main.menuCfg.set(new_section, "work_folder", self.lineEdit_wfolder.text())
|
||||||
|
autoftg_main.menuCfg.set(new_section, "export_folder", self.lineEdit_efolder.text())
|
||||||
|
|
||||||
|
with open(autoftg_main.menuCfgFilePath, 'w') as menuconfig:
|
||||||
|
autoftg_main.menuCfg.write(menuconfig)
|
||||||
|
|
||||||
|
autoftg_main.chunksCfgLoad()
|
||||||
|
|
||||||
|
self.listWidgetChunkDefs.setEnabled(True)
|
||||||
|
self.lineEdit_name.clear()
|
||||||
|
self.lineEdit_wfolder.clear()
|
||||||
|
self.lineEdit_efolder.clear()
|
||||||
|
self.lineEdit_pre.clear()
|
||||||
|
self.lineEdit_suf.clear()
|
||||||
|
self.comboBox_icon.setCurrentIndex(0)
|
||||||
|
self.pushButton_save.setDisabled(True)
|
||||||
|
print("New chunk definition added...\nAdded: " + str(new_section) + "\n")
|
||||||
|
self.btnAction = True
|
||||||
|
self.selFormat = str("metashape")
|
||||||
|
self.selectChunkFormat()
|
||||||
|
self.listChunkDefs()
|
||||||
|
|
||||||
|
else:
|
||||||
|
self.listWidgetChunkDefs.setEnabled(True)
|
||||||
|
self.pushButton_sedit.setEnabled(True)
|
||||||
|
self.lineEdit_name.setEnabled(True)
|
||||||
|
self.pushButton_save.setEnabled(True)
|
||||||
|
self.pushButton_add.setText(u"Add New")
|
||||||
|
addicon = QIcon()
|
||||||
|
addicon.addFile(u":/icons/icons8-add-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_add.setIcon(addicon)
|
||||||
|
self.pushButton_add_action = False
|
||||||
|
self.lineEdit_name.clear()
|
||||||
|
self.lineEdit_wfolder.clear()
|
||||||
|
self.lineEdit_efolder.clear()
|
||||||
|
self.lineEdit_pre.clear()
|
||||||
|
self.lineEdit_suf.clear()
|
||||||
|
self.comboBox_icon.setCurrentIndex(0)
|
||||||
|
print("Aborted editing chunk definition...")
|
||||||
|
self.btnAction = True
|
||||||
|
self.selFormat = str("metashape")
|
||||||
|
self.selectChunkFormat()
|
||||||
|
self.listChunkDefs()
|
||||||
|
|
||||||
|
|
||||||
|
def backupSettings(self):
|
||||||
|
menuCfgFileBackup = "settings_newchunk.old"
|
||||||
|
menuCfgFileBackupPath = autoftg_main.menuCfgPath + "/" + menuCfgFileBackup
|
||||||
|
shutil.copy2(autoftg_main.menuCfgFilePath, menuCfgFileBackupPath)
|
||||||
|
print("Creating backup of chunk definitions...\nBackup file: " + str(menuCfgFileBackup) + "\n")
|
||||||
|
|
||||||
|
|
||||||
|
def selectWorkFolder(self):
|
||||||
|
if self.lineEdit_wfolder.text() == "" or self.lineEdit_wfolder.text() == None:
|
||||||
|
sel_folder = Metashape.app.getExistingDirectory("Choose Work Folder", autoftg_main.selected_data_folder)
|
||||||
|
else:
|
||||||
|
cur_folder = self.lineEdit_wfolder.text()
|
||||||
|
sel_folder = Metashape.app.getExistingDirectory("Choose Work Folder", cur_folder)
|
||||||
|
|
||||||
|
if sel_folder == "":
|
||||||
|
self.lineEdit_wfolder.setText(str(cur_folder))
|
||||||
|
print("Work folder not changed!")
|
||||||
|
else:
|
||||||
|
self.lineEdit_wfolder.setText(str(sel_folder))
|
||||||
|
print("Work folder location selected!")
|
||||||
|
|
||||||
|
|
||||||
|
def selectExportFolder(self):
|
||||||
|
if self.lineEdit_efolder.text() == "" or self.lineEdit_efolder.text() == None:
|
||||||
|
sel_folder = Metashape.app.getExistingDirectory("Choose Export Folder", autoftg_main.selected_data_folder)
|
||||||
|
else:
|
||||||
|
cur_folder = self.lineEdit_efolder.text()
|
||||||
|
sel_folder = Metashape.app.getExistingDirectory("Choose Export Folder", cur_folder)
|
||||||
|
|
||||||
|
if sel_folder == "":
|
||||||
|
self.lineEdit_efolder.setText(str(cur_folder))
|
||||||
|
print("Export folder not changed!")
|
||||||
|
else:
|
||||||
|
self.lineEdit_efolder.setText(str(sel_folder))
|
||||||
|
print("Export folder location selected!")
|
||||||
|
|
161
AutoFTG/autoftg_settingsmain.py
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
# Class for settings editing UI
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
from configparser import ConfigParser
|
||||||
|
from datetime import datetime
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import Metashape
|
||||||
|
from PySide2 import QtCore, QtGui, QtWidgets
|
||||||
|
from PySide2.QtCore import *
|
||||||
|
from PySide2.QtGui import *
|
||||||
|
from PySide2.QtWidgets import *
|
||||||
|
|
||||||
|
import AutoFTG.autoftg_main as autoftg_main
|
||||||
|
from AutoFTG.qtresources_rc2 import *
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_settingsDialog(QtWidgets.QDialog):
|
||||||
|
def __init__(self, parent):
|
||||||
|
QtWidgets.QDialog.__init__(self, parent)
|
||||||
|
self.setObjectName(u"settingsDialog")
|
||||||
|
self.resize(300, 100)
|
||||||
|
self.setWindowTitle(u"AutoFTG Settings")
|
||||||
|
appIcon = QIcon()
|
||||||
|
appIcon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.setWindowIcon(appIcon)
|
||||||
|
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/icons8-opened-folder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon0 = QIcon()
|
||||||
|
icon0.addFile(u":/icons/icons8-full-page-view-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-panorama-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/icons8-aperture-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon3 = QIcon()
|
||||||
|
icon3.addFile(u":/icons/icons8-video-stabilization-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon4 = QIcon()
|
||||||
|
icon4.addFile(u":/icons/icons8-touchscreen-48.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/icons8-quadcopter-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icon5a = QIcon()
|
||||||
|
icon5a.addFile(u":/icons/icons8-ios-application-placeholder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
icoTripod = QIcon()
|
||||||
|
icoTripod.addFile(u":/icons/icons8-camera-on-tripod-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.label_2 = QtWidgets.QLabel()
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
self.label_2.setGeometry(QRect(10, 40, 80, 16))
|
||||||
|
self.label_2.setText("Data Folder:")
|
||||||
|
self.lineDataFolder = QtWidgets.QLineEdit()
|
||||||
|
self.lineDataFolder.setObjectName(u"lineDataFolder")
|
||||||
|
self.lineDataFolder.setGeometry(QRect(10, 40, 280, 24))
|
||||||
|
self.lineDataFolder.setText(str(autoftg_main.selected_data_folder))
|
||||||
|
self.lineDataFolder.setClearButtonEnabled(True)
|
||||||
|
self.btnDataFolder = QtWidgets.QPushButton()
|
||||||
|
self.btnDataFolder.setObjectName(u"btnDataFolder")
|
||||||
|
self.btnDataFolder.setGeometry(QRect(300, 40, 80, 24))
|
||||||
|
self.btnDataFolder.setText(u" Browse")
|
||||||
|
self.btnDataFolder.setIcon(icon)
|
||||||
|
self.btnDataFolder.setIconSize(QSize(21, 21))
|
||||||
|
|
||||||
|
self.label_3 = QtWidgets.QLabel()
|
||||||
|
self.label_3.setObjectName(u"label_3")
|
||||||
|
self.label_3.setGeometry(QRect(10, 70, 90, 16))
|
||||||
|
self.label_3.setText("Default Camera:")
|
||||||
|
self.comboBoxCamera = QtWidgets.QComboBox()
|
||||||
|
self.comboBoxCamera.setObjectName(u"comboBoxCamera")
|
||||||
|
self.comboBoxCamera.setGeometry(QRect(10, 70, 280, 24))
|
||||||
|
for cam in autoftg_main.cam_list:
|
||||||
|
icon_type = autoftg_main.camCfg.get(cam, "Type")
|
||||||
|
icon_subtype = autoftg_main.camCfg.get(cam, "SubType")
|
||||||
|
if icon_subtype == "SmartPhone":
|
||||||
|
self.comboBoxCamera.addItem(icon4, cam)
|
||||||
|
elif icon_subtype == "Drone":
|
||||||
|
self.comboBoxCamera.addItem(icon5, cam)
|
||||||
|
elif icon_subtype == "Special":
|
||||||
|
self.comboBoxCamera.addItem(icoTripod, cam)
|
||||||
|
else:
|
||||||
|
if icon_type == "Fisheye":
|
||||||
|
self.comboBoxCamera.addItem(icon1, cam)
|
||||||
|
elif icon_type == "Spherical":
|
||||||
|
self.comboBoxCamera.addItem(icon3, cam)
|
||||||
|
elif icon_type == "Cylindrical":
|
||||||
|
self.comboBoxCamera.addItem(icon2, cam)
|
||||||
|
elif icon_type == "RPC":
|
||||||
|
self.comboBoxCamera.addItem(icon5a, cam)
|
||||||
|
else:
|
||||||
|
self.comboBoxCamera.addItem(icon0, cam)
|
||||||
|
|
||||||
|
self.comboBoxCamera.setCurrentText(str(autoftg_main.selected_camera))
|
||||||
|
|
||||||
|
self.btnClose = QtWidgets.QPushButton()
|
||||||
|
self.btnClose.setObjectName(u"btnClose")
|
||||||
|
self.btnClose.setGeometry(QRect(220, 90, 75, 24))
|
||||||
|
self.btnClose.setText(u"Close")
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-close-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.btnClose.setIcon(icon1)
|
||||||
|
|
||||||
|
self.btnSave = QtWidgets.QPushButton()
|
||||||
|
self.btnSave.setObjectName(u"btnSave")
|
||||||
|
self.btnSave.setGeometry(QRect(300, 90, 75, 24))
|
||||||
|
self.btnSave.setText(u" Save")
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/icons8-save-as-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.btnSave.setIcon(icon2)
|
||||||
|
self.btnSave.setIconSize(QSize(12, 12))
|
||||||
|
|
||||||
|
layout = QtWidgets.QGridLayout() # creating layout
|
||||||
|
layout.setRowMinimumHeight(0, 24)
|
||||||
|
layout.setRowMinimumHeight(1, 24)
|
||||||
|
layout.setRowMinimumHeight(2, 24)
|
||||||
|
layout.setVerticalSpacing(1)
|
||||||
|
|
||||||
|
layout.setColumnMinimumWidth(1, 250) # minimum column width
|
||||||
|
layout.setColumnMinimumWidth(2, 80) # minimum column width
|
||||||
|
|
||||||
|
layout.addWidget(self.label_2, 0, 0)
|
||||||
|
layout.addWidget(self.lineDataFolder, 0, 1)
|
||||||
|
layout.addWidget(self.btnDataFolder, 0, 2)
|
||||||
|
|
||||||
|
layout.addWidget(self.label_3, 1, 0)
|
||||||
|
layout.addWidget(self.comboBoxCamera, 1, 1)
|
||||||
|
|
||||||
|
layout.addWidget(self.btnClose, 2, 2)
|
||||||
|
layout.addWidget(self.btnSave, 2, 1)
|
||||||
|
|
||||||
|
self.setLayout(layout)
|
||||||
|
|
||||||
|
QtCore.QObject.connect(self.btnDataFolder, QtCore.SIGNAL("clicked()"), self.dataFolderChange)
|
||||||
|
QtCore.QObject.connect(self.btnSave, QtCore.SIGNAL("clicked()"), self.saveSettingsDialog)
|
||||||
|
QtCore.QObject.connect(self.btnClose, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("reject()"))
|
||||||
|
|
||||||
|
self.exec()
|
||||||
|
|
||||||
|
def dataFolderChange(self):
|
||||||
|
foldeData = Metashape.app.getExistingDirectory("Data folder")
|
||||||
|
self.lineDataFolder.setText(foldeData)
|
||||||
|
|
||||||
|
def saveSettingsDialog(self):
|
||||||
|
if autoftg_main.projectOpened == False:
|
||||||
|
# settings.folderProject = self.lineProjFolder.text()
|
||||||
|
autoftg_main.appCfg.set('APP SETTINGS', 'folder_data', self.lineDataFolder.text())
|
||||||
|
autoftg_main.appCfg.set('APP SETTINGS', 'default_camera', self.comboBoxCamera.currentText())
|
||||||
|
with open(autoftg_main.appCfgFilePath, 'w') as configfile:
|
||||||
|
autoftg_main.projCfg.write(configfile)
|
||||||
|
autoftg_main.appCfgLoad()
|
||||||
|
else:
|
||||||
|
autoftg_main.projCfg.set('PROJECT SETTINGS', 'folder_data', self.lineDataFolder.text())
|
||||||
|
autoftg_main.projCfg.set('PROJECT SETTINGS', 'default_camera', self.comboBoxCamera.currentText())
|
||||||
|
with open(autoftg_main.projCfgFilePath, 'w') as configfile:
|
||||||
|
autoftg_main.projCfg.write(configfile)
|
||||||
|
autoftg_main.projCfgLoad
|
||||||
|
|
||||||
|
print("New settings stored.")
|
||||||
|
self.close()
|
||||||
|
|
||||||
|
|
15
AutoFTG/cameras/Nokia-XR20_48MP_2022-12.xml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<calibration>
|
||||||
|
<projection>frame</projection>
|
||||||
|
<width>8000</width>
|
||||||
|
<height>6000</height>
|
||||||
|
<f>5949.2577887575562</f>
|
||||||
|
<cx>-16.858586799645682</cx>
|
||||||
|
<cy>6.9297739623051955</cy>
|
||||||
|
<k1>0.06183156704068507</k1>
|
||||||
|
<k2>-0.052085977126058329</k2>
|
||||||
|
<k3>0.00093346222586235391</k3>
|
||||||
|
<p1>7.7841569871330032e-05</p1>
|
||||||
|
<p2>-1.3742978314915434e-05</p2>
|
||||||
|
<date>2022-12-14T22:33:20Z</date>
|
||||||
|
</calibration>
|
15
AutoFTG/cameras/SAMPLE_DJI-Phantom-4-Advanced_20MP.xml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<calibration>
|
||||||
|
<projection>frame</projection>
|
||||||
|
<width>4864</width>
|
||||||
|
<height>3648</height>
|
||||||
|
<f>3642.4586569095004</f>
|
||||||
|
<cx>-26.20533187721805</cx>
|
||||||
|
<cy>22.509946934359323</cy>
|
||||||
|
<k1>0.0034303484641685961</k1>
|
||||||
|
<k2>-0.029528860312119098</k2>
|
||||||
|
<k3>0.031944195638341756</k3>
|
||||||
|
<p1>-0.00077758766885169554</p1>
|
||||||
|
<p2>0.0013154014373500393</p2>
|
||||||
|
<date>2022-12-11T03:59:30Z</date>
|
||||||
|
</calibration>
|
18
AutoFTG/cameras/SAMPLE_DJI-Phantom-4-Pro2_20MP.xml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<calibration>
|
||||||
|
<projection>frame</projection>
|
||||||
|
<width>5472</width>
|
||||||
|
<height>3648</height>
|
||||||
|
<f>3648</f>
|
||||||
|
<cx>-25.918766710664446</cx>
|
||||||
|
<cy>23.405676347845692</cy>
|
||||||
|
<b1>-0.51312839315309644</b1>
|
||||||
|
<b2>0.25322447760187261</b2>
|
||||||
|
<k1>0.0065018308409430878</k1>
|
||||||
|
<k2>-0.047077548067024473</k2>
|
||||||
|
<k3>0.087046999385756788</k3>
|
||||||
|
<k4>-0.052720628316722043</k4>
|
||||||
|
<p1>-0.00070814442936357363</p1>
|
||||||
|
<p2>0.0013447081640380787</p2>
|
||||||
|
<date>2022-08-30T14:44:53Z</date>
|
||||||
|
</calibration>
|
25
AutoFTG/cameras/SAMPLE_Fisheye.xml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<calibration>
|
||||||
|
<projection>fisheye</projection>
|
||||||
|
<width>5472</width>
|
||||||
|
<height>3648</height>
|
||||||
|
<f>2395.9049092644814</f>
|
||||||
|
<cx>28.306193808768743</cx>
|
||||||
|
<cy>16.276208632406714</cy>
|
||||||
|
<b1>0.23366816925064518</b1>
|
||||||
|
<b2>-0.062077141088196834</b2>
|
||||||
|
<k1>-0.032947598125546963</k1>
|
||||||
|
<k2>-0.0046102174449926042</k2>
|
||||||
|
<k3>-0.0019801718128141794</k3>
|
||||||
|
<k4>0.00036858601676320081</k4>
|
||||||
|
<p1>-4.1725187384440624e-05</p1>
|
||||||
|
<p2>-0.000380611425518336</p2>
|
||||||
|
<corrections type="fourier">
|
||||||
|
<coeffs>-6.3945686289750267e-02 3.5146027180516751e-02 -5.5226265704547035e-03 -9.1974359029452210e-02 -5.3052913509804445e-01 -1.9488079722362986e-01 -6.6112068428416354e-02 4.5716897386227313e-02 -1.5141693828049693e-03 -9.5944348230835641e-02 -6.9205527717949453e-02 -8.6773632067643131e-02 -7.0993461615531078e-02 -4.9604796051000337e-03 -8.7751656498662720e-02 1.4604457750904382e-01 3.1923767282629724e-02 1.2364161564810947e-02 -6.7266949470222177e-03 5.0377111726327990e-03 -7.9363711440254819e-03 3.9993787887379981e-03 4.3370912524256875e-03 -1.2900461525504416e-02 -6.3338800148866822e-03 4.6724751692046554e-02 1.5079432911852533e-02 2.6994360045272659e-02 -1.8073152090738774e-03 -1.3746939447026789e-03 1.8533058313818747e-02 -3.2732411262070091e-02 5.8452418835034372e-03 -7.6863559626421135e-02 -8.1829717388860346e-03 -1.7142512692114233e-02 -1.0803748077460439e-02 -2.1152191183603963e-02 -8.8287010835301147e-02 -5.3588376457133539e-02 -1.6947788143207432e-01 6.4545485450826614e-03 -7.8822228355761512e-02 2.9846630201566020e-02 -5.6231605842827273e-04 -1.7745632717892208e-02 -5.3358197410977278e-03 3.0764890662908044e-02 -9.3180529545109358e-03 2.6362202525090058e-03 -8.0617514962319980e-04 -8.0827201198657942e-03 1.1400731168998148e-03 -1.1392579013964552e-02 2.7995535763079117e-03 6.8643326658448583e-03 5.6427477168201649e-03 8.2628507219037288e-04 3.4034699387983820e-03 7.6028755504955600e-03 4.7270990455518681e-03 -1.6120335063307758e-02 -1.0168575858201327e-02 -1.2099688532744991e-02 -1.8402827313321918e-03 1.2017531946232295e-03 1.7608234177142479e-03 -9.2370297720835454e-03 4.1925952385714537e-03 -1.9503685471518369e-03 -7.6846982509282047e-03 5.1070153224798270e-03 4.8677898101625282e-03 7.8212097646356539e-05 -4.0088203177361809e-03 2.7189768721984819e-02 -1.5346404725761153e-03 2.7862663726475087e-03 -2.6384612649900879e-04 4.1111350836209159e-03 6.5738774213792922e-03 1.2657875061939576e-02 -1.6884518270627398e-03 -2.0099080862808860e-03 -3.8113862149921768e-02 -4.3269358271587110e-03 -1.6970969985882496e-03 9.9999988295849454e-03 1.3621598215652670e-02 -2.9380785598949132e-03 5.2831430929268629e-03 -1.1051471033296031e-02 -1.2957719199348028e-03 2.5371806835550043e-03 -2.9522836054896285e-03 -7.7666132465475587e-03</coeffs>
|
||||||
|
<extent>
|
||||||
|
<min>0 0</min>
|
||||||
|
<max>5.4720000000000000e+03 3.6480000000000000e+03</max>
|
||||||
|
</extent>
|
||||||
|
</corrections>
|
||||||
|
<date>2022-08-02T02:30:03Z</date>
|
||||||
|
</calibration>
|
21
AutoFTG/cameras/settings_cam.ini
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
[No Calibration - Frame (Default)]
|
||||||
|
description = Default Metashape camera settings for type FRAME. Calibration is calculated On-The-Fly.
|
||||||
|
type = Frame
|
||||||
|
subtype = Standard
|
||||||
|
resolution = 0
|
||||||
|
file = None
|
||||||
|
|
||||||
|
[No Calibration - Fisheye]
|
||||||
|
description = Default Metashape camera settings for type FISHEYE. Calibration is calculated On-The-Fly.
|
||||||
|
type = Fisheye
|
||||||
|
subtype = Standard
|
||||||
|
resolution = 0
|
||||||
|
file = None
|
||||||
|
|
||||||
|
[Nokia XR20 48MP]
|
||||||
|
description = Nokia XR20 smartphone camera by Boris B. (2022/12)
|
||||||
|
type = Frame
|
||||||
|
subtype = SmartPhone
|
||||||
|
resolution = 48
|
||||||
|
file = Nokia-XR20_48MP_2022-12.xml
|
||||||
|
|
14880
AutoFTG/doc/CHANGELOG.html
Normal file
402
AutoFTG/doc/CHANGELOG.ipynb
Normal file
|
@ -0,0 +1,402 @@
|
||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"attachments": {},
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"# Release Notes\n",
|
||||||
|
"\n",
|
||||||
|
"Release notes for AutoFTG python script\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"attachments": {},
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"\n",
|
||||||
|
"## `2.6.4`\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/03/03\n",
|
||||||
|
"\n",
|
||||||
|
"- Fixed camera selection bug that prevented to define new settings\n",
|
||||||
|
"\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"attachments": {},
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"# Release Notes Archive\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"attachments": {},
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## `2.6.3`\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/02/28\n",
|
||||||
|
"\n",
|
||||||
|
"- Reorganized functions to separate files for easier further development\n",
|
||||||
|
"- Added settings dialog for Point Cloud processing in Batch Chunk Creator\n",
|
||||||
|
"- Changed status icons in tree list for processing/processed items\n",
|
||||||
|
"- Added columt to display chunk name for existing items, or processing time for items processed\n",
|
||||||
|
"- Added total time of processing for processed queue\n",
|
||||||
|
"- Some minor bug-fixes and improvements\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/02/01\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.6.2`\n",
|
||||||
|
"\n",
|
||||||
|
"- Created tabs for settings in Batch Chunk Creator\n",
|
||||||
|
"- Added dialog for Align Photos settings\n",
|
||||||
|
"- Added new options in chunk definitions settings file\n",
|
||||||
|
"- Minor bug-fixes\n",
|
||||||
|
"\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"attachments": {},
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/31\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.6.1`\n",
|
||||||
|
"\n",
|
||||||
|
"- Changed batch process logging to use python.csv module for working with log files.\n",
|
||||||
|
"- Updated mesh settings dialog to include options for depth maps generation.\n",
|
||||||
|
"- Changed values for 'mesh_depthmaps' and 'mesh_face_count_custom'.\n",
|
||||||
|
"- Removed manual batch processing as it will be replaced with post-processing function.\n",
|
||||||
|
"- Updated icons for options in Model Settings dialog.\n",
|
||||||
|
"- Improved routines for batch processing.\n",
|
||||||
|
"- Moved progress bar text inside the pprogress bar.\n",
|
||||||
|
"- Fixed 'Process' button status text when processing is in progress.\n",
|
||||||
|
"- Added new folder 'gui_designs' that contains GUI designs for dialogs used in AutoFTG.\n",
|
||||||
|
"- Files cleanup.\n",
|
||||||
|
"\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/28\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.6.0`\n",
|
||||||
|
"\n",
|
||||||
|
"- Implemented processing of mesh, textures, point cloud, and data export options in Batch Chunk Creator\n",
|
||||||
|
"- List in Batch Chunk Creator now also show status for mesh and point cloud process (only works if done with batch processing)\n",
|
||||||
|
"- Added 'export_folder' to chunk definition settings (each definition has it's own export location)\n",
|
||||||
|
"- Settings dialog to editing options for mesh/texture processing in Batch Chunk Creator\n",
|
||||||
|
"- Added some new icons used in Batch Chunk Creator\n",
|
||||||
|
"- Added option in Batch Chunk Creator to open currently selected folder in File Explorer\n",
|
||||||
|
"- Added save and reset buttons in Batch Chunk Creator to store or reset current settings\n",
|
||||||
|
"- Created placeholder checkbox to disable importing of new data (in case if doing batch processing of Align Photos, Mesh, Point Cloud separatley for already imported chunks)\n",
|
||||||
|
"- Minor bug-fixes and improvements\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/25\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.5.6` ... `2.5.9`\n",
|
||||||
|
"\n",
|
||||||
|
"- Integrated option to align chunk when doing batch import\n",
|
||||||
|
"- Added column to see which chunks were aligned at import\n",
|
||||||
|
"- Added option 'set as default' to chunk definition and camera combo boxes in Batch Chunk Creator\n",
|
||||||
|
"- Implemented loading of project settings when starting Batch Chunk Creator\n",
|
||||||
|
"- Fixed column widths in Batch Chunk Creator folder list (now adjusts to contents)\n",
|
||||||
|
"- New menu/dialog for 'Chunk Definition Settings' to Add/Edit/Delete chunk definitions.\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/17\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.5.5`\n",
|
||||||
|
"\n",
|
||||||
|
"- Added process log file for projects. (Logs imported chunks)\n",
|
||||||
|
"- New logo icon for AutoFTG\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.5.4`\n",
|
||||||
|
"\n",
|
||||||
|
"1. Cleanup\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/16\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.5.3`\n",
|
||||||
|
"\n",
|
||||||
|
"- Updates and improvements for processing progres indicators.\n",
|
||||||
|
"- Added check for options:\n",
|
||||||
|
" - Automatic Processing\n",
|
||||||
|
" - Automatic Target Detection\n",
|
||||||
|
" - Import Marker Coordinates\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/14\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.5.2`\n",
|
||||||
|
"\n",
|
||||||
|
"- Added processing progres indicators.\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/14\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.5.1`\n",
|
||||||
|
"\n",
|
||||||
|
"- Added check for point file and image number in Batch Chunk Creator\n",
|
||||||
|
"- Fixed chunk prefix-suffix handling\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/13\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.5.0`\n",
|
||||||
|
"\n",
|
||||||
|
"- Added new Batch Chunk Creator\n",
|
||||||
|
"- Minor bug-fixes and improvements\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/01\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.4.6-RC`\n",
|
||||||
|
"\n",
|
||||||
|
"- Reworked settings storage for all settings files to use *.ini file strusture.\n",
|
||||||
|
"- Minor improvements for Camera Editer, Camera Add/Edit, and Edit Settings dialogs.\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2023/01/01\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.4.5-RC`\n",
|
||||||
|
"\n",
|
||||||
|
"- Upgraded Add/Edit Camera dialog to use PySide2 module\n",
|
||||||
|
"- Added new options for camera Type/SubType in cameras settings (cam_settings.ini)\n",
|
||||||
|
"- Added 'Spherical', 'Cylindrical', and 'RPC' camera type options\n",
|
||||||
|
"- Added new icons for camera type/subtype\n",
|
||||||
|
"- Redone camera list refreshing in Camera Editor\n",
|
||||||
|
"- Added new settings for chunk creation (category, menu icon, chunk name prefix/suffix)\n",
|
||||||
|
"- Changed menu options for adding chunks<br>*Now opens a dialog window with drop-down menu containing a list of availabile settings for new chunk creation.*\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/12/31\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.4.4-RC`\n",
|
||||||
|
"\n",
|
||||||
|
"- Fixed list in camera editor (not loading properly ofter adding/editing camera)\n",
|
||||||
|
"- Fixed dialogs for editing prefix/suffix for chunk name creation\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/12/30\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.4.3-RC`\n",
|
||||||
|
"\n",
|
||||||
|
"- Fixed list in camera editor (not loading properly ofter adding/editing camera)\n",
|
||||||
|
"- Fixed camera Save/Edit functions in Camera Editor, so they are now saved with correct values\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/12/29\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.4.2-RC`\n",
|
||||||
|
"\n",
|
||||||
|
"- Added option `SubType` and `Resolution` to camera settings configuration (__cam_settings.ini__)\n",
|
||||||
|
"- Replaced easygui dialogs for Qt PySide2 custom dialog:\n",
|
||||||
|
" - New Dialog Class: `class Ui_dialogChooseCamera()`\n",
|
||||||
|
"\n",
|
||||||
|
"- Function definitions using new camera selection dialog:\n",
|
||||||
|
" - Updated: `def cam_calibrationSettings()`\n",
|
||||||
|
" - Updated: `def cam_calibrationChunk()`\n",
|
||||||
|
" - Updated: `def newchunk_aero()`\n",
|
||||||
|
"\n",
|
||||||
|
"- Updated camera list in Camera Editor to use new icons\n",
|
||||||
|
"- Updated `def appAbout()` to use PySide2 message box dialog\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.4.1-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- Replaced icon resorces to a more consistent themeing\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/12/23\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.4.0-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- Added more options to modify prefix/suffix for chunk names in New Chunk (2TIR)\n",
|
||||||
|
"- Fixed bug where script was in infinite loop when no project was present and user tried to load settings\n",
|
||||||
|
"- Reprogrammed default/current camera dialog to use PySide2 library instead of easygui\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.3.3-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- Added basic options to modify prefix/suffix for chunk names in New Chunk (2TIR)\n",
|
||||||
|
"- Settings for chunk name prefix/suffix are saved to settings file\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.3.2-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- Changed chunk naming format from prefix to suffix for following functions:\n",
|
||||||
|
" - *New Chunk (2TIR)/STOPNICA (IZKOP)*\n",
|
||||||
|
" - *New Chunk (2TIR)/STOPNICA (B.BET.)* \n",
|
||||||
|
"- Removed redundant 'Project File' value from settings.\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/12/18\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.3.1-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- Updated resources\n",
|
||||||
|
"- Minor bux fix in menu icons\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/12/18\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.3.0-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- New settings per project module added\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/12/11\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.2.0-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- Major redesign for camera settings (no longer hard-coded)\n",
|
||||||
|
"- New camera settings configuration\n",
|
||||||
|
"- New 'Add Camera' function\n",
|
||||||
|
"- Better settings loading\n",
|
||||||
|
"- Improved settings reset code\n",
|
||||||
|
"- Bug fixes\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/12/04\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.1.1-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- Minor bug fixes in new chunk creation routines\n",
|
||||||
|
"- Updated README.md to include installation instructions\n",
|
||||||
|
"- Some file reorganization\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/11/27\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.1.0-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- New settings menu\n",
|
||||||
|
"- Settings loading process redesigned to be more consistent (still needs some polishing)\n",
|
||||||
|
"- Added new icons\n",
|
||||||
|
"- Added 'About AutoFTG' in menu\n",
|
||||||
|
"- Changed main 'New Chunk' method to give more options when creating chunk\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/11/06\n",
|
||||||
|
"\n",
|
||||||
|
"## `2.0.x-beta`\n",
|
||||||
|
"\n",
|
||||||
|
"- Added basic settings menus\n",
|
||||||
|
"- New icons for menu items\n",
|
||||||
|
"- Completley rewritten routines for settings initialization and loading\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/10/16\n",
|
||||||
|
"\n",
|
||||||
|
"## `1.7.6`\n",
|
||||||
|
"\n",
|
||||||
|
"- Reorder manus for default settings\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/10/09\n",
|
||||||
|
"\n",
|
||||||
|
"## `1.7.5`\n",
|
||||||
|
"\n",
|
||||||
|
"- Added options to change default settings for:\n",
|
||||||
|
" - Change default project folder\n",
|
||||||
|
" - Change default camera calibration\n",
|
||||||
|
" - Change default point filtering spacing\n",
|
||||||
|
" - Change default point sampling\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/09/25\n",
|
||||||
|
"\n",
|
||||||
|
"## `1.1`\n",
|
||||||
|
"\n",
|
||||||
|
"- Working version. First usable script.\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n",
|
||||||
|
"### 2022/09/11\n",
|
||||||
|
"\n",
|
||||||
|
"## `1.0`\n",
|
||||||
|
"\n",
|
||||||
|
"- Initial version of AutoFTG\n",
|
||||||
|
"- Create chunk script\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"---\n",
|
||||||
|
"\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"language_info": {
|
||||||
|
"name": "python"
|
||||||
|
},
|
||||||
|
"orig_nbformat": 4
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 2
|
||||||
|
}
|
BIN
AutoFTG/doc/GitHub_repo_card.png
Normal file
After Width: | Height: | Size: 153 KiB |
BIN
AutoFTG/doc/GitHub_repo_card_small.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
AutoFTG/doc/menu_preview.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
AutoFTG/doc/menu_preview2.jpg
Normal file
After Width: | Height: | Size: 184 KiB |
BIN
AutoFTG/doc/menu_preview3.jpg
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
AutoFTG/doc/menu_preview4.jpg
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
AutoFTG/doc/menu_preview5.jpg
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
AutoFTG/doc/menu_preview6.jpg
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
AutoFTG/doc/menu_preview7.jpg
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
AutoFTG/doc/menu_preview8.jpg
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
AutoFTG/doc/menu_preview_AlignPhotosSet.jpg
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
AutoFTG/doc/metashape_python_api_2_0_0.pdf
Normal file
1178
AutoFTG/gui_designs/diaAddNewChunkBatch.py
Normal file
2538
AutoFTG/gui_designs/diaAddNewChunkBatch.ui
Normal file
253
AutoFTG/gui_designs/diaAddNewChunkBatchSetAlign.py
Normal file
|
@ -0,0 +1,253 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'diaAddNewChunkBatchSetAlign.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_DialogAlignPhotos(object):
|
||||||
|
def setupUi(self, DialogAlignPhotos):
|
||||||
|
if not DialogAlignPhotos.objectName():
|
||||||
|
DialogAlignPhotos.setObjectName(u"DialogAlignPhotos")
|
||||||
|
DialogAlignPhotos.resize(290, 460)
|
||||||
|
DialogAlignPhotos.setWindowTitle(u"Align Photos Settings")
|
||||||
|
self.formLayoutWidget = QWidget(DialogAlignPhotos)
|
||||||
|
self.formLayoutWidget.setObjectName(u"formLayoutWidget")
|
||||||
|
self.formLayoutWidget.setGeometry(QRect(0, 0, 291, 461))
|
||||||
|
self.formLayout = QFormLayout(self.formLayoutWidget)
|
||||||
|
self.formLayout.setObjectName(u"formLayout")
|
||||||
|
self.formLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.label_4 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_4.setObjectName(u"label_4")
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_4.setSizePolicy(sizePolicy)
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(14)
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.label_4.setFont(font)
|
||||||
|
self.label_4.setText(u"Align Photos Settings")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(0, QFormLayout.SpanningRole, self.label_4)
|
||||||
|
|
||||||
|
self.line = QFrame(self.formLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(1, QFormLayout.SpanningRole, self.line)
|
||||||
|
|
||||||
|
self.label = QLabel(self.formLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(11)
|
||||||
|
self.label.setFont(font1)
|
||||||
|
self.label.setText(u"Quality")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.LabelRole, self.label)
|
||||||
|
|
||||||
|
self.comboBox_quality = QComboBox(self.formLayoutWidget)
|
||||||
|
self.comboBox_quality.addItem(u"Highest")
|
||||||
|
self.comboBox_quality.addItem(u"High")
|
||||||
|
self.comboBox_quality.addItem(u"Medium")
|
||||||
|
self.comboBox_quality.addItem(u"Low")
|
||||||
|
self.comboBox_quality.addItem(u"Lowest")
|
||||||
|
self.comboBox_quality.setObjectName(u"comboBox_quality")
|
||||||
|
self.comboBox_quality.setCurrentText(u"Highest")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.FieldRole, self.comboBox_quality)
|
||||||
|
|
||||||
|
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(3, QFormLayout.SpanningRole, self.line_2)
|
||||||
|
|
||||||
|
self.label_2 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
self.label_2.setFont(font1)
|
||||||
|
self.label_2.setText(u"Pre-selection")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(4, QFormLayout.LabelRole, self.label_2)
|
||||||
|
|
||||||
|
self.checkBox_gen = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_gen.setObjectName(u"checkBox_gen")
|
||||||
|
self.checkBox_gen.setText(u"Generic")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(4, QFormLayout.FieldRole, self.checkBox_gen)
|
||||||
|
|
||||||
|
self.checkBox_ref = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_ref.setObjectName(u"checkBox_ref")
|
||||||
|
self.checkBox_ref.setText(u"Reference")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(5, QFormLayout.FieldRole, self.checkBox_ref)
|
||||||
|
|
||||||
|
self.comboBox_ref = QComboBox(self.formLayoutWidget)
|
||||||
|
self.comboBox_ref.addItem(u"Source")
|
||||||
|
self.comboBox_ref.addItem(u"Estimated")
|
||||||
|
self.comboBox_ref.addItem(u"Sequential")
|
||||||
|
self.comboBox_ref.setObjectName(u"comboBox_ref")
|
||||||
|
self.comboBox_ref.setEnabled(False)
|
||||||
|
self.comboBox_ref.setCurrentText(u"Source")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(6, QFormLayout.FieldRole, self.comboBox_ref)
|
||||||
|
|
||||||
|
self.line_5 = QFrame(self.formLayoutWidget)
|
||||||
|
self.line_5.setObjectName(u"line_5")
|
||||||
|
self.line_5.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_5.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(7, QFormLayout.SpanningRole, self.line_5)
|
||||||
|
|
||||||
|
self.label_3 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_3.setObjectName(u"label_3")
|
||||||
|
self.label_3.setFont(font1)
|
||||||
|
self.label_3.setText(u"Point Limit")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(8, QFormLayout.LabelRole, self.label_3)
|
||||||
|
|
||||||
|
self.horizontalLayout_2 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
|
self.label_6 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_6.setObjectName(u"label_6")
|
||||||
|
sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_6.setSizePolicy(sizePolicy)
|
||||||
|
self.label_6.setText(u"Key")
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.label_6)
|
||||||
|
|
||||||
|
self.label_5 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_5.setObjectName(u"label_5")
|
||||||
|
sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_5.setSizePolicy(sizePolicy)
|
||||||
|
self.label_5.setText(u"Tie")
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.label_5)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(8, QFormLayout.FieldRole, self.horizontalLayout_2)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.lineEdit_keypoints = QLineEdit(self.formLayoutWidget)
|
||||||
|
self.lineEdit_keypoints.setObjectName(u"lineEdit_keypoints")
|
||||||
|
self.lineEdit_keypoints.setPlaceholderText(u"40000")
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.lineEdit_keypoints)
|
||||||
|
|
||||||
|
self.lineEdit_tiepoints = QLineEdit(self.formLayoutWidget)
|
||||||
|
self.lineEdit_tiepoints.setObjectName(u"lineEdit_tiepoints")
|
||||||
|
self.lineEdit_tiepoints.setPlaceholderText(u"10000")
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.lineEdit_tiepoints)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(9, QFormLayout.FieldRole, self.horizontalLayout)
|
||||||
|
|
||||||
|
self.line_4 = QFrame(self.formLayoutWidget)
|
||||||
|
self.line_4.setObjectName(u"line_4")
|
||||||
|
self.line_4.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_4.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(10, QFormLayout.SpanningRole, self.line_4)
|
||||||
|
|
||||||
|
self.label_7 = QLabel(self.formLayoutWidget)
|
||||||
|
self.label_7.setObjectName(u"label_7")
|
||||||
|
self.label_7.setFont(font1)
|
||||||
|
self.label_7.setText(u"Other")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(11, QFormLayout.LabelRole, self.label_7)
|
||||||
|
|
||||||
|
self.checkBox_filtmask = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_filtmask.setObjectName(u"checkBox_filtmask")
|
||||||
|
self.checkBox_filtmask.setText(u"Filter Masked")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(11, QFormLayout.FieldRole, self.checkBox_filtmask)
|
||||||
|
|
||||||
|
self.checkBox_masktie = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_masktie.setObjectName(u"checkBox_masktie")
|
||||||
|
self.checkBox_masktie.setText(u"Mask Tie Points")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(13, QFormLayout.FieldRole, self.checkBox_masktie)
|
||||||
|
|
||||||
|
self.checkBox_keepkey = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_keepkey.setObjectName(u"checkBox_keepkey")
|
||||||
|
self.checkBox_keepkey.setText(u"Keep Key Points")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(14, QFormLayout.FieldRole, self.checkBox_keepkey)
|
||||||
|
|
||||||
|
self.checkBox_guided = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_guided.setObjectName(u"checkBox_guided")
|
||||||
|
self.checkBox_guided.setText(u"Guided Matching")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(15, QFormLayout.FieldRole, self.checkBox_guided)
|
||||||
|
|
||||||
|
self.checkBox_reset = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_reset.setObjectName(u"checkBox_reset")
|
||||||
|
self.checkBox_reset.setText(u"Reset Alignement")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(16, QFormLayout.FieldRole, self.checkBox_reset)
|
||||||
|
|
||||||
|
self.verticalSpacer = QSpacerItem(20, 5, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
||||||
|
|
||||||
|
self.formLayout.setItem(17, QFormLayout.FieldRole, self.verticalSpacer)
|
||||||
|
|
||||||
|
self.horizontalLayout_3 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||||
|
self.pushButton_save = QPushButton(self.formLayoutWidget)
|
||||||
|
self.pushButton_save.setObjectName(u"pushButton_save")
|
||||||
|
self.pushButton_save.setText(u"Save")
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/icons8-save-as-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_save.setIcon(icon)
|
||||||
|
self.pushButton_save.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.pushButton_save)
|
||||||
|
|
||||||
|
self.pushButton_cancel = QPushButton(self.formLayoutWidget)
|
||||||
|
self.pushButton_cancel.setObjectName(u"pushButton_cancel")
|
||||||
|
self.pushButton_cancel.setText(u"Cancel")
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-close-window-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_cancel.setIcon(icon1)
|
||||||
|
self.pushButton_cancel.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.pushButton_cancel)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(18, QFormLayout.FieldRole, self.horizontalLayout_3)
|
||||||
|
|
||||||
|
self.checkBox_filtsta = QCheckBox(self.formLayoutWidget)
|
||||||
|
self.checkBox_filtsta.setObjectName(u"checkBox_filtsta")
|
||||||
|
self.checkBox_filtsta.setText(u"Filter Stationary Points")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(12, QFormLayout.FieldRole, self.checkBox_filtsta)
|
||||||
|
|
||||||
|
|
||||||
|
self.retranslateUi(DialogAlignPhotos)
|
||||||
|
self.checkBox_ref.stateChanged.connect(self.comboBox_ref.setCurrentIndex)
|
||||||
|
|
||||||
|
QMetaObject.connectSlotsByName(DialogAlignPhotos)
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, DialogAlignPhotos):
|
||||||
|
|
||||||
|
|
||||||
|
pass
|
||||||
|
# retranslateUi
|
||||||
|
|
375
AutoFTG/gui_designs/diaAddNewChunkBatchSetAlign.ui
Normal file
|
@ -0,0 +1,375 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>DialogAlignPhotos</class>
|
||||||
|
<widget class="QDialog" name="DialogAlignPhotos">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>290</width>
|
||||||
|
<height>460</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string notr="true">Align Photos Settings</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="formLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>291</width>
|
||||||
|
<height>461</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>14</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Align Photos Settings</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" colspan="2">
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Quality</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBox_quality">
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">Highest</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Highest</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">High</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Medium</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Low</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Lowest</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0" colspan="2">
|
||||||
|
<widget class="Line" name="line_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Pre-selection</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_gen">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Generic</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_ref">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Reference</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBox_ref">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">Source</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Source</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Estimated</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Sequential</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="0" colspan="2">
|
||||||
|
<widget class="Line" name="line_5">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Point Limit</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Key</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Tie</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="9" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit_keypoints">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string notr="true">40000</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit_tiepoints">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string notr="true">10000</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="0" colspan="2">
|
||||||
|
<widget class="Line" name="line_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="0">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Other</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_filtmask">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Filter Masked</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="13" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_masktie">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Mask Tie Points</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="14" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_keepkey">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Keep Key Points</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="15" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_guided">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Guided Matching</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_reset">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Reset Alignement</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="17" column="1">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>5</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="18" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_save">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Save</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-save-as-50.png</normaloff>:/icons/icons8-save-as-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_cancel">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Cancel</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-close-window-50.png</normaloff>:/icons/icons8-close-window-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_filtsta">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Filter Stationary Points</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<resources>
|
||||||
|
<include location="../qtresources.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>checkBox_ref</sender>
|
||||||
|
<signal>stateChanged(int)</signal>
|
||||||
|
<receiver>comboBox_ref</receiver>
|
||||||
|
<slot>setCurrentIndex(int)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>226</x>
|
||||||
|
<y>114</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>228</x>
|
||||||
|
<y>138</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
408
AutoFTG/gui_designs/diaAddNewChunkBatchSetMesh.py
Normal file
|
@ -0,0 +1,408 @@
|
||||||
|
# -*- 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
|
||||||
|
|
745
AutoFTG/gui_designs/diaAddNewChunkBatchSetMesh.ui
Normal file
|
@ -0,0 +1,745 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>DialogSettingsMesh</class>
|
||||||
|
<widget class="QDialog" name="DialogSettingsMesh">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>350</width>
|
||||||
|
<height>510</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string notr="true">Settings: Mesh & Textures</string>
|
||||||
|
</property>
|
||||||
|
<property name="windowIcon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/AutoFTG-appicon.png</normaloff>:/icons/AutoFTG-appicon.png</iconset>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="formLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>351</width>
|
||||||
|
<height>511</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>5</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_11">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::NoFrame</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="../qtresources.qrc">:/icons/icons8-geodesic-dome-48.png</pixmap>
|
||||||
|
</property>
|
||||||
|
<property name="scaledContents">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Depth Maps</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_8">
|
||||||
|
<property name="text">
|
||||||
|
<string>Depth Maps Quality</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBox_depthQuality">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>26</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>26</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">Medium</string>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Ultra High</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-connection-status-on-48.png</normaloff>:/icons/icons8-connection-status-on-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">HIgh</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-signal-full-48.png</normaloff>:/icons/icons8-signal-full-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Medium</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-signal-48.png</normaloff>:/icons/icons8-signal-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Low</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-low-connection-48.png</normaloff>:/icons/icons8-low-connection-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Lowest</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-no-connection-48.png</normaloff>:/icons/icons8-no-connection-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_9">
|
||||||
|
<property name="text">
|
||||||
|
<string>Depth Filtering</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBox_depthFilter">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>26</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>26</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">Moderate</string>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Mild</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Moderate</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Aggresive</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0" colspan="2">
|
||||||
|
<widget class="Line" name="line_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0" colspan="2">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_12">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::NoFrame</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="../qtresources.qrc">:/icons/icons8-mesh-48.png</pixmap>
|
||||||
|
</property>
|
||||||
|
<property name="scaledContents">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_10">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Mesh Options</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Surface Type</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QComboBox" name="cbMeshType">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>26</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>26</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true">Choose type of model reconstruction</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Arbitrary</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-3d-48.png</normaloff>:/icons/icons8-3d-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Height Field</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-national-park-48.png</normaloff>:/icons/icons8-national-park-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Face Count</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<widget class="QComboBox" name="cbFaceCount">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>26</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>26</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true">Choose face count density</string>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">Medium</string>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">High</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-signal-full-48.png</normaloff>:/icons/icons8-signal-full-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Medium</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-signal-48.png</normaloff>:/icons/icons8-signal-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Low</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-low-connection-48.png</normaloff>:/icons/icons8-low-connection-48.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Custom</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-rename-50.png</normaloff>:/icons/icons8-rename-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditFaceCount">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string notr="true">Custom face count</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_inter">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true">Enable interpolation</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Interpolation</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="9" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_vcol">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true">Calculate vertex colors</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Vertex Colors</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBox_vcon">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true">Calculate vertex confidence</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Vertex Confidence</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="0" colspan="2">
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="0" colspan="2">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_13">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::NoFrame</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="../qtresources.qrc">:/icons/icons8-video-wall-50.png</pixmap>
|
||||||
|
</property>
|
||||||
|
<property name="scaledContents">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Textures Options</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="13" column="0" colspan="2">
|
||||||
|
<widget class="QGroupBox" name="groupBox_buildTex">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>90</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string notr="true">Build Textures</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="gridLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>30</y>
|
||||||
|
<width>311</width>
|
||||||
|
<height>52</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Size</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QCheckBox" name="checkBox_texFillHoles">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Fill Holes</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QLineEdit" name="lineEdit_texSize">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>60</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">4096</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="4">
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Levels</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QCheckBox" name="checkBox_texGhostFilt">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Ghosting Filter</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="4">
|
||||||
|
<widget class="QLineEdit" name="lineEdit_texLevels">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>50</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">1</string>
|
||||||
|
</property>
|
||||||
|
<property name="maxLength">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="3">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">x</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>5</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="15" column="0" colspan="2">
|
||||||
|
<widget class="Line" name="line_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_Save">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Save</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-save-close-50.png</normaloff>:/icons/icons8-save-close-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="default">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_Cancel">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Cancel</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-close-window-50.png</normaloff>:/icons/icons8-close-window-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="14" column="1">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<tabstops>
|
||||||
|
<tabstop>comboBox_depthQuality</tabstop>
|
||||||
|
<tabstop>comboBox_depthFilter</tabstop>
|
||||||
|
<tabstop>cbMeshType</tabstop>
|
||||||
|
<tabstop>cbFaceCount</tabstop>
|
||||||
|
<tabstop>lineEditFaceCount</tabstop>
|
||||||
|
<tabstop>checkBox_inter</tabstop>
|
||||||
|
<tabstop>checkBox_vcol</tabstop>
|
||||||
|
<tabstop>checkBox_vcon</tabstop>
|
||||||
|
<tabstop>groupBox_buildTex</tabstop>
|
||||||
|
<tabstop>checkBox_texFillHoles</tabstop>
|
||||||
|
<tabstop>checkBox_texGhostFilt</tabstop>
|
||||||
|
<tabstop>lineEdit_texSize</tabstop>
|
||||||
|
<tabstop>lineEdit_texLevels</tabstop>
|
||||||
|
<tabstop>pushButton_Save</tabstop>
|
||||||
|
<tabstop>pushButton_Cancel</tabstop>
|
||||||
|
</tabstops>
|
||||||
|
<resources>
|
||||||
|
<include location="../qtresources.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>pushButton_Cancel</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>DialogSettingsMesh</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>237</x>
|
||||||
|
<y>395</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>297</x>
|
||||||
|
<y>417</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>pushButton_Save</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>DialogSettingsMesh</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>122</x>
|
||||||
|
<y>396</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>105</x>
|
||||||
|
<y>415</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>cbFaceCount</sender>
|
||||||
|
<signal>highlighted(QString)</signal>
|
||||||
|
<receiver>lineEditFaceCount</receiver>
|
||||||
|
<slot>setText(QString)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>249</x>
|
||||||
|
<y>77</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>230</x>
|
||||||
|
<y>106</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
163
AutoFTG/gui_designs/diaAddNewChunkBatchSetPoint.py
Normal file
|
@ -0,0 +1,163 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'diaAddNewChunkBatchSetPoint.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_Dialog(object):
|
||||||
|
def setupUi(self, Dialog):
|
||||||
|
if not Dialog.objectName():
|
||||||
|
Dialog.setObjectName(u"Dialog")
|
||||||
|
Dialog.resize(320, 240)
|
||||||
|
self.actionSetPointSampling = QAction(Dialog)
|
||||||
|
self.actionSetPointSampling.setObjectName(u"actionSetPointSampling")
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/icons8-live-photos-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.actionSetPointSampling.setIcon(icon)
|
||||||
|
self.gridLayoutWidget = QWidget(Dialog)
|
||||||
|
self.gridLayoutWidget.setObjectName(u"gridLayoutWidget")
|
||||||
|
self.gridLayoutWidget.setGeometry(QRect(0, 0, 321, 243))
|
||||||
|
self.gridLayout = QGridLayout(self.gridLayoutWidget)
|
||||||
|
self.gridLayout.setSpacing(5)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout.setObjectName(u"gridLayout")
|
||||||
|
self.gridLayout.setHorizontalSpacing(10)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.checkBox_2 = QCheckBox(self.gridLayoutWidget)
|
||||||
|
self.checkBox_2.setObjectName(u"checkBox_2")
|
||||||
|
self.checkBox_2.setLayoutDirection(Qt.RightToLeft)
|
||||||
|
self.checkBox_2.setText(u"Calculate Confidence")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.checkBox_2, 3, 0, 1, 1)
|
||||||
|
|
||||||
|
self.line = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.line, 1, 0, 1, 2)
|
||||||
|
|
||||||
|
self.label_3 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_3.setObjectName(u"label_3")
|
||||||
|
self.label_3.setText(u"Regular")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_3, 4, 1, 1, 1)
|
||||||
|
|
||||||
|
self.lineEdit = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit.setObjectName(u"lineEdit")
|
||||||
|
self.lineEdit.setPlaceholderText(u"0.05")
|
||||||
|
self.lineEdit.setClearButtonEnabled(True)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.lineEdit, 5, 1, 1, 1)
|
||||||
|
|
||||||
|
self.checkBox_3 = QCheckBox(self.gridLayoutWidget)
|
||||||
|
self.checkBox_3.setObjectName(u"checkBox_3")
|
||||||
|
self.checkBox_3.setLayoutDirection(Qt.RightToLeft)
|
||||||
|
self.checkBox_3.setText(u"Point Sampling")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.checkBox_3, 4, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
self.label.setText(u"Enabled")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label, 2, 1, 1, 1)
|
||||||
|
|
||||||
|
self.label_4 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_4.setObjectName(u"label_4")
|
||||||
|
self.label_4.setText(u"Point spacing (m)")
|
||||||
|
self.label_4.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
self.label_2.setText(u"Disabled")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_2, 3, 1, 1, 1)
|
||||||
|
|
||||||
|
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
||||||
|
|
||||||
|
self.gridLayout.addItem(self.verticalSpacer, 6, 1, 1, 1)
|
||||||
|
|
||||||
|
self.checkBox = QCheckBox(self.gridLayoutWidget)
|
||||||
|
self.checkBox.setObjectName(u"checkBox")
|
||||||
|
self.checkBox.setLayoutDirection(Qt.RightToLeft)
|
||||||
|
self.checkBox.setText(u"Calculate Colors")
|
||||||
|
self.checkBox.setChecked(True)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.checkBox, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_5 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_5.setObjectName(u"label_5")
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(14)
|
||||||
|
self.label_5.setFont(font)
|
||||||
|
self.label_5.setText(u"Point Cloud Settings")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_5, 0, 0, 1, 2)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(5)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.pushButton = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton.setObjectName(u"pushButton")
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton.setSizePolicy(sizePolicy)
|
||||||
|
self.pushButton.setText(u"Cancel")
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-close-window-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton.setIcon(icon1)
|
||||||
|
self.pushButton.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton)
|
||||||
|
|
||||||
|
self.pushButton_2 = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_2.setObjectName(u"pushButton_2")
|
||||||
|
sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_2.setSizePolicy(sizePolicy)
|
||||||
|
self.pushButton_2.setText(u"Save")
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/icons8-save-as-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_2.setIcon(icon2)
|
||||||
|
self.pushButton_2.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton_2)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout, 7, 0, 1, 2)
|
||||||
|
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.label_4.setBuddy(self.lineEdit)
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
QWidget.setTabOrder(self.checkBox, self.checkBox_2)
|
||||||
|
QWidget.setTabOrder(self.checkBox_2, self.checkBox_3)
|
||||||
|
QWidget.setTabOrder(self.checkBox_3, self.lineEdit)
|
||||||
|
QWidget.setTabOrder(self.lineEdit, self.pushButton_2)
|
||||||
|
QWidget.setTabOrder(self.pushButton_2, self.pushButton)
|
||||||
|
|
||||||
|
self.retranslateUi(Dialog)
|
||||||
|
self.pushButton_2.clicked.connect(Dialog.accept)
|
||||||
|
self.pushButton.clicked.connect(Dialog.reject)
|
||||||
|
self.checkBox_3.toggled.connect(self.actionSetPointSampling.setVisible)
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, Dialog):
|
||||||
|
Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None))
|
||||||
|
self.actionSetPointSampling.setText(QCoreApplication.translate("Dialog", u"Enabled", None))
|
||||||
|
# retranslateUi
|
||||||
|
|
293
AutoFTG/gui_designs/diaAddNewChunkBatchSetPoint.ui
Normal file
|
@ -0,0 +1,293 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0" connectslotsbyname="false">
|
||||||
|
<author>Boris Bilc</author>
|
||||||
|
<class>Dialog</class>
|
||||||
|
<widget class="QDialog" name="Dialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>320</width>
|
||||||
|
<height>240</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Dialog</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="gridLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>321</width>
|
||||||
|
<height>243</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="horizontalSpacing">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QCheckBox" name="checkBox_2">
|
||||||
|
<property name="layoutDirection">
|
||||||
|
<enum>Qt::RightToLeft</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Calculate Confidence</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" colspan="2">
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Regular</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEdit">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string notr="true">0.05</string>
|
||||||
|
</property>
|
||||||
|
<property name="clearButtonEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QCheckBox" name="checkBox_3">
|
||||||
|
<property name="layoutDirection">
|
||||||
|
<enum>Qt::RightToLeft</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Point Sampling</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Enabled</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Point spacing (m)</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>lineEdit</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Disabled</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QCheckBox" name="checkBox">
|
||||||
|
<property name="layoutDirection">
|
||||||
|
<enum>Qt::RightToLeft</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Calculate Colors</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>14</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Point Cloud Settings</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="0" colspan="2">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Cancel</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-close-window-50.png</normaloff>:/icons/icons8-close-window-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Save</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-save-as-50.png</normaloff>:/icons/icons8-save-as-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<action name="actionSetPointSampling">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-live-photos-96.png</normaloff>:/icons/icons8-live-photos-96.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Enabled</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="5" margin="10"/>
|
||||||
|
<tabstops>
|
||||||
|
<tabstop>checkBox</tabstop>
|
||||||
|
<tabstop>checkBox_2</tabstop>
|
||||||
|
<tabstop>checkBox_3</tabstop>
|
||||||
|
<tabstop>lineEdit</tabstop>
|
||||||
|
<tabstop>pushButton_2</tabstop>
|
||||||
|
<tabstop>pushButton</tabstop>
|
||||||
|
</tabstops>
|
||||||
|
<resources>
|
||||||
|
<include location="../qtresources.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>pushButton_2</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>Dialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>217</x>
|
||||||
|
<y>215</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>314</x>
|
||||||
|
<y>226</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>pushButton</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>Dialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>96</x>
|
||||||
|
<y>219</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>102</x>
|
||||||
|
<y>238</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>checkBox_3</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>actionSetPointSampling</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>81</x>
|
||||||
|
<y>114</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>-1</x>
|
||||||
|
<y>-1</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
<designerdata>
|
||||||
|
<property name="gridDeltaX">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridDeltaY">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapX">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapY">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</designerdata>
|
||||||
|
</ui>
|
4601
AutoFTG/gui_designs/diaBatchChunkCreator.ui
Normal file
688
AutoFTG/gui_designs/diaChunkSettingsEditor.py
Normal file
|
@ -0,0 +1,688 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'diaChunkSettingsEditor.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_DialogChunkSettings(object):
|
||||||
|
def setupUi(self, DialogChunkSettings):
|
||||||
|
if not DialogChunkSettings.objectName():
|
||||||
|
DialogChunkSettings.setObjectName(u"DialogChunkSettings")
|
||||||
|
DialogChunkSettings.resize(720, 480)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(DialogChunkSettings.sizePolicy().hasHeightForWidth())
|
||||||
|
DialogChunkSettings.setSizePolicy(sizePolicy)
|
||||||
|
DialogChunkSettings.setMinimumSize(QSize(720, 180))
|
||||||
|
DialogChunkSettings.setMaximumSize(QSize(720, 480))
|
||||||
|
DialogChunkSettings.setWindowTitle(u"Chunk Settings Editor")
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
DialogChunkSettings.setWindowIcon(icon)
|
||||||
|
self.gridLayoutWidget = QWidget(DialogChunkSettings)
|
||||||
|
self.gridLayoutWidget.setObjectName(u"gridLayoutWidget")
|
||||||
|
self.gridLayoutWidget.setGeometry(QRect(9, 10, 701, 461))
|
||||||
|
self.gridLayout = QGridLayout(self.gridLayoutWidget)
|
||||||
|
self.gridLayout.setSpacing(5)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout.setObjectName(u"gridLayout")
|
||||||
|
self.gridLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.label_menuSet_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_menuSet_2.setObjectName(u"label_menuSet_2")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.label_menuSet_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_menuSet_2.setSizePolicy(sizePolicy1)
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(12)
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.label_menuSet_2.setFont(font)
|
||||||
|
self.label_menuSet_2.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.label_menuSet_2.setText(u"Chunk Definitions List")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_menuSet_2, 0, 0, 1, 1)
|
||||||
|
|
||||||
|
self.listWidgetChunkDefs = QListWidget(self.gridLayoutWidget)
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-add-tab-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem.setText(u"Default");
|
||||||
|
__qlistwidgetitem.setIcon(icon1);
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/template_kalota-zelena.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem1 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem1.setText(u"T8 GC - KALOTA");
|
||||||
|
__qlistwidgetitem1.setIcon(icon2);
|
||||||
|
icon3 = QIcon()
|
||||||
|
icon3.addFile(u":/icons/template_stopnica-zelena.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem2 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem2.setText(u"T8 GC - STOPNICA - IZKOP");
|
||||||
|
__qlistwidgetitem2.setIcon(icon3);
|
||||||
|
icon4 = QIcon()
|
||||||
|
icon4.addFile(u":/icons/template_kalota-oranzna.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem3 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem3.setText(u"T8 PRECNIK-4");
|
||||||
|
__qlistwidgetitem3.setIcon(icon4);
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/template_kalota-modra.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem4 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem4.setText(u"T8 SC - KALOTA");
|
||||||
|
__qlistwidgetitem4.setIcon(icon5);
|
||||||
|
icon6 = QIcon()
|
||||||
|
icon6.addFile(u":/icons/template_stopnica-modra.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem5 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem5.setText(u"T8 SC - STOPNICA - IZKOP");
|
||||||
|
__qlistwidgetitem5.setIcon(icon6);
|
||||||
|
self.listWidgetChunkDefs.setObjectName(u"listWidgetChunkDefs")
|
||||||
|
sizePolicy2 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
|
||||||
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
|
sizePolicy2.setVerticalStretch(0)
|
||||||
|
sizePolicy2.setHeightForWidth(self.listWidgetChunkDefs.sizePolicy().hasHeightForWidth())
|
||||||
|
self.listWidgetChunkDefs.setSizePolicy(sizePolicy2)
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(11)
|
||||||
|
self.listWidgetChunkDefs.setFont(font1)
|
||||||
|
self.listWidgetChunkDefs.setAutoScrollMargin(20)
|
||||||
|
self.listWidgetChunkDefs.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
||||||
|
self.listWidgetChunkDefs.setProperty("showDropIndicator", False)
|
||||||
|
self.listWidgetChunkDefs.setSelectionBehavior(QAbstractItemView.SelectItems)
|
||||||
|
self.listWidgetChunkDefs.setIconSize(QSize(24, 24))
|
||||||
|
self.listWidgetChunkDefs.setViewMode(QListView.ListMode)
|
||||||
|
self.listWidgetChunkDefs.setUniformItemSizes(True)
|
||||||
|
self.listWidgetChunkDefs.setSelectionRectVisible(True)
|
||||||
|
self.listWidgetChunkDefs.setSortingEnabled(False)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.listWidgetChunkDefs, 1, 0, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_6 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_6.setSpacing(5)
|
||||||
|
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
|
||||||
|
self.pushButton_sremove = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_sremove.setObjectName(u"pushButton_sremove")
|
||||||
|
self.pushButton_sremove.setEnabled(True)
|
||||||
|
sizePolicy3 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed)
|
||||||
|
sizePolicy3.setHorizontalStretch(0)
|
||||||
|
sizePolicy3.setVerticalStretch(0)
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_sremove.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_sremove.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_sremove.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sremove.setToolTip(u"<html><head/><body><p><span style=\" font-weight:600;\">Remove<br/></span>Remove selected definition</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sremove.setText(u"Remove")
|
||||||
|
icon7 = QIcon()
|
||||||
|
icon7.addFile(u":/icons/icons8-full-recycle-bin-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_sremove.setIcon(icon7)
|
||||||
|
self.pushButton_sremove.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sremove.setShortcut(u"R")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sremove.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addWidget(self.pushButton_sremove)
|
||||||
|
|
||||||
|
self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addItem(self.horizontalSpacer_3)
|
||||||
|
|
||||||
|
self.pushButton_sedit = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_sedit.setObjectName(u"pushButton_sedit")
|
||||||
|
self.pushButton_sedit.setEnabled(True)
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_sedit.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_sedit.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_sedit.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sedit.setToolTip(u"<html><head/><body><p><span style=\" font-weight:600;\">Edit</span><br/>Edit selected chunk definition</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sedit.setLayoutDirection(Qt.RightToLeft)
|
||||||
|
self.pushButton_sedit.setText(u"Edit")
|
||||||
|
icon8 = QIcon()
|
||||||
|
icon8.addFile(u":/icons/icons8-design-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_sedit.setIcon(icon8)
|
||||||
|
self.pushButton_sedit.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sedit.setShortcut(u"E")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sedit.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addWidget(self.pushButton_sedit)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_6, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.line = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.line, 3, 0, 1, 2)
|
||||||
|
|
||||||
|
self.formLayout = QFormLayout()
|
||||||
|
self.formLayout.setSpacing(5)
|
||||||
|
self.formLayout.setObjectName(u"formLayout")
|
||||||
|
self.formLayout.setHorizontalSpacing(5)
|
||||||
|
self.formLayout.setVerticalSpacing(5)
|
||||||
|
self.label_menuSet = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_menuSet.setObjectName(u"label_menuSet")
|
||||||
|
sizePolicy1.setHeightForWidth(self.label_menuSet.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_menuSet.setSizePolicy(sizePolicy1)
|
||||||
|
self.label_menuSet.setFont(font)
|
||||||
|
self.label_menuSet.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.label_menuSet.setText(u"Menu Settings")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(0, QFormLayout.SpanningRole, self.label_menuSet)
|
||||||
|
|
||||||
|
self.label_nameicon = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_nameicon.setObjectName(u"label_nameicon")
|
||||||
|
self.label_nameicon.setMinimumSize(QSize(80, 0))
|
||||||
|
self.label_nameicon.setMaximumSize(QSize(80, 16777215))
|
||||||
|
self.label_nameicon.setText(u"Name")
|
||||||
|
self.label_nameicon.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(1, QFormLayout.LabelRole, self.label_nameicon)
|
||||||
|
|
||||||
|
self.horizontalLayout_4 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_4.setSpacing(5)
|
||||||
|
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
|
||||||
|
self.lineEdit_name = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_name.setObjectName(u"lineEdit_name")
|
||||||
|
sizePolicy4 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
|
||||||
|
sizePolicy4.setHorizontalStretch(0)
|
||||||
|
sizePolicy4.setVerticalStretch(0)
|
||||||
|
sizePolicy4.setHeightForWidth(self.lineEdit_name.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_name.setSizePolicy(sizePolicy4)
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setFamily(u"Segoe UI")
|
||||||
|
font2.setPointSize(12)
|
||||||
|
self.lineEdit_name.setFont(font2)
|
||||||
|
self.lineEdit_name.setPlaceholderText(u"Name shown in list...")
|
||||||
|
|
||||||
|
self.horizontalLayout_4.addWidget(self.lineEdit_name)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(1, QFormLayout.FieldRole, self.horizontalLayout_4)
|
||||||
|
|
||||||
|
self.label_nameicon_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_nameicon_2.setObjectName(u"label_nameicon_2")
|
||||||
|
sizePolicy5 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
|
||||||
|
sizePolicy5.setHorizontalStretch(0)
|
||||||
|
sizePolicy5.setVerticalStretch(0)
|
||||||
|
sizePolicy5.setHeightForWidth(self.label_nameicon_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_nameicon_2.setSizePolicy(sizePolicy5)
|
||||||
|
font3 = QFont()
|
||||||
|
font3.setFamily(u"Segoe UI")
|
||||||
|
font3.setPointSize(9)
|
||||||
|
self.label_nameicon_2.setFont(font3)
|
||||||
|
self.label_nameicon_2.setText(u"Icon")
|
||||||
|
self.label_nameicon_2.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.LabelRole, self.label_nameicon_2)
|
||||||
|
|
||||||
|
self.comboBox_icon = QComboBox(self.gridLayoutWidget)
|
||||||
|
self.comboBox_icon.setObjectName(u"comboBox_icon")
|
||||||
|
sizePolicy6 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred)
|
||||||
|
sizePolicy6.setHorizontalStretch(0)
|
||||||
|
sizePolicy6.setVerticalStretch(0)
|
||||||
|
sizePolicy6.setHeightForWidth(self.comboBox_icon.sizePolicy().hasHeightForWidth())
|
||||||
|
self.comboBox_icon.setSizePolicy(sizePolicy6)
|
||||||
|
self.comboBox_icon.setMaximumSize(QSize(100, 16777215))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.comboBox_icon.setToolTip(u"Choose icon to be used in list...")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.comboBox_icon.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.FieldRole, self.comboBox_icon)
|
||||||
|
|
||||||
|
self.label_chunkSet = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_chunkSet.setObjectName(u"label_chunkSet")
|
||||||
|
sizePolicy1.setHeightForWidth(self.label_chunkSet.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_chunkSet.setSizePolicy(sizePolicy1)
|
||||||
|
self.label_chunkSet.setFont(font)
|
||||||
|
self.label_chunkSet.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.label_chunkSet.setText(u"Chunk Settings")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(3, QFormLayout.SpanningRole, self.label_chunkSet)
|
||||||
|
|
||||||
|
self.horizontalLayout_7 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_7.setSpacing(5)
|
||||||
|
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
|
||||||
|
self.groupBoxChunkName = QGroupBox(self.gridLayoutWidget)
|
||||||
|
self.groupBoxChunkName.setObjectName(u"groupBoxChunkName")
|
||||||
|
sizePolicy7 = QSizePolicy(QSizePolicy.Ignored, QSizePolicy.Preferred)
|
||||||
|
sizePolicy7.setHorizontalStretch(0)
|
||||||
|
sizePolicy7.setVerticalStretch(0)
|
||||||
|
sizePolicy7.setHeightForWidth(self.groupBoxChunkName.sizePolicy().hasHeightForWidth())
|
||||||
|
self.groupBoxChunkName.setSizePolicy(sizePolicy7)
|
||||||
|
self.groupBoxChunkName.setMinimumSize(QSize(0, 130))
|
||||||
|
font4 = QFont()
|
||||||
|
font4.setFamily(u"Segoe UI")
|
||||||
|
font4.setPointSize(9)
|
||||||
|
font4.setBold(True)
|
||||||
|
font4.setWeight(75)
|
||||||
|
self.groupBoxChunkName.setFont(font4)
|
||||||
|
self.groupBoxChunkName.setTitle(u"Chunk Name Format")
|
||||||
|
self.gridLayoutWidget_2 = QWidget(self.groupBoxChunkName)
|
||||||
|
self.gridLayoutWidget_2.setObjectName(u"gridLayoutWidget_2")
|
||||||
|
self.gridLayoutWidget_2.setGeometry(QRect(12, 25, 411, 100))
|
||||||
|
self.gridLayout_2 = QGridLayout(self.gridLayoutWidget_2)
|
||||||
|
self.gridLayout_2.setSpacing(5)
|
||||||
|
self.gridLayout_2.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout_2.setObjectName(u"gridLayout_2")
|
||||||
|
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.radioButton_5 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_5.setObjectName(u"radioButton_5")
|
||||||
|
sizePolicy8 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
||||||
|
sizePolicy8.setHorizontalStretch(0)
|
||||||
|
sizePolicy8.setVerticalStretch(0)
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_5.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_5.setSizePolicy(sizePolicy8)
|
||||||
|
font5 = QFont()
|
||||||
|
font5.setFamily(u"Segoe UI")
|
||||||
|
font5.setPointSize(9)
|
||||||
|
font5.setBold(False)
|
||||||
|
font5.setWeight(50)
|
||||||
|
self.radioButton_5.setFont(font5)
|
||||||
|
self.radioButton_5.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_5.setToolTip(u"<html><head/><body><p>Use date and time found in first image file that is imported from work folder.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_5.setText(u"Image date-time")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_5, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_3 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_3.setObjectName(u"radioButton_3")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_3.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_3.setFont(font5)
|
||||||
|
self.radioButton_3.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_3.setToolTip(u"<html><head/><body><p>Use metadata string from point file that must be located in imported data folder, and must also have the same name as data folder..</p><p><span style=\" font-weight:600;\">Info:</span> String must be in metadata format at the beginnig of point file, as described in help.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_3.setText(u"Point File Metadata")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_3, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_6 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_6.setObjectName(u"radioButton_6")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_6.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_6.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_6.setFont(font5)
|
||||||
|
self.radioButton_6.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_6.setToolTip(u"<html><head/><body><p>Use date and time at which chunk is created in custom provided format.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_6.setText(u"Custom date-time")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_6, 2, 1, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_2 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_2.setObjectName(u"radioButton_2")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_2.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_2.setFont(font5)
|
||||||
|
self.radioButton_2.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_2.setToolTip(u"<html><head/><body><p>Uses the name of folder from which data is beeing imported from.</p><p>* Recommended naming format.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_2.setText(u"Data Folder Name")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_2, 1, 0, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_1 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_1.setObjectName(u"radioButton_1")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_1.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_1.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_1.setFont(font5)
|
||||||
|
self.radioButton_1.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_1.setToolTip(u"<html><head/><body><p>Use default naming format provided by Metashape.</p><p>Example: Chunk 1, Chunk 2,...</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_1.setText(u"Metashape Default")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_1, 0, 0, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_4 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_4.setObjectName(u"radioButton_4")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_4.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_4.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_4.setFont(font5)
|
||||||
|
self.radioButton_4.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_4.setToolTip(u"<html><head/><body><p>Use date and time at which chunk is created.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_4.setText(u"Creation date-time")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_4, 0, 1, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_8 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_8.setSpacing(5)
|
||||||
|
self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
|
||||||
|
self.horizontalSpacer_4 = QSpacerItem(225, 0, QSizePolicy.Fixed, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_8.addItem(self.horizontalSpacer_4)
|
||||||
|
|
||||||
|
self.lineEdit = QLineEdit(self.gridLayoutWidget_2)
|
||||||
|
self.lineEdit.setObjectName(u"lineEdit")
|
||||||
|
self.lineEdit.setEnabled(False)
|
||||||
|
sizePolicy8.setHeightForWidth(self.lineEdit.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit.setSizePolicy(sizePolicy8)
|
||||||
|
self.lineEdit.setMinimumSize(QSize(140, 0))
|
||||||
|
self.lineEdit.setFont(font5)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit.setToolTip(u"<html><head/><body><p>Enter format string in python format.</p><p>*For details please check help first.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit.setPlaceholderText(u"%Y%m%d-%H%M%S")
|
||||||
|
|
||||||
|
self.horizontalLayout_8.addWidget(self.lineEdit)
|
||||||
|
|
||||||
|
self.horizontalSpacer_5 = QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_8.addItem(self.horizontalSpacer_5)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout_2.addLayout(self.horizontalLayout_8, 3, 0, 1, 2)
|
||||||
|
|
||||||
|
|
||||||
|
self.horizontalLayout_7.addWidget(self.groupBoxChunkName)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(4, QFormLayout.SpanningRole, self.horizontalLayout_7)
|
||||||
|
|
||||||
|
self.label_wfolder_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_wfolder_2.setObjectName(u"label_wfolder_2")
|
||||||
|
self.label_wfolder_2.setFont(font3)
|
||||||
|
self.label_wfolder_2.setText(u"Prefix/Suffix")
|
||||||
|
self.label_wfolder_2.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(5, QFormLayout.LabelRole, self.label_wfolder_2)
|
||||||
|
|
||||||
|
self.horizontalLayout_5 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_5.setSpacing(5)
|
||||||
|
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
|
||||||
|
self.lineEdit_pre = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_pre.setObjectName(u"lineEdit_pre")
|
||||||
|
self.lineEdit_pre.setEnabled(False)
|
||||||
|
sizePolicy4.setHeightForWidth(self.lineEdit_pre.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_pre.setSizePolicy(sizePolicy4)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_pre.setToolTip(u"Leave empty to disable prefix.")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_pre.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
|
||||||
|
self.lineEdit_pre.setPlaceholderText(u"PREFIX_")
|
||||||
|
|
||||||
|
self.horizontalLayout_5.addWidget(self.lineEdit_pre)
|
||||||
|
|
||||||
|
self.label = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
self.label.setStyleSheet(u"color: rgb(157, 158, 149);")
|
||||||
|
self.label.setText(u"<chunk name>")
|
||||||
|
self.label.setAlignment(Qt.AlignCenter)
|
||||||
|
|
||||||
|
self.horizontalLayout_5.addWidget(self.label)
|
||||||
|
|
||||||
|
self.lineEdit_suf = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_suf.setObjectName(u"lineEdit_suf")
|
||||||
|
self.lineEdit_suf.setEnabled(False)
|
||||||
|
sizePolicy4.setHeightForWidth(self.lineEdit_suf.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_suf.setSizePolicy(sizePolicy4)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_suf.setToolTip(u"Leave empty to disable suffix.")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_suf.setPlaceholderText(u"_SUFFIX")
|
||||||
|
|
||||||
|
self.horizontalLayout_5.addWidget(self.lineEdit_suf)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(5, QFormLayout.FieldRole, self.horizontalLayout_5)
|
||||||
|
|
||||||
|
self.label_wfolder = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_wfolder.setObjectName(u"label_wfolder")
|
||||||
|
self.label_wfolder.setFont(font3)
|
||||||
|
self.label_wfolder.setText(u"Data Folder")
|
||||||
|
self.label_wfolder.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(6, QFormLayout.LabelRole, self.label_wfolder)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(5)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.lineEdit_wfolder = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_wfolder.setObjectName(u"lineEdit_wfolder")
|
||||||
|
self.lineEdit_wfolder.setPlaceholderText(u"Path to folder with data...")
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.lineEdit_wfolder)
|
||||||
|
|
||||||
|
self.pushButton_browsewf = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_browsewf.setObjectName(u"pushButton_browsewf")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_browsewf.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_browsewf.setSizePolicy(sizePolicy3)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browsewf.setToolTip(u"<html><head/><body><p>Select location with working data for this definition.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browsewf.setText(u"")
|
||||||
|
icon9 = QIcon()
|
||||||
|
icon9.addFile(u":/icons/icons8-opened-folder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_browsewf.setIcon(icon9)
|
||||||
|
self.pushButton_browsewf.setIconSize(QSize(20, 20))
|
||||||
|
self.pushButton_browsewf.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton_browsewf)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(6, QFormLayout.FieldRole, self.horizontalLayout)
|
||||||
|
|
||||||
|
self.label_efolder = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_efolder.setObjectName(u"label_efolder")
|
||||||
|
self.label_efolder.setFont(font3)
|
||||||
|
self.label_efolder.setText(u"Export Folder")
|
||||||
|
self.label_efolder.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(7, QFormLayout.LabelRole, self.label_efolder)
|
||||||
|
|
||||||
|
self.horizontalLayout_10 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_10.setSpacing(5)
|
||||||
|
self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
|
||||||
|
self.lineEdit_efolder = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_efolder.setObjectName(u"lineEdit_efolder")
|
||||||
|
self.lineEdit_efolder.setPlaceholderText(u"Path to folder for exporting...")
|
||||||
|
|
||||||
|
self.horizontalLayout_10.addWidget(self.lineEdit_efolder)
|
||||||
|
|
||||||
|
self.pushButton_browseef = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_browseef.setObjectName(u"pushButton_browseef")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_browseef.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_browseef.setSizePolicy(sizePolicy3)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browseef.setToolTip(u"<html><head/><body><p>Select location with working data for this definition.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browseef.setText(u"")
|
||||||
|
self.pushButton_browseef.setIcon(icon9)
|
||||||
|
self.pushButton_browseef.setIconSize(QSize(20, 20))
|
||||||
|
self.pushButton_browseef.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_10.addWidget(self.pushButton_browseef)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(7, QFormLayout.FieldRole, self.horizontalLayout_10)
|
||||||
|
|
||||||
|
self.horizontalLayout_2 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setSpacing(5)
|
||||||
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
|
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addItem(self.horizontalSpacer_2)
|
||||||
|
|
||||||
|
self.pushButton_save = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_save.setObjectName(u"pushButton_save")
|
||||||
|
self.pushButton_save.setEnabled(False)
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_save.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_save.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_save.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_save.setToolTip(u"<html><head/><body><p>Save currently selected chunk definition</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_save.setText(u"Save")
|
||||||
|
icon10 = QIcon()
|
||||||
|
icon10.addFile(u":/icons/icons8-save-as-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_save.setIcon(icon10)
|
||||||
|
self.pushButton_save.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_save.setShortcut(u"S")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_save.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_save)
|
||||||
|
|
||||||
|
self.pushButton_add = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_add.setObjectName(u"pushButton_add")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_add.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_add.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_add.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_add.setToolTip(u"<html><head/><body><p><span style=\" font-weight:600;\">Add new</span><br/>Add new chunk settings definition</p><p>*Crates new chunk definition with current options.<br/>**Definition Name must be unique.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_add.setText(u"Add New")
|
||||||
|
icon11 = QIcon()
|
||||||
|
icon11.addFile(u":/icons/icons8-add-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_add.setIcon(icon11)
|
||||||
|
self.pushButton_add.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_add.setShortcut(u"A")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_add.setAutoDefault(True)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_add)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(9, QFormLayout.FieldRole, self.horizontalLayout_2)
|
||||||
|
|
||||||
|
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
||||||
|
|
||||||
|
self.formLayout.setItem(10, QFormLayout.LabelRole, self.verticalSpacer)
|
||||||
|
|
||||||
|
self.line_2 = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line_2.setObjectName(u"line_2")
|
||||||
|
self.line_2.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_2.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(8, QFormLayout.SpanningRole, self.line_2)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.formLayout, 0, 1, 3, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_3 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_3.setSpacing(5)
|
||||||
|
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||||
|
self.label_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
font6 = QFont()
|
||||||
|
font6.setFamily(u"Segoe UI")
|
||||||
|
font6.setPointSize(8)
|
||||||
|
self.label_2.setFont(font6)
|
||||||
|
self.label_2.setText(u"<html><head/><body><p><span style=\" font-weight:600; font-style:italic;\">Shortcuts</span>: [A] Add New / [E] Edit / [R] Remove / [S] Save / [C] Close</p></body></html>")
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_2)
|
||||||
|
|
||||||
|
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addItem(self.horizontalSpacer)
|
||||||
|
|
||||||
|
self.pushButton_close = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_close.setObjectName(u"pushButton_close")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_close.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_close.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_close.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_close.setToolTip(u"Close Chunk Settings Editor")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_close.setText(u"Close")
|
||||||
|
icon12 = QIcon()
|
||||||
|
icon12.addFile(u":/icons/icons8-close-window-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_close.setIcon(icon12)
|
||||||
|
self.pushButton_close.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_close.setShortcut(u"C")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.pushButton_close)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_3, 4, 0, 1, 2)
|
||||||
|
|
||||||
|
QWidget.setTabOrder(self.listWidgetChunkDefs, self.pushButton_sremove)
|
||||||
|
QWidget.setTabOrder(self.pushButton_sremove, self.pushButton_sedit)
|
||||||
|
QWidget.setTabOrder(self.pushButton_sedit, self.lineEdit_name)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_name, self.comboBox_icon)
|
||||||
|
QWidget.setTabOrder(self.comboBox_icon, self.radioButton_1)
|
||||||
|
QWidget.setTabOrder(self.radioButton_1, self.radioButton_2)
|
||||||
|
QWidget.setTabOrder(self.radioButton_2, self.radioButton_3)
|
||||||
|
QWidget.setTabOrder(self.radioButton_3, self.radioButton_4)
|
||||||
|
QWidget.setTabOrder(self.radioButton_4, self.radioButton_5)
|
||||||
|
QWidget.setTabOrder(self.radioButton_5, self.radioButton_6)
|
||||||
|
QWidget.setTabOrder(self.radioButton_6, self.lineEdit)
|
||||||
|
QWidget.setTabOrder(self.lineEdit, self.lineEdit_pre)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_pre, self.lineEdit_suf)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_suf, self.lineEdit_wfolder)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_wfolder, self.pushButton_browsewf)
|
||||||
|
QWidget.setTabOrder(self.pushButton_browsewf, self.lineEdit_efolder)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_efolder, self.pushButton_browseef)
|
||||||
|
QWidget.setTabOrder(self.pushButton_browseef, self.pushButton_save)
|
||||||
|
QWidget.setTabOrder(self.pushButton_save, self.pushButton_add)
|
||||||
|
QWidget.setTabOrder(self.pushButton_add, self.pushButton_close)
|
||||||
|
|
||||||
|
self.retranslateUi(DialogChunkSettings)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.lineEdit_name.clear)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.lineEdit_wfolder.clear)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.lineEdit_pre.clear)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.lineEdit_suf.clear)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.pushButton_save.toggle)
|
||||||
|
self.pushButton_close.clicked.connect(DialogChunkSettings.reject)
|
||||||
|
self.listWidgetChunkDefs.currentItemChanged.connect(self.pushButton_add.toggle)
|
||||||
|
self.listWidgetChunkDefs.currentItemChanged.connect(self.pushButton_sedit.toggle)
|
||||||
|
self.listWidgetChunkDefs.currentItemChanged.connect(self.pushButton_sremove.toggle)
|
||||||
|
self.listWidgetChunkDefs.itemDoubleClicked.connect(self.pushButton_sedit.click)
|
||||||
|
self.pushButton_sedit.clicked.connect(self.pushButton_save.toggle)
|
||||||
|
self.pushButton_sedit.clicked.connect(self.pushButton_add.toggle)
|
||||||
|
self.radioButton_6.toggled.connect(self.lineEdit.setEnabled)
|
||||||
|
self.radioButton_1.toggled.connect(self.lineEdit_pre.setDisabled)
|
||||||
|
self.radioButton_1.toggled.connect(self.lineEdit_suf.setDisabled)
|
||||||
|
self.radioButton_2.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_2.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_3.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_3.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_4.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_4.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_5.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_5.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_6.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_6.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
|
||||||
|
self.pushButton_close.setDefault(True)
|
||||||
|
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, DialogChunkSettings):
|
||||||
|
|
||||||
|
__sortingEnabled = self.listWidgetChunkDefs.isSortingEnabled()
|
||||||
|
self.listWidgetChunkDefs.setSortingEnabled(False)
|
||||||
|
self.listWidgetChunkDefs.setSortingEnabled(__sortingEnabled)
|
||||||
|
|
||||||
|
pass
|
||||||
|
# retranslateUi
|
||||||
|
|
1529
AutoFTG/gui_designs/diaChunkSettingsEditor.ui
Normal file
546
AutoFTG/gui_designs/uiAddEditCam.ui
Normal file
|
@ -0,0 +1,546 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0" connectslotsbyname="false">
|
||||||
|
<class>DialogAddEditCam</class>
|
||||||
|
<widget class="QDialog" name="DialogAddEditCam">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>480</width>
|
||||||
|
<height>270</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>480</width>
|
||||||
|
<height>270</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>480</width>
|
||||||
|
<height>270</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string notr="true">Add/Edit Camera</string>
|
||||||
|
</property>
|
||||||
|
<property name="windowIcon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/AutoFTG-appicon.png</normaloff>:/icons/AutoFTG-appicon.png</iconset>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="gridLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>10</y>
|
||||||
|
<width>461</width>
|
||||||
|
<height>251</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBox_2">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Standard</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-camera-50.png</normaloff>:/icons/icons8-camera-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">DSLR</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-slr-small-lens-96.png</normaloff>:/icons/icons8-slr-small-lens-96.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Special</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-camera-on-tripod-96.png</normaloff>:/icons/icons8-camera-on-tripod-96.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Drone</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-quadcopter-50.png</normaloff>:/icons/icons8-quadcopter-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">SmartPhone</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-touchscreen-96.png</normaloff>:/icons/icons8-touchscreen-96.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">SportCam</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-gopro-96.png</normaloff>:/icons/icons8-gopro-96.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEdit_2">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string notr="true">Camera name</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit_3">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>8</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string notr="true">Choose calibration XML file...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_3">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>8</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true">Choose XML calibration file...</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Browse</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-images-folder-50.png</normaloff>:/icons/icons8-images-folder-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Camera Name</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="0" colspan="2">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>90</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Cancel</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-close-50.png</normaloff>:/icons/icons8-close-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>90</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Save</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-save-all-50.png</normaloff>:/icons/icons8-save-all-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Type</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>9</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Resolution</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>9</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Description</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0" colspan="2">
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBox">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Frame</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-full-page-view-50.png</normaloff>:/icons/icons8-full-page-view-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Fisheye</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-video-wall-50.png</normaloff>:/icons/icons8-video-wall-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Spherical</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-live-photos-96.png</normaloff>:/icons/icons8-live-photos-96.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Cylindical</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-aperture-50.png</normaloff>:/icons/icons8-aperture-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">RPC</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-ios-application-placeholder-50.png</normaloff>:/icons/icons8-ios-application-placeholder-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Callibration</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>9</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Sub-Type</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>50</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">0</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">MP</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEdit_4">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string notr="true">Description of camera (optional)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="5" margin="10"/>
|
||||||
|
<tabstops>
|
||||||
|
<tabstop>lineEdit_2</tabstop>
|
||||||
|
<tabstop>lineEdit_4</tabstop>
|
||||||
|
<tabstop>comboBox</tabstop>
|
||||||
|
<tabstop>comboBox_2</tabstop>
|
||||||
|
<tabstop>lineEdit</tabstop>
|
||||||
|
<tabstop>lineEdit_3</tabstop>
|
||||||
|
<tabstop>pushButton_3</tabstop>
|
||||||
|
<tabstop>pushButton_2</tabstop>
|
||||||
|
<tabstop>pushButton</tabstop>
|
||||||
|
</tabstops>
|
||||||
|
<resources>
|
||||||
|
<include location="../qtresources.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>pushButton</sender>
|
||||||
|
<signal>clicked(bool)</signal>
|
||||||
|
<receiver>DialogAddEditCam</receiver>
|
||||||
|
<slot>close()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>144</x>
|
||||||
|
<y>210</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>239</x>
|
||||||
|
<y>119</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
<designerdata>
|
||||||
|
<property name="gridDeltaX">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridDeltaY">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapX">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapY">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</designerdata>
|
||||||
|
</ui>
|
346
AutoFTG/gui_designs/uiAddNewChunkQuick.ui
Normal file
|
@ -0,0 +1,346 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0" connectslotsbyname="false">
|
||||||
|
<class>DialogAddChunkQuick</class>
|
||||||
|
<widget class="QDialog" name="DialogAddChunkQuick">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>310</width>
|
||||||
|
<height>155</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>310</width>
|
||||||
|
<height>155</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>310</width>
|
||||||
|
<height>155</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>9</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string notr="true">Create New Chunk</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="verticalLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>9</x>
|
||||||
|
<y>9</y>
|
||||||
|
<width>295</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="labelQuickAdd">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Create New Chunk</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="Line" name="line_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Select chunk creation settings:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="cbChunkSettings">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="cursor">
|
||||||
|
<cursorShape>PointingHandCursor</cursorShape>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true">Choose settings used for chunk creation...</string>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">New Chunk (Default)</string>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">New Chunk (Default)</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-add-tab-50.png</normaloff>:/icons/icons8-add-tab-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">KALOTA-1</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_kalota-modra.png</normaloff>:/icons/template_kalota-modra.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>KALOTA-2</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_kalota-oranzna.png</normaloff>:/icons/template_kalota-oranzna.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>KALOTA-3</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_kalota-rdeca.png</normaloff>:/icons/template_kalota-rdeca.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>KALOTA-4</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_kalota-vijola.png</normaloff>:/icons/template_kalota-vijola.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>KALOTA-5</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_kalota-zelena.png</normaloff>:/icons/template_kalota-zelena.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">STOPNICA-1</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_stopnica-modra.png</normaloff>:/icons/template_stopnica-modra.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">STOPNICA-2</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_stopnica-oranzna.png</normaloff>:/icons/template_stopnica-oranzna.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>STOPNICA-3</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_stopnica-rdeca.png</normaloff>:/icons/template_stopnica-rdeca.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>STOPNICA-4</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_stopnica-vijola.png</normaloff>:/icons/template_stopnica-vijola.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>STOPNICA-5</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/template_stopnica-zelena.png</normaloff>:/icons/template_stopnica-zelena.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>PREDOR-VLAK</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-subway-50.png</normaloff>:/icons/icons8-subway-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="btnCreate">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Create</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-add-tab-50.png</normaloff>:/icons/icons8-add-tab-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="checkBoxAutoProc">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Auto Processing</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-in-progress-96.png</normaloff>:/icons/icons8-in-progress-96.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="btnCancel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Close</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-enter-50.png</normaloff>:/icons/icons8-enter-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="5" margin="10"/>
|
||||||
|
<resources>
|
||||||
|
<include location="../qtresources.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>btnCancel</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>DialogAddChunkQuick</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>53</x>
|
||||||
|
<y>195</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>8</x>
|
||||||
|
<y>216</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
<designerdata>
|
||||||
|
<property name="gridDeltaX">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridDeltaY">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapX">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapY">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</designerdata>
|
||||||
|
</ui>
|
304
AutoFTG/gui_designs/uiDefaulCamera.ui
Normal file
|
@ -0,0 +1,304 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0" connectslotsbyname="false">
|
||||||
|
<class>dialogDefCam</class>
|
||||||
|
<widget class="QDialog" name="dialogDefCam">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>280</width>
|
||||||
|
<height>280</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>280</width>
|
||||||
|
<height>280</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>280</width>
|
||||||
|
<height>280</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string notr="true">Choose Camera</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="verticalLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>10</y>
|
||||||
|
<width>261</width>
|
||||||
|
<height>261</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>5</number>
|
||||||
|
</property>
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Choose default camera</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QListWidget" name="listWidget">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Plain</enum>
|
||||||
|
</property>
|
||||||
|
<property name="defaultDropAction">
|
||||||
|
<enum>Qt::IgnoreAction</enum>
|
||||||
|
</property>
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="currentRow">
|
||||||
|
<number>-1</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Item 1</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/AutoFTG/resources/CamImages.png</normaloff>:/AutoFTG/resources/CamImages.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="flags">
|
||||||
|
<set>ItemIsSelectable|ItemIsEnabled</set>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Item 2</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/AutoFTG/resources/CamImages.png</normaloff>:/AutoFTG/resources/CamImages.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="flags">
|
||||||
|
<set>ItemIsSelectable|ItemIsEnabled</set>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Item 3</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="background">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>253</red>
|
||||||
|
<green>255</green>
|
||||||
|
<blue>211</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/AutoFTG/resources/Pictures.png</normaloff>:/AutoFTG/resources/Pictures.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="flags">
|
||||||
|
<set>ItemIsSelectable|ItemIsEnabled</set>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Item 4</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/AutoFTG/resources/CamImages.png</normaloff>:/AutoFTG/resources/CamImages.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="flags">
|
||||||
|
<set>ItemIsSelectable|ItemIsEnabled</set>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="5" margin="10"/>
|
||||||
|
<resources>
|
||||||
|
<include location="../qtresources.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>dialogDefCam</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>buttonBox</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>dialogDefCam</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>
|
||||||
|
<designerdata>
|
||||||
|
<property name="gridDeltaX">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridDeltaY">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapX">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapY">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</designerdata>
|
||||||
|
</ui>
|
301
AutoFTG/gui_designs/uiEditSetings.ui
Normal file
|
@ -0,0 +1,301 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0" connectslotsbyname="false">
|
||||||
|
<class>DialogEditSettings</class>
|
||||||
|
<widget class="QDialog" name="DialogEditSettings">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>420</width>
|
||||||
|
<height>170</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>420</width>
|
||||||
|
<height>170</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>420</width>
|
||||||
|
<height>170</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>9</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string notr="true">Data Folder</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="gridLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>10</y>
|
||||||
|
<width>401</width>
|
||||||
|
<height>151</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEdit">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>7</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Default Camera</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBox_2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">Frame</string>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Frame</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-full-page-view-50.png</normaloff>:/icons/icons8-full-page-view-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Fisheye</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-video-wall-50.png</normaloff>:/icons/icons8-video-wall-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Spherical</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-live-photos-96.png</normaloff>:/icons/icons8-live-photos-96.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Cylindical</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-aperture-50.png</normaloff>:/icons/icons8-aperture-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">RPC</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-ios-application-placeholder-50.png</normaloff>:/icons/icons8-ios-application-placeholder-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0" colspan="3">
|
||||||
|
<widget class="Line" name="line_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0" colspan="3">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_3">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Cancel</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-close-50.png</normaloff>:/icons/icons8-close-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Ok</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-done-50.png</normaloff>:/icons/icons8-done-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Data Folder</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" colspan="3">
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI</family>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Edit Settings</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="2">
|
||||||
|
<widget class="QPushButton" name="pushButton">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Browse</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../qtresources.qrc">
|
||||||
|
<normaloff>:/icons/icons8-opened-folder-50.png</normaloff>:/icons/icons8-opened-folder-50.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="10" margin="10"/>
|
||||||
|
<resources>
|
||||||
|
<include location="../qtresources.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections/>
|
||||||
|
<designerdata>
|
||||||
|
<property name="gridDeltaX">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridDeltaY">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapX">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridSnapY">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="gridVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</designerdata>
|
||||||
|
</ui>
|
1137
AutoFTG/gui_designs/ui_diaAddNewChunkBatch.py
Normal file
408
AutoFTG/gui_designs/ui_diaAddNewChunkBatchSetMesh.py
Normal file
|
@ -0,0 +1,408 @@
|
||||||
|
# -*- 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
|
||||||
|
|
688
AutoFTG/gui_designs/ui_diaChunkSettingsEditor.py
Normal file
|
@ -0,0 +1,688 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'diaChunkSettingsEditor.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_DialogChunkSettings(object):
|
||||||
|
def setupUi(self, DialogChunkSettings):
|
||||||
|
if not DialogChunkSettings.objectName():
|
||||||
|
DialogChunkSettings.setObjectName(u"DialogChunkSettings")
|
||||||
|
DialogChunkSettings.resize(720, 480)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(DialogChunkSettings.sizePolicy().hasHeightForWidth())
|
||||||
|
DialogChunkSettings.setSizePolicy(sizePolicy)
|
||||||
|
DialogChunkSettings.setMinimumSize(QSize(720, 180))
|
||||||
|
DialogChunkSettings.setMaximumSize(QSize(720, 480))
|
||||||
|
DialogChunkSettings.setWindowTitle(u"Chunk Settings Editor")
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
DialogChunkSettings.setWindowIcon(icon)
|
||||||
|
self.gridLayoutWidget = QWidget(DialogChunkSettings)
|
||||||
|
self.gridLayoutWidget.setObjectName(u"gridLayoutWidget")
|
||||||
|
self.gridLayoutWidget.setGeometry(QRect(9, 10, 701, 461))
|
||||||
|
self.gridLayout = QGridLayout(self.gridLayoutWidget)
|
||||||
|
self.gridLayout.setSpacing(5)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout.setObjectName(u"gridLayout")
|
||||||
|
self.gridLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.label_menuSet_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_menuSet_2.setObjectName(u"label_menuSet_2")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.label_menuSet_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_menuSet_2.setSizePolicy(sizePolicy1)
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(12)
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.label_menuSet_2.setFont(font)
|
||||||
|
self.label_menuSet_2.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.label_menuSet_2.setText(u"Chunk Definitions List")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_menuSet_2, 0, 0, 1, 1)
|
||||||
|
|
||||||
|
self.listWidgetChunkDefs = QListWidget(self.gridLayoutWidget)
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-add-tab-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem.setText(u"Default");
|
||||||
|
__qlistwidgetitem.setIcon(icon1);
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/template_kalota-zelena.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem1 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem1.setText(u"T8 GC - KALOTA");
|
||||||
|
__qlistwidgetitem1.setIcon(icon2);
|
||||||
|
icon3 = QIcon()
|
||||||
|
icon3.addFile(u":/icons/template_stopnica-zelena.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem2 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem2.setText(u"T8 GC - STOPNICA - IZKOP");
|
||||||
|
__qlistwidgetitem2.setIcon(icon3);
|
||||||
|
icon4 = QIcon()
|
||||||
|
icon4.addFile(u":/icons/template_kalota-oranzna.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem3 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem3.setText(u"T8 PRECNIK-4");
|
||||||
|
__qlistwidgetitem3.setIcon(icon4);
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/template_kalota-modra.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem4 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem4.setText(u"T8 SC - KALOTA");
|
||||||
|
__qlistwidgetitem4.setIcon(icon5);
|
||||||
|
icon6 = QIcon()
|
||||||
|
icon6.addFile(u":/icons/template_stopnica-modra.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem5 = QListWidgetItem(self.listWidgetChunkDefs)
|
||||||
|
__qlistwidgetitem5.setText(u"T8 SC - STOPNICA - IZKOP");
|
||||||
|
__qlistwidgetitem5.setIcon(icon6);
|
||||||
|
self.listWidgetChunkDefs.setObjectName(u"listWidgetChunkDefs")
|
||||||
|
sizePolicy2 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
|
||||||
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
|
sizePolicy2.setVerticalStretch(0)
|
||||||
|
sizePolicy2.setHeightForWidth(self.listWidgetChunkDefs.sizePolicy().hasHeightForWidth())
|
||||||
|
self.listWidgetChunkDefs.setSizePolicy(sizePolicy2)
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(11)
|
||||||
|
self.listWidgetChunkDefs.setFont(font1)
|
||||||
|
self.listWidgetChunkDefs.setAutoScrollMargin(20)
|
||||||
|
self.listWidgetChunkDefs.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
||||||
|
self.listWidgetChunkDefs.setProperty("showDropIndicator", False)
|
||||||
|
self.listWidgetChunkDefs.setSelectionBehavior(QAbstractItemView.SelectItems)
|
||||||
|
self.listWidgetChunkDefs.setIconSize(QSize(24, 24))
|
||||||
|
self.listWidgetChunkDefs.setViewMode(QListView.ListMode)
|
||||||
|
self.listWidgetChunkDefs.setUniformItemSizes(True)
|
||||||
|
self.listWidgetChunkDefs.setSelectionRectVisible(True)
|
||||||
|
self.listWidgetChunkDefs.setSortingEnabled(False)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.listWidgetChunkDefs, 1, 0, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_6 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_6.setSpacing(5)
|
||||||
|
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
|
||||||
|
self.pushButton_sremove = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_sremove.setObjectName(u"pushButton_sremove")
|
||||||
|
self.pushButton_sremove.setEnabled(True)
|
||||||
|
sizePolicy3 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed)
|
||||||
|
sizePolicy3.setHorizontalStretch(0)
|
||||||
|
sizePolicy3.setVerticalStretch(0)
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_sremove.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_sremove.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_sremove.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sremove.setToolTip(u"<html><head/><body><p><span style=\" font-weight:600;\">Remove<br/></span>Remove selected definition</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sremove.setText(u"Remove")
|
||||||
|
icon7 = QIcon()
|
||||||
|
icon7.addFile(u":/icons/icons8-full-recycle-bin-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_sremove.setIcon(icon7)
|
||||||
|
self.pushButton_sremove.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sremove.setShortcut(u"R")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sremove.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addWidget(self.pushButton_sremove)
|
||||||
|
|
||||||
|
self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addItem(self.horizontalSpacer_3)
|
||||||
|
|
||||||
|
self.pushButton_sedit = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_sedit.setObjectName(u"pushButton_sedit")
|
||||||
|
self.pushButton_sedit.setEnabled(True)
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_sedit.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_sedit.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_sedit.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sedit.setToolTip(u"<html><head/><body><p><span style=\" font-weight:600;\">Edit</span><br/>Edit selected chunk definition</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_sedit.setLayoutDirection(Qt.RightToLeft)
|
||||||
|
self.pushButton_sedit.setText(u"Edit")
|
||||||
|
icon8 = QIcon()
|
||||||
|
icon8.addFile(u":/icons/icons8-design-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_sedit.setIcon(icon8)
|
||||||
|
self.pushButton_sedit.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sedit.setShortcut(u"E")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_sedit.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addWidget(self.pushButton_sedit)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_6, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.line = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.line, 3, 0, 1, 2)
|
||||||
|
|
||||||
|
self.formLayout = QFormLayout()
|
||||||
|
self.formLayout.setSpacing(5)
|
||||||
|
self.formLayout.setObjectName(u"formLayout")
|
||||||
|
self.formLayout.setHorizontalSpacing(5)
|
||||||
|
self.formLayout.setVerticalSpacing(5)
|
||||||
|
self.label_menuSet = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_menuSet.setObjectName(u"label_menuSet")
|
||||||
|
sizePolicy1.setHeightForWidth(self.label_menuSet.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_menuSet.setSizePolicy(sizePolicy1)
|
||||||
|
self.label_menuSet.setFont(font)
|
||||||
|
self.label_menuSet.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.label_menuSet.setText(u"Menu Settings")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(0, QFormLayout.SpanningRole, self.label_menuSet)
|
||||||
|
|
||||||
|
self.label_nameicon = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_nameicon.setObjectName(u"label_nameicon")
|
||||||
|
self.label_nameicon.setMinimumSize(QSize(80, 0))
|
||||||
|
self.label_nameicon.setMaximumSize(QSize(80, 16777215))
|
||||||
|
self.label_nameicon.setText(u"Name")
|
||||||
|
self.label_nameicon.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(1, QFormLayout.LabelRole, self.label_nameicon)
|
||||||
|
|
||||||
|
self.horizontalLayout_4 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_4.setSpacing(5)
|
||||||
|
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
|
||||||
|
self.lineEdit_name = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_name.setObjectName(u"lineEdit_name")
|
||||||
|
sizePolicy4 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
|
||||||
|
sizePolicy4.setHorizontalStretch(0)
|
||||||
|
sizePolicy4.setVerticalStretch(0)
|
||||||
|
sizePolicy4.setHeightForWidth(self.lineEdit_name.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_name.setSizePolicy(sizePolicy4)
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setFamily(u"Segoe UI")
|
||||||
|
font2.setPointSize(12)
|
||||||
|
self.lineEdit_name.setFont(font2)
|
||||||
|
self.lineEdit_name.setPlaceholderText(u"Name shown in list...")
|
||||||
|
|
||||||
|
self.horizontalLayout_4.addWidget(self.lineEdit_name)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(1, QFormLayout.FieldRole, self.horizontalLayout_4)
|
||||||
|
|
||||||
|
self.label_nameicon_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_nameicon_2.setObjectName(u"label_nameicon_2")
|
||||||
|
sizePolicy5 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
|
||||||
|
sizePolicy5.setHorizontalStretch(0)
|
||||||
|
sizePolicy5.setVerticalStretch(0)
|
||||||
|
sizePolicy5.setHeightForWidth(self.label_nameicon_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_nameicon_2.setSizePolicy(sizePolicy5)
|
||||||
|
font3 = QFont()
|
||||||
|
font3.setFamily(u"Segoe UI")
|
||||||
|
font3.setPointSize(9)
|
||||||
|
self.label_nameicon_2.setFont(font3)
|
||||||
|
self.label_nameicon_2.setText(u"Icon")
|
||||||
|
self.label_nameicon_2.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.LabelRole, self.label_nameicon_2)
|
||||||
|
|
||||||
|
self.comboBox_icon = QComboBox(self.gridLayoutWidget)
|
||||||
|
self.comboBox_icon.setObjectName(u"comboBox_icon")
|
||||||
|
sizePolicy6 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred)
|
||||||
|
sizePolicy6.setHorizontalStretch(0)
|
||||||
|
sizePolicy6.setVerticalStretch(0)
|
||||||
|
sizePolicy6.setHeightForWidth(self.comboBox_icon.sizePolicy().hasHeightForWidth())
|
||||||
|
self.comboBox_icon.setSizePolicy(sizePolicy6)
|
||||||
|
self.comboBox_icon.setMaximumSize(QSize(100, 16777215))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.comboBox_icon.setToolTip(u"Choose icon to be used in list...")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.comboBox_icon.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.formLayout.setWidget(2, QFormLayout.FieldRole, self.comboBox_icon)
|
||||||
|
|
||||||
|
self.label_chunkSet = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_chunkSet.setObjectName(u"label_chunkSet")
|
||||||
|
sizePolicy1.setHeightForWidth(self.label_chunkSet.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_chunkSet.setSizePolicy(sizePolicy1)
|
||||||
|
self.label_chunkSet.setFont(font)
|
||||||
|
self.label_chunkSet.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.label_chunkSet.setText(u"Chunk Settings")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(3, QFormLayout.SpanningRole, self.label_chunkSet)
|
||||||
|
|
||||||
|
self.horizontalLayout_7 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_7.setSpacing(5)
|
||||||
|
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
|
||||||
|
self.groupBoxChunkName = QGroupBox(self.gridLayoutWidget)
|
||||||
|
self.groupBoxChunkName.setObjectName(u"groupBoxChunkName")
|
||||||
|
sizePolicy7 = QSizePolicy(QSizePolicy.Ignored, QSizePolicy.Preferred)
|
||||||
|
sizePolicy7.setHorizontalStretch(0)
|
||||||
|
sizePolicy7.setVerticalStretch(0)
|
||||||
|
sizePolicy7.setHeightForWidth(self.groupBoxChunkName.sizePolicy().hasHeightForWidth())
|
||||||
|
self.groupBoxChunkName.setSizePolicy(sizePolicy7)
|
||||||
|
self.groupBoxChunkName.setMinimumSize(QSize(0, 130))
|
||||||
|
font4 = QFont()
|
||||||
|
font4.setFamily(u"Segoe UI")
|
||||||
|
font4.setPointSize(9)
|
||||||
|
font4.setBold(True)
|
||||||
|
font4.setWeight(75)
|
||||||
|
self.groupBoxChunkName.setFont(font4)
|
||||||
|
self.groupBoxChunkName.setTitle(u"Chunk Name Format")
|
||||||
|
self.gridLayoutWidget_2 = QWidget(self.groupBoxChunkName)
|
||||||
|
self.gridLayoutWidget_2.setObjectName(u"gridLayoutWidget_2")
|
||||||
|
self.gridLayoutWidget_2.setGeometry(QRect(12, 25, 411, 100))
|
||||||
|
self.gridLayout_2 = QGridLayout(self.gridLayoutWidget_2)
|
||||||
|
self.gridLayout_2.setSpacing(5)
|
||||||
|
self.gridLayout_2.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout_2.setObjectName(u"gridLayout_2")
|
||||||
|
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.radioButton_5 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_5.setObjectName(u"radioButton_5")
|
||||||
|
sizePolicy8 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
||||||
|
sizePolicy8.setHorizontalStretch(0)
|
||||||
|
sizePolicy8.setVerticalStretch(0)
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_5.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_5.setSizePolicy(sizePolicy8)
|
||||||
|
font5 = QFont()
|
||||||
|
font5.setFamily(u"Segoe UI")
|
||||||
|
font5.setPointSize(9)
|
||||||
|
font5.setBold(False)
|
||||||
|
font5.setWeight(50)
|
||||||
|
self.radioButton_5.setFont(font5)
|
||||||
|
self.radioButton_5.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_5.setToolTip(u"<html><head/><body><p>Use date and time found in first image file that is imported from work folder.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_5.setText(u"Image date-time")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_5, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_3 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_3.setObjectName(u"radioButton_3")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_3.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_3.setFont(font5)
|
||||||
|
self.radioButton_3.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_3.setToolTip(u"<html><head/><body><p>Use metadata string from point file that must be located in imported data folder, and must also have the same name as data folder..</p><p><span style=\" font-weight:600;\">Info:</span> String must be in metadata format at the beginnig of point file, as described in help.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_3.setText(u"Point File Metadata")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_3, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_6 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_6.setObjectName(u"radioButton_6")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_6.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_6.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_6.setFont(font5)
|
||||||
|
self.radioButton_6.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_6.setToolTip(u"<html><head/><body><p>Use date and time at which chunk is created in custom provided format.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_6.setText(u"Custom date-time")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_6, 2, 1, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_2 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_2.setObjectName(u"radioButton_2")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_2.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_2.setFont(font5)
|
||||||
|
self.radioButton_2.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_2.setToolTip(u"<html><head/><body><p>Uses the name of folder from which data is beeing imported from.</p><p>* Recommended naming format.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_2.setText(u"Data Folder Name")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_2, 1, 0, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_1 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_1.setObjectName(u"radioButton_1")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_1.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_1.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_1.setFont(font5)
|
||||||
|
self.radioButton_1.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_1.setToolTip(u"<html><head/><body><p>Use default naming format provided by Metashape.</p><p>Example: Chunk 1, Chunk 2,...</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_1.setText(u"Metashape Default")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_1, 0, 0, 1, 1)
|
||||||
|
|
||||||
|
self.radioButton_4 = QRadioButton(self.gridLayoutWidget_2)
|
||||||
|
self.radioButton_4.setObjectName(u"radioButton_4")
|
||||||
|
sizePolicy8.setHeightForWidth(self.radioButton_4.sizePolicy().hasHeightForWidth())
|
||||||
|
self.radioButton_4.setSizePolicy(sizePolicy8)
|
||||||
|
self.radioButton_4.setFont(font5)
|
||||||
|
self.radioButton_4.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_4.setToolTip(u"<html><head/><body><p>Use date and time at which chunk is created.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.radioButton_4.setText(u"Creation date-time")
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.radioButton_4, 0, 1, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_8 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_8.setSpacing(5)
|
||||||
|
self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
|
||||||
|
self.horizontalSpacer_4 = QSpacerItem(225, 0, QSizePolicy.Fixed, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_8.addItem(self.horizontalSpacer_4)
|
||||||
|
|
||||||
|
self.lineEdit = QLineEdit(self.gridLayoutWidget_2)
|
||||||
|
self.lineEdit.setObjectName(u"lineEdit")
|
||||||
|
self.lineEdit.setEnabled(False)
|
||||||
|
sizePolicy8.setHeightForWidth(self.lineEdit.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit.setSizePolicy(sizePolicy8)
|
||||||
|
self.lineEdit.setMinimumSize(QSize(140, 0))
|
||||||
|
self.lineEdit.setFont(font5)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit.setToolTip(u"<html><head/><body><p>Enter format string in python format.</p><p>*For details please check help first.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit.setPlaceholderText(u"%Y%m%d-%H%M%S")
|
||||||
|
|
||||||
|
self.horizontalLayout_8.addWidget(self.lineEdit)
|
||||||
|
|
||||||
|
self.horizontalSpacer_5 = QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_8.addItem(self.horizontalSpacer_5)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout_2.addLayout(self.horizontalLayout_8, 3, 0, 1, 2)
|
||||||
|
|
||||||
|
|
||||||
|
self.horizontalLayout_7.addWidget(self.groupBoxChunkName)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(4, QFormLayout.SpanningRole, self.horizontalLayout_7)
|
||||||
|
|
||||||
|
self.label_wfolder_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_wfolder_2.setObjectName(u"label_wfolder_2")
|
||||||
|
self.label_wfolder_2.setFont(font3)
|
||||||
|
self.label_wfolder_2.setText(u"Prefix/Suffix")
|
||||||
|
self.label_wfolder_2.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(5, QFormLayout.LabelRole, self.label_wfolder_2)
|
||||||
|
|
||||||
|
self.horizontalLayout_5 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_5.setSpacing(5)
|
||||||
|
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
|
||||||
|
self.lineEdit_pre = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_pre.setObjectName(u"lineEdit_pre")
|
||||||
|
self.lineEdit_pre.setEnabled(False)
|
||||||
|
sizePolicy4.setHeightForWidth(self.lineEdit_pre.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_pre.setSizePolicy(sizePolicy4)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_pre.setToolTip(u"Leave empty to disable prefix.")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_pre.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
|
||||||
|
self.lineEdit_pre.setPlaceholderText(u"PREFIX_")
|
||||||
|
|
||||||
|
self.horizontalLayout_5.addWidget(self.lineEdit_pre)
|
||||||
|
|
||||||
|
self.label = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
self.label.setStyleSheet(u"color: rgb(157, 158, 149);")
|
||||||
|
self.label.setText(u"<chunk name>")
|
||||||
|
self.label.setAlignment(Qt.AlignCenter)
|
||||||
|
|
||||||
|
self.horizontalLayout_5.addWidget(self.label)
|
||||||
|
|
||||||
|
self.lineEdit_suf = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_suf.setObjectName(u"lineEdit_suf")
|
||||||
|
self.lineEdit_suf.setEnabled(False)
|
||||||
|
sizePolicy4.setHeightForWidth(self.lineEdit_suf.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_suf.setSizePolicy(sizePolicy4)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_suf.setToolTip(u"Leave empty to disable suffix.")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.lineEdit_suf.setPlaceholderText(u"_SUFFIX")
|
||||||
|
|
||||||
|
self.horizontalLayout_5.addWidget(self.lineEdit_suf)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(5, QFormLayout.FieldRole, self.horizontalLayout_5)
|
||||||
|
|
||||||
|
self.label_wfolder = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_wfolder.setObjectName(u"label_wfolder")
|
||||||
|
self.label_wfolder.setFont(font3)
|
||||||
|
self.label_wfolder.setText(u"Data Folder")
|
||||||
|
self.label_wfolder.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(6, QFormLayout.LabelRole, self.label_wfolder)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(5)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.lineEdit_wfolder = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_wfolder.setObjectName(u"lineEdit_wfolder")
|
||||||
|
self.lineEdit_wfolder.setPlaceholderText(u"Path to folder with data...")
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.lineEdit_wfolder)
|
||||||
|
|
||||||
|
self.pushButton_browsewf = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_browsewf.setObjectName(u"pushButton_browsewf")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_browsewf.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_browsewf.setSizePolicy(sizePolicy3)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browsewf.setToolTip(u"<html><head/><body><p>Select location with working data for this definition.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browsewf.setText(u"")
|
||||||
|
icon9 = QIcon()
|
||||||
|
icon9.addFile(u":/icons/icons8-opened-folder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_browsewf.setIcon(icon9)
|
||||||
|
self.pushButton_browsewf.setIconSize(QSize(20, 20))
|
||||||
|
self.pushButton_browsewf.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton_browsewf)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(6, QFormLayout.FieldRole, self.horizontalLayout)
|
||||||
|
|
||||||
|
self.label_efolder = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_efolder.setObjectName(u"label_efolder")
|
||||||
|
self.label_efolder.setFont(font3)
|
||||||
|
self.label_efolder.setText(u"Export Folder")
|
||||||
|
self.label_efolder.setIndent(5)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(7, QFormLayout.LabelRole, self.label_efolder)
|
||||||
|
|
||||||
|
self.horizontalLayout_10 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_10.setSpacing(5)
|
||||||
|
self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
|
||||||
|
self.lineEdit_efolder = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_efolder.setObjectName(u"lineEdit_efolder")
|
||||||
|
self.lineEdit_efolder.setPlaceholderText(u"Path to folder for exporting...")
|
||||||
|
|
||||||
|
self.horizontalLayout_10.addWidget(self.lineEdit_efolder)
|
||||||
|
|
||||||
|
self.pushButton_browseef = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_browseef.setObjectName(u"pushButton_browseef")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_browseef.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_browseef.setSizePolicy(sizePolicy3)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browseef.setToolTip(u"<html><head/><body><p>Select location with working data for this definition.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_browseef.setText(u"")
|
||||||
|
self.pushButton_browseef.setIcon(icon9)
|
||||||
|
self.pushButton_browseef.setIconSize(QSize(20, 20))
|
||||||
|
self.pushButton_browseef.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_10.addWidget(self.pushButton_browseef)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(7, QFormLayout.FieldRole, self.horizontalLayout_10)
|
||||||
|
|
||||||
|
self.horizontalLayout_2 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setSpacing(5)
|
||||||
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
|
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addItem(self.horizontalSpacer_2)
|
||||||
|
|
||||||
|
self.pushButton_save = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_save.setObjectName(u"pushButton_save")
|
||||||
|
self.pushButton_save.setEnabled(False)
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_save.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_save.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_save.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_save.setToolTip(u"<html><head/><body><p>Save currently selected chunk definition</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_save.setText(u"Save")
|
||||||
|
icon10 = QIcon()
|
||||||
|
icon10.addFile(u":/icons/icons8-save-as-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_save.setIcon(icon10)
|
||||||
|
self.pushButton_save.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_save.setShortcut(u"S")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_save.setAutoDefault(False)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_save)
|
||||||
|
|
||||||
|
self.pushButton_add = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_add.setObjectName(u"pushButton_add")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_add.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_add.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_add.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_add.setToolTip(u"<html><head/><body><p><span style=\" font-weight:600;\">Add new</span><br/>Add new chunk settings definition</p><p>*Crates new chunk definition with current options.<br/>**Definition Name must be unique.</p></body></html>")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_add.setText(u"Add New")
|
||||||
|
icon11 = QIcon()
|
||||||
|
icon11.addFile(u":/icons/icons8-add-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_add.setIcon(icon11)
|
||||||
|
self.pushButton_add.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_add.setShortcut(u"A")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_add.setAutoDefault(True)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_add)
|
||||||
|
|
||||||
|
|
||||||
|
self.formLayout.setLayout(9, QFormLayout.FieldRole, self.horizontalLayout_2)
|
||||||
|
|
||||||
|
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
||||||
|
|
||||||
|
self.formLayout.setItem(10, QFormLayout.LabelRole, self.verticalSpacer)
|
||||||
|
|
||||||
|
self.line_2 = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line_2.setObjectName(u"line_2")
|
||||||
|
self.line_2.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_2.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.formLayout.setWidget(8, QFormLayout.SpanningRole, self.line_2)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.formLayout, 0, 1, 3, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_3 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_3.setSpacing(5)
|
||||||
|
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||||
|
self.label_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
font6 = QFont()
|
||||||
|
font6.setFamily(u"Segoe UI")
|
||||||
|
font6.setPointSize(8)
|
||||||
|
self.label_2.setFont(font6)
|
||||||
|
self.label_2.setText(u"<html><head/><body><p><span style=\" font-weight:600; font-style:italic;\">Shortcuts</span>: [A] Add New / [E] Edit / [R] Remove / [S] Save / [C] Close</p></body></html>")
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_2)
|
||||||
|
|
||||||
|
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addItem(self.horizontalSpacer)
|
||||||
|
|
||||||
|
self.pushButton_close = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_close.setObjectName(u"pushButton_close")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_close.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_close.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_close.setMinimumSize(QSize(0, 30))
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_close.setToolTip(u"Close Chunk Settings Editor")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_close.setText(u"Close")
|
||||||
|
icon12 = QIcon()
|
||||||
|
icon12.addFile(u":/icons/icons8-close-window-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_close.setIcon(icon12)
|
||||||
|
self.pushButton_close.setIconSize(QSize(20, 20))
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
|
self.pushButton_close.setShortcut(u"C")
|
||||||
|
#endif // QT_CONFIG(shortcut)
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.pushButton_close)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_3, 4, 0, 1, 2)
|
||||||
|
|
||||||
|
QWidget.setTabOrder(self.listWidgetChunkDefs, self.pushButton_sremove)
|
||||||
|
QWidget.setTabOrder(self.pushButton_sremove, self.pushButton_sedit)
|
||||||
|
QWidget.setTabOrder(self.pushButton_sedit, self.lineEdit_name)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_name, self.comboBox_icon)
|
||||||
|
QWidget.setTabOrder(self.comboBox_icon, self.radioButton_1)
|
||||||
|
QWidget.setTabOrder(self.radioButton_1, self.radioButton_2)
|
||||||
|
QWidget.setTabOrder(self.radioButton_2, self.radioButton_3)
|
||||||
|
QWidget.setTabOrder(self.radioButton_3, self.radioButton_4)
|
||||||
|
QWidget.setTabOrder(self.radioButton_4, self.radioButton_5)
|
||||||
|
QWidget.setTabOrder(self.radioButton_5, self.radioButton_6)
|
||||||
|
QWidget.setTabOrder(self.radioButton_6, self.lineEdit)
|
||||||
|
QWidget.setTabOrder(self.lineEdit, self.lineEdit_pre)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_pre, self.lineEdit_suf)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_suf, self.lineEdit_wfolder)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_wfolder, self.pushButton_browsewf)
|
||||||
|
QWidget.setTabOrder(self.pushButton_browsewf, self.lineEdit_efolder)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_efolder, self.pushButton_browseef)
|
||||||
|
QWidget.setTabOrder(self.pushButton_browseef, self.pushButton_save)
|
||||||
|
QWidget.setTabOrder(self.pushButton_save, self.pushButton_add)
|
||||||
|
QWidget.setTabOrder(self.pushButton_add, self.pushButton_close)
|
||||||
|
|
||||||
|
self.retranslateUi(DialogChunkSettings)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.lineEdit_name.clear)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.lineEdit_wfolder.clear)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.lineEdit_pre.clear)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.lineEdit_suf.clear)
|
||||||
|
self.pushButton_sremove.clicked.connect(self.pushButton_save.toggle)
|
||||||
|
self.pushButton_close.clicked.connect(DialogChunkSettings.reject)
|
||||||
|
self.listWidgetChunkDefs.currentItemChanged.connect(self.pushButton_add.toggle)
|
||||||
|
self.listWidgetChunkDefs.currentItemChanged.connect(self.pushButton_sedit.toggle)
|
||||||
|
self.listWidgetChunkDefs.currentItemChanged.connect(self.pushButton_sremove.toggle)
|
||||||
|
self.listWidgetChunkDefs.itemDoubleClicked.connect(self.pushButton_sedit.click)
|
||||||
|
self.pushButton_sedit.clicked.connect(self.pushButton_save.toggle)
|
||||||
|
self.pushButton_sedit.clicked.connect(self.pushButton_add.toggle)
|
||||||
|
self.radioButton_6.toggled.connect(self.lineEdit.setEnabled)
|
||||||
|
self.radioButton_1.toggled.connect(self.lineEdit_pre.setDisabled)
|
||||||
|
self.radioButton_1.toggled.connect(self.lineEdit_suf.setDisabled)
|
||||||
|
self.radioButton_2.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_2.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_3.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_3.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_4.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_4.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_5.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_5.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
self.radioButton_6.toggled.connect(self.lineEdit_pre.setEnabled)
|
||||||
|
self.radioButton_6.toggled.connect(self.lineEdit_suf.setEnabled)
|
||||||
|
|
||||||
|
self.pushButton_close.setDefault(True)
|
||||||
|
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, DialogChunkSettings):
|
||||||
|
|
||||||
|
__sortingEnabled = self.listWidgetChunkDefs.isSortingEnabled()
|
||||||
|
self.listWidgetChunkDefs.setSortingEnabled(False)
|
||||||
|
self.listWidgetChunkDefs.setSortingEnabled(__sortingEnabled)
|
||||||
|
|
||||||
|
pass
|
||||||
|
# retranslateUi
|
||||||
|
|
289
AutoFTG/gui_designs/ui_uiAddEditCam.py
Normal file
|
@ -0,0 +1,289 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'uiAddEditCam.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_DialogAddEditCam(object):
|
||||||
|
def setupUi(self, DialogAddEditCam):
|
||||||
|
if not DialogAddEditCam.objectName():
|
||||||
|
DialogAddEditCam.setObjectName(u"DialogAddEditCam")
|
||||||
|
DialogAddEditCam.resize(480, 270)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(DialogAddEditCam.sizePolicy().hasHeightForWidth())
|
||||||
|
DialogAddEditCam.setSizePolicy(sizePolicy)
|
||||||
|
DialogAddEditCam.setMinimumSize(QSize(480, 270))
|
||||||
|
DialogAddEditCam.setMaximumSize(QSize(480, 270))
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(10)
|
||||||
|
DialogAddEditCam.setFont(font)
|
||||||
|
DialogAddEditCam.setWindowTitle(u"Add/Edit Camera")
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/AutoFTG-appicon.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
DialogAddEditCam.setWindowIcon(icon)
|
||||||
|
self.gridLayoutWidget = QWidget(DialogAddEditCam)
|
||||||
|
self.gridLayoutWidget.setObjectName(u"gridLayoutWidget")
|
||||||
|
self.gridLayoutWidget.setGeometry(QRect(10, 10, 461, 251))
|
||||||
|
self.gridLayout = QGridLayout(self.gridLayoutWidget)
|
||||||
|
self.gridLayout.setSpacing(5)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout.setObjectName(u"gridLayout")
|
||||||
|
self.gridLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.comboBox_2 = QComboBox(self.gridLayoutWidget)
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-camera-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon1, u"Standard")
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/icons8-slr-small-lens-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon2, u"DSLR")
|
||||||
|
icon3 = QIcon()
|
||||||
|
icon3.addFile(u":/icons/icons8-camera-on-tripod-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon3, u"Special")
|
||||||
|
icon4 = QIcon()
|
||||||
|
icon4.addFile(u":/icons/icons8-quadcopter-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon4, u"Drone")
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/icons8-touchscreen-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon5, u"SmartPhone")
|
||||||
|
icon6 = QIcon()
|
||||||
|
icon6.addFile(u":/icons/icons8-gopro-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon6, u"SportCam")
|
||||||
|
self.comboBox_2.setObjectName(u"comboBox_2")
|
||||||
|
self.comboBox_2.setFont(font)
|
||||||
|
self.comboBox_2.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.comboBox_2, 3, 1, 1, 1)
|
||||||
|
|
||||||
|
self.lineEdit_2 = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_2.setObjectName(u"lineEdit_2")
|
||||||
|
self.lineEdit_2.setFont(font)
|
||||||
|
self.lineEdit_2.setPlaceholderText(u"Camera name")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.lineEdit_2, 0, 1, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_2 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setSpacing(5)
|
||||||
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
|
self.lineEdit_3 = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_3.setObjectName(u"lineEdit_3")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.lineEdit_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit_3.setSizePolicy(sizePolicy1)
|
||||||
|
self.lineEdit_3.setMinimumSize(QSize(0, 28))
|
||||||
|
self.lineEdit_3.setMaximumSize(QSize(16777215, 28))
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(8)
|
||||||
|
self.lineEdit_3.setFont(font1)
|
||||||
|
self.lineEdit_3.setPlaceholderText(u"Choose calibration XML file...")
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.lineEdit_3)
|
||||||
|
|
||||||
|
self.pushButton_3 = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_3.setObjectName(u"pushButton_3")
|
||||||
|
sizePolicy2 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
|
||||||
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
|
sizePolicy2.setVerticalStretch(0)
|
||||||
|
sizePolicy2.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_3.setSizePolicy(sizePolicy2)
|
||||||
|
self.pushButton_3.setFont(font1)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_3.setToolTip(u"Choose XML calibration file...")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
self.pushButton_3.setText(u"Browse")
|
||||||
|
icon7 = QIcon()
|
||||||
|
icon7.addFile(u":/icons/icons8-images-folder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_3.setIcon(icon7)
|
||||||
|
self.pushButton_3.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.pushButton_3)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_2, 5, 1, 1, 1)
|
||||||
|
|
||||||
|
self.label_3 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_3.setObjectName(u"label_3")
|
||||||
|
sizePolicy3 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy3.setHorizontalStretch(0)
|
||||||
|
sizePolicy3.setVerticalStretch(0)
|
||||||
|
sizePolicy3.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_3.setSizePolicy(sizePolicy3)
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setFamily(u"Segoe UI")
|
||||||
|
font2.setPointSize(10)
|
||||||
|
font2.setBold(True)
|
||||||
|
font2.setWeight(75)
|
||||||
|
self.label_3.setFont(font2)
|
||||||
|
self.label_3.setText(u"Camera Name")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(5)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.pushButton = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton.setObjectName(u"pushButton")
|
||||||
|
sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton.setSizePolicy(sizePolicy)
|
||||||
|
self.pushButton.setMinimumSize(QSize(0, 0))
|
||||||
|
self.pushButton.setMaximumSize(QSize(90, 30))
|
||||||
|
self.pushButton.setText(u"Cancel")
|
||||||
|
icon8 = QIcon()
|
||||||
|
icon8.addFile(u":/icons/icons8-close-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton.setIcon(icon8)
|
||||||
|
self.pushButton.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton)
|
||||||
|
|
||||||
|
self.pushButton_2 = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_2.setObjectName(u"pushButton_2")
|
||||||
|
sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_2.setSizePolicy(sizePolicy)
|
||||||
|
self.pushButton_2.setMinimumSize(QSize(0, 0))
|
||||||
|
self.pushButton_2.setMaximumSize(QSize(90, 30))
|
||||||
|
self.pushButton_2.setText(u"Save")
|
||||||
|
icon9 = QIcon()
|
||||||
|
icon9.addFile(u":/icons/icons8-save-all-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_2.setIcon(icon9)
|
||||||
|
self.pushButton_2.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton_2)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout, 7, 0, 1, 2)
|
||||||
|
|
||||||
|
self.label = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
sizePolicy3.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label.setSizePolicy(sizePolicy3)
|
||||||
|
self.label.setFont(font)
|
||||||
|
self.label.setText(u"Type")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_4 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_4.setObjectName(u"label_4")
|
||||||
|
sizePolicy3.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_4.setSizePolicy(sizePolicy3)
|
||||||
|
font3 = QFont()
|
||||||
|
font3.setFamily(u"Segoe UI")
|
||||||
|
font3.setPointSize(9)
|
||||||
|
self.label_4.setFont(font3)
|
||||||
|
self.label_4.setText(u"Resolution")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_7 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_7.setObjectName(u"label_7")
|
||||||
|
self.label_7.setFont(font3)
|
||||||
|
self.label_7.setText(u"Description")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_7, 1, 0, 1, 1)
|
||||||
|
|
||||||
|
self.line = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.line, 6, 0, 1, 2)
|
||||||
|
|
||||||
|
self.comboBox = QComboBox(self.gridLayoutWidget)
|
||||||
|
icon10 = QIcon()
|
||||||
|
icon10.addFile(u":/icons/icons8-full-page-view-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon10, u"Frame")
|
||||||
|
icon11 = QIcon()
|
||||||
|
icon11.addFile(u":/icons/icons8-video-wall-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon11, u"Fisheye")
|
||||||
|
icon12 = QIcon()
|
||||||
|
icon12.addFile(u":/icons/icons8-live-photos-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon12, u"Spherical")
|
||||||
|
icon13 = QIcon()
|
||||||
|
icon13.addFile(u":/icons/icons8-aperture-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon13, u"Cylindical")
|
||||||
|
icon14 = QIcon()
|
||||||
|
icon14.addFile(u":/icons/icons8-ios-application-placeholder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox.addItem(icon14, u"RPC")
|
||||||
|
self.comboBox.setObjectName(u"comboBox")
|
||||||
|
self.comboBox.setFont(font)
|
||||||
|
self.comboBox.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.comboBox, 2, 1, 1, 1)
|
||||||
|
|
||||||
|
self.label_5 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_5.setObjectName(u"label_5")
|
||||||
|
sizePolicy3.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_5.setSizePolicy(sizePolicy3)
|
||||||
|
self.label_5.setText(u"Callibration")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_5, 5, 0, 1, 1)
|
||||||
|
|
||||||
|
self.label_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
sizePolicy3.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_2.setSizePolicy(sizePolicy3)
|
||||||
|
self.label_2.setFont(font3)
|
||||||
|
self.label_2.setText(u"Sub-Type")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1)
|
||||||
|
|
||||||
|
self.horizontalLayout_3 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_3.setSpacing(5)
|
||||||
|
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
||||||
|
self.lineEdit = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit.setObjectName(u"lineEdit")
|
||||||
|
self.lineEdit.setMaximumSize(QSize(50, 16777215))
|
||||||
|
self.lineEdit.setFont(font)
|
||||||
|
self.lineEdit.setText(u"0")
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.lineEdit)
|
||||||
|
|
||||||
|
self.label_6 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_6.setObjectName(u"label_6")
|
||||||
|
self.label_6.setText(u"MP")
|
||||||
|
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_6)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout_3, 4, 1, 1, 1)
|
||||||
|
|
||||||
|
self.lineEdit_4 = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit_4.setObjectName(u"lineEdit_4")
|
||||||
|
self.lineEdit_4.setFont(font)
|
||||||
|
self.lineEdit_4.setPlaceholderText(u"Description of camera (optional)")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.lineEdit_4, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
QWidget.setTabOrder(self.lineEdit_2, self.lineEdit_4)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_4, self.comboBox)
|
||||||
|
QWidget.setTabOrder(self.comboBox, self.comboBox_2)
|
||||||
|
QWidget.setTabOrder(self.comboBox_2, self.lineEdit)
|
||||||
|
QWidget.setTabOrder(self.lineEdit, self.lineEdit_3)
|
||||||
|
QWidget.setTabOrder(self.lineEdit_3, self.pushButton_3)
|
||||||
|
QWidget.setTabOrder(self.pushButton_3, self.pushButton_2)
|
||||||
|
QWidget.setTabOrder(self.pushButton_2, self.pushButton)
|
||||||
|
|
||||||
|
self.retranslateUi(DialogAddEditCam)
|
||||||
|
self.pushButton.clicked.connect(DialogAddEditCam.close)
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, DialogAddEditCam):
|
||||||
|
|
||||||
|
|
||||||
|
pass
|
||||||
|
# retranslateUi
|
||||||
|
|
193
AutoFTG/gui_designs/ui_uiAddNewChunkQuick.py
Normal file
|
@ -0,0 +1,193 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'uiAddNewChunkQuick.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_DialogAddChunkQuick(object):
|
||||||
|
def setupUi(self, DialogAddChunkQuick):
|
||||||
|
if not DialogAddChunkQuick.objectName():
|
||||||
|
DialogAddChunkQuick.setObjectName(u"DialogAddChunkQuick")
|
||||||
|
DialogAddChunkQuick.resize(310, 155)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(DialogAddChunkQuick.sizePolicy().hasHeightForWidth())
|
||||||
|
DialogAddChunkQuick.setSizePolicy(sizePolicy)
|
||||||
|
DialogAddChunkQuick.setMinimumSize(QSize(310, 155))
|
||||||
|
DialogAddChunkQuick.setMaximumSize(QSize(310, 155))
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(9)
|
||||||
|
DialogAddChunkQuick.setFont(font)
|
||||||
|
DialogAddChunkQuick.setWindowTitle(u"Create New Chunk")
|
||||||
|
self.verticalLayoutWidget = QWidget(DialogAddChunkQuick)
|
||||||
|
self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget")
|
||||||
|
self.verticalLayoutWidget.setGeometry(QRect(9, 9, 295, 141))
|
||||||
|
self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget)
|
||||||
|
self.verticalLayout.setSpacing(5)
|
||||||
|
self.verticalLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||||
|
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.labelQuickAdd = QLabel(self.verticalLayoutWidget)
|
||||||
|
self.labelQuickAdd.setObjectName(u"labelQuickAdd")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.labelQuickAdd.sizePolicy().hasHeightForWidth())
|
||||||
|
self.labelQuickAdd.setSizePolicy(sizePolicy1)
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(11)
|
||||||
|
font1.setBold(True)
|
||||||
|
font1.setWeight(75)
|
||||||
|
self.labelQuickAdd.setFont(font1)
|
||||||
|
self.labelQuickAdd.setText(u"Create New Chunk")
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.labelQuickAdd)
|
||||||
|
|
||||||
|
self.line_2 = QFrame(self.verticalLayoutWidget)
|
||||||
|
self.line_2.setObjectName(u"line_2")
|
||||||
|
self.line_2.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_2.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.line_2)
|
||||||
|
|
||||||
|
self.label = QLabel(self.verticalLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
sizePolicy1.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label.setSizePolicy(sizePolicy1)
|
||||||
|
self.label.setText(u"Select chunk creation settings:")
|
||||||
|
self.label.setAlignment(Qt.AlignBottom|Qt.AlignLeading|Qt.AlignLeft)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.label)
|
||||||
|
|
||||||
|
self.cbChunkSettings = QComboBox(self.verticalLayoutWidget)
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/icons8-add-tab-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon, u"New Chunk (Default)")
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/template_kalota-modra.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon1, u"KALOTA-1")
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/template_kalota-oranzna.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon2, "")
|
||||||
|
icon3 = QIcon()
|
||||||
|
icon3.addFile(u":/icons/template_kalota-rdeca.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon3, "")
|
||||||
|
icon4 = QIcon()
|
||||||
|
icon4.addFile(u":/icons/template_kalota-vijola.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon4, "")
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/template_kalota-zelena.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon5, "")
|
||||||
|
icon6 = QIcon()
|
||||||
|
icon6.addFile(u":/icons/template_stopnica-modra.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon6, u"STOPNICA-1")
|
||||||
|
icon7 = QIcon()
|
||||||
|
icon7.addFile(u":/icons/template_stopnica-oranzna.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon7, u"STOPNICA-2")
|
||||||
|
icon8 = QIcon()
|
||||||
|
icon8.addFile(u":/icons/template_stopnica-rdeca.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon8, "")
|
||||||
|
icon9 = QIcon()
|
||||||
|
icon9.addFile(u":/icons/template_stopnica-vijola.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon9, "")
|
||||||
|
icon10 = QIcon()
|
||||||
|
icon10.addFile(u":/icons/template_stopnica-zelena.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon10, "")
|
||||||
|
icon11 = QIcon()
|
||||||
|
icon11.addFile(u":/icons/icons8-subway-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.cbChunkSettings.addItem(icon11, "")
|
||||||
|
self.cbChunkSettings.setObjectName(u"cbChunkSettings")
|
||||||
|
sizePolicy1.setHeightForWidth(self.cbChunkSettings.sizePolicy().hasHeightForWidth())
|
||||||
|
self.cbChunkSettings.setSizePolicy(sizePolicy1)
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setFamily(u"Segoe UI")
|
||||||
|
font2.setPointSize(11)
|
||||||
|
self.cbChunkSettings.setFont(font2)
|
||||||
|
self.cbChunkSettings.setCursor(QCursor(Qt.PointingHandCursor))
|
||||||
|
#if QT_CONFIG(statustip)
|
||||||
|
self.cbChunkSettings.setStatusTip(u"Choose settings used for chunk creation...")
|
||||||
|
#endif // QT_CONFIG(statustip)
|
||||||
|
self.cbChunkSettings.setCurrentText(u"New Chunk (Default)")
|
||||||
|
self.cbChunkSettings.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.cbChunkSettings)
|
||||||
|
|
||||||
|
self.line = QFrame(self.verticalLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.line)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(5)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.btnCreate = QPushButton(self.verticalLayoutWidget)
|
||||||
|
self.btnCreate.setObjectName(u"btnCreate")
|
||||||
|
sizePolicy2 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred)
|
||||||
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
|
sizePolicy2.setVerticalStretch(0)
|
||||||
|
sizePolicy2.setHeightForWidth(self.btnCreate.sizePolicy().hasHeightForWidth())
|
||||||
|
self.btnCreate.setSizePolicy(sizePolicy2)
|
||||||
|
self.btnCreate.setText(u"Create")
|
||||||
|
self.btnCreate.setIcon(icon)
|
||||||
|
self.btnCreate.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.btnCreate)
|
||||||
|
|
||||||
|
self.checkBoxAutoProc = QCheckBox(self.verticalLayoutWidget)
|
||||||
|
self.checkBoxAutoProc.setObjectName(u"checkBoxAutoProc")
|
||||||
|
self.checkBoxAutoProc.setText(u"Auto Processing")
|
||||||
|
icon12 = QIcon()
|
||||||
|
icon12.addFile(u":/icons/icons8-in-progress-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.checkBoxAutoProc.setIcon(icon12)
|
||||||
|
self.checkBoxAutoProc.setChecked(True)
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.checkBoxAutoProc)
|
||||||
|
|
||||||
|
self.btnCancel = QPushButton(self.verticalLayoutWidget)
|
||||||
|
self.btnCancel.setObjectName(u"btnCancel")
|
||||||
|
sizePolicy2.setHeightForWidth(self.btnCancel.sizePolicy().hasHeightForWidth())
|
||||||
|
self.btnCancel.setSizePolicy(sizePolicy2)
|
||||||
|
self.btnCancel.setText(u"Close")
|
||||||
|
icon13 = QIcon()
|
||||||
|
icon13.addFile(u":/icons/icons8-enter-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.btnCancel.setIcon(icon13)
|
||||||
|
self.btnCancel.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.btnCancel)
|
||||||
|
|
||||||
|
|
||||||
|
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||||
|
|
||||||
|
|
||||||
|
self.retranslateUi(DialogAddChunkQuick)
|
||||||
|
self.btnCancel.clicked.connect(DialogAddChunkQuick.reject)
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, DialogAddChunkQuick):
|
||||||
|
self.cbChunkSettings.setItemText(2, QCoreApplication.translate("DialogAddChunkQuick", u"KALOTA-2", None))
|
||||||
|
self.cbChunkSettings.setItemText(3, QCoreApplication.translate("DialogAddChunkQuick", u"KALOTA-3", None))
|
||||||
|
self.cbChunkSettings.setItemText(4, QCoreApplication.translate("DialogAddChunkQuick", u"KALOTA-4", None))
|
||||||
|
self.cbChunkSettings.setItemText(5, QCoreApplication.translate("DialogAddChunkQuick", u"KALOTA-5", None))
|
||||||
|
self.cbChunkSettings.setItemText(8, QCoreApplication.translate("DialogAddChunkQuick", u"STOPNICA-3", None))
|
||||||
|
self.cbChunkSettings.setItemText(9, QCoreApplication.translate("DialogAddChunkQuick", u"STOPNICA-4", None))
|
||||||
|
self.cbChunkSettings.setItemText(10, QCoreApplication.translate("DialogAddChunkQuick", u"STOPNICA-5", None))
|
||||||
|
self.cbChunkSettings.setItemText(11, QCoreApplication.translate("DialogAddChunkQuick", u"PREDOR-VLAK", None))
|
||||||
|
|
||||||
|
pass
|
||||||
|
# retranslateUi
|
||||||
|
|
157
AutoFTG/gui_designs/ui_uiDefaulCamera.py
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'uiDefaulCamera.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_dialogDefCam(object):
|
||||||
|
def setupUi(self, dialogDefCam):
|
||||||
|
if not dialogDefCam.objectName():
|
||||||
|
dialogDefCam.setObjectName(u"dialogDefCam")
|
||||||
|
dialogDefCam.resize(280, 280)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(dialogDefCam.sizePolicy().hasHeightForWidth())
|
||||||
|
dialogDefCam.setSizePolicy(sizePolicy)
|
||||||
|
dialogDefCam.setMinimumSize(QSize(280, 280))
|
||||||
|
dialogDefCam.setMaximumSize(QSize(280, 280))
|
||||||
|
dialogDefCam.setWindowTitle(u"Choose Camera")
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
dialogDefCam.setToolTip(u"")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
#if QT_CONFIG(statustip)
|
||||||
|
dialogDefCam.setStatusTip(u"")
|
||||||
|
#endif // QT_CONFIG(statustip)
|
||||||
|
#if QT_CONFIG(whatsthis)
|
||||||
|
dialogDefCam.setWhatsThis(u"")
|
||||||
|
#endif // QT_CONFIG(whatsthis)
|
||||||
|
#if QT_CONFIG(accessibility)
|
||||||
|
dialogDefCam.setAccessibleName(u"")
|
||||||
|
#endif // QT_CONFIG(accessibility)
|
||||||
|
#if QT_CONFIG(accessibility)
|
||||||
|
dialogDefCam.setAccessibleDescription(u"")
|
||||||
|
#endif // QT_CONFIG(accessibility)
|
||||||
|
self.verticalLayoutWidget = QWidget(dialogDefCam)
|
||||||
|
self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget")
|
||||||
|
self.verticalLayoutWidget.setGeometry(QRect(10, 10, 261, 261))
|
||||||
|
self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget)
|
||||||
|
self.verticalLayout.setSpacing(5)
|
||||||
|
self.verticalLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||||
|
self.verticalLayout.setSizeConstraint(QLayout.SetDefaultConstraint)
|
||||||
|
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.label = QLabel(self.verticalLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
font = QFont()
|
||||||
|
font.setPointSize(11)
|
||||||
|
self.label.setFont(font)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.label.setToolTip(u"")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
#if QT_CONFIG(statustip)
|
||||||
|
self.label.setStatusTip(u"")
|
||||||
|
#endif // QT_CONFIG(statustip)
|
||||||
|
#if QT_CONFIG(whatsthis)
|
||||||
|
self.label.setWhatsThis(u"")
|
||||||
|
#endif // QT_CONFIG(whatsthis)
|
||||||
|
#if QT_CONFIG(accessibility)
|
||||||
|
self.label.setAccessibleName(u"")
|
||||||
|
#endif // QT_CONFIG(accessibility)
|
||||||
|
#if QT_CONFIG(accessibility)
|
||||||
|
self.label.setAccessibleDescription(u"")
|
||||||
|
#endif // QT_CONFIG(accessibility)
|
||||||
|
self.label.setText(u"Choose default camera")
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.label)
|
||||||
|
|
||||||
|
self.listWidget = QListWidget(self.verticalLayoutWidget)
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/AutoFTG/resources/CamImages.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
__qlistwidgetitem = QListWidgetItem(self.listWidget)
|
||||||
|
__qlistwidgetitem.setText(u"Item 1");
|
||||||
|
__qlistwidgetitem.setIcon(icon);
|
||||||
|
__qlistwidgetitem.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled);
|
||||||
|
__qlistwidgetitem1 = QListWidgetItem(self.listWidget)
|
||||||
|
__qlistwidgetitem1.setText(u"Item 2");
|
||||||
|
__qlistwidgetitem1.setIcon(icon);
|
||||||
|
__qlistwidgetitem1.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled);
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/AutoFTG/resources/Pictures.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
brush = QBrush(QColor(253, 255, 211, 255))
|
||||||
|
brush.setStyle(Qt.SolidPattern)
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setBold(True)
|
||||||
|
font1.setWeight(75)
|
||||||
|
__qlistwidgetitem2 = QListWidgetItem(self.listWidget)
|
||||||
|
__qlistwidgetitem2.setText(u"Item 3");
|
||||||
|
__qlistwidgetitem2.setFont(font1);
|
||||||
|
__qlistwidgetitem2.setBackground(brush);
|
||||||
|
__qlistwidgetitem2.setIcon(icon1);
|
||||||
|
__qlistwidgetitem2.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled);
|
||||||
|
__qlistwidgetitem3 = QListWidgetItem(self.listWidget)
|
||||||
|
__qlistwidgetitem3.setText(u"Item 4");
|
||||||
|
__qlistwidgetitem3.setIcon(icon);
|
||||||
|
__qlistwidgetitem3.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled);
|
||||||
|
self.listWidget.setObjectName(u"listWidget")
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setPointSize(10)
|
||||||
|
self.listWidget.setFont(font2)
|
||||||
|
#if QT_CONFIG(tooltip)
|
||||||
|
self.listWidget.setToolTip(u"")
|
||||||
|
#endif // QT_CONFIG(tooltip)
|
||||||
|
#if QT_CONFIG(statustip)
|
||||||
|
self.listWidget.setStatusTip(u"")
|
||||||
|
#endif // QT_CONFIG(statustip)
|
||||||
|
#if QT_CONFIG(whatsthis)
|
||||||
|
self.listWidget.setWhatsThis(u"")
|
||||||
|
#endif // QT_CONFIG(whatsthis)
|
||||||
|
#if QT_CONFIG(accessibility)
|
||||||
|
self.listWidget.setAccessibleName(u"")
|
||||||
|
#endif // QT_CONFIG(accessibility)
|
||||||
|
#if QT_CONFIG(accessibility)
|
||||||
|
self.listWidget.setAccessibleDescription(u"")
|
||||||
|
#endif // QT_CONFIG(accessibility)
|
||||||
|
self.listWidget.setFrameShape(QFrame.StyledPanel)
|
||||||
|
self.listWidget.setFrameShadow(QFrame.Plain)
|
||||||
|
self.listWidget.setDefaultDropAction(Qt.IgnoreAction)
|
||||||
|
self.listWidget.setAlternatingRowColors(True)
|
||||||
|
self.listWidget.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.listWidget)
|
||||||
|
|
||||||
|
self.buttonBox = QDialogButtonBox(self.verticalLayoutWidget)
|
||||||
|
self.buttonBox.setObjectName(u"buttonBox")
|
||||||
|
self.buttonBox.setOrientation(Qt.Horizontal)
|
||||||
|
self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Ok)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.buttonBox)
|
||||||
|
|
||||||
|
|
||||||
|
self.retranslateUi(dialogDefCam)
|
||||||
|
self.buttonBox.accepted.connect(dialogDefCam.accept)
|
||||||
|
self.buttonBox.rejected.connect(dialogDefCam.reject)
|
||||||
|
|
||||||
|
self.listWidget.setCurrentRow(-1)
|
||||||
|
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, dialogDefCam):
|
||||||
|
|
||||||
|
__sortingEnabled = self.listWidget.isSortingEnabled()
|
||||||
|
self.listWidget.setSortingEnabled(False)
|
||||||
|
self.listWidget.setSortingEnabled(__sortingEnabled)
|
||||||
|
|
||||||
|
pass
|
||||||
|
# retranslateUi
|
||||||
|
|
189
AutoFTG/gui_designs/ui_uiEditSetings.py
Normal file
|
@ -0,0 +1,189 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'uiEditSetings.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_DialogEditSettings(object):
|
||||||
|
def setupUi(self, DialogEditSettings):
|
||||||
|
if not DialogEditSettings.objectName():
|
||||||
|
DialogEditSettings.setObjectName(u"DialogEditSettings")
|
||||||
|
DialogEditSettings.resize(420, 170)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(DialogEditSettings.sizePolicy().hasHeightForWidth())
|
||||||
|
DialogEditSettings.setSizePolicy(sizePolicy)
|
||||||
|
DialogEditSettings.setMinimumSize(QSize(420, 170))
|
||||||
|
DialogEditSettings.setMaximumSize(QSize(420, 170))
|
||||||
|
font = QFont()
|
||||||
|
font.setFamily(u"Segoe UI")
|
||||||
|
font.setPointSize(9)
|
||||||
|
DialogEditSettings.setFont(font)
|
||||||
|
DialogEditSettings.setWindowTitle(u"Data Folder")
|
||||||
|
self.gridLayoutWidget = QWidget(DialogEditSettings)
|
||||||
|
self.gridLayoutWidget.setObjectName(u"gridLayoutWidget")
|
||||||
|
self.gridLayoutWidget.setGeometry(QRect(10, 10, 401, 151))
|
||||||
|
self.gridLayout = QGridLayout(self.gridLayoutWidget)
|
||||||
|
self.gridLayout.setSpacing(10)
|
||||||
|
self.gridLayout.setContentsMargins(10, 10, 10, 10)
|
||||||
|
self.gridLayout.setObjectName(u"gridLayout")
|
||||||
|
self.gridLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.lineEdit = QLineEdit(self.gridLayoutWidget)
|
||||||
|
self.lineEdit.setObjectName(u"lineEdit")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.lineEdit.sizePolicy().hasHeightForWidth())
|
||||||
|
self.lineEdit.setSizePolicy(sizePolicy1)
|
||||||
|
self.lineEdit.setMinimumSize(QSize(0, 28))
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamily(u"Segoe UI")
|
||||||
|
font1.setPointSize(7)
|
||||||
|
self.lineEdit.setFont(font1)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.lineEdit, 2, 1, 1, 1)
|
||||||
|
|
||||||
|
self.label_3 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_3.setObjectName(u"label_3")
|
||||||
|
sizePolicy2 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
|
||||||
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
|
sizePolicy2.setVerticalStretch(0)
|
||||||
|
sizePolicy2.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_3.setSizePolicy(sizePolicy2)
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setFamily(u"Segoe UI")
|
||||||
|
font2.setPointSize(10)
|
||||||
|
self.label_3.setFont(font2)
|
||||||
|
self.label_3.setText(u"Default Camera")
|
||||||
|
self.label_3.setAlignment(Qt.AlignBottom|Qt.AlignLeading|Qt.AlignLeft)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
|
||||||
|
|
||||||
|
self.comboBox_2 = QComboBox(self.gridLayoutWidget)
|
||||||
|
icon = QIcon()
|
||||||
|
icon.addFile(u":/icons/icons8-full-page-view-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon, u"Frame")
|
||||||
|
icon1 = QIcon()
|
||||||
|
icon1.addFile(u":/icons/icons8-video-wall-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon1, u"Fisheye")
|
||||||
|
icon2 = QIcon()
|
||||||
|
icon2.addFile(u":/icons/icons8-live-photos-96.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon2, u"Spherical")
|
||||||
|
icon3 = QIcon()
|
||||||
|
icon3.addFile(u":/icons/icons8-aperture-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon3, u"Cylindical")
|
||||||
|
icon4 = QIcon()
|
||||||
|
icon4.addFile(u":/icons/icons8-ios-application-placeholder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.comboBox_2.addItem(icon4, u"RPC")
|
||||||
|
self.comboBox_2.setObjectName(u"comboBox_2")
|
||||||
|
sizePolicy3 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed)
|
||||||
|
sizePolicy3.setHorizontalStretch(0)
|
||||||
|
sizePolicy3.setVerticalStretch(0)
|
||||||
|
sizePolicy3.setHeightForWidth(self.comboBox_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.comboBox_2.setSizePolicy(sizePolicy3)
|
||||||
|
self.comboBox_2.setCurrentText(u"Frame")
|
||||||
|
self.comboBox_2.setIconSize(QSize(24, 24))
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.comboBox_2, 3, 1, 1, 1)
|
||||||
|
|
||||||
|
self.line_2 = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line_2.setObjectName(u"line_2")
|
||||||
|
self.line_2.setFrameShape(QFrame.HLine)
|
||||||
|
self.line_2.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.line_2, 4, 0, 1, 3)
|
||||||
|
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setSpacing(10)
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.pushButton_3 = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_3.setObjectName(u"pushButton_3")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_3.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_3.setText(u"Cancel")
|
||||||
|
icon5 = QIcon()
|
||||||
|
icon5.addFile(u":/icons/icons8-close-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_3.setIcon(icon5)
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton_3)
|
||||||
|
|
||||||
|
self.pushButton_2 = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton_2.setObjectName(u"pushButton_2")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_2.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton_2.setText(u"Ok")
|
||||||
|
icon6 = QIcon()
|
||||||
|
icon6.addFile(u":/icons/icons8-done-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton_2.setIcon(icon6)
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.pushButton_2)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout.addLayout(self.horizontalLayout, 5, 0, 1, 3)
|
||||||
|
|
||||||
|
self.label_2 = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
sizePolicy4 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||||
|
sizePolicy4.setHorizontalStretch(0)
|
||||||
|
sizePolicy4.setVerticalStretch(0)
|
||||||
|
sizePolicy4.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label_2.setSizePolicy(sizePolicy4)
|
||||||
|
self.label_2.setFont(font2)
|
||||||
|
self.label_2.setText(u"Data Folder")
|
||||||
|
self.label_2.setAlignment(Qt.AlignBottom|Qt.AlignLeading|Qt.AlignLeft)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
|
||||||
|
|
||||||
|
self.line = QFrame(self.gridLayoutWidget)
|
||||||
|
self.line.setObjectName(u"line")
|
||||||
|
self.line.setFrameShape(QFrame.HLine)
|
||||||
|
self.line.setFrameShadow(QFrame.Sunken)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.line, 1, 0, 1, 3)
|
||||||
|
|
||||||
|
self.label = QLabel(self.gridLayoutWidget)
|
||||||
|
self.label.setObjectName(u"label")
|
||||||
|
sizePolicy4.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
|
||||||
|
self.label.setSizePolicy(sizePolicy4)
|
||||||
|
font3 = QFont()
|
||||||
|
font3.setFamily(u"Segoe UI")
|
||||||
|
font3.setPointSize(12)
|
||||||
|
font3.setBold(True)
|
||||||
|
font3.setWeight(75)
|
||||||
|
self.label.setFont(font3)
|
||||||
|
self.label.setText(u"Edit Settings")
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
|
||||||
|
|
||||||
|
self.pushButton = QPushButton(self.gridLayoutWidget)
|
||||||
|
self.pushButton.setObjectName(u"pushButton")
|
||||||
|
sizePolicy3.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton.setSizePolicy(sizePolicy3)
|
||||||
|
self.pushButton.setText(u"Browse")
|
||||||
|
icon7 = QIcon()
|
||||||
|
icon7.addFile(u":/icons/icons8-opened-folder-50.png", QSize(), QIcon.Normal, QIcon.Off)
|
||||||
|
self.pushButton.setIcon(icon7)
|
||||||
|
self.pushButton.setIconSize(QSize(20, 20))
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.pushButton, 2, 2, 1, 1)
|
||||||
|
|
||||||
|
|
||||||
|
self.retranslateUi(DialogEditSettings)
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, DialogEditSettings):
|
||||||
|
|
||||||
|
pass
|
||||||
|
# retranslateUi
|
||||||
|
|
BIN
AutoFTG/icons/AUTOFTG-V2.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
AutoFTG/icons/AutoFTG-FTP-appicon.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
AutoFTG/icons/AutoFTG-appicon.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
AutoFTG/icons/AutoFTG_Dev-appicon.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
AutoFTG/icons/AutoFTG_PhotoWorx-appicon.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
AutoFTG/icons/glava_celu_orig_4cm.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
AutoFTG/icons/glava_celu_small.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
AutoFTG/icons/icons8-360-view-96.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
AutoFTG/icons/icons8-3d-48.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
AutoFTG/icons/icons8-about-50.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
AutoFTG/icons/icons8-add-50.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
AutoFTG/icons/icons8-add-camera-50.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
AutoFTG/icons/icons8-add-file-50.png
Normal file
After Width: | Height: | Size: 945 B |
BIN
AutoFTG/icons/icons8-add-folder-50.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
AutoFTG/icons/icons8-add-image-50.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
AutoFTG/icons/icons8-add-list-50.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
AutoFTG/icons/icons8-add-new-50.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
AutoFTG/icons/icons8-add-properties-50.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
AutoFTG/icons/icons8-add-tab-50.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
AutoFTG/icons/icons8-add-to-clipboard-50.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
AutoFTG/icons/icons8-add-to-collection-50.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
AutoFTG/icons/icons8-add-trash-50.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
AutoFTG/icons/icons8-adjust-50.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
AutoFTG/icons/icons8-advance-48.png
Normal file
After Width: | Height: | Size: 671 B |
BIN
AutoFTG/icons/icons8-afternoon-50.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
AutoFTG/icons/icons8-albums-50.png
Normal file
After Width: | Height: | Size: 443 B |
BIN
AutoFTG/icons/icons8-aperture-50.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
AutoFTG/icons/icons8-apps-tab-50.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
AutoFTG/icons/icons8-archive-folder-50.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
AutoFTG/icons/icons8-arrow-48.png
Normal file
After Width: | Height: | Size: 578 B |
BIN
AutoFTG/icons/icons8-available-updates-50.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
AutoFTG/icons/icons8-back-48.png
Normal file
After Width: | Height: | Size: 852 B |
BIN
AutoFTG/icons/icons8-briefcase-50.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
AutoFTG/icons/icons8-browse-folder-50-2.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
AutoFTG/icons/icons8-browse-folder-50.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
AutoFTG/icons/icons8-bursts-50.png
Normal file
After Width: | Height: | Size: 1001 B |
BIN
AutoFTG/icons/icons8-calendar-50.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
AutoFTG/icons/icons8-camera-50.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
AutoFTG/icons/icons8-camera-automation-96.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
AutoFTG/icons/icons8-camera-on-tripod-96.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
AutoFTG/icons/icons8-cameras-50.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
AutoFTG/icons/icons8-cancel-50.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
AutoFTG/icons/icons8-caps-lock-on-50.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
AutoFTG/icons/icons8-change-50.png
Normal file
After Width: | Height: | Size: 699 B |
BIN
AutoFTG/icons/icons8-check-file-50.png
Normal file
After Width: | Height: | Size: 599 B |
BIN
AutoFTG/icons/icons8-checked-checkbox-48.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
AutoFTG/icons/icons8-checklist-48.png
Normal file
After Width: | Height: | Size: 313 B |