From 641e71f52ff91d366cbd8463a705791c793bf73e Mon Sep 17 00:00:00 2001 From: Ali Gholami Rudi Date: Sun, 1 Mar 2009 08:01:43 +0330 Subject: [PATCH] txtwin: show location in bar --- txtwin.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/txtwin.c b/txtwin.c index d9dd4bc..7e1399b 100644 --- a/txtwin.c +++ b/txtwin.c @@ -1,5 +1,6 @@ -#include +#include #include +#include #include #include #include "txtwin.h" @@ -25,6 +26,15 @@ enum location { LOC_END }; +static void update_bar(struct txtwin *tw) +{ + int val = gtk_adjustment_get_value(tw->adjst); + int max = gtk_adjustment_get_upper(tw->adjst); + char msg[128]; + sprintf(msg, "%d%%", val * 100 / max); + gtk_entry_set_text(GTK_ENTRY(tw->bar), msg); +} + static void scroll(struct txtwin *tw, enum location loc, int n) { int val = gtk_adjustment_get_value(tw->adjst); @@ -49,6 +59,7 @@ static void scroll(struct txtwin *tw, enum location loc, int n) if (val < 0) val = 0; gtk_adjustment_set_value(tw->adjst, val); + update_bar(tw); } static gboolean on_key_press(GtkWidget *widget, GdkEventKey *event, @@ -123,6 +134,7 @@ struct txtwin *txtwin_alloc() gtk_box_pack_start(GTK_BOX(vbox), tw->bar, 0, 0, 0); gtk_signal_connect(GTK_OBJECT(tw->bar), "key_press_event", GTK_SIGNAL_FUNC(on_key_press), tw); + update_bar(tw); gtk_widget_show_all(window); return tw; -- 2.11.4.GIT