5.4.2 L'action nouveau... que nous avons oublié

Nous avons oublier de faire une QAction pour créer un nouveau fichier, nous allons donc remédier à ce petit oubli.

On rajoute l'action dans le fichier TextEditor.h :

1
2
3
4
5
QAction* p_actionQuitter;
		QAction* p_actionNouveau;   //la petite nouvelle
		QAction* p_actionOuvrir;
		QAction* p_actionEnregistrer;
		QAction* p_actionEnregistrerSous;

Ensuite on ajoute (toujours dans le fichier TextEditor.h, un nouveau slot :

1
2
3
4
5
private slots:
		void nouveau();     //le nouveau slot, c'est le cas de le dire
		void ouvrir();
		void enregistrer();
		void enregistrerSous();

On écrit le nouveau slot dans le fichier TextEditor.cpp :

1
2
3
4
5
6
7
void TextEditor::nouveau(){
	if(p_lastFileOpen != ""){
		saveFile(p_lastFileOpen);
	}
	p_textEditor->setText("");
	p_lastFileOpen = "";
}

On alloue la QAction et on la connecte à son slot :

1
2
3
p_actionNouveau = new QAction("Nouveau", this);
	p_actionNouveau->setShortcut(tr("Ctrl+N"));
	connect(p_actionNouveau, SIGNAL(triggered()), this, SLOT(nouveau()));

Enfin on ajoute la QAction dans le menu fichier :

1
2
3
4
5
6
7
8
9
void TextEditor::initialisationMenuTextEditor(){
	QMenu *menuFichier = menuBar()->addMenu("Fichier");
		menuFichier->addAction(p_actionNouveau);
		menuFichier->addAction(p_actionOuvrir);
		menuFichier->addAction(p_actionEnregistrer);
		menuFichier->addAction(p_actionEnregistrerSous);
		menuFichier->addSeparator();
		menuFichier->addAction(p_actionQuitter);
}

Voilà, notre oubli est réparé.