commit - 69069811fa4d44f2abcf73fefdfb36fee7e9d9fe
commit + d6b05b5be7694f11ca2fa97e95c4de3f4adbdd3c
blob - 3913894ecf46f0dc2440ccdd0cd315f5fcfae288
blob + bee343160a857c71fd91c99a1c2c493f814e7ddc
--- tog/tog.c
+++ tog/tog.c
"browse trees in repository" },
};
+enum tog_view_type {
+ TOG_VIEW_DIFF,
+ TOG_VIEW_LOG,
+ TOG_VIEW_TREE,
+ TOG_VIEW_BLAME
+};
+
struct tog_view {
WINDOW *window;
PANEL *panel;
int nlines, ncols, begin_y, begin_x;
int lines, cols; /* copies of LINES and COLS */
struct tog_view *parent;
+ enum tog_view_type type;
};
static const struct got_error *
static struct tog_view *
open_view(int nlines, int ncols, int begin_y, int begin_x,
- struct tog_view *parent)
+ struct tog_view *parent, enum tog_view_type type)
{
struct tog_view *view = malloc(sizeof(*view));
return NULL;
view->parent = parent;
+ view->type = type;
view->lines = LINES;
view->cols = COLS;
view->nlines = nlines ? nlines : LINES - begin_y;
goto done;
}
- view = open_view(0, 0, 0, 0, parent_view);
+ view = open_view(0, 0, 0, 0, parent_view, TOG_VIEW_DIFF);
if (view == NULL) {
err = got_error_from_errno();
goto done;
if (err)
return err;
- view = open_view(0, 0, 0, 0, parent_view);
+ view = open_view(0, 0, 0, 0, parent_view, TOG_VIEW_TREE);
if (view == NULL) {
err = got_error_from_errno();
goto done;
if (error != NULL)
goto done;
- view = open_view(0, 0, 0, 0, NULL);
+ view = open_view(0, 0, 0, 0, NULL, TOG_VIEW_LOG);
if (view == NULL) {
error = got_error_from_errno();
goto done;
if (error)
goto done;
- view = open_view(0, 0, 0, 0, NULL);
+ view = open_view(0, 0, 0, 0, NULL, TOG_VIEW_DIFF);
if (view == NULL) {
error = got_error_from_errno();
goto done;
break;
if (pobj == NULL && obj == NULL)
break;
- diff_view = open_view(0, 0, 0, 0, view);
+ diff_view = open_view(0, 0, 0, 0, view,
+ TOG_VIEW_DIFF);
if (diff_view == NULL) {
err = got_error_from_errno();
break;
if (error != NULL)
goto done;
- view = open_view(0, 0, 0, 0, NULL);
+ view = open_view(0, 0, 0, 0, NULL, TOG_VIEW_BLAME);
if (view == NULL) {
error = got_error_from_errno();
goto done;
if (err)
return err;
- view = open_view(0, 0, 0, 0, parent_view);
+ view = open_view(0, 0, 0, 0, parent_view, TOG_VIEW_BLAME);
if (view) {
err = show_blame_view(view, path, commit_id, repo);
close_view(view);
case 'l':
if (selected_entry) {
struct tog_view *log_view;
- log_view = open_view(0, 0, 0, 0, view);
+ log_view = open_view(0, 0, 0, 0, view,
+ TOG_VIEW_LOG);
if (log_view == NULL) {
err = got_error_from_errno();
goto done;
if (error != NULL)
goto done;
- view = open_view(0, 0, 0, 0, NULL);
+ view = open_view(0, 0, 0, 0, NULL, TOG_VIEW_TREE);
if (view == NULL) {
error = got_error_from_errno();
goto done;