diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..551f60e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Fichiers ".user" propres à Qt (configuration propre à un PC) +*.user diff --git a/manufacturersmanager.cpp b/manufacturersmanager.cpp index 705e2cd..b7de406 100644 --- a/manufacturersmanager.cpp +++ b/manufacturersmanager.cpp @@ -6,6 +6,9 @@ #include #include +/** + * Class constructor + */ ManufacturersManager::ManufacturersManager() { QSettings *settings = new QSettings("Deuchnord", "Hermes"); @@ -33,25 +36,43 @@ ManufacturersManager::ManufacturersManager() } } +/** + * Adds a manufacturer to the list. + * /!\ after adding a manufacturer, the save method should be called. + * @param manufacturer the manufacturer to add + */ void ManufacturersManager::addManufacturer(QString manufacturer) { manufacturers.append(manufacturer); +#define shouldsave 1 } +/** + * @return a list of known manufacturers, including those that've been added with addManufacturer(). + */ QList ManufacturersManager::getManufacturers() { return manufacturers; } +/** + * Deletes the manufacturer set in parameter. + * /!\ after deleting a manufacturer, the save method should be called. + * @param manufacturerToDelete the index of the manufacturer to delete + */ void ManufacturersManager::deleteManufacturer(int manufacturerToDelete) { manufacturers.removeAt(manufacturerToDelete); +#define shouldsave 1 } -ManufacturersManager::save() { +/** + * Saves the changes made on the list of manufacturers. + */ +void ManufacturersManager::save() { QDomDocument dom("manufacturers"); QDomElement rootElement = dom.createElement("manufacturers"); @@ -76,4 +97,14 @@ ManufacturersManager::save() { } +#undef shouldsave + +} + +ManufacturerManager::~ManufacturerManager() { + +#ifdef shouldsave +#warning The manufacturers list have been changed, but has not been saved. You should call the save() method. +#endif + } diff --git a/manufacturersmanager.h b/manufacturersmanager.h index 74566bd..ec86e5d 100644 --- a/manufacturersmanager.h +++ b/manufacturersmanager.h @@ -7,11 +7,12 @@ class ManufacturersManager { public: - explicit ManufacturersManager(); + ManufacturersManager(); void addManufacturer(QString manufacturer); QList getManufacturers(); void deleteManufacturer(int manufacturerToDelete); void save(); + ~ManufacturersManager(); private: QList manufacturers;