#include "gestionmagasinsdialog.h" #include "ui_gestionmagasinsdialog.h" #include #include #include #include #include GestionMagasinsDialog::GestionMagasinsDialog(QWidget *parent) : QDialog(parent), ui(new Ui::GestionMagasinsDialog) { ui->setupUi(this); settings = new QSettings("Deuchnord", "Hermes"); placeSave = settings->value("placeSave").toString(); QFile fichierMagasins(placeSave+"/deuchnord-hermes/manufacturers.xml"); fichierMagasins.open(QFile::ReadOnly); if(fichierMagasins.isOpen()) { QString contenuFichier = fichierMagasins.readAll(); fichierMagasins.close(); QDomDocument dom; dom.setContent(contenuFichier); QDomElement root = dom.firstChildElement(); QDomElement manufacturer; QDomNode node = root.firstChild(); while(!node.isNull()) { manufacturer = node.toElement(); if(manufacturer.tagName() == "manufacturer") ui->listMagasins->addItem(manufacturer.firstChild().toText().data()); node = node.nextSibling(); } fichierMagasins.close(); } ui->listMagasins->setCurrentItem(ui->listMagasins->item(0)); } void GestionMagasinsDialog::on_btnAjoutMagasin_clicked() { QString nom = QInputDialog::getText(this, tr("Ajouter un magasin"), tr("Veuillez entrer le nom du nouveau magasin :")); if(nom != "") { int nb = ui->listMagasins->count(); bool alreadyHere = false; for(int i = 0; i < nb; i++) { QString magasin = ui->listMagasins->item(i)->text(); if(magasin.toLower() == nom.toLower()) alreadyHere = true; } if(alreadyHere) QMessageBox::warning(this, tr("Ajout impossible"), tr("Le magasin est déjà présent dans la liste !")); else ui->listMagasins->addItem(nom); } } void GestionMagasinsDialog::on_btnSupprMagasin_clicked() { if(QMessageBox::question(this, tr("Suppression"), tr("Voulez-vous vraiment supprimer ce magasin ?
Tous les produits associés perdront cette information, même si vous cliquez sur Annuler plus tard."), QMessageBox::Yes|QMessageBox::No) == QMessageBox::Yes) { int row = ui->listMagasins->currentRow(); delete ui->listMagasins->currentItem(); emit magasinDeleted(row); } } void GestionMagasinsDialog::on_listMagasins_currentRowChanged() { ui->btnSupprMagasin->setEnabled(true); } void GestionMagasinsDialog::on_buttonBox_accepted() { QDomDocument dom("manufacturers"); QDomElement rootElement = dom.createElement("manufacturers"); dom.appendChild(rootElement); for(int i = 0; i < ui->listMagasins->count(); i++) { QDomElement manufacturer = dom.createElement("manufacturer"); rootElement.appendChild(manufacturer); QListWidgetItem *item = ui->listMagasins->item(i); QDomText nomMagasin = dom.createTextNode(item->text()); manufacturer.appendChild(nomMagasin); } QFile fileManu(placeSave+"/deuchnord-hermes/manufacturers.xml"); if(fileManu.open(QFile::WriteOnly)) { fileManu.write(dom.toString().toUtf8()); fileManu.close(); } } GestionMagasinsDialog::~GestionMagasinsDialog() { delete ui; }