X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=driver%2Fdemo-Gtk-conf.c;h=6416e6ce99906f243e579471acf41e1cd1d18cb5;hb=e4fa2ac140f7bc56571373a7b7eb585fa4500e38;hp=608e488c898e225617434fa03258e1d7a50f2cb2;hpb=6a1da724858673ac40aa13a9612340d8bed8c7b9;p=xscreensaver diff --git a/driver/demo-Gtk-conf.c b/driver/demo-Gtk-conf.c index 608e488c..6416e6ce 100644 --- a/driver/demo-Gtk-conf.c +++ b/driver/demo-Gtk-conf.c @@ -1,5 +1,5 @@ /* demo-Gtk-conf.c --- implements the dynamic configuration dialogs. - * xscreensaver, Copyright (c) 2001, 2003 Jamie Zawinski + * xscreensaver, Copyright (c) 2001, 2003, 2004 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -1433,8 +1433,8 @@ parse_command_line_into_parameters_1 (const char *filename, { GList *p; parameter *match = 0; - int which = -1; - int index = 0; + gint which = -1; + gint index = 0; for (p = parms; p; p = p->next) { @@ -1502,11 +1502,11 @@ parse_command_line_into_parameters_1 (const char *filename, break; case BOOLEAN: if (which != 0 && which != 1) abort(); - parameter_set_switch (match, (gpointer) which); + parameter_set_switch (match, GINT_TO_POINTER(which)); break; case SELECT_OPTION: if (which != 1) abort(); - parameter_set_switch (parent, (gpointer) index); + parameter_set_switch (parent, GINT_TO_POINTER(index)); break; default: break; @@ -1553,13 +1553,13 @@ parameter_set_switch (parameter *p, gpointer value) case BOOLEAN: { GtkToggleButton *b = GTK_TOGGLE_BUTTON (p->widget); - gtk_toggle_button_set_active (b, (int) value); + gtk_toggle_button_set_active (b, GPOINTER_TO_INT(value)); break; } case SELECT: { gtk_option_menu_set_history (GTK_OPTION_MENU (p->widget), - (int) value); + GPOINTER_TO_INT(value)); break; } default: @@ -1642,7 +1642,7 @@ restore_defaults (const char *progname, GList *parms) */ static char * -get_description (GList *parms) +get_description (GList *parms, gboolean verbose_p) { parameter *doc = 0; for (; parms; parms = parms->next) @@ -1661,6 +1661,7 @@ get_description (GList *parms) { char *d = strdup ((char *) doc->string); char *s; + char *p; for (s = d; *s; s++) if (s[0] == '\n') { @@ -1687,7 +1688,27 @@ get_description (GList *parms) d[--L] = 0; } - return _(d); + /* strip off duplicated whitespaces */ + for (s = d; *s; s++) + if (s[0] == ' ') + { + p = s+1; + while (*s == ' ') + s++; + if (*p && (s != p)) + memmove (p, s, strlen(s)+1); + } + +#if 0 + if (verbose_p) + { + fprintf (stderr, "%s: text read is \"%s\"\n", blurb(),doc->string); + fprintf (stderr, "%s: description is \"%s\"\n", blurb(), d); + fprintf (stderr, "%s: translation is \"%s\"\n", blurb(), _(d)); + } +#endif /* 0 */ + + return (d); } } @@ -1771,7 +1792,7 @@ load_configurator_1 (const char *program, const char *arguments, data->widget = table; data->parameters = parms; - data->description = get_description (parms); + data->description = get_description (parms, verbose_p); } else {