Skip to content

Commit 5859ac6

Browse files
committed
print format is remembered
1 parent 2cc7663 commit 5859ac6

File tree

3 files changed

+43
-21
lines changed

3 files changed

+43
-21
lines changed

userspace/libsinsp/cursescomponents.cpp

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ using namespace std;
4747
#include "cursescomponents.h"
4848
#include "cursestable.h"
4949
#include "cursesui.h"
50+
#include "utils.h"
5051

5152
///////////////////////////////////////////////////////////////////////////////
5253
// curses_scrollable_list implementation
@@ -862,12 +863,29 @@ void curses_textbox::populate_sidemenu()
862863
m_entries.push_back(sidemenu_list_entry("Dotted ASCII", -1));
863864
m_entries.push_back(sidemenu_list_entry("Printable ASCII", -1));
864865
m_entries.push_back(sidemenu_list_entry("Hex", -1));
865-
if(m_viz_type == VIEW_ID_DIG)
866+
867+
m_sidemenu->set_entries(&m_entries);
868+
869+
switch(m_parent->m_spybox_text_format)
866870
{
867-
m_entries.push_back(sidemenu_list_entry("json", 0));
871+
case sinsp_evt::PF_NORMAL:
872+
m_sidemenu->m_selct = 0;
873+
break;
874+
case sinsp_evt::PF_EOLS:
875+
m_sidemenu->m_selct = 1;
876+
break;
877+
case sinsp_evt::PF_HEXASCII:
878+
m_sidemenu->m_selct = 2;
879+
break;
880+
case sinsp_evt::PF_JSON:
881+
m_sidemenu->m_selct = 3;
882+
break;
883+
default:
884+
ASSERT(false);
885+
m_sidemenu->m_selct = 0;
886+
break;
868887
}
869888

870-
m_sidemenu->set_entries(&m_entries);
871889
m_sidemenu->set_title("View As");
872890
}
873891

@@ -918,6 +936,24 @@ sysdig_table_action curses_textbox::handle_input(int ch)
918936
sysdig_table_action ta = m_sidemenu->handle_input(ch);
919937
if(ta == STA_SWITCH_VIEW)
920938
{
939+
switch(m_parent->m_selected_sidemenu_entry)
940+
{
941+
case 0:
942+
m_parent->m_spybox_text_format = sinsp_evt::PF_NORMAL;
943+
break;
944+
case 1:
945+
m_parent->m_spybox_text_format = sinsp_evt::PF_EOLS;
946+
break;
947+
case 2:
948+
m_parent->m_spybox_text_format = sinsp_evt::PF_HEXASCII;
949+
break;
950+
case 3:
951+
m_parent->m_spybox_text_format = sinsp_evt::PF_JSON;
952+
break;
953+
default:
954+
ASSERT(false);
955+
break;
956+
}
921957
return STA_SWITCH_SPY;
922958
}
923959
else if(ta != STA_PARENT_HANDLE)
@@ -1058,24 +1094,7 @@ void curses_textbox::reset()
10581094
wrefresh(m_win);
10591095
}
10601096

1061-
switch(m_parent->m_selected_sidemenu_entry)
1062-
{
1063-
case 0:
1064-
m_inspector->set_buffer_format(sinsp_evt::PF_NORMAL);
1065-
break;
1066-
case 1:
1067-
m_inspector->set_buffer_format(sinsp_evt::PF_EOLS);
1068-
break;
1069-
case 2:
1070-
m_inspector->set_buffer_format(sinsp_evt::PF_HEXASCII);
1071-
break;
1072-
case 3:
1073-
m_inspector->set_buffer_format(sinsp_evt::PF_JSON);
1074-
break;
1075-
default:
1076-
ASSERT(false);
1077-
break;
1078-
}
1097+
m_inspector->set_buffer_format(m_parent->m_spybox_text_format);
10791098

10801099
//
10811100
// If we're offline, disable screen refresh until we've parsed the file

userspace/libsinsp/cursesui.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ sinsp_cursesui::sinsp_cursesui(sinsp* inspector,
7373
m_refresh_interval_ns = refresh_interval_ns;
7474
m_print_containers = print_containers;
7575
m_raw_output = raw_output;
76+
m_spybox_text_format = sinsp_evt::PF_NORMAL;
7677
#ifndef NOCURSESUI
7778
if(!m_raw_output)
7879
{
@@ -1723,6 +1724,7 @@ sysdig_table_action sinsp_cursesui::handle_input(int ch)
17231724
ASSERT(m_output_filtering == false);
17241725
ASSERT(m_output_searching == false);
17251726
sysdig_table_action actn = m_spy_box->handle_input(ch);
1727+
17261728
if(actn != STA_PARENT_HANDLE)
17271729
{
17281730
return actn;

userspace/libsinsp/cursesui.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,7 @@ class sinsp_cursesui
568568
curses_viewinfo_page* m_viewinfo_page;
569569
curses_mainhelp_page* m_mainhelp_page;
570570
curses_textbox* m_spy_box;
571+
sinsp_evt::param_fmt m_spybox_text_format;
571572
#endif
572573

573574
private:

0 commit comments

Comments
 (0)