From 02a35e65aaec5f2eb6093d02fcfdf61606d7fd30 Mon Sep 17 00:00:00 2001 From: MarkPiazuelo Date: Fri, 5 Dec 2025 13:37:11 +0100 Subject: [PATCH] TopMenu Fix Fixed a bug where the "drawerOpen" variable would not be updated in gesture_navigation.py. Also added the back gesture as a way to exit the drawer. --- .DS_Store | Bin 0 -> 8196 bytes .../lib/mpos/ui/gesture_navigation.py | 22 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4d2b0bfa37a618f5096150da05aabe835f8c6fec GIT binary patch literal 8196 zcmZQzU|@7AO)+F(kYHe7;9!8z0^AH(0Z1N%F(jFwBCH_u7#IW?7~&an88R7?8HyP4 zp>m_tXb6mkz-S1JhQMeDjE2DA3IRrlb2xC+`w-btax?@+LtsRP0H}OWfVAxy9H4Xq zga%15FfuTJy8w&~3@oq!Vg&aC7(j9$tsokt6-0xyGBAQzU^Bp485p5j8NuBUkUjyh zQH%^=?F@`yn?d4W?F@`yn;94wA=()jp*Ax@dnk+$?F@_%?F@`y+rdVT5~Cq78Ukn` z0P4F7Fyt_lF{Cr(p!DAh7%CY`7%~|08S;|Kiwlx+@{<@C7f{}??t&T#qrICS-f{B?) zZ7nBEavK&XoLt;IynNDO;o%XHywMSv$@zJ~nN_Lr0{q1p`Q@I;`FR0Fsb!g|<>ATs zIiDJL}~FEKY&kV%%46Rb;8N?JOiG%2&NG_#~qK$(N%ihz)yu$;7lbWBQO zNvdyt3dpn+4uP#4SA+$H1f&(DRXI4KL2}MTsfi`2DPUn<4QVY-fkcjw;>@a4h=?w) zKBqu2XGnHt9z>0_5w8h{KniDQPGVAO4p@=2Ij<#$fH!A&8N`PWK^tB>4nam8&WPmv z+}zZ>l46LkqqH-JzzL2xklj9s#U=g)sd-TAr5&Z+IXI$r(Ev?|s!4U~E%rPYeWDZy`ID~^k;8MJRKxST9W=SF__#s(_ zLm3kG3=GN+S`eo4fusds7C1~fMZjzX0je$K88jHI7@Qcw7%~`&8EP2%7-ll8VK~Te zis3ZFEr!Po?-;%?{9|Ne|>nHID>H(<7~#ojB6OzGHzhp$heE~ zFyj%%V~occuQA?de8BjS@eSiw#&3+@nK+q*n1q=`nBVAz4jKTtX3) z|19mC;i(jou3G2HFy;S*aW`@;dN3ae_(;0S2(Ni>rcy04N7?P(Lr+V|dQ+mfiV1Y;y)6k{@DDq}ih1~> get_display_width() / 5: - back_screen() + if topmenu.drawer_open : + topmenu.close_drawer() + else : + back_screen() elif is_short_movement(dx, dy): # print("Short movement - treating as tap") _passthrough_click(x, y, indev) def _top_swipe_cb(event): - if drawer_open: + if topmenu.drawer_open: print("ignoring top swipe gesture because drawer is open") return @@ -99,7 +99,7 @@ def _top_swipe_cb(event): dx = abs(x - down_start_x) dy = abs(y - down_start_y) if y > get_display_height() / 5: - open_drawer() + topmenu.open_drawer() elif is_short_movement(dx, dy): # print("Short movement - treating as tap") _passthrough_click(x, y, indev) @@ -107,10 +107,10 @@ def _top_swipe_cb(event): def handle_back_swipe(): global backbutton rect = lv.obj(lv.layer_top()) - rect.set_size(NOTIFICATION_BAR_HEIGHT, lv.layer_top().get_height()-NOTIFICATION_BAR_HEIGHT) # narrow because it overlaps buttons + rect.set_size(topmenu.NOTIFICATION_BAR_HEIGHT, lv.layer_top().get_height()-topmenu.NOTIFICATION_BAR_HEIGHT) # narrow because it overlaps buttons rect.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) rect.set_scroll_dir(lv.DIR.NONE) - rect.set_pos(0, NOTIFICATION_BAR_HEIGHT) + rect.set_pos(0, topmenu.NOTIFICATION_BAR_HEIGHT) style = lv.style_t() style.init() style.set_bg_opa(lv.OPA.TRANSP) @@ -138,7 +138,7 @@ def handle_back_swipe(): def handle_top_swipe(): global downbutton rect = lv.obj(lv.layer_top()) - rect.set_size(lv.pct(100), NOTIFICATION_BAR_HEIGHT) + rect.set_size(lv.pct(100), topmenu.NOTIFICATION_BAR_HEIGHT) rect.set_pos(0, 0) rect.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) style = lv.style_t()