V3.4.0 — Panneau fusion, macros CLI, bouton config client Vision
- Panneau de fusion PDF avec dialog dedié : - Liste des fichiers avec drag & drop pour reordonner - Boutons Ajouter/Retirer/Monter/Descendre - Pre-rempli avec le fichier courant - Support --macro en ligne de commande - register_windows.bat : ajout dynamique des macros au menu contextuel - Vision : bouton "Configurer le client" dans le modal licence (ouvre le gros modal client avec SFTP, fonctions, tunnel, etc.) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1108,25 +1108,29 @@ class MainWindow(QMainWindow):
|
||||
QMessageBox.critical(self, "Erreur", str(e))
|
||||
|
||||
def _do_merge(self):
|
||||
paths, _ = QFileDialog.getOpenFileNames(self, "Selectionner les PDF a fusionner", "", "PDF (*.pdf)")
|
||||
if not paths or len(paths) < 2:
|
||||
if paths and len(paths) == 1:
|
||||
from app.dialogs.merge_dialog import MergeDialog
|
||||
# Pre-remplir avec le fichier courant si ouvert
|
||||
initial = [self._current_file] if self._current_file else []
|
||||
dlg = MergeDialog(initial_files=initial, parent=self)
|
||||
if dlg.exec():
|
||||
files = dlg.get_files()
|
||||
if len(files) < 2:
|
||||
QMessageBox.information(self, "Fusion", "Selectionnez au moins 2 fichiers PDF.")
|
||||
return
|
||||
from pypdf import PdfWriter
|
||||
self._show_progress()
|
||||
try:
|
||||
writer = PdfWriter()
|
||||
for path in paths:
|
||||
writer.append(path)
|
||||
output = self._make_temp()
|
||||
with open(output, "wb") as f:
|
||||
writer.write(f)
|
||||
self._show_result(output)
|
||||
self._status_label.setText(f"Fusion de {len(paths)} fichiers terminee")
|
||||
except Exception as e:
|
||||
self._hide_progress()
|
||||
QMessageBox.critical(self, "Erreur", str(e))
|
||||
return
|
||||
from pypdf import PdfWriter
|
||||
self._show_progress()
|
||||
try:
|
||||
writer = PdfWriter()
|
||||
for path in files:
|
||||
writer.append(path)
|
||||
output = self._make_temp()
|
||||
with open(output, "wb") as f:
|
||||
writer.write(f)
|
||||
self._show_result(output)
|
||||
self._status_label.setText(f"Fusion de {len(files)} fichiers terminee")
|
||||
except Exception as e:
|
||||
self._hide_progress()
|
||||
QMessageBox.critical(self, "Erreur", str(e))
|
||||
|
||||
# ── A propos ──
|
||||
|
||||
|
||||
Reference in New Issue
Block a user