mirror of https://gitlab.com/pamhyr/pamhyr2
96 lines
3.5 KiB
Python
96 lines
3.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from config import Config
|
|
from view.ASubWindow import ASubWindow
|
|
from PyQt5.QtWidgets import (
|
|
QDialogButtonBox, QPushButton, QLineEdit,
|
|
QFileDialog,
|
|
)
|
|
|
|
class ConfigureWindow(ASubWindow):
|
|
def __init__(self, conf=None, title="Configure", parent=None):
|
|
super(ConfigureWindow, self).__init__(name=title, ui="ConfigureDialog", parent=parent)
|
|
self.ui.setWindowTitle(title)
|
|
|
|
if conf is None:
|
|
self.conf = Config()
|
|
else:
|
|
self.conf = conf
|
|
|
|
# MAGE
|
|
self.set_line_edit_text("lineEdit_exec_mage", self.conf.mage_path)
|
|
self.set_line_edit_text("lineEdit_exec_mage_extract", self.conf.mage_extract_path)
|
|
self.set_line_edit_text("lineEdit_exec_mailleur", self.conf.mailleur_path)
|
|
|
|
# Const
|
|
self.set_check_box("checkBox_manning", self.conf.manning)
|
|
self.set_line_edit_text("lineEdit_segment", str(self.conf.segment))
|
|
self.set_line_edit_text("lineEdit_max_listing", str(self.conf.max_listing))
|
|
|
|
# Backup
|
|
self.set_check_box("checkBox_backup", self.conf.backup_enable)
|
|
self.set_line_edit_text("lineEdit_backup_path", self.conf.backup_path)
|
|
self.set_time_edit("timeEdit_backup_frequence", self.conf.backup_frequence)
|
|
self.set_spin_box("spinBox_backup_max", self.conf.backup_max)
|
|
|
|
self.connect()
|
|
|
|
def connect(self):
|
|
# File button
|
|
buttons = {
|
|
"pushButton_exec_mage": lambda: self.file_dialog("exec_mage", True),
|
|
"pushButton_exec_mage_extract": lambda: self.file_dialog("exec_mage_extract", True),
|
|
"pushButton_exec_mailleur": lambda: self.file_dialog("exec_mailleur", True),
|
|
"pushButton_backup_path": lambda: self.file_dialog("backup_path", False),
|
|
}
|
|
|
|
for button in buttons:
|
|
self.find(QPushButton, button).clicked.connect(buttons[button])
|
|
|
|
def accept(self):
|
|
# MAGE
|
|
self.conf.mage_path = self.get_line_edit_text("lineEdit_exec_mage")
|
|
self.conf.mage_extract_path = self.get_line_edit_text("lineEdit_exec_mage_extract")
|
|
self.conf.mailleur_path = self.get_line_edit_text("lineEdit_exec_mailleur")
|
|
|
|
# Const
|
|
self.conf.manning = self.get_check_box("checkBox_manning")
|
|
self.conf.segment = self.get_line_edit_text("lineEdit_segment")
|
|
self.conf.max_listing = self.get_line_edit_text("lineEdit_max_listing")
|
|
|
|
# Backup
|
|
self.conf.backup_enable = self.get_check_box("checkBox_backup")
|
|
self.conf.backup_path = self.get_line_edit_text("lineEdit_backup_path")
|
|
self.conf.backup_frequence = self.get_time_edit("timeEdit_backup_frequence")
|
|
self.conf.backup_max = self.get_spin_box("spinBox_backup_max")
|
|
|
|
self.end()
|
|
|
|
def reject(self):
|
|
# Nothing todo
|
|
self.end()
|
|
|
|
def end(self):
|
|
self.conf.save()
|
|
self.close()
|
|
|
|
def file_dialog(self, line_edit, select_file):
|
|
dialog = QFileDialog(self)
|
|
if select_file:
|
|
mode = QFileDialog.FileMode.ExistingFile
|
|
else:
|
|
mode = QFileDialog.FileMode.Directory
|
|
|
|
dialog.setFileMode(mode)
|
|
|
|
if dialog.exec_():
|
|
file_names = dialog.selectedFiles()
|
|
if len(file_names) != 1:
|
|
print("pas bien")
|
|
else:
|
|
if line_edit != "":
|
|
self.set_line_edit_text(
|
|
f"lineEdit_{line_edit}",
|
|
file_names[0]
|
|
)
|