[ImoLUG] QtSwaret
Luca Golinelli
l.golinelli@linuxtimes.net
Mer 13 Ott 2004 15:24:46 CEST
Ecco il codice che cerca il pacchetto e stampa le info sulla finestra dei
logs...
Ho gia' anche creato l'interfaccia...
Lo comincio a provare...
// Invocata sul click del bottone CERCA
void QtSwaret::SearchPacket()
{
// Prendo il nome del pacchetto che si vuol cercare
QString myPacketName = EditSearchPacket->text();
// Scrivo il log
EditLogs->append("*** Sto cercando: " + myPacketName + "... ***");
// Creo il processo Swaret --show
proc = new QProcess;
proc->addArgument("swaret");
proc->addArgument("--show");
proc->addArgument(myPacketName);
// Connetto il processo per catturare l'output
connect(proc, SIGNAL(readyReadStdout()), this, SLOT(ReadOutput()) );
connect(proc, SIGNAL(processExited()), this, SLOT(ProcFinished()) );
// Lancio il processo
proc->start();
}
// Questa funzione serve per catturare l'output di Swaret
void QtSwaret::ReadOutput()
{
// Fino a che il processo restituisce un output
while(!((StdoutStr = new QString(proc->readStdout()))->isNull()))
{
// Lo scrivo nella finestra dei logs
EditLogs->append(*StdoutStr);
}
}
// Invocata alla fine del processo
void QtSwaret::ProcFinished()
{
// Se il processo e' terminato con errore
if(!(proc->normalExit()))
{
EditLogs->append("*** Si e' verificato un errore! ***");
}
// Se il processo e' terminato correttamente
else
{
EditLogs->append("*** Terminato correttamente... ***");
}
} // Invocata sul click del bottone CERCA
void QtSwaret::SearchPacket()
{
// Prendo il nome del pacchetto che si vuol cercare
QString myPacketName = EditSearchPacket->text();
// Scrivo il log
EditLogs->append("*** Sto cercando: " + myPacketName + "... ***");
// Creo il processo Swaret --show
proc = new QProcess;
proc->addArgument("swaret");
proc->addArgument("--show");
proc->addArgument(myPacketName);
// Connetto il processo per catturare l'output
connect(proc, SIGNAL(readyReadStdout()), this, SLOT(ReadOutput()) );
connect(proc, SIGNAL(processExited()), this, SLOT(ProcFinished()) );
// Lancio il processo
proc->start();
}
// Questa funzione serve per catturare l'output di Swaret
void QtSwaret::ReadOutput()
{
// Fino a che il processo restituisce un output
while(!((StdoutStr = new QString(proc->readStdout()))->isNull()))
{
// Lo scrivo nella finestra dei logs
EditLogs->append(*StdoutStr);
}
}
// Invocata alla fine del processo
void QtSwaret::ProcFinished()
{
// Se il processo e' terminato con errore
if(!(proc->normalExit()))
{
EditLogs->append("*** Si e' verificato un errore! ***");
}
// Se il processo e' terminato correttamente
else
{
EditLogs->append("*** Terminato correttamente... ***");
}
}
--
Luca Golinelli
ImoLUG Staff
ImoLUG - The Imola Linux User Group
http://www.imolug.org - info@imolug.org
Maggiori informazioni sulla lista
Imolug