28class FavouritesManager {
32 std::optional<uint8_t> colour;
40 void setCategory(
const std::string& category);
41 void selectFavouritesBank(uint8_t bankNumber);
42 void setFavorite(uint8_t position, uint8_t colour,
const std::string& filename);
43 void unsetFavorite(uint8_t position);
44 bool isEmpty(uint8_t position)
const;
47 std::array<std::optional<uint8_t>, 16> getFavouriteColours()
const;
48 void changeColour(uint8_t position, int32_t offset);
49 const std::string& getFavoriteFilename(uint8_t position);
50 static constexpr uint8_t favouriteDefaultColor = 4;
52 uint8_t currentBankNumber;
53 std::optional<uint8_t> currentFavouriteNumber;
56 void loadFavouritesBank();
57 void saveFavouriteBank()
const;
59 std::string getFilenameForSave()
const;
60 mutable bool unsavedChanges =
false;
62 std::string currentCategory;
63 std::vector<Favorite> favourites;