From ed9609d748ebf5b76d7c97a7c21902d5a817d68e Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Sun, 16 May 2010 23:31:34 -0400 Subject: [PATCH] Use view_request to unconditionally refresh views after run requests --- tig.c | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/tig.c b/tig.c index f9d23ab..eaff28c 100644 --- a/tig.c +++ b/tig.c @@ -2223,7 +2223,6 @@ struct view { enum keymap keymap; /* What keymap does this view have */ bool git_dir; /* Whether the view requires a git directory. */ - bool refresh; /* Whether the view supports refreshing. */ char ref[SIZEOF_REF]; /* Hovered commit reference */ char vid[SIZEOF_REF]; /* View ID. Set to id member when updating. */ @@ -2301,24 +2300,24 @@ static struct view_ops status_ops; static struct view_ops tree_ops; static struct view_ops branch_ops; -#define VIEW_STR(type, name, env, ref, ops, map, git, refresh) \ - { type, name, #env, ref, ops, map, git, refresh } +#define VIEW_STR(type, name, env, ref, ops, map, git) \ + { type, name, #env, ref, ops, map, git } -#define VIEW_(id, name, ops, git, refresh, ref) \ - VIEW_STR(VIEW_##id, name, TIG_##id##_CMD, ref, ops, KEYMAP_##id, git, refresh) +#define VIEW_(id, name, ops, git, ref) \ + VIEW_STR(VIEW_##id, name, TIG_##id##_CMD, ref, ops, KEYMAP_##id, git) static struct view views[] = { - VIEW_(MAIN, "main", &main_ops, TRUE, TRUE, ref_head), - VIEW_(DIFF, "diff", &diff_ops, TRUE, FALSE, ref_commit), - VIEW_(LOG, "log", &log_ops, TRUE, TRUE, ref_head), - VIEW_(TREE, "tree", &tree_ops, TRUE, FALSE, ref_commit), - VIEW_(BLOB, "blob", &blob_ops, TRUE, FALSE, ref_blob), - VIEW_(BLAME, "blame", &blame_ops, TRUE, FALSE, ref_commit), - VIEW_(BRANCH, "branch", &branch_ops, TRUE, TRUE, ref_head), - VIEW_(HELP, "help", &help_ops, FALSE, FALSE, ""), - VIEW_(PAGER, "pager", &pager_ops, FALSE, FALSE, "stdin"), - VIEW_(STATUS, "status", &status_ops, TRUE, TRUE, ""), - VIEW_(STAGE, "stage", &stage_ops, TRUE, TRUE, ""), + VIEW_(MAIN, "main", &main_ops, TRUE, ref_head), + VIEW_(DIFF, "diff", &diff_ops, TRUE, ref_commit), + VIEW_(LOG, "log", &log_ops, TRUE, ref_head), + VIEW_(TREE, "tree", &tree_ops, TRUE, ref_commit), + VIEW_(BLOB, "blob", &blob_ops, TRUE, ref_blob), + VIEW_(BLAME, "blame", &blame_ops, TRUE, ref_commit), + VIEW_(BRANCH, "branch", &branch_ops, TRUE, ref_head), + VIEW_(HELP, "help", &help_ops, FALSE, ""), + VIEW_(PAGER, "pager", &pager_ops, FALSE, "stdin"), + VIEW_(STATUS, "status", &status_ops, TRUE, ""), + VIEW_(STAGE, "stage", &stage_ops, TRUE, ""), }; #define VIEW(req) (&views[(req) - REQ_OFFSET - 1]) @@ -3622,11 +3621,8 @@ view_driver(struct view *view, enum request request) if (request > REQ_NONE) { open_run_request(request); - /* FIXME: When all views can refresh always do this. */ - if (view->refresh) - request = REQ_REFRESH; - else - return TRUE; + view_request(view, REQ_REFRESH); + return TRUE; } request = view_request(view, request); -- 2.30.2