Sandro Kalatozishvili 2 лет назад
Родитель
Сommit
cfeb65f156
4 измененных файлов с 53 добавлено и 49 удалено
  1. 12 11
      views/xremote_control_view.c
  2. 11 10
      views/xremote_general_view.c
  3. 15 14
      views/xremote_navigation_view.c
  4. 15 14
      views/xremote_player_view.c

+ 12 - 11
views/xremote_control_view.c

@@ -24,7 +24,7 @@ static void xremote_control_view_draw_horizontal(Canvas* canvas, XRemoteViewMode
     xremote_canvas_draw_frame(canvas, model->left_pressed, 4, 25, 23, "< CH");
     xremote_canvas_draw_frame(canvas, model->right_pressed, 37, 25, 23, "CH >");
     xremote_canvas_draw_frame(canvas, model->down_pressed, 17, 45, 31, "VOL -");
-    xremote_canvas_draw_button_size(canvas, model->ok_pressed, 70, 29, 44, "Mute", XRemoteIconEnter);
+    xremote_canvas_draw_button_size(canvas, model->ok_pressed, 70, 30, 44, "Mute", XRemoteIconEnter);
 }
 
 static void xremote_control_view_draw_callback(Canvas* canvas, void* context)
@@ -50,33 +50,34 @@ static void xremote_control_view_process(XRemoteView* view, InputEvent* event)
         XRemoteViewModel* model,
         {
             model->context = xremote_view_get_app_context(view);
+            InfraredRemoteButton* button = NULL;
 
             if (event->type == InputTypePress)
             {
                 if (event->key == InputKeyOk)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_MUTE))
-                        model->ok_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_MUTE);
+                    if (xremote_view_press_button(view, button)) model->ok_pressed = true;
                 }
                 else if (event->key == InputKeyUp)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_VOL_UP))
-                        model->up_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_VOL_UP);
+                    if (xremote_view_press_button(view, button)) model->up_pressed = true;
                 }
                 else if (event->key == InputKeyDown)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_VOL_DOWN))
-                        model->down_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_VOL_DOWN);
+                    if (xremote_view_press_button(view, button)) model->down_pressed = true;
                 }
                 else if (event->key == InputKeyLeft)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_PREV_CHAN))
-                        model->left_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_PREV_CHAN);
+                    if (xremote_view_press_button(view, button)) model->left_pressed = true;
                 }
                 else if (event->key == InputKeyRight)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_NEXT_CHAN))
-                        model->right_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_NEXT_CHAN);
+                    if (xremote_view_press_button(view, button)) model->right_pressed = true;
                 }
             }
             else if (event->type == InputTypeRelease)

+ 11 - 10
views/xremote_general_view.c

@@ -52,31 +52,32 @@ static void xremote_general_view_process(XRemoteView* view, InputEvent* event)
             if (event->type == InputTypePress)
             {
                 model->context = xremote_view_get_app_context(view);
+                InfraredRemoteButton* button = NULL;
 
                 if (event->key == InputKeyOk)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_POWER))
-                        model->ok_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_POWER);
+                    if (xremote_view_press_button(view, button)) model->ok_pressed = true;
                 }
                 else if (event->key == InputKeyUp)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_INPUT))
-                        model->up_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_INPUT);
+                    if (xremote_view_press_button(view, button)) model->up_pressed = true;
                 }
                 else if (event->key == InputKeyDown)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_SETUP))
-                        model->down_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_SETUP);
+                    if (xremote_view_press_button(view, button)) model->down_pressed = true;
                 }
                 else if (event->key == InputKeyLeft)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_MENU))
-                        model->left_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_MENU);
+                    if (xremote_view_press_button(view, button)) model->left_pressed = true;
                 }
                 else if (event->key == InputKeyRight)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_LIST))
-                        model->right_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_LIST);
+                    if (xremote_view_press_button(view, button)) model->right_pressed = true;
                 }
             }
             else if (event->type == InputTypeRelease)

+ 15 - 14
views/xremote_navigation_view.c

@@ -65,49 +65,50 @@ static void xremote_navigation_view_process(XRemoteView* view, InputEvent* event
         {
             XRemoteAppContext* app_ctx = xremote_view_get_app_context(view);
             XRemoteAppExit exit = app_ctx->app_settings->exit_behavior;
+            InfraredRemoteButton* button = NULL;
             model->context = app_ctx;
 
             if (event->type == InputTypePress)
             {
                 if (event->key == InputKeyUp)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_UP))
-                        model->up_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_UP);
+                    if (xremote_view_press_button(view, button)) model->up_pressed = true;
                 }
                 else if (event->key == InputKeyDown)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_DOWN))
-                        model->down_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_DOWN);
+                    if (xremote_view_press_button(view, button)) model->down_pressed = true;
                 }
                 else if (event->key == InputKeyLeft)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_LEFT))
-                        model->left_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_LEFT);
+                    if (xremote_view_press_button(view, button)) model->left_pressed = true;
                 }
                 else if (event->key == InputKeyRight)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_RIGHT))
-                        model->right_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_RIGHT);
+                    if (xremote_view_press_button(view, button)) model->right_pressed = true;
                 }
                 else if (event->key == InputKeyOk)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_OK))
-                        model->ok_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_OK);
+                    if (xremote_view_press_button(view, button)) model->ok_pressed = true;
                 }
             }
             else if (event->type == InputTypeShort &&
                     event->key == InputKeyBack &&
                     exit == XRemoteAppExitHold)
             {
-                if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_BACK))
-                    model->back_pressed = true;
+                button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_BACK);
+                if (xremote_view_press_button(view, button)) model->back_pressed = true;
             }
             else if (event->type == InputTypeLong &&
                     event->key == InputKeyBack &&
                     exit == XRemoteAppExitPress)
             {
-                if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_BACK))
-                    model->back_pressed = true;
+                button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_BACK);
+                if (xremote_view_press_button(view, button)) model->back_pressed = true;
             }
             else if (event->type == InputTypeRelease)
             {

+ 15 - 14
views/xremote_player_view.c

@@ -64,49 +64,50 @@ static void xremote_player_view_process(XRemoteView* view, InputEvent* event)
         {
             XRemoteAppContext* app_ctx = xremote_view_get_app_context(view);
             XRemoteAppExit exit = app_ctx->app_settings->exit_behavior;
+            InfraredRemoteButton* button = NULL;
             model->context = app_ctx;
 
             if (event->type == InputTypePress)
             {
                 if (event->key == InputKeyUp)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_JUMP_FORWARD))
-                        model->up_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_JUMP_FORWARD);
+                    if (xremote_view_press_button(view, button)) model->up_pressed = true;
                 }
                 else if (event->key == InputKeyDown)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_JUMP_BACKWARD))
-                        model->down_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_JUMP_BACKWARD);
+                    if (xremote_view_press_button(view, button)) model->down_pressed = true;
                 }
                 else if (event->key == InputKeyLeft)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_FAST_BACKWARD))
-                        model->left_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_FAST_BACKWARD);
+                    if (xremote_view_press_button(view, button)) model->left_pressed = true;
                 }
                 else if (event->key == InputKeyRight)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_FAST_FORWARD))
-                        model->right_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_FAST_FORWARD);
+                    if (xremote_view_press_button(view, button)) model->right_pressed = true;
                 }
                 else if (event->key == InputKeyOk)
                 {
-                    if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_PLAY_PAUSE))
-                        model->ok_pressed = true;
+                    button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_PLAY_PAUSE);
+                    if (xremote_view_press_button(view, button)) model->ok_pressed = true;
                 }
             }
             else if (event->type == InputTypeShort &&
                     event->key == InputKeyBack &&
                     exit == XRemoteAppExitHold)
             {
-                if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_STOP))
-                    model->back_pressed = true;
+                button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_STOP);
+                if (xremote_view_press_button(view, button)) model->back_pressed = true;
             }
             else if (event->type == InputTypeLong &&
                     event->key == InputKeyBack &&
                     exit == XRemoteAppExitPress)
             {
-                if (xremote_view_send_ir_by_name(view, XREMOTE_COMMAND_STOP))
-                    model->back_pressed = true;
+                button = xremote_view_get_button_by_name(view, XREMOTE_COMMAND_STOP);
+                if (xremote_view_press_button(view, button)) model->back_pressed = true;
             }
             else if (event->type == InputTypeRelease)
             {