1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| #include "FenPrincipale.h"
FenPrincipale::FenPrincipale()
{
menuFichier = menuBar()->addMenu("&Fichier");
actionNouveau = menuFichier->addAction("&Nouveau");
actionNouveau->setShortcut(QKeySequence("Ctrl+N"));
actionNouveau->setIcon(QIcon("image/nouveau.png"));
connect(actionNouveau, SIGNAL(triggered()), this, SLOT(NouveauOnglet()));
actionOuvrir = menuFichier->addAction("&Ouvrir");
actionOuvrir->setShortcut(QKeySequence("Ctrl+O"));
actionOuvrir->setIcon(QIcon("image/open.png"));
connect(actionOuvrir, SIGNAL(triggered()), this, SLOT(Open(int)));
actionEnregistrer = menuFichier->addAction("&Sauver");
actionEnregistrer->setShortcut(QKeySequence("Ctrl+S"));
actionEnregistrer->setIcon(QIcon("image/save.png"));
connect(actionEnregistrer, SIGNAL(triggered()), this, SLOT(Sauver()));
actionQuitter = menuFichier->addAction("&Quitter");
actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
actionQuitter->setIcon(QIcon("image/quitter.png"));
connect(actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));
menuEdition = menuBar()->addMenu("&Edition");
actionItalique = menuEdition->addAction("&Italique");
actionItalique->setCheckable(true);
actionItalique->setIcon(QIcon("image/italique.png"));
actionItalique->setShortcut(QKeySequence("Ctrl+I"));
actionSouligner = menuEdition->addAction("&Souligner");
actionSouligner->setCheckable(true);
actionSouligner->setIcon(QIcon("image/souligner.png"));
actionSouligner->setShortcut(QKeySequence("Ctrl+U"));
connect(actionSouligner, SIGNAL(triggered(bool)), zoneTexte, SLOT(setFontUnderline(bool)));
//Widget Centrale
zoneCentrale = new QMdiArea(this);
zoneCentrale->setViewMode(QMdiArea::TabbedView);
setCentralWidget(zoneCentrale);
}
void FenPrincipale::NouveauOnglet()
{
QTextEdit *zoneTexte = new QTextEdit(this);
QMdiSubWindow *sousFenetre = zoneCentrale->addSubWindow(zoneTexte);
sousFenetre->show();
connect(actionItalique, SIGNAL(triggered(bool)), zoneTexte, SLOT(setFontItalic(bool)));
connect(actionSouligner, SIGNAL(triggered(bool)), zoneTexte, SLOT(setFontUnderline(bool)));
}
void FenPrincipale::Sauver()
{
QString nomFichier = QFileDialog::getSaveFileName(this,
"Enregistrer un fichier",
"",
"Fichier Texte(*.txt)");
QFile fichier(nomFichier);
if(!fichier.open(QIODevice::WriteOnly | QIODevice::Text)) return;
QTextEdit * leTextEditCourant = qobject_cast<QTextEdit *>(zoneCentrale->currentSubWindow()->widget());
fichier.write(QByteArray(leTextEditCourant->toPlainText().toAscii()));
}
void FenPrincipale::Open(int FirstzoneTexte)
{
QString s_file = QFileDialog::getOpenFileName(this, "Ouverture un fichier", QString(), "Texte (*.txt)");
QFile file(s_file);
if (!file.open(QIODevice::ReadOnly))
return;
zoneTexte->setText(file.readAll());
} |
Partager