فهرست منبع

acknowledgements

Eric Betts 8 ماه پیش
والد
کامیت
d1e062e253
3فایلهای تغییر یافته به همراه57 افزوده شده و 3 حذف شده
  1. 45 0
      scenes/weebo_scene_acknowledgements.c
  2. 1 0
      scenes/weebo_scene_config.h
  3. 11 3
      scenes/weebo_scene_main_menu.c

+ 45 - 0
scenes/weebo_scene_acknowledgements.c

@@ -0,0 +1,45 @@
+#include "../weebo_i.h"
+#include <dolphin/dolphin.h>
+#include "../acknowledgements.h"
+
+void weebo_scene_acknowledgements_widget_callback(
+    GuiButtonType result,
+    InputType type,
+    void* context) {
+    Weebo* weebo = context;
+    if(type == InputTypeShort) {
+        view_dispatcher_send_custom_event(weebo->view_dispatcher, result);
+    }
+}
+
+void weebo_scene_acknowledgements_on_enter(void* context) {
+    Weebo* weebo = context;
+
+    furi_string_reset(weebo->text_box_store);
+
+    FuriString* str = weebo->text_box_store;
+    furi_string_cat_printf(str, "%s\n", acknowledgements_text);
+
+    text_box_set_font(weebo->text_box, TextBoxFontText);
+    text_box_set_text(weebo->text_box, furi_string_get_cstr(weebo->text_box_store));
+    view_dispatcher_switch_to_view(weebo->view_dispatcher, WeeboViewTextBox);
+}
+
+bool weebo_scene_acknowledgements_on_event(void* context, SceneManagerEvent event) {
+    Weebo* weebo = context;
+    bool consumed = false;
+
+    if(event.type == SceneManagerEventTypeCustom) {
+        if(event.event == GuiButtonTypeLeft) {
+            consumed = scene_manager_previous_scene(weebo->scene_manager);
+        }
+    }
+    return consumed;
+}
+
+void weebo_scene_acknowledgements_on_exit(void* context) {
+    Weebo* weebo = context;
+
+    // Clear views
+    text_box_reset(weebo->text_box);
+}

+ 1 - 0
scenes/weebo_scene_config.h

@@ -8,3 +8,4 @@ ADD_SCENE(weebo, emulate, Emulate)
 ADD_SCENE(weebo, info, Info)
 ADD_SCENE(weebo, save_name, SaveName)
 ADD_SCENE(weebo, save_success, SaveSuccess)
+ADD_SCENE(weebo, acknowledgements, Acknowledgements)

+ 11 - 3
scenes/weebo_scene_main_menu.c

@@ -3,7 +3,8 @@
 #define TAG "SceneMainMenu"
 
 enum SubmenuIndex {
-    SubmenuIndexFileSaved = 0,
+    SubmenuIndexSaved = 0,
+    SubmenuIndexAcknowledgements,
 };
 
 void weebo_scene_main_menu_submenu_callback(void* context, uint32_t index) {
@@ -17,7 +18,11 @@ void weebo_scene_main_menu_on_enter(void* context) {
     submenu_reset(submenu);
 
     submenu_add_item(
-        submenu, "Saved", SubmenuIndexFileSaved, weebo_scene_main_menu_submenu_callback, weebo);
+        submenu, "Saved", SubmenuIndexSaved, weebo_scene_main_menu_submenu_callback, weebo);
+    submenu_add_item(
+        submenu, "Acknowledgements", SubmenuIndexAcknowledgements, weebo_scene_main_menu_submenu_callback, weebo);
+
+
 
     submenu_set_selected_item(
         submenu, scene_manager_get_scene_state(weebo->scene_manager, WeeboSceneMainMenu));
@@ -30,9 +35,12 @@ bool weebo_scene_main_menu_on_event(void* context, SceneManagerEvent event) {
 
     if(event.type == SceneManagerEventTypeCustom) {
         scene_manager_set_scene_state(weebo->scene_manager, WeeboSceneMainMenu, event.event);
-        if(event.event == SubmenuIndexFileSaved) {
+        if(event.event == SubmenuIndexSaved) {
             scene_manager_next_scene(weebo->scene_manager, WeeboSceneFileSelect);
             consumed = true;
+        } else if(event.event == SubmenuIndexAcknowledgements) {
+          scene_manager_next_scene(weebo->scene_manager, WeeboSceneAcknowledgements);
+            consumed = true;
         }
     }