[Risolto]Malfunzionamento generalizzato dei menù di dialogo.

Discussioni sull'uso di estensioni esterne con OpenOffice
Rispondi
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

[Risolto]Malfunzionamento generalizzato dei menù di dialogo.

Messaggio 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é?
Ultima modifica di charlie il giovedì 24 ottobre 2019, 8:17, modificato 2 volte in totale.
Motivazione: Aggiunta spunta verde
LibreOffice fresh su Windows e Linux
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Malfunzionamento generalizzato dei menù di dialogo.

Messaggio 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.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: Malfunzionamento generalizzato dei menù di dialogo.

Messaggio da giuserpe »

Intanto sono tornato a LibreOffice 6.2.7, ma dovrò approfondire.
LibreOffice fresh su Windows e Linux
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: Malfunzionamento generalizzato dei menù di dialogo.

Messaggio 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.
LibreOffice fresh su Windows e Linux
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: Malfunzionamento generalizzato dei menù di dialogo.

Messaggio 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.
LibreOffice fresh su Windows e Linux
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Malfunzionamento generalizzato dei menù di dialogo.

Messaggio da unlucky83 »

Grazie per tutti gli aggiornamenti. Speriamo che trovino una soluzione a breve
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: Malfunzionamento generalizzato dei menù di dialogo.

Messaggio 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.
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: Malfunzionamento generalizzato dei menù di dialogo.

Messaggio da giuserpe »

Ciao hubert,
ho provato. Hai ragione. Non era mai stato un problema.

Grazie mille.
LibreOffice fresh su Windows e Linux
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio da unlucky83 »

Bene, non ci avrei mai pensato.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio 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

Codice: Seleziona tutto

chiudi_dialoghi()
all'inizione del comando attribuito al pulsante di turno.
Ma non ottengo l'esito desiderato.
LibreOffice fresh su Windows e Linux
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio da unlucky83 »

Sbaglio o la tua macro prima crea i dialoghi e poi chiude quelli creati? Non mi sembra che chiuda quelli già aperti
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio 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.
LibreOffice fresh su Windows e Linux
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio 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.
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio da giuserpe »

Questo codice manda in crash LibreOffice.
LibreOffice fresh su Windows e Linux
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio 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...
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio da giuserpe »

Mi spiace, ma niente di più dell'immagine allegata.
Il crash report: https://crashreport.libreoffice.org/sta ... ea73a8a114
Allegati
Capture.PNG
LibreOffice fresh su Windows e Linux
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio 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:

Codice: Seleziona tutto

# g_exportedScripts = voce_breve,
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"
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio 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
LibreOffice fresh su Windows e Linux
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio 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.
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Re: [Risolto]Malfunzionamento generalizzato dei menù di dial

Messaggio 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
LibreOffice fresh su Windows e Linux
Rispondi