irda-app-scene-learn-done.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "../irda-app.hpp"
  2. #include <string>
  3. #include <stdio.h>
  4. void IrdaAppSceneLearnDone::on_enter(IrdaApp* app) {
  5. IrdaAppViewManager* view_manager = app->get_view_manager();
  6. Popup* popup = view_manager->get_popup();
  7. popup_set_icon(popup, 32, 5, I_DolphinNice_96x59);
  8. if(app->get_learn_new_remote()) {
  9. popup_set_text(popup, "New remote\ncreated!", 5, 7, AlignLeft, AlignTop);
  10. } else {
  11. popup_set_text(popup, "Saved!", 5, 7, AlignLeft, AlignTop);
  12. }
  13. popup_set_callback(popup, IrdaApp::popup_callback);
  14. popup_set_context(popup, app);
  15. popup_set_timeout(popup, 1500);
  16. popup_enable_timeout(popup);
  17. view_manager->switch_to(IrdaAppViewManager::ViewType::Popup);
  18. }
  19. bool IrdaAppSceneLearnDone::on_event(IrdaApp* app, IrdaAppEvent* event) {
  20. bool consumed = false;
  21. if(event->type == IrdaAppEvent::Type::PopupTimer) {
  22. if(app->get_learn_new_remote()) {
  23. app->switch_to_next_scene(IrdaApp::Scene::LearnDoneAfter);
  24. } else {
  25. app->switch_to_next_scene(IrdaApp::Scene::Remote);
  26. }
  27. consumed = true;
  28. }
  29. return consumed;
  30. }
  31. void IrdaAppSceneLearnDone::on_exit(IrdaApp* app) {
  32. app->set_learn_new_remote(false);
  33. }