procview: horrrible naming but no block

This commit is contained in:
Alastair Poole 2021-03-03 18:48:44 +00:00
parent 110b853c8f
commit 3931125e54
1 changed files with 63 additions and 60 deletions

View File

@ -835,6 +835,67 @@ _run_time_string(int64_t secs)
return strdup(buf);
}
static void
_manual_cb(void *data, Ecore_Thread *thread)
{
Eina_List *lines;
char *line;
char buf[4096];
int n = 1;
Ui_Data *pd = data;
setenv("MANWIDTH", "75", 1);
ecore_thread_feedback(thread, strdup("<code>"));
snprintf(buf, sizeof(buf), "man %s | col -bx", pd->selected_cmd);
lines = _exe_response(buf);
if (!lines)
{
snprintf(buf, sizeof(buf), _("No documentation found for %s."),
pd->selected_cmd);
ecore_thread_feedback(thread, strdup(buf));
}
EINA_LIST_FREE(lines, line)
{
if (n++ > 1)
{
snprintf(buf, sizeof(buf), "%s<br>", line);
ecore_thread_feedback(thread, strdup(buf));
}
free(line);
}
ecore_thread_feedback(thread, strdup("</code>"));
unsetenv("MANWIDTH");
pd->manual.init = 1;
}
static void
_manual_feedback_cb(void *data, Ecore_Thread *thread, void *msgdata)
{
Ui_Data *pd = data;
Evas_Object *ent = pd->manual.entry;
char *s = msgdata;
elm_entry_entry_append(ent, s);
free(s);
}
static void
_manual_init(Ui_Data *pd)
{
if ((!pd->selected_cmd) || (!pd->selected_cmd[0]) || (strchr(pd->selected_cmd, ' ')))
return;
ecore_thread_feedback_run(_manual_cb,
_manual_feedback_cb,
NULL, NULL, pd, 1);
}
static void
_general_view_update(Ui_Data *pd, Proc_Info *proc)
{
@ -1548,66 +1609,9 @@ _tab_manual_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
pd = data;
_tab_change(pd, pd->manual_view, obj);
elm_object_focus_set(pd->tab_general, 1);
}
if (pd->manual.init) return;
static void
_manual_get_cb(void *data, Ecore_Thread *thread)
{
Eina_List *lines;
char *line;
char buf[4096];
int n = 1;
Ui_Data *pd = data;
setenv("MANWIDTH", "75", 1);
ecore_thread_feedback(thread, strdup("<code>"));
snprintf(buf, sizeof(buf), "man %s | col -bx", pd->selected_cmd);
lines = _exe_response(buf);
if (!lines)
{
snprintf(buf, sizeof(buf), _("No documentation found for %s."),
pd->selected_cmd);
ecore_thread_feedback(thread, strdup(buf));
}
EINA_LIST_FREE(lines, line)
{
if (n++ > 1)
{
snprintf(buf, sizeof(buf), "%s<br>", line);
ecore_thread_feedback(thread, strdup(buf));
}
free(line);
}
ecore_thread_feedback(thread, strdup("</code>"));
unsetenv("MANWIDTH");
pd->manual.init = 1;
}
static void
_manual_feedback_cb(void *data, Ecore_Thread *thread, void *msgdata)
{
Ui_Data *pd = data;
Evas_Object *ent = pd->manual.entry;
char *s = msgdata;
elm_entry_entry_append(ent, s);
free(s);
}
static void
_manual_init(Ui_Data *pd)
{
if ((!pd->selected_cmd) || (!pd->selected_cmd[0]) || (strchr(pd->selected_cmd, ' ')))
return;
ecore_thread_feedback_run(_manual_cb,
_manual_feedback_cb,
NULL, NULL, pd, 1);
_manual_init(pd);
}
static Evas_Object *
@ -1827,7 +1831,6 @@ ui_process_view_win_add(int pid, Evisum_Proc_Action action)
elm_win_center(win, 1, 1);
evas_object_show(win);
_manual_init(pd);
_action_do(pd, action);
pd->threads.cache = evisum_ui_item_cache_new(pd->threads.glist,