/****************************************************************************
** ui.h extension file, included from the uic-generated form implementation.
**
** If you wish to add, delete or rename functions or slots use
** Qt Designer which will update this file, preserving your code. Create an
** init() function in place of a constructor, and a destroy() function in
** place of a destructor.
*****************************************************************************/

void Cartouche::fileNew()
{
	init();
}

void Cartouche::fileOpen()
{
	//Ouverture d'une boite de dialogue pour ouvrir un fichier
	open = QFileDialog::getOpenFileName ( 
		"/home/JMancinelli/APA/APA_Cartouche/Fichiers",
		"Fichiers (*.html *.htm *.php *.cpp *.c *.asp *.txt)",
		this,
		"open file dialog",
		"Choisir un fichier...");
	lineEditNomFichier->setText(open);
	//Vérification d'un cartouche existant en ouvrant le fichier en lecture
	QString verification="/*Johan$$";
	FILE * handleVerif=fopen (open,"r");
	QTextIStream ficVerif (handleVerif);
	QString essai = ficVerif.readLine();
	if (essai.left( 9 )==verification)
	{
		QString affiche;
		for (int i=0;i<2;i++)
		{
			affiche= ficVerif.readLine();
			if (i==1)
			{
				lineEditNom->setText(affiche);
			}
			else
			{
				lineEditPrenom->setText(affiche);
			}
	    }
	}
}

void Cartouche::fileSave()
{
	//Ouverture et sauvegarde dans le fichier
	QString monFichier;
	monFichier=lineEditNomFichier->text();
	if (monFichier=="")
	{
		open = QFileDialog::getSaveFileName ( 
			"/home/JMancinelli/APA/APA_Cartouche/Fichiers",
			"Fichiers (*.html *.htm *.php *.cpp *.c *.asp *.txt)",
			this,
			"open file dialog",
			"Enregistrer le fichier... ");
		//Ouverture et sauvegarde dans le fichier
		FILE * handleTemp=fopen ("temp.txt","a");
		QTextOStream ficCartouche (handleTemp);
		QString debut, fichier, nom, prenom, date, descriptif, fin;
		debut="/*Johan$$";
		//Récupération des valeurs et inscription dans des variables
		fichier=lineEditFichier->text();
		nom=lineEditNom->text();
		prenom=lineEditPrenom->text();
		date=lineEditDate->text();
		descriptif=textEditDescriptif->text();
		fin="*/";
		//Inscription du cartouche dans le fichier temp.txt
		ficCartouche<<debut<<endl<<fichier<<endl<<nom<<endl<<prenom<<endl<<date<<endl<<descriptif<<endl<<monFichier<<endl<<fin<<endl;
		FILE * handle=fopen (open,"r");
		QTextIStream ficFichier (handle);
		while (!ficFichier.atEnd())
		{
			QString ligne=ficFichier.readLine();
			ficCartouche<<ligne<<endl;
		}
		fclose(handle);
		fclose(handleTemp);
		system("mv temp.txt "+open);
	}
	else
	{
		FILE * handleTemp=fopen ("temp.txt" ,"a");
		QTextOStream ficCartouche (handleTemp);
		QString debut, fichier, nom, prenom, date, descriptif, fin;
		debut="/*";
		//Récupération des valeurs et inscription dans des variables
		fichier=lineEditFichier->text();
		nom=lineEditNom->text();
		prenom=lineEditPrenom->text();
		date=lineEditDate->text();
		descriptif=textEditDescriptif->text();
		fin="*/";
		//Inscription du cartouche dans le fichier
		ficCartouche<<debut<<endl<<fichier<<endl<<nom<<endl<<prenom<<endl<<date<<endl<<descriptif<<endl<<monFichier<<endl<<fin<<endl;
		FILE * handle=fopen (open,"r");
		QTextIStream ficFichier (handle);
		while (!ficFichier.atEnd())
		{
			QString ligne=ficFichier.readLine();
			ficCartouche<<ligne<<endl;
		}
		fclose(handle);
		fclose(handleTemp);
		system("mv temp.txt "+open);
	}
	init();
}
	void Cartouche::init()
	{
		lineEditNomFichier->setText("");
		lineEditNom->setText("");
		lineEditPrenom->setText("");
		lineEditDate->setText("");
		lineEditFichier->setText("");
		textEditDescriptif->setText("");
	}
