void FormPop::init()
{
    lineEditServeur->setText("172.16.48.152");
    lineEditLogin->setText("jcmarin");
    lineEditPassword->setText("Ljhe+683");
}

void FormPop::fileNew()
{

}

void FormPop::fileOpen()
{

}

void FormPop::fileSave()
{

}

void FormPop::fileSaveAs()
{

}

void FormPop::filePrint()
{

}

void FormPop::fileExit()
{

}

void FormPop::editUndo()
{

}

void FormPop::editRedo()
{

}

void FormPop::editCut()
{

}

void FormPop::connecter()
{
  //obtention de la socket

     qDebug("création de la socket");
     maSocket=new QSocket(this);
     qDebug("connexion au serveur");
      maSocket->connectToHost( lineEditServeur->text(), 110);
      //le port du serveur auquel on souhaite se connecter est le port 110 réservé au protocole pop
      tsSocket = new QTextStream( maSocket );
      //on attache le signal  recoitdonnées de la socket au slot recevpoir de notre forme
      connect ( maSocket, SIGNAL( readyRead() ), this, SLOT( recevoirDonnees() ) );
      
      etape="reception message d'accueil du serveur";
      
      //envoieCommande("STAT");
}

void FormPop::editPaste()
{

}

void FormPop::editFind()
{

}

void FormPop::helpIndex()
{

}

void FormPop::helpContents()
{

}

void FormPop::helpAbout()
{

}





void FormPop::envoieCommande(QString commande)
{
    /*
      envoie de la commande au serveur
      exemple:
      la commande STAT 
      permet d'obtenir le nombre de message et la taille total en octets
      la commande LIST
      permet d'obtenir pour chaque message sa taille en octet
      la commande QUIT
      ferme la connexion avec le seveur
      la commande TOP <y> <x>
      affiche les x premières lignes du message n°y
      la commande DELE <x>
      efface le message n° x
      etc...
      */
    //*tsSocket<<lineEditCommande->text().latin1()<<"\r\n";
    *tsSocket<<commande<<"\r\n";
}


void FormPop::recevoirDonnees()
{
    // Ce slot est exécuté à chaque fois que le serveur nous envoie quelque chose.
    QString messageServeur;    
    //tant que le serveur nous envoie des lignes,
    //on ajoute la ligne reçue à TextEditMessages
    QString messageServeurTotal="";
    QStringList tab;
    do 
    {
	messageServeur = maSocket->readLine(); // Réception du message du serveur
	messageServeurTotal=messageServeurTotal+messageServeur;
	//textEditMessages->append(messageServeur);
	
    } while( maSocket->canReadLine() );
    // Gestion des messages du serveur!
    
    //int indice=messageServeurTotal->find(QRegExp("+OK"),0);    
    
    // Envoi du login au serveur
    if( etape=="reception message d'accueil du serveur")
    {     
       qDebug("envoie du nom du  user");
       *tsSocket<<"USER "<<lineEditLogin->text().latin1()<<"\r\n";
       etape="reception du +OK confirmant l'existence de l'utilisateur";
    }
    
    // Envoi du mot de passe utilisateur
    if(etape=="reception du +OK confirmant l'existence de l'utilisateur")
    {
       qDebug("envoie du pass du user");
       *tsSocket<<"PASS "<<lineEditPassword->text().latin1()<<"\r\n";      
       etape="reception du +OK confirmant la conformité du password";
    }
    
    // envoi du STAT
    if( etape=="reception du +OK confirmant la conformité du password")
    {
       qDebug("envoie du STAT");
       *tsSocket<<"STAT"<<"\r\n";      
       etape="reception du STAT";
    }
    
    // Réception du STAT
    if (etape=="reception du STAT")
    {
	tab=QStringList::split(" ",messageServeur);
	textLabelInfo->setText("Nombre de message : "+tab[1]);
	etape="reception du STAT OK";
    }
    
    /*
    //gestionnaire d'événement
    if (etape=="le serveur répond à une commande")
    {
      qDebug("le serveur a répondu");
    }
     if( etape=="reception du +OK confirmant la conformité du password")
    {
       qDebug("mot de passe ok");
       etape="le serveur répond à une commande";
    }
     if( etape=="reception du +OK confirmant l'existence de l'utilisateur")
    {
       qDebug("envoie du pass du user");
       *tsSocket<<"PASS "<<lineEditPassword->text().latin1()<<"\r\n";      
       etape="reception du +OK confirmant la conformité du password";
    }
    if( etape=="reception message d'accueil du serveur")
    {     
       qDebug("envoie du nom du  user");
       *tsSocket<<"USER "<<lineEditLogin->text().latin1()<<"\r\n";
       etape="reception du +OK confirmant l'existence de l'utilisateur";
    }
    */
    
}
