V3.5.0 — Icone .ico + menu contextuel en sous-menu

- Fichier icon.ico multi-tailles (16/32/48/64/128/256)
- Menu contextuel Windows en vrai sous-menu via ExtendedSubCommandsKey
  - Clic droit > CopyDev Impose > Ouvrir / Livret A4 / A3 / 2x2 / Delivretiser
- Unregister nettoie aussi les anciennes entrees separees

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jules
2026-03-21 17:46:41 +01:00
parent c77b064c94
commit 4860f21034
4 changed files with 20 additions and 19 deletions

View File

@@ -1292,29 +1292,29 @@ class MainWindow(QMainWindow):
exe = sys.executable if getattr(sys, 'frozen', False) else os.path.abspath("main.py")
try:
base = "HKCU\\Software\\Classes\\SystemFileAssociations\\.pdf\\shell"
sub = "HKCU\\Software\\Classes\\CopyDevImpose.sub"
cmds = [
# Association PDF (Ouvrir avec)
f'reg add "HKCU\\Software\\Classes\\.pdf\\OpenWithProgids" /v "CopyDevImpose" /t REG_SZ /d "" /f',
f'reg add "HKCU\\Software\\Classes\\CopyDevImpose" /ve /d "CopyDev Imposing Tool" /f',
f'reg add "HKCU\\Software\\Classes\\CopyDevImpose\\shell\\open\\command" /ve /d "\\"{exe}\\" \\"%1\\"" /f',
f'reg add "HKCU\\Software\\Classes\\CopyDevImpose\\DefaultIcon" /ve /d "{exe},0" /f',
# Entrees individuelles dans le menu contextuel
# Ouvrir avec CopyDev
f'reg add "{base}\\CopyDev_Ouvrir" /ve /d "Ouvrir avec CopyDev Impose" /f',
f'reg add "{base}\\CopyDev_Ouvrir" /v "Icon" /t REG_SZ /d "{exe},0" /f',
f'reg add "{base}\\CopyDev_Ouvrir\\command" /ve /d "\\"{exe}\\" \\"%1\\"" /f',
# Livret A4
f'reg add "{base}\\CopyDev_LivretA4" /ve /d "CopyDev: Livret A4" /f',
f'reg add "{base}\\CopyDev_LivretA4\\command" /ve /d "\\"{exe}\\" --action booklet_a4 \\"%1\\"" /f',
# Livret A3
f'reg add "{base}\\CopyDev_LivretA3" /ve /d "CopyDev: Livret A3" /f',
f'reg add "{base}\\CopyDev_LivretA3\\command" /ve /d "\\"{exe}\\" --action booklet_a3 \\"%1\\"" /f',
# 2x2
f'reg add "{base}\\CopyDev_2x2" /ve /d "CopyDev: 2x2 par feuille" /f',
f'reg add "{base}\\CopyDev_2x2\\command" /ve /d "\\"{exe}\\" --action nup_2x2 \\"%1\\"" /f',
# Delivretiser
f'reg add "{base}\\CopyDev_Delivretiser" /ve /d "CopyDev: Delivretiser" /f',
f'reg add "{base}\\CopyDev_Delivretiser\\command" /ve /d "\\"{exe}\\" --action unbooklet \\"%1\\"" /f',
# Menu contextuel avec sous-menu via ExtendedSubCommandsKey
f'reg add "{base}\\CopyDevImpose" /ve /d "CopyDev Impose" /f',
f'reg add "{base}\\CopyDevImpose" /v "Icon" /t REG_SZ /d "{exe},0" /f',
f'reg add "{base}\\CopyDevImpose" /v "ExtendedSubCommandsKey" /t REG_SZ /d "CopyDevImpose.sub" /f',
# Sous-commandes
f'reg add "{sub}\\shell\\01_Ouvrir" /ve /d "Ouvrir avec CopyDev" /f',
f'reg add "{sub}\\shell\\01_Ouvrir" /v "Icon" /t REG_SZ /d "{exe},0" /f',
f'reg add "{sub}\\shell\\01_Ouvrir\\command" /ve /d "\\"{exe}\\" \\"%1\\"" /f',
f'reg add "{sub}\\shell\\02_LivretA4" /ve /d "Livret A4" /f',
f'reg add "{sub}\\shell\\02_LivretA4\\command" /ve /d "\\"{exe}\\" --action booklet_a4 \\"%1\\"" /f',
f'reg add "{sub}\\shell\\03_LivretA3" /ve /d "Livret A3" /f',
f'reg add "{sub}\\shell\\03_LivretA3\\command" /ve /d "\\"{exe}\\" --action booklet_a3 \\"%1\\"" /f',
f'reg add "{sub}\\shell\\04_2x2" /ve /d "2x2 par feuille" /f',
f'reg add "{sub}\\shell\\04_2x2\\command" /ve /d "\\"{exe}\\" --action nup_2x2 \\"%1\\"" /f',
f'reg add "{sub}\\shell\\05_Delivretiser" /ve /d "Delivretiser" /f',
f'reg add "{sub}\\shell\\05_Delivretiser\\command" /ve /d "\\"{exe}\\" --action unbooklet \\"%1\\"" /f',
]
for cmd in cmds:
subprocess.run(cmd, shell=True, capture_output=True)
@@ -1334,6 +1334,7 @@ class MainWindow(QMainWindow):
base = "HKCU\\Software\\Classes\\SystemFileAssociations\\.pdf\\shell"
cmds = [
'reg delete "HKCU\\Software\\Classes\\CopyDevImpose" /f',
'reg delete "HKCU\\Software\\Classes\\CopyDevImpose.sub" /f',
'reg delete "HKCU\\Software\\Classes\\.pdf\\OpenWithProgids" /v "CopyDevImpose" /f',
f'reg delete "{base}\\CopyDevImpose" /f',
f'reg delete "{base}\\CopyDev_Ouvrir" /f',

View File

@@ -14,7 +14,7 @@ REPO = "jules/copydev-imposing-tool"
BRANCH = "master"
# Version actuelle (incrementee a chaque release)
VERSION = "3.4.3"
VERSION = "3.5.0"
def get_remote_version():

BIN
resources/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

View File

@@ -1 +1 @@
3.4.3
3.5.0