fix: remplacer execDialog par popUpMenuEx pour Acrobat 2026

app.execDialog plante silencieusement dans Acrobat 2026.
Remplacement par app.popUpMenuEx (menu contextuel).
Correction aussi de cExec: this -> event.target pour le doc actif.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jules Dubois
2026-06-24 00:34:49 +02:00
parent e9eca79abd
commit ce1d81d09a
2 changed files with 32 additions and 29 deletions

View File

@@ -240,8 +240,8 @@ try {
app.addMenuItem({ app.addMenuItem({
cName: "CDImpOuvrirPanneau", cName: "CDImpOuvrirPanneau",
cParent: "ImpositionPro", cParent: "ImpositionPro",
cExec: "CDImp.UI.ouvrirPanneauPrincipal(this);", cExec: "CDImp.UI.ouvrirPanneauPrincipal(event.target);",
cEnable: "event.rc = (CDImp.UI != undefined);", cEnable: "event.rc = true;",
nPos: 0 nPos: 0
}); });
} catch (e) {} } catch (e) {}

View File

@@ -139,7 +139,7 @@ CDImp.UI.ouvrirPanneauPrincipal = function (docCourant) {
try { try {
doc = CDImp.Util.getDocActif(docCourant); doc = CDImp.Util.getDocActif(docCourant);
} catch (e) { } catch (e) {
CDImp.Util.erreur("Veuillez ouvrir un document PDF avant de lancer l'imposition."); app.alert("Veuillez ouvrir un document PDF avant de lancer l'imposition.");
return; return;
} }
@@ -147,36 +147,39 @@ CDImp.UI.ouvrirPanneauPrincipal = function (docCourant) {
return; return;
} }
var oDialogue = CDImp.UI._construireDialoguePrincipal(); var choix = app.popUpMenuEx(
var resultat; {cName: "1. Creer un livret / Delivretiser", cReturn: "livret"},
try { {cName: "2. N-Up / Step and Repeat", cReturn: "nup"},
resultat = app.execDialog(oDialogue); {cName: "3. Decoupe et reassemblage", cReturn: "decoupe"},
} catch (e) { {cName: "4. Marges et cadrages", cReturn: "marges"},
CDImp.Util.erreur("Impossible d'ouvrir le panneau d'imposition : " + e.toString()); {cName: "5. Reperes, textes, numerotation", cReturn: "reperes"},
{cName: "6. Automatisation", cReturn: "auto"},
{cName: "-"},
{cName: "A propos...", cReturn: "apropos"}
);
if (!choix) return;
var routes = {
livret: "Livret",
nup: "NUp",
decoupe: "Decoupe",
marges: "Marges",
reperes: "Reperes",
auto: "Auto"
};
if (choix === "apropos") {
CDImp.UI.afficherAPropos();
return; return;
} }
var routes = [ var moduleName = routes[choix];
{ action: CDImp.UI.ACTIONS.LIVRET, module: "Livret", nom: "Creer un livret" }, if (moduleName && CDImp[moduleName] && CDImp[moduleName].lancer) {
{ action: CDImp.UI.ACTIONS.NUP, module: "NUp", nom: "N-Up / Step & Repeat" }, CDImp[moduleName].lancer(doc);
{ action: CDImp.UI.ACTIONS.DECOUPE, module: "Decoupe", nom: "Decoupe & reassemblage" }, } else {
{ action: CDImp.UI.ACTIONS.MARGES, module: "Marges", nom: "Marges & cadrages" }, app.alert("Module non disponible.");
{ action: CDImp.UI.ACTIONS.REPERES, module: "Reperes", nom: "Reperes, textes, numerotation" },
{ action: CDImp.UI.ACTIONS.AUTO, module: "Auto", nom: "Automatisation" }
];
for (var i = 0; i < routes.length; i++) {
if (routes[i].action === resultat) {
var mod = CDImp[routes[i].module];
if (mod && mod.lancer) {
mod.lancer(doc);
} else {
CDImp.UI._moduleAVenir(routes[i].nom);
}
return;
}
} }
// Fermeture / Annulation : rien a faire.
}; };
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------