Pagina 1 di 1
[Risolto]Malfunzionamento generalizzato dei menù di dialogo.
Inviato: sabato 28 settembre 2019, 10:42
da giuserpe
Ciao.
Installando LibreOffice 6.3.1, con LeenO - applicativo per computi metrici
http://www.leeno.org, ho notato che diversi pulsanti inseriti nei menù di dialogo non funzionano più. La situazione sembra confusa.
Insomma, indipendentemente da come è scritto il codice, Basic o Python, e da come sia attribuito il comando al pulsante, da Basic o da Python, ci sono casi un cui il pulsante non genera alcun effetto.
Con LibreOffice 6.3.2 la situazione sembra peggiorare.
Qualcuno ha idea del perché?
Re: Malfunzionamento generalizzato dei menù di dialogo.
Inviato: venerdì 11 ottobre 2019, 0:43
da unlucky83
ciao. Solo in alcuni casi il pulsante non genera alcun effetto? Al momento adopero ancora una versione di Libre vecchiotta, ma quel che dici è preoccupante.
Re: Malfunzionamento generalizzato dei menù di dialogo.
Inviato: domenica 13 ottobre 2019, 13:26
da giuserpe
Intanto sono tornato a LibreOffice 6.2.7, ma dovrò approfondire.
Re: Malfunzionamento generalizzato dei menù di dialogo.
Inviato: giovedì 17 ottobre 2019, 18:23
da giuserpe
Sto testando con LibreOffice 6.4 DEV e con LibreOffice 6.3.
I pulsanti dei dialoghi rimangono indifferenti a qualsiasi tipo di "trattamento". Ho provato a cambiare il tipo di evento a cui applicare i comandi, ma niente.
Con l'uso combinato dei dialoghi costruiti con l'IDE di LibreOffice e Python avevo un ottimo compromesso, ma se devo tradurre in codice Python anche i dialoghi diventa un grosso problema.
Re: Malfunzionamento generalizzato dei menù di dialogo.
Inviato: giovedì 17 ottobre 2019, 23:17
da giuserpe
Altri aggiornamenti: il problema affligge esclusivamente i Pulsanti (Button). Si possono usare le Etichette (Label), ma è ovvio che non sono "animate" quindi possono confondere.
Spero sia una questione momentanea.
Re: Malfunzionamento generalizzato dei menù di dialogo.
Inviato: venerdì 18 ottobre 2019, 1:43
da unlucky83
Grazie per tutti gli aggiornamenti. Speriamo che trovino una soluzione a breve
Re: Malfunzionamento generalizzato dei menù di dialogo.
Inviato: venerdì 18 ottobre 2019, 21:04
da hubert lambert
Ciao giuserpe, ciao unlucky83,
Penso che il problema viene forse dal fatto che i pulsanti sono tutti definiti come tipo "OK". Dovrebbero invece essere definiti dal tipo "Predefinito" quando una macro gli è assegnata.
Un pulsanto tipo "OK" normalmente non eseguerà una macro assegnata (e così già in OpenOffice). È possibile che LibreOffice, per un tempo, si sia comportato in modo diverso, modo corretto nelle ultime versione...
Cordiali saluti.
Re: Malfunzionamento generalizzato dei menù di dialogo.
Inviato: venerdì 18 ottobre 2019, 22:56
da giuserpe
Ciao hubert,
ho provato. Hai ragione. Non era mai stato un problema.
Grazie mille.
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: venerdì 18 ottobre 2019, 23:55
da unlucky83
Bene, non ci avrei mai pensato.
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: sabato 19 ottobre 2019, 18:57
da giuserpe
In realtà l'impostazione ad "OK" dei pulsanti tornava comoda in quanto consentiva la chiusura contestuale del diaologo in uso al momento del click sul pulsante.
Ho tentato rimedio a questo nuovo comportamento di LibreOffce scrivendo una piccola macro per chiudere qualsiasi dialogo aperto, tra quelli che ho costruito, al momento della selezione del pulsante:
Codice: Seleziona tutto
def chiudi_dialoghi(*arg):
dialoghi = ('DialogViste_A','DialogViste_AN','DialogViste_EP','Dialogviste_N')
psm = uno.getComponentContext().ServiceManager
dp = psm.createInstance("com.sun.star.awt.DialogProvider")
for el in dialoghi:
oDialog = dp.createDialog('vnd.sun.star.script:UltimusFree2.'+ el + '?language=Basic&location=application'
try:
oDialog.endExecute()
except:
pass
ed inserendo, quindi, l'istruzione
all'inizione del comando attribuito al pulsante di turno.
Ma non ottengo l'esito desiderato.
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: sabato 19 ottobre 2019, 19:07
da unlucky83
Sbaglio o la tua macro prima crea i dialoghi e poi chiude quelli creati? Non mi sembra che chiuda quelli già aperti
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: sabato 19 ottobre 2019, 19:57
da giuserpe
unlucky83 ha scritto:Sbaglio o la tua macro prima crea i dialoghi e poi chiude quelli creati? Non mi sembra che chiuda quelli già aperti
Già, hai ragione. Vivo di copia/incolla...
Non so come fare per "leggere" quale dialogo è aperto.
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: sabato 19 ottobre 2019, 23:54
da hubert lambert
Quando un pulsante (o qualsiasi controllo) chiama una macro, un oggetto "event" è passato a quella macro dal programma. Quel oggetto consente di "risalire" al dialogo:
Codice: Seleziona tutto
def Vai_a_ElencoPrezzi(event=None):
_gotoSheet('Elenco Prezzi')
if event:
event.Source.Context.endExecute()
"event.Source" = il controllo sorgente.
"event.Source.Context" = il dialogo che contiene quello controllo.
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: domenica 20 ottobre 2019, 22:30
da giuserpe
Questo codice manda in crash LibreOffice.
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: domenica 20 ottobre 2019, 23:27
da hubert lambert
Avevo dimenticato : devi anche rimuovere (o commentare) la riga che comincia con "g_exportedScripts".
Se non funziona meglio, qualche spiegazione in più sarebbero benvenute...
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: lunedì 21 ottobre 2019, 8:49
da giuserpe
Mi spiace, ma niente di più dell'immagine allegata.
Il crash report:
https://crashreport.libreoffice.org/sta ... ea73a8a114
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: lunedì 21 ottobre 2019, 18:10
da hubert lambert
Sarebbe d'aiuto se provassi questo:
1. rimuovere LeenO ed installare di nuovo la versione 3.19.1
2. nel dialogo "DlgMain" della libraria basic "UltimusFree2", cambiare il tipo del pulsante "Elenco Prezzi" come "Predefinito"
3. chiudere LibreOffice
4. aprire il file "pyleeno.py" nella cartella d'installazione dell'estensione
5. commentare la riga 7947:
6. alla riga 925, modificare la funzione "Vai_a_ElencoPrezzi" così:
Codice: Seleziona tutto
def Vai_a_ElencoPrezzi(event=None):
gotoSheet('Elenco Prezzi')
if event:
event.Source.Context.endExecute()
7. avviare LibreOffice Calc, menu
LeenO -> Nuovo... -> Computo
8. salvare il file creato
9. nel dialogo che compare, clicare su "Elenco Prezzi" -> il dialogo si chiude e il documento visualizza il tab "Elenco Prezzi"
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: lunedì 21 ottobre 2019, 20:42
da giuserpe
Ho fatto di più:
Ho eliminato completamente la cartella di installazione delle estensioni, quindi ho reinstallato.
Il tipo di pulsante l'ho già cambiato un paio di giorni fa per tutti i pulsanti in tutti i dialoghi, come avevi già detto.
Ho inserto il codice che avevi detto ed ho commentato la righa del
g_exportedScripts nel file
pyleeno.py, quindi ho provato.
Ti allego la mia versione di sviluppo, magari mi sfugge qualcosa.
Ops... l'eseguibile lo trovi qui:
https://gitlab.com/giuserpe/leeno/tree/dev/bin
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: lunedì 21 ottobre 2019, 21:45
da hubert lambert
Ho provato quella ultima versione e... tutto funziona benissimo!
Sono a casa con Linux Mint, vedrò domani se posso installarlo su Windows all'ufficio.
Re: [Risolto]Malfunzionamento generalizzato dei menù di dial
Inviato: lunedì 21 ottobre 2019, 22:02
da giuserpe
Hubert, per me va già benissimo il tuo test.
Procedo col mio lavoro: sarei prossimo ad un nuovo rilascio, quindi voglio applicare al pacchetto le modifiche necessarie per renderlo utilizzabile con qualsiasi nome, come mi hai insegnato pochi mesi fa.
grazie