feat(subtitles): add support for loading and displaying subtitles in the application feat(video): implement video capture and frame navigation functionality feat(ui): create main window UI for subtitle and video management test: add unit tests for utility functions related to subtitle processing chore: set up project structure with necessary files and directories for functionality feat(ui_hardsubripper.py): add UI implementation for HardSubRipper application to provide a graphical interface for subtitle extraction and translation functionalities
162 lines
9.4 KiB
Python
162 lines
9.4 KiB
Python
# Form implementation generated from reading ui file 'HardSubRipper.ui'
|
|
#
|
|
# Created by: PyQt6 UI code generator 6.6.1
|
|
#
|
|
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
|
|
# run again. Do not edit this file unless you know what you are doing.
|
|
|
|
|
|
from PyQt6 import QtCore, QtGui, QtWidgets
|
|
|
|
|
|
class Ui_HardSubRipper(object):
|
|
def setupUi(self, HardSubRipper):
|
|
HardSubRipper.setObjectName("HardSubRipper")
|
|
HardSubRipper.resize(782, 600)
|
|
self.centralwidget = QtWidgets.QWidget(parent=HardSubRipper)
|
|
self.centralwidget.setObjectName("centralwidget")
|
|
self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
|
|
self.gridLayout_2.setObjectName("gridLayout_2")
|
|
self.MainLayout = QtWidgets.QGridLayout()
|
|
self.MainLayout.setObjectName("MainLayout")
|
|
self.verticalLayout = QtWidgets.QVBoxLayout()
|
|
self.verticalLayout.setObjectName("verticalLayout")
|
|
self.opensub = QtWidgets.QPushButton(parent=self.centralwidget)
|
|
self.opensub.setObjectName("opensub")
|
|
self.verticalLayout.addWidget(self.opensub)
|
|
self.openvid = QtWidgets.QPushButton(parent=self.centralwidget)
|
|
self.openvid.setObjectName("openvid")
|
|
self.verticalLayout.addWidget(self.openvid)
|
|
self.selected_sub_label = QtWidgets.QLabel(parent=self.centralwidget)
|
|
self.selected_sub_label.setObjectName("selected_sub_label")
|
|
self.verticalLayout.addWidget(self.selected_sub_label)
|
|
self.selected_video_label = QtWidgets.QLabel(parent=self.centralwidget)
|
|
self.selected_video_label.setObjectName("selected_video_label")
|
|
self.verticalLayout.addWidget(self.selected_video_label)
|
|
self.translate = QtWidgets.QPushButton(parent=self.centralwidget)
|
|
self.translate.setObjectName("translate")
|
|
self.verticalLayout.addWidget(self.translate)
|
|
self.MainLayout.addLayout(self.verticalLayout, 0, 1, 1, 1)
|
|
self.gridLayout_2.addLayout(self.MainLayout, 0, 0, 1, 1)
|
|
self.gridLayout = QtWidgets.QGridLayout()
|
|
self.gridLayout.setObjectName("gridLayout")
|
|
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
|
|
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
|
self.frame_pixmap = QtWidgets.QLabel(parent=self.centralwidget)
|
|
self.frame_pixmap.setMaximumSize(QtCore.QSize(640, 360))
|
|
self.frame_pixmap.setObjectName("frame_pixmap")
|
|
self.verticalLayout_2.addWidget(self.frame_pixmap)
|
|
self.xminmax = QtWidgets.QLabel(parent=self.centralwidget)
|
|
self.xminmax.setMaximumSize(QtCore.QSize(16777215, 10))
|
|
self.xminmax.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
|
self.xminmax.setObjectName("xminmax")
|
|
self.verticalLayout_2.addWidget(self.xminmax)
|
|
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
|
self.horizontalLayout.setObjectName("horizontalLayout")
|
|
self.xmin = QtWidgets.QSpinBox(parent=self.centralwidget)
|
|
self.xmin.setObjectName("xmin")
|
|
self.horizontalLayout.addWidget(self.xmin)
|
|
self.xmax = QtWidgets.QSpinBox(parent=self.centralwidget)
|
|
self.xmax.setObjectName("xmax")
|
|
self.horizontalLayout.addWidget(self.xmax)
|
|
self.verticalLayout_2.addLayout(self.horizontalLayout)
|
|
self.label_3 = QtWidgets.QLabel(parent=self.centralwidget)
|
|
self.label_3.setMaximumSize(QtCore.QSize(16777215, 10))
|
|
self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
|
self.label_3.setObjectName("label_3")
|
|
self.verticalLayout_2.addWidget(self.label_3)
|
|
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
|
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
|
self.ymin = QtWidgets.QSpinBox(parent=self.centralwidget)
|
|
self.ymin.setObjectName("ymin")
|
|
self.horizontalLayout_2.addWidget(self.ymin)
|
|
self.ymax = QtWidgets.QSpinBox(parent=self.centralwidget)
|
|
self.ymax.setObjectName("ymax")
|
|
self.horizontalLayout_2.addWidget(self.ymax)
|
|
self.verticalLayout_2.addLayout(self.horizontalLayout_2)
|
|
self.translated = QtWidgets.QPlainTextEdit(parent=self.centralwidget)
|
|
self.translated.setMaximumSize(QtCore.QSize(16777215, 50))
|
|
self.translated.setObjectName("translated")
|
|
self.verticalLayout_2.addWidget(self.translated)
|
|
self.ia_translated = QtWidgets.QPlainTextEdit(parent=self.centralwidget)
|
|
self.ia_translated.setMaximumSize(QtCore.QSize(560533, 50))
|
|
self.ia_translated.setObjectName("ia_translated")
|
|
self.verticalLayout_2.addWidget(self.ia_translated)
|
|
self.gridLayout_3 = QtWidgets.QGridLayout()
|
|
self.gridLayout_3.setObjectName("gridLayout_3")
|
|
self.subcounter = QtWidgets.QSpinBox(parent=self.centralwidget)
|
|
self.subcounter.setObjectName("subcounter")
|
|
self.gridLayout_3.addWidget(self.subcounter, 0, 0, 1, 1)
|
|
self.next = QtWidgets.QPushButton(parent=self.centralwidget)
|
|
self.next.setObjectName("next")
|
|
self.gridLayout_3.addWidget(self.next, 1, 1, 1, 1)
|
|
self.previous = QtWidgets.QPushButton(parent=self.centralwidget)
|
|
self.previous.setObjectName("previous")
|
|
self.gridLayout_3.addWidget(self.previous, 1, 0, 1, 1)
|
|
self.gotoframe = QtWidgets.QPushButton(parent=self.centralwidget)
|
|
self.gotoframe.setObjectName("gotoframe")
|
|
self.gridLayout_3.addWidget(self.gotoframe, 0, 1, 1, 1)
|
|
self.verticalLayout_2.addLayout(self.gridLayout_3)
|
|
self.gridLayout.addLayout(self.verticalLayout_2, 2, 1, 1, 1)
|
|
self.savetofile = QtWidgets.QPushButton(parent=self.centralwidget)
|
|
self.savetofile.setObjectName("savetofile")
|
|
self.gridLayout.addWidget(self.savetofile, 3, 1, 1, 1)
|
|
self.gridLayout_2.addLayout(self.gridLayout, 0, 1, 1, 1)
|
|
HardSubRipper.setCentralWidget(self.centralwidget)
|
|
self.menubar = QtWidgets.QMenuBar(parent=HardSubRipper)
|
|
self.menubar.setGeometry(QtCore.QRect(0, 0, 782, 22))
|
|
self.menubar.setObjectName("menubar")
|
|
self.menuFichier = QtWidgets.QMenu(parent=self.menubar)
|
|
self.menuFichier.setObjectName("menuFichier")
|
|
self.menuA_propos = QtWidgets.QMenu(parent=self.menubar)
|
|
self.menuA_propos.setObjectName("menuA_propos")
|
|
HardSubRipper.setMenuBar(self.menubar)
|
|
self.statusbar = QtWidgets.QStatusBar(parent=HardSubRipper)
|
|
self.statusbar.setObjectName("statusbar")
|
|
HardSubRipper.setStatusBar(self.statusbar)
|
|
self.actionOuvrir_des_sous_titres = QtGui.QAction(parent=HardSubRipper)
|
|
self.actionOuvrir_des_sous_titres.setObjectName("actionOuvrir_des_sous_titres")
|
|
self.actionOuvrir_une_video = QtGui.QAction(parent=HardSubRipper)
|
|
self.actionOuvrir_une_video.setObjectName("actionOuvrir_une_video")
|
|
self.actionEngeristrer_les_sous_titres = QtGui.QAction(parent=HardSubRipper)
|
|
self.actionEngeristrer_les_sous_titres.setObjectName("actionEngeristrer_les_sous_titres")
|
|
self.actionFermer = QtGui.QAction(parent=HardSubRipper)
|
|
self.actionFermer.setObjectName("actionFermer")
|
|
self.actionA_propos = QtGui.QAction(parent=HardSubRipper)
|
|
self.actionA_propos.setObjectName("actionA_propos")
|
|
self.menuFichier.addAction(self.actionOuvrir_des_sous_titres)
|
|
self.menuFichier.addAction(self.actionOuvrir_une_video)
|
|
self.menuFichier.addSeparator()
|
|
self.menuFichier.addAction(self.actionEngeristrer_les_sous_titres)
|
|
self.menuFichier.addSeparator()
|
|
self.menuFichier.addAction(self.actionFermer)
|
|
self.menuA_propos.addAction(self.actionA_propos)
|
|
self.menubar.addAction(self.menuFichier.menuAction())
|
|
self.menubar.addAction(self.menuA_propos.menuAction())
|
|
|
|
self.retranslateUi(HardSubRipper)
|
|
QtCore.QMetaObject.connectSlotsByName(HardSubRipper)
|
|
|
|
def retranslateUi(self, HardSubRipper):
|
|
_translate = QtCore.QCoreApplication.translate
|
|
HardSubRipper.setWindowTitle(_translate("HardSubRipper", "HardSubRipper"))
|
|
self.opensub.setText(_translate("HardSubRipper", "Ouvrir des sous titres"))
|
|
self.openvid.setText(_translate("HardSubRipper", "Ouvir une video"))
|
|
self.selected_sub_label.setText(_translate("HardSubRipper", "sous titres :"))
|
|
self.selected_video_label.setText(_translate("HardSubRipper", "video :"))
|
|
self.translate.setText(_translate("HardSubRipper", "Traduire"))
|
|
self.frame_pixmap.setText(_translate("HardSubRipper", "TextLabel"))
|
|
self.xminmax.setText(_translate("HardSubRipper", "X min/max"))
|
|
self.label_3.setText(_translate("HardSubRipper", "Y min/max"))
|
|
self.next.setText(_translate("HardSubRipper", "Next"))
|
|
self.previous.setText(_translate("HardSubRipper", "Previous"))
|
|
self.gotoframe.setText(_translate("HardSubRipper", "Go to frame"))
|
|
self.savetofile.setText(_translate("HardSubRipper", "Sauvegarder les sous titres"))
|
|
self.menuFichier.setTitle(_translate("HardSubRipper", "Fichier"))
|
|
self.menuA_propos.setTitle(_translate("HardSubRipper", "A propos"))
|
|
self.actionOuvrir_des_sous_titres.setText(_translate("HardSubRipper", "Ouvrir des sous titres"))
|
|
self.actionOuvrir_une_video.setText(_translate("HardSubRipper", "Ouvrir une video"))
|
|
self.actionEngeristrer_les_sous_titres.setText(_translate("HardSubRipper", "Engeristrer les sous titres"))
|
|
self.actionFermer.setText(_translate("HardSubRipper", "Fermer"))
|
|
self.actionA_propos.setText(_translate("HardSubRipper", "A propos"))
|