From 5f0026cc97c7084be768a776f2fd8802bf9b0c21 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Tue, 13 Nov 2018 14:39:15 +0100 Subject: Bug 699217: Show whether outline items are open in 'mutool show outline'. A '+' prefix indicates an open branch. A '-' prefix indicates a closed branch. A ' ' prefix indicates a leaf node. --- source/tools/pdfshow.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'source/tools/pdfshow.c') diff --git a/source/tools/pdfshow.c b/source/tools/pdfshow.c index b9687150..0ed111bb 100644 --- a/source/tools/pdfshow.c +++ b/source/tools/pdfshow.c @@ -213,8 +213,13 @@ fz_print_outline(fz_context *ctx, fz_output *out, fz_outline *outline, int level int i; while (outline) { + if (outline->down) + fz_write_byte(ctx, out, outline->is_open ? '-' : '+'); + else + fz_write_byte(ctx, out, '|'); + for (i = 0; i < level; i++) - fz_write_printf(ctx, out, "\t"); + fz_write_byte(ctx, out, '\t'); fz_write_printf(ctx, out, "%s\t%s\n", outline->title, outline->uri); if (outline->down) fz_print_outline(ctx, out, outline->down, level + 1); @@ -226,7 +231,7 @@ static void showoutline(void) { fz_outline *outline = fz_load_outline(ctx, (fz_document*)doc); fz_try(ctx) - fz_print_outline(ctx, fz_stdout(ctx), outline, 0); + fz_print_outline(ctx, fz_stdout(ctx), outline, 1); fz_always(ctx) fz_drop_outline(ctx, outline); fz_catch(ctx) -- cgit v1.2.3