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:
@@ -240,8 +240,8 @@ try {
|
||||
app.addMenuItem({
|
||||
cName: "CDImpOuvrirPanneau",
|
||||
cParent: "ImpositionPro",
|
||||
cExec: "CDImp.UI.ouvrirPanneauPrincipal(this);",
|
||||
cEnable: "event.rc = (CDImp.UI != undefined);",
|
||||
cExec: "CDImp.UI.ouvrirPanneauPrincipal(event.target);",
|
||||
cEnable: "event.rc = true;",
|
||||
nPos: 0
|
||||
});
|
||||
} catch (e) {}
|
||||
|
||||
@@ -139,7 +139,7 @@ CDImp.UI.ouvrirPanneauPrincipal = function (docCourant) {
|
||||
try {
|
||||
doc = CDImp.Util.getDocActif(docCourant);
|
||||
} 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;
|
||||
}
|
||||
|
||||
@@ -147,36 +147,39 @@ CDImp.UI.ouvrirPanneauPrincipal = function (docCourant) {
|
||||
return;
|
||||
}
|
||||
|
||||
var oDialogue = CDImp.UI._construireDialoguePrincipal();
|
||||
var resultat;
|
||||
try {
|
||||
resultat = app.execDialog(oDialogue);
|
||||
} catch (e) {
|
||||
CDImp.Util.erreur("Impossible d'ouvrir le panneau d'imposition : " + e.toString());
|
||||
var choix = app.popUpMenuEx(
|
||||
{cName: "1. Creer un livret / Delivretiser", cReturn: "livret"},
|
||||
{cName: "2. N-Up / Step and Repeat", cReturn: "nup"},
|
||||
{cName: "3. Decoupe et reassemblage", cReturn: "decoupe"},
|
||||
{cName: "4. Marges et cadrages", cReturn: "marges"},
|
||||
{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;
|
||||
}
|
||||
|
||||
var routes = [
|
||||
{ action: CDImp.UI.ACTIONS.LIVRET, module: "Livret", nom: "Creer un livret" },
|
||||
{ action: CDImp.UI.ACTIONS.NUP, module: "NUp", nom: "N-Up / Step & Repeat" },
|
||||
{ action: CDImp.UI.ACTIONS.DECOUPE, module: "Decoupe", nom: "Decoupe & reassemblage" },
|
||||
{ action: CDImp.UI.ACTIONS.MARGES, module: "Marges", nom: "Marges & cadrages" },
|
||||
{ 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);
|
||||
var moduleName = routes[choix];
|
||||
if (moduleName && CDImp[moduleName] && CDImp[moduleName].lancer) {
|
||||
CDImp[moduleName].lancer(doc);
|
||||
} else {
|
||||
CDImp.UI._moduleAVenir(routes[i].nom);
|
||||
app.alert("Module non disponible.");
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Fermeture / Annulation : rien a faire.
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user