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({
|
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) {}
|
||||||
|
|||||||
@@ -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" },
|
|
||||||
{ 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);
|
|
||||||
} else {
|
} 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