aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJoursoir <chat@joursoir.net>2021-12-01 19:24:26 +0300
committerJoursoir <chat@joursoir.net>2021-12-01 19:24:26 +0300
commit6a7926acb843acfe2949df68d9fe9f2ee8a73516 (patch)
tree1b72c90c8da43b206d3cb58b33af5272f63a8748 /Library
parentdbe8bd817e2db2294976457b1c272b6025ae3b61 (diff)
downloadufm-6a7926acb843acfe2949df68d9fe9f2ee8a73516.tar.gz
ufm-6a7926acb843acfe2949df68d9fe9f2ee8a73516.tar.bz2
ufm-6a7926acb843acfe2949df68d9fe9f2ee8a73516.zip
panel: make panel_set_active()
Diffstat (limited to 'Library')
-rw-r--r--Library/UefiShellUfmCommandLib/panel.c11
-rw-r--r--Library/UefiShellUfmCommandLib/panel.h11
2 files changed, 22 insertions, 0 deletions
diff --git a/Library/UefiShellUfmCommandLib/panel.c b/Library/UefiShellUfmCommandLib/panel.c
index 6ee1939..f920ea1 100644
--- a/Library/UefiShellUfmCommandLib/panel.c
+++ b/Library/UefiShellUfmCommandLib/panel.c
@@ -276,6 +276,7 @@ VOID panel_release(struct panel_ctx *p)
FreePool(p);
}
+
BOOLEAN panel_move_cursor(struct panel_ctx *p, UINTN line)
{
UINTN oldline = p->curline;
@@ -335,6 +336,16 @@ BOOLEAN panel_cd_to(struct panel_ctx *p, CONST CHAR16 *path)
return TRUE;
}
+VOID panel_set_active(struct panel_ctx *p, BOOLEAN flag)
+{
+ if(flag == TRUE) {
+ HIGHLIGHT_LINE_AS_CURRENT(p, p->curline);
+ return;
+ }
+
+ UNHIGHLIGHT_LINE_AS_CURRENT(p, p->curline);
+}
+
BOOLEAN panel_mark_file(struct panel_ctx *p, UINTN line)
{
UINTN idx = line - 1;
diff --git a/Library/UefiShellUfmCommandLib/panel.h b/Library/UefiShellUfmCommandLib/panel.h
index 8fdb19f..8670f82 100644
--- a/Library/UefiShellUfmCommandLib/panel.h
+++ b/Library/UefiShellUfmCommandLib/panel.h
@@ -71,6 +71,17 @@ BOOLEAN panel_move_cursor(struct panel_ctx *p, UINTN line);
BOOLEAN panel_cd_to(struct panel_ctx *p, CONST CHAR16 *path);
/*
+ * Changes the active state
+ *
+ * p: the panel on which to operate
+ * active: TRUE if the panel should be activated. FALSE if the
+ * panel should be disabled
+ *
+ * return: VOID
+*/
+VOID panel_set_active(struct panel_ctx *p, BOOLEAN active);
+
+/*
* Marks the file as selected. Supports work only with files.
*
* p: the panel on which to operate