#include <QtGui>
#include <QtCore>
#include <QtSql>
#include "configdialog.h"
extern QString g_pathabsolu;
config::config()
{
  setupUi(this);
  QSqlDatabase db = QSqlDatabase::database();
  comboBox->setEditable(true);
  comboBox->setInsertPolicy(QComboBox::NoInsert);

  QStringList listecombobox;
  QSqlQuery query;
  query.exec("SELECT Login, ID_PrimKey FROM Personnes");
  while(query.next()){
  QString login   = query.value(0).toString();
  QString primkey = query.value(1).toString();
  QString total   = login+"="+primkey;
  listecombobox  << total;
}
  comboBox->addItems(listecombobox);
  connect(pushButton,SIGNAL(pressed()),this,SLOT(enregistreconfig()));
  connect(pushButton_2,SIGNAL(pressed()),this,SLOT(close()));
  connect(pushButton_3,SIGNAL(pressed()),this,SLOT(enregistrerutilisateurpref()));
  connect(pushButton_4,SIGNAL(pressed()),this,SLOT(purgeSauvegardeDossiers()));
}



void config::enregistreconfig()
{
QString nombre = lineEdit_3->text();
QString terme = lineEdit_2->text();
QString titre = lineEdit->text();
QString ligne = nombre+"="+terme+"="+titre;
QFile file(""+g_pathabsolu+"/titres.ini");
if(!file.open(QIODevice::ReadWrite|QIODevice::Append))
		{
QMessageBox::warning(0,tr("erreur"),trUtf8("erreur ouverture fichier titres.ini !"),QMessageBox::Ok);
		}
QTextStream stream(&file);
stream << ""+ligne+"\n";
file.close();

if(file.errorString() == "Unknown error"){
QMessageBox::information(0,tr("information"),trUtf8(" titres.ini a été renseigné !"),QMessageBox::Close);
}
}
void config::enregistrerutilisateurpref(){
QString utilisateurchoisi = comboBox->currentText();
QStringList listeutilisateurini;
  QFile utilisateurini(g_pathabsolu+"/utilisateur.ini");
	if(!utilisateurini.open(QIODevice::ReadWrite | QIODevice::Text)){
	QMessageBox::warning(0,tr("Erreur"),trUtf8("utilisateur.ini ne peut pas être ouvert\npar configdialog."),QMessageBox::Ok);
		}
  QTextStream streamutil(&utilisateurini);
  while(!streamutil.atEnd()){
  QString line = streamutil.readLine();
  listeutilisateurini << line;
  }
  listeutilisateurini.replaceInStrings(listeutilisateurini[3],utilisateurchoisi);
  utilisateurini.remove();

  QFile utilisateurini2(""+g_pathabsolu+"/utilisateur.ini");
	if(!utilisateurini2.open(QIODevice::ReadWrite | QIODevice::Text)){
	QMessageBox::warning(0,tr("Erreur"),trUtf8("utilisateur.ini ne peut pas être ouvert\npar configdialog,erraur 2."),QMessageBox::Ok);
		}
  QTextStream streamutil2(&utilisateurini2);
  for(int i = 0; i < listeutilisateurini.size(); i ++){
  streamutil2 << listeutilisateurini[i]+"\n";
  }
  QMessageBox::information(0,tr(""),trUtf8("L'utilisateur préférentiel a été renseigné."),QMessageBox::Ok);

}

void config::purgeSauvegardeDossiers(){
  QString warningText = trUtf8("Voulez vous vraiment effacer les fichiers sauvegardés dans apitempSauve ?");
  QMessageBox mess;
  mess.setWindowTitle("Attention !");
  mess.setIcon(QMessageBox::Warning);
  mess.setText(warningText);
  mess.setStandardButtons(QMessageBox::Ok|QMessageBox::Abort);
  mess.setDefaultButton(QMessageBox::Abort);
  if(mess.exec() == QMessageBox::Ok){
      QDir dir(g_pathabsolu+"/apitempSauve");
      QStringList listOfFiles;
      listOfFiles = dir.entryList();
      if(listOfFiles.size()>0){
          QString strFile;
          foreach(strFile,listOfFiles){
              if(strFile != "." && strFile != ".."){
                 QFile file(g_pathabsolu+"/apitempSauve/"+strFile);
  	             file.remove();
	             }
              }
          }
      }
}
