Your warranties manager
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

produititem.h 2.1 KiB

vor 10 Jahren
vor 10 Jahren
vor 10 Jahren
vor 10 Jahren
vor 10 Jahren
vor 10 Jahren
vor 10 Jahren
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef PRODUITITEM_H
  2. #define PRODUITITEM_H
  3. #include <QWidget>
  4. #include <QPixmap>
  5. #include <QDate>
  6. #include <QByteArray>
  7. #include <QHash>
  8. #include <QDataStream>
  9. #include "infosproduitdialog.h"
  10. namespace Ui {
  11. class ProduitItem;
  12. }
  13. struct ProduitInfo {
  14. QString nomProduit;
  15. QDate dateAchat, dateFinGarantie;
  16. QPixmap image;
  17. qint32 indexMagasin;
  18. bool enSAV;
  19. QHash<QString, QByteArray> factures, garanties;
  20. };
  21. QDataStream &operator <<(QDataStream &out, const ProduitInfo &prod);
  22. QDataStream &operator >>(QDataStream &in, ProduitInfo &prod);
  23. class ProduitItem : public QWidget
  24. {
  25. Q_OBJECT
  26. public:
  27. explicit ProduitItem(QWidget *parent, QString nomProduit, QDate dateAchat, QDate dateFinGarantie, QPixmap image = QPixmap(":/images/no-picture.jpg"), int magasin = 0,
  28. bool enSAV = false, QHash<QString, QByteArray> factures = QHash<QString, QByteArray>(), QHash<QString, QByteArray> garanties = QHash<QString, QByteArray>());
  29. explicit ProduitItem();
  30. // Pour la sérialisation
  31. ProduitInfo getProduitInfo();
  32. // Getters
  33. QPixmap getImage();
  34. // Setters
  35. void setNomProduit(QString nomProduit);
  36. void setDateAchat(QDate dateAchat);
  37. void setDateFinGarantie(QDate dateFinGarantie);
  38. void setImage(QPixmap image);
  39. void setMagasin(int index); // le QString ne sert qu'à l'affichage, c'est l'index qui est utilisé par la boîte de dialogue
  40. void setEnSAV(bool y);
  41. void setFactures(QHash<QString, QByteArray> factures);
  42. void setGaranties(QHash<QString, QByteArray> garanties);
  43. void updateDescription();
  44. void openDialog(bool deleteOnCancel = false);
  45. // Destructeur
  46. ~ProduitItem();
  47. public slots:
  48. void on_btnMoreInfo_clicked(bool deleteOnCancel = false);
  49. void winInfoProdCanceled();
  50. signals:
  51. void deleteAsked();
  52. private:
  53. Ui::ProduitItem *ui;
  54. QString nomProduit;
  55. QDate dateAchat, dateFinGarantie;
  56. QString descriptionListe;
  57. QPixmap image;
  58. int indexMagasin;
  59. bool enSAV;
  60. QHash<QString, QByteArray> factures;
  61. QHash<QString, QByteArray> garanties;
  62. };
  63. #endif // PRODUITITEM_H