#include "affichercaisse.h"
#include "ui_affichercaisse.h"
#include"caisse.h"
#include "QSystemTrayIcon"
affichercaisse::affichercaisse(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::affichercaisse)
{

    ui->setupUi(this);
    //ui->lcdNumber->display("-----");
         //  serial="";
           int ret=A.connect_arduino(); // lancer la connexion à arduino

           switch(ret){
           case(0):{qDebug()<< "arduino is available and connected to : "<< A.getarduino_port_name();
               }
               break;
           case(1):qDebug() << "arduino is available but not connected to :" <<A.getarduino_port_name();

               break;

           case(-1):qDebug() << "arduino is not available";
           }

            QObject::connect(A.getserial(),SIGNAL(readyRead()),this,SLOT(update_label())); // permet de lancer
            //le slot update_label suite à la reception du signal readyRead (reception des données).
}

affichercaisse::~affichercaisse()
{
    delete ui;
}

void affichercaisse::on_afficher_clicked()
{
     ui->tabetudiant->setModel(tmpcaisse.afficher());
}


void affichercaisse::on_trier_clicked()
{
    ui->tabetudiant->setModel(tmpcaisse.trier());
}



void affichercaisse::update_label()
{

  data1=A.read_from_arduino();
    qDebug()<< data1.toInt() ;

    if(data1.toInt()==1)
    {        //QPixmap p(40,40);
        notifier = new QSystemTrayIcon(this);
        notifier->setIcon(QIcon("notification.png"));
        notifier->show();
        notifier->showMessage("Succés","une caisse a été modifier avec succés",QSystemTrayIcon::Warning,10000);
        hide();
       if (tmpcaisse.modifier_etat(5))
       {
           qDebug()<< "modifie";
       }
       else if (data1.toInt()==0)
       {
           qDebug() <<"ereur de modification";        /*QPixmap pix("C:/Users/abdel/Documents/appsecurity/interface/mouvement1.png");

        ui->label_5->setPixmap(pix);*/



    }
    }

    }
