commit - 8a42fca8ab01e340d7099ee3f5988bf7b4c51768
commit + f5215bb92ac7f34310ec43d9075c048566b64628
blob - ea459c1816bc8a91570634707683fbaa538f62a8
blob + bc37cceed85d1e8e7c53e34fec163f26ce9d3160
--- tog/tog.c
+++ tog/tog.c
static int
view_is_splitscreen(struct tog_view *view)
{
- return !view_is_parent_view(view) && view->begin_x > 0;
+ return view->begin_x > 0;
}
static void
return err;
}
+static void
+diff_view_indicate_progress(struct tog_view *view)
+{
+ werase(view->window);
+ waddstr(view->window, "diffing...");
+ update_panels();
+ doupdate();
+}
+
static const struct got_error *
open_diff_view(struct tog_view *view, struct got_object_id *id1,
struct got_object_id *id2, struct tog_view *log_view,
view->state.diff.repo = repo;
view->state.diff.refs = refs;
+ if (log_view && view_is_splitscreen(view))
+ show_log_view(log_view); /* draw vborder */
+ diff_view_indicate_progress(view);
+
err = create_diff(&view->state.diff);
if (err) {
free(view->state.diff.id1);
case '[':
if (s->diff_context > 0) {
s->diff_context--;
+ diff_view_indicate_progress(view);
err = create_diff(s);
}
break;
case ']':
if (s->diff_context < GOT_DIFF_MAX_CONTEXT) {
s->diff_context++;
+ diff_view_indicate_progress(view);
err = create_diff(s);
}
break;
s->first_displayed_line = 1;
s->last_displayed_line = view->nlines;
+ diff_view_indicate_progress(view);
err = create_diff(s);
break;
case '>':
s->first_displayed_line = 1;
s->last_displayed_line = view->nlines;
+ diff_view_indicate_progress(view);
err = create_diff(s);
break;
default: