1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
void Tool::createTrayIcon()
{
// ajout dans le menu si la balise connecte exisite
verif_httpAction = new QAction(tr("Vérifier les alertes"), this);
verif_httpAction->setVisible(false); // ou verif_httpAction->setEnabled(false);
connect(configAction, SIGNAL(clicked()), this, SLOT(requete_http()));
trayIconMenu->addAction(verif_httpAction);
void Tool::affiche(bool) // <- tu ne donne pas de nom à ton bool que tu reçois, tu peut déclarer une fonction comme ça dans la définition de ta classe (le header), mais pas au moment de l'écriture de ta fonction (le cpp)
{
QDomDocument infos; // <- tu fais le traitement de ton XML dans une fonction qui est juste censé afficher quelque chose, tu devrais le faire dans une autre classe
QString errorStr;
int errorLine;
int errorColumn;
QByteArray content = http->readAll();
if (!infos.setContent(content, true, &errorStr, &errorLine, &errorColumn))
{
qDebug() << "Erreur d'analyse du fichier de session";
qDebug() << content; return;
}
QDomElement element = infos.documentElement();
for(QDomNode n = element.firstChild();
!n.isNull();
n = n.nextSibling())
{
QDomElement e = n.toElement();
qDebug() << e.tagName() << e.text();
if(e.tagName() == "connecte")
{
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(requete_http()));
timer->start(420000); // 10 minutes = 600000 millisecondes
//verif_httpAction->setVisible(true); // ou bien verif_httpAction->setEnabled(true); <- ça c'est correct
if(verif_httpAction->isVisible())// <-ça c'était juste pour l'exemple, as tu bien compris ce que ça fait? à chaque fois que tu l'appelle ça affiche l'action si elle ne l'était pas, ou la masque si elle était affichée.
{
verif_httpAction->setVisible(false);
}
else
{
verif_httpAction->setVisible(true);
}
}
}
} |
Partager