Your warranties manager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

87 lines
2.3 KiB

  1. #include "gestionmagasinsdialog.h"
  2. #include "ui_gestionmagasinsdialog.h"
  3. #include <QDir>
  4. #include <QFile>
  5. #include <QtXml>
  6. #include <QInputDialog>
  7. GestionMagasinsDialog::GestionMagasinsDialog(QWidget *parent) :
  8. QDialog(parent),
  9. ui(new Ui::GestionMagasinsDialog)
  10. {
  11. ui->setupUi(this);
  12. QFile fichierMagasins(QDir::homePath()+"/.deuchnord-hermes/manufacturers.xml");
  13. fichierMagasins.open(QFile::ReadOnly);
  14. if(fichierMagasins.isOpen())
  15. {
  16. QString contenuFichier = fichierMagasins.readAll();
  17. fichierMagasins.close();
  18. QDomDocument dom;
  19. dom.setContent(contenuFichier);
  20. QDomElement root = dom.firstChildElement();
  21. QDomElement manufacturer;
  22. QDomNode node = root.firstChild();
  23. while(!node.isNull())
  24. {
  25. manufacturer = node.toElement();
  26. if(manufacturer.tagName() == "manufacturer")
  27. ui->listMagasins->addItem(manufacturer.firstChild().toText().data());
  28. node = node.nextSibling();
  29. }
  30. fichierMagasins.close();
  31. }
  32. ui->listMagasins->setCurrentItem(ui->listMagasins->item(0));
  33. }
  34. void GestionMagasinsDialog::on_btnAjoutMagasin_clicked()
  35. {
  36. ui->listMagasins->addItem(QInputDialog::getText(this, "Ajouter un magasin", "Veuillez entrer le nom du nouveau magasin :"));
  37. }
  38. void GestionMagasinsDialog::on_btnSupprMagasin_clicked()
  39. {
  40. delete ui->listMagasins->currentItem();
  41. }
  42. void GestionMagasinsDialog::on_listMagasins_currentRowChanged()
  43. {
  44. ui->btnSupprMagasin->setEnabled(true);
  45. }
  46. void GestionMagasinsDialog::on_buttonBox_accepted()
  47. {
  48. QDomDocument dom("manufacturers");
  49. QDomElement rootElement = dom.createElement("manufacturers");
  50. dom.appendChild(rootElement);
  51. for(int i = 0; i < ui->listMagasins->count(); i++)
  52. {
  53. QDomElement manufacturer = dom.createElement("manufacturer");
  54. rootElement.appendChild(manufacturer);
  55. QListWidgetItem *item = ui->listMagasins->item(i);
  56. QDomText nomMagasin = dom.createTextNode(item->text());
  57. manufacturer.appendChild(nomMagasin);
  58. }
  59. QFile fileManu(QDir::homePath()+"/.deuchnord-hermes/manufacturers.xml");
  60. if(fileManu.open(QFile::WriteOnly))
  61. {
  62. fileManu.write(dom.toString().toUtf8());
  63. fileManu.close();
  64. }
  65. }
  66. GestionMagasinsDialog::~GestionMagasinsDialog()
  67. {
  68. delete ui;
  69. }