31class FavouritesManager {
35 std::optional<uint8_t> colour;
43 void setCategory(
const std::string& category);
44 void selectFavouritesBank(uint8_t bankNumber);
45 void setFavourite(uint8_t position, uint8_t colour,
const std::string& filename);
46 void unsetFavourite(uint8_t position);
47 bool isEmpty(uint8_t position)
const;
50 std::array<std::optional<uint8_t>, kNumFavourites> getFavouriteColours()
const;
51 void changeColour(uint8_t position, int32_t offset);
52 const std::string& getFavouriteFilename(uint8_t position);
53 static constexpr uint8_t favouriteDefaultColor = 4;
55 uint8_t currentBankNumber = 0;
56 std::optional<uint8_t> currentFavouriteNumber;
59 void resetFavourites();
60 void loadFavouritesBank();
61 void saveFavouriteBank()
const;
63 std::string getFilenameForSave()
const;
64 mutable bool unsavedChanges =
false;
66 std::string currentCategory;
67 etl::vector<Favourite, kNumFavourites> favourites;