Popup_view.c 994 B

123456789101112131415161718192021222324252627282930313233
  1. #include "UnitempViews.h"
  2. #include <gui/modules/variable_item_list.h>
  3. #include <stdio.h>
  4. #include <assets_icons.h>
  5. uint32_t _prev_view_id;
  6. #define VIEW_ID UnitempViewPopup
  7. static void _popup_callback(void* context) {
  8. UNUSED(context);
  9. view_dispatcher_switch_to_view(app->view_dispatcher, _prev_view_id);
  10. }
  11. void unitemp_popup(const Icon* icon, char* header, char* message, uint32_t prev_view_id) {
  12. _prev_view_id = prev_view_id;
  13. popup_reset(app->popup);
  14. popup_set_icon(app->popup, 0, 64 - icon_get_height(icon), icon);
  15. popup_set_header(app->popup, header, 64, 6, AlignCenter, AlignCenter);
  16. popup_set_text(
  17. app->popup,
  18. message,
  19. (128 - icon_get_width(icon)) / 2 + icon_get_width(icon),
  20. 32,
  21. AlignCenter,
  22. AlignCenter);
  23. popup_set_timeout(app->popup, 5000);
  24. popup_set_callback(app->popup, _popup_callback);
  25. popup_enable_timeout(app->popup);
  26. view_dispatcher_switch_to_view(app->view_dispatcher, VIEW_ID);
  27. }