Repository 32bit  Forum
Repository 64bit  Wiki

Come adattare script KDE3, che usano dcop, su KDE4? [OK]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Come adattare script KDE3, che usano dcop, su KDE4? [OK]

Messaggioda zoros » dom dic 19, 2010 14:01

Ciao,
nel passaggio a KDE4 dcop è stato sostituito in qualche modo da dbus .... alcuni anni fa mia figlia aveva scritto il primo antivirus per Linux "just for fun" veramente efficace :D ... ma su KDE4 la progressbar (via dcop) non funziona ... si può adattare lo script a KDE4 senza stravolgerlo?

allego code LinVir.sh ... i fortunati possessori di KDE3 possono provarlo anche così ;) ...

Codice: Seleziona tutto
#!/bin/bash

DATA=`echo $'\127\151\156\144\157\167\163'`

echo "Avvio di LinVir"

kdialog --msgbox "Benvenuto su LinVir: il primo antivirus per Linux! Permi OK per iniziare la procedura di ricerca di virus" --title "LinVir"
dcopRef=`kdialog --progressbar "Initialising ..." 4`
sleep 1.5
dcop $dcopRef setProgress 1
dcop $dcopRef setLabel "Scansione del disco ..."
sleep 2
dcop $dcopRef setProgress 2
sleep 2
dcop $dcopRef setLabel "1 trovato | Conclusione ricerca"
dcop $dcopRef setProgress 3
sleep 2
dcop $dcopRef setProgress 4
sleep 2
dcop $dcopRef close
kdialog --sorry "Ritrovata una partizione infetta. Premi OK per aggiustare il TUO problema" -title "LinVir"
dcopRef=`kdialog --progressbar "Inizio formattazione della partizione di $DATA(TM)" 4`
sleep 3
dcop $dcopRef setProgress 1
dcop $dcopRef setLabel "Eliminazione files in corso ..."
sleep 2.5
dcop $dcopRef setProgress 2
sleep 2
dcop $dcopRef setLabel "Sto sovrascrivendo 35 volte files vuoti sulla partizione infetta per evitare recuperi di essa"
dcop $dcopRef setProgress 3
sleep 5.5
dcop $dcopRef setProgress 4
sleep 0.3
dcop $dcopRef setLabel "Pulitura finale ..."
dcop $dcopRef setProgress 5
sleep 2
dcop $dcopRef close
kdialog --msgbox "Complimenti! Eliminazione della partizione $DATA(TM) nociva effettuata con successo!" --title "LinVir"
Ultima modifica di zoros il dom dic 19, 2010 18:08, modificato 1 volta in totale.
vorrei riavere le mie firme ...
Avatar utente
zoros
Linux 3.x
Linux 3.x
 
Messaggi: 1302
Iscritto il: lun mag 28, 2007 21:51
Località: Gorizia
Nome Cognome: Fabio∙Zorba
Slackware: 13.37
Kernel: 3.2.5
Desktop: KDE-3.5.10

Re: Come adattare script KDE3, che usano dcop, su KDE4?

Messaggioda robbybby » dom dic 19, 2010 14:53

Secondo questo
http://techbase.kde.org/Development/Tut ... ox_example
basta sostituire qdbus a dcop.

In effetti, il suo esempio funziona.
Avatar utente
robbybby
Linux 3.x
Linux 3.x
 
Messaggi: 1176
Iscritto il: sab dic 16, 2006 10:48
Località: Fra Trantor e Terminus
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5

Re: Come adattare script KDE3, che usano dcop, su KDE4?

Messaggioda zoros » dom dic 19, 2010 18:07

Sì robbybby, funziona come da link :thumbright: ... forse non avevo googolato a sufficienza ...

cambia anche la sintassi (ed è anche case sensitive) ... da dcop:
Codice: Seleziona tutto
dcop $dcopRef setProgress 1
dcop $dcopRef setLabel "Scansione del disco ..."
a qdbus:
Codice: Seleziona tutto
qdbus $qdbusRef Set "" value 1
qdbus $qdbusRef setLabelText "Scansione del disco ..."


aggiungo code LinVir.sh per KDE4 (non provato su versione KDE4 recente):
Codice: Seleziona tutto
#!/bin/bash

DATA=`echo $'\127\151\156\144\157\167\163'`

echo "Avvio di LinVir"

kdialog --msgbox "Benvenuto su LinVir: il primo antivirus per Linux! Permi OK per iniziare la procedura di ricerca di virus" --title "LinVir"
qdbusRef=`kdialog --progressbar "Initialising ..." 4`
sleep 1.5
qdbus $qdbusRef Set "" value 1
qdbus $qdbusRef setLabelText "Scansione del disco ..."
sleep 2
qdbus $qdbusRef Set "" value 2
sleep 2
qdbus $qdbusRef setLabelText "1 trovato | Conclusione ricerca"
qdbus $qdbusRef Set "" value 3
sleep 2
qdbus $qdbusRef Set "" value 4
sleep 2
qdbus $qdbusRef close
kdialog --sorry "Ritrovata una partizione infetta. Premi OK per aggiustare il TUO problema" -title "LinVir"
qdbusRef=`kdialog --progressbar "Inizio formattazione della partizione di $DATA(TM)" 4`
sleep 3
qdbus $qdbusRef Set "" value 1
qdbus $qdbusRef setLabelText "Eliminazione files in corso ..."
sleep 2.5
qdbus $qdbusRef Set "" value 2
sleep 2
qdbus $qdbusRef setLabelText "Sto sovrascrivendo 35 volte files vuoti sulla partizione infetta per evitare recuperi di essa"
qdbus $qdbusRef Set "" value 3
sleep 5.5
qdbus $qdbusRef Set "" value 4
sleep 0.3
qdbus $qdbusRef setLabelText "Pulitura finale ..."
qdbus $qdbusRef Set "" value 5
sleep 2
qdbus $qdbusRef close
kdialog --msgbox "Complimenti! Eliminazione della partizione $DATA(TM) nociva effettuata con successo!" --title "LinVir"

ah ... questo antivirus è efficace anche senza permessi di root :lol:
vorrei riavere le mie firme ...
Avatar utente
zoros
Linux 3.x
Linux 3.x
 
Messaggi: 1302
Iscritto il: lun mag 28, 2007 21:51
Località: Gorizia
Nome Cognome: Fabio∙Zorba
Slackware: 13.37
Kernel: 3.2.5
Desktop: KDE-3.5.10


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Google [Bot] e 1 ospite