From 4860f21034f2fdfac7124a1c30920ec0cb163c1c Mon Sep 17 00:00:00 2001 From: Jules Date: Sat, 21 Mar 2026 17:46:41 +0100 Subject: [PATCH] =?UTF-8?q?V3.5.0=20=E2=80=94=20Icone=20.ico=20+=20menu=20?= =?UTF-8?q?contextuel=20en=20sous-menu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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) --- app/main_window.py | 35 ++++++++++++++++++----------------- app/updater.py | 2 +- resources/icon.ico | Bin 0 -> 531 bytes version.txt | 2 +- 4 files changed, 20 insertions(+), 19 deletions(-) create mode 100644 resources/icon.ico diff --git a/app/main_window.py b/app/main_window.py index 0a47596..69f0fc9 100644 --- a/app/main_window.py +++ b/app/main_window.py @@ -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', diff --git a/app/updater.py b/app/updater.py index 425aa0f..5bff866 100644 --- a/app/updater.py +++ b/app/updater.py @@ -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(): diff --git a/resources/icon.ico b/resources/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..026f37b1179be99f4aa393e4b2471648bedf5da2 GIT binary patch literal 531 zcmV+u0_^<&0096201yxW0000W0Q~^~02TlM0EtjeM-2)Z3IG5A4M|8uQUCw|5C8xG z5C{eU001BJ|6u?C0mMl}K~#90rI9~w6JZcX-^};z+H0?kBhetGNr@s35JkBF4F^F= zkz3?2oPZvsK&c|7u~LKrMC2%}vv$0HW+)bH0|6=GwKMbdn;G~|1fVR-w=qfH2(<2m zzqdQZd~PuWEz9y^cX#&$fV!?f_!F5_Q!p0 zXEPFSQEEI-XtI_xjpUFw1DnaCc$|MA9y$*?RDo1gL@;Wl*mE`K?s2?%YGA>L6Q)5b`TM8$L{YjGeo3I5+iAvcJ)6JBni#=Io0(w z8UoVqGdw!#l5OGcgb*GPfZd;-+I%)M9So$px?+5GM#%Fn-Il0rTeI#yw)p~#CdbFx zzr57g>!G6&n&+(VvqcC&e|%xI7A%Y6ogW-TIXtum6u^pt$1pPk!p+Ui`$rp|%6A$O V_#qnS3Wopy002ovPDHLkV1nuD;7kAj literal 0 HcmV?d00001 diff --git a/version.txt b/version.txt index 6cb9d3d..1545d96 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -3.4.3 +3.5.0