don't include "libgimp/stdplugins-intl.h".

2004-09-30  Michael Natterer  <mitch@gimp.org>

	* plug-ins/dbbrowser/gimpprocbox.c: don't include
	"libgimp/stdplugins-intl.h".

	* plug-ins/dbbrowser/gimpprocbrowser.c
	* plug-ins/dbbrowser/plugin-browser.c: use gimp_destroy_paramdefs()
	so we don't leak all param names and descriptions.

	* plug-ins/dbbrowser/gimpprocview.c: don't show empty rows or
	redundant information (help == blurb for deprecated procedures).
This commit is contained in:
Michael Natterer 2004-09-30 12:02:44 +00:00 committed by Michael Natterer
parent 9ba57069e6
commit 662559ee88
8 changed files with 200 additions and 146 deletions

View File

@ -1,3 +1,15 @@
2004-09-30 Michael Natterer <mitch@gimp.org>
* plug-ins/dbbrowser/gimpprocbox.c: don't include
"libgimp/stdplugins-intl.h".
* plug-ins/dbbrowser/gimpprocbrowser.c
* plug-ins/dbbrowser/plugin-browser.c: use gimp_destroy_paramdefs()
so we don't leak all param names and descriptions.
* plug-ins/dbbrowser/gimpprocview.c: don't show empty rows or
redundant information (help == blurb for deprecated procedures).
2004-09-30 Michael Natterer <mitch@gimp.org> 2004-09-30 Michael Natterer <mitch@gimp.org>
* plug-ins/dbbrowser/Makefile.am * plug-ins/dbbrowser/Makefile.am

View File

@ -308,8 +308,9 @@ browser_show_procedure (GimpDBBrowser *browser,
g_free (browser->proc_author); g_free (browser->proc_author);
g_free (browser->proc_copyright); g_free (browser->proc_copyright);
g_free (browser->proc_date); g_free (browser->proc_date);
g_free (browser->params);
g_free (browser->return_vals); gimp_destroy_paramdefs (browser->params, browser->n_params);
gimp_destroy_paramdefs (browser->return_vals, browser->n_return_vals);
gimp_procedural_db_proc_info (proc_name, gimp_procedural_db_proc_info (proc_name,
&browser->proc_blurb, &browser->proc_blurb,

View File

@ -72,6 +72,16 @@ gimp_proc_view_new (const gchar *name,
GtkSizeGroup *name_group; GtkSizeGroup *name_group;
GtkSizeGroup *type_group; GtkSizeGroup *type_group;
GtkSizeGroup *desc_group; GtkSizeGroup *desc_group;
gint row;
if (blurb && strlen (blurb) < 2) blurb = NULL;
if (help && strlen (help) < 2) help = NULL;
if (author && strlen (author) < 2) author = NULL;
if (date && strlen (date) < 2) date = NULL;
if (copyright && strlen (copyright) < 2) copyright = NULL;
if (blurb && help && ! strcmp (blurb, help))
help = NULL;
main_vbox = gtk_vbox_new (FALSE, 12); main_vbox = gtk_vbox_new (FALSE, 12);
@ -95,7 +105,7 @@ gimp_proc_view_new (const gchar *name,
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
gtk_widget_show (label); gtk_widget_show (label);
if (menu_path && strlen (menu_path) > 1) if (menu_path)
{ {
label = gtk_label_new_with_mnemonic (menu_path); label = gtk_label_new_with_mnemonic (menu_path);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
@ -104,7 +114,7 @@ gimp_proc_view_new (const gchar *name,
gtk_widget_show (label); gtk_widget_show (label);
} }
if (blurb && strlen (blurb) > 1) if (blurb)
{ {
label = gtk_label_new (blurb); label = gtk_label_new (blurb);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
@ -143,6 +153,9 @@ gimp_proc_view_new (const gchar *name,
gtk_widget_show (table); gtk_widget_show (table);
} }
if (! help && ! author && ! date && ! copyright)
return main_vbox;
frame = gimp_frame_new (_("Additional Information")); frame = gimp_frame_new (_("Additional Information"));
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
gtk_widget_show (frame); gtk_widget_show (frame);
@ -152,7 +165,7 @@ gimp_proc_view_new (const gchar *name,
gtk_widget_show (vbox); gtk_widget_show (vbox);
/* show the help */ /* show the help */
if (help && strlen (help) > 1) if (help)
{ {
label = gtk_label_new (help); label = gtk_label_new (help);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
@ -163,35 +176,50 @@ gimp_proc_view_new (const gchar *name,
/* show the author & the copyright */ /* show the author & the copyright */
table = gtk_table_new (3, 2, FALSE); if (! author && ! date && ! copyright)
return main_vbox;
table = gtk_table_new ((author != 0) + (date != 0) + (copyright != 0), 2,
FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 4); gtk_table_set_row_spacings (GTK_TABLE (table), 4);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
gtk_widget_show (table); gtk_widget_show (table);
label = gtk_label_new (author); row = 0;
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0, if (author)
_("Author:"), 0.0, 0.0, {
label, 3, FALSE); label = gtk_label_new (author);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
label = gtk_label_new (date); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++,
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); _("Author:"), 0.0, 0.0,
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); label, 3, FALSE);
}
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1, if (date)
_("Date:"), 0.0, 0.0, {
label, 3, FALSE); label = gtk_label_new (date);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
label = gtk_label_new (copyright); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++,
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); _("Date:"), 0.0, 0.0,
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); label, 3, FALSE);
}
gimp_table_attach_aligned (GTK_TABLE (table), 0, 2, if (copyright)
_("Copyright:"), 0.0, 0.0, {
label, 3, FALSE); label = gtk_label_new (copyright);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gimp_table_attach_aligned (GTK_TABLE (table), 0, row++,
_("Copyright:"), 0.0, 0.0,
label, 3, FALSE);
}
return main_vbox; return main_vbox;
} }
@ -229,7 +257,8 @@ gimp_proc_view_create_params (GimpParamDef *params,
type = GParamType_to_string (params[i].type); type = GParamType_to_string (params[i].type);
label = gtk_label_new (type); label = gtk_label_new (type);
gimp_label_set_attributes (GTK_LABEL (label), gimp_label_set_attributes (GTK_LABEL (label),
PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC, PANGO_ATTR_FAMILY, "monospace",
PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC,
-1); -1);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_size_group_add_widget (type_group, label); gtk_size_group_add_widget (type_group, label);
@ -243,7 +272,7 @@ gimp_proc_view_create_params (GimpParamDef *params,
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_size_group_add_widget (desc_group, label); gtk_size_group_add_widget (desc_group, label);
gtk_table_attach (GTK_TABLE (table), label, gtk_table_attach (GTK_TABLE (table), label,
2, 3, i, i + 1, GTK_FILL, GTK_FILL, 0, 0); 2, 3, i, i + 1, GTK_SHRINK | GTK_FILL, GTK_FILL, 0, 0);
gtk_widget_show (label); gtk_widget_show (label);
} }

View File

@ -897,60 +897,52 @@ static void
browser_show_plugin (PluginBrowser *browser, browser_show_plugin (PluginBrowser *browser,
PInfo *pinfo) PInfo *pinfo)
{ {
gchar *selected_proc_blurb; gchar *blurb = NULL;
gchar *selected_proc_help; gchar *help = NULL;
gchar *selected_proc_author; gchar *author = NULL;
gchar *selected_proc_copyright; gchar *copyright = NULL;
gchar *selected_proc_date; gchar *date = NULL;
GimpPDBProcType selected_proc_type; GimpPDBProcType type = 0;
gint selected_nparams; gint n_params = 0;
gint selected_nreturn_vals; gint n_return_vals = 0;
GimpParamDef *selected_params; GimpParamDef *params = NULL;
GimpParamDef *selected_return_vals; GimpParamDef *return_vals = NULL;
g_return_if_fail (browser != NULL); g_return_if_fail (browser != NULL);
g_return_if_fail (pinfo != NULL); g_return_if_fail (pinfo != NULL);
selected_proc_blurb = NULL;
selected_proc_help = NULL;
selected_proc_author = NULL;
selected_proc_copyright = NULL;
selected_proc_date = NULL;
selected_proc_type = 0;
selected_nparams = 0;
selected_nreturn_vals = 0;
selected_params = NULL;
selected_return_vals = NULL;
gimp_procedural_db_proc_info (pinfo->realname, gimp_procedural_db_proc_info (pinfo->realname,
&selected_proc_blurb, &blurb,
&selected_proc_help, &help,
&selected_proc_author, &author,
&selected_proc_copyright, &copyright,
&selected_proc_date, &date,
&selected_proc_type, &type,
&selected_nparams, &selected_nreturn_vals, &n_params,
&selected_params, &selected_return_vals); &n_return_vals,
&params,
&return_vals);
gimp_proc_box_set_widget (browser->proc_box, gimp_proc_box_set_widget (browser->proc_box,
gimp_proc_view_new (pinfo->realname, gimp_proc_view_new (pinfo->realname,
pinfo->menu, pinfo->menu,
selected_proc_blurb, blurb,
selected_proc_help, help,
selected_proc_author, author,
selected_proc_copyright, copyright,
selected_proc_date, date,
selected_proc_type, type,
selected_nparams, n_params,
selected_nreturn_vals, n_return_vals,
selected_params, params,
selected_return_vals)); return_vals));
g_free (selected_proc_blurb); g_free (blurb);
g_free (selected_proc_help); g_free (help);
g_free (selected_proc_author); g_free (author);
g_free (selected_proc_copyright); g_free (copyright);
g_free (selected_proc_date); g_free (date);
g_free (selected_params);
g_free (selected_return_vals); gimp_destroy_paramdefs (params, n_params);
gimp_destroy_paramdefs (return_vals, n_return_vals);
} }

View File

@ -24,8 +24,6 @@
#include "gimpprocbox.h" #include "gimpprocbox.h"
#include "libgimp/stdplugins-intl.h"
/* public functions */ /* public functions */

View File

@ -308,8 +308,9 @@ browser_show_procedure (GimpDBBrowser *browser,
g_free (browser->proc_author); g_free (browser->proc_author);
g_free (browser->proc_copyright); g_free (browser->proc_copyright);
g_free (browser->proc_date); g_free (browser->proc_date);
g_free (browser->params);
g_free (browser->return_vals); gimp_destroy_paramdefs (browser->params, browser->n_params);
gimp_destroy_paramdefs (browser->return_vals, browser->n_return_vals);
gimp_procedural_db_proc_info (proc_name, gimp_procedural_db_proc_info (proc_name,
&browser->proc_blurb, &browser->proc_blurb,

View File

@ -72,6 +72,16 @@ gimp_proc_view_new (const gchar *name,
GtkSizeGroup *name_group; GtkSizeGroup *name_group;
GtkSizeGroup *type_group; GtkSizeGroup *type_group;
GtkSizeGroup *desc_group; GtkSizeGroup *desc_group;
gint row;
if (blurb && strlen (blurb) < 2) blurb = NULL;
if (help && strlen (help) < 2) help = NULL;
if (author && strlen (author) < 2) author = NULL;
if (date && strlen (date) < 2) date = NULL;
if (copyright && strlen (copyright) < 2) copyright = NULL;
if (blurb && help && ! strcmp (blurb, help))
help = NULL;
main_vbox = gtk_vbox_new (FALSE, 12); main_vbox = gtk_vbox_new (FALSE, 12);
@ -95,7 +105,7 @@ gimp_proc_view_new (const gchar *name,
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
gtk_widget_show (label); gtk_widget_show (label);
if (menu_path && strlen (menu_path) > 1) if (menu_path)
{ {
label = gtk_label_new_with_mnemonic (menu_path); label = gtk_label_new_with_mnemonic (menu_path);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
@ -104,7 +114,7 @@ gimp_proc_view_new (const gchar *name,
gtk_widget_show (label); gtk_widget_show (label);
} }
if (blurb && strlen (blurb) > 1) if (blurb)
{ {
label = gtk_label_new (blurb); label = gtk_label_new (blurb);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
@ -143,6 +153,9 @@ gimp_proc_view_new (const gchar *name,
gtk_widget_show (table); gtk_widget_show (table);
} }
if (! help && ! author && ! date && ! copyright)
return main_vbox;
frame = gimp_frame_new (_("Additional Information")); frame = gimp_frame_new (_("Additional Information"));
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
gtk_widget_show (frame); gtk_widget_show (frame);
@ -152,7 +165,7 @@ gimp_proc_view_new (const gchar *name,
gtk_widget_show (vbox); gtk_widget_show (vbox);
/* show the help */ /* show the help */
if (help && strlen (help) > 1) if (help)
{ {
label = gtk_label_new (help); label = gtk_label_new (help);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
@ -163,35 +176,50 @@ gimp_proc_view_new (const gchar *name,
/* show the author & the copyright */ /* show the author & the copyright */
table = gtk_table_new (3, 2, FALSE); if (! author && ! date && ! copyright)
return main_vbox;
table = gtk_table_new ((author != 0) + (date != 0) + (copyright != 0), 2,
FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 4); gtk_table_set_row_spacings (GTK_TABLE (table), 4);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
gtk_widget_show (table); gtk_widget_show (table);
label = gtk_label_new (author); row = 0;
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0, if (author)
_("Author:"), 0.0, 0.0, {
label, 3, FALSE); label = gtk_label_new (author);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
label = gtk_label_new (date); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++,
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); _("Author:"), 0.0, 0.0,
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); label, 3, FALSE);
}
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1, if (date)
_("Date:"), 0.0, 0.0, {
label, 3, FALSE); label = gtk_label_new (date);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
label = gtk_label_new (copyright); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++,
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); _("Date:"), 0.0, 0.0,
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); label, 3, FALSE);
}
gimp_table_attach_aligned (GTK_TABLE (table), 0, 2, if (copyright)
_("Copyright:"), 0.0, 0.0, {
label, 3, FALSE); label = gtk_label_new (copyright);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gimp_table_attach_aligned (GTK_TABLE (table), 0, row++,
_("Copyright:"), 0.0, 0.0,
label, 3, FALSE);
}
return main_vbox; return main_vbox;
} }
@ -229,7 +257,8 @@ gimp_proc_view_create_params (GimpParamDef *params,
type = GParamType_to_string (params[i].type); type = GParamType_to_string (params[i].type);
label = gtk_label_new (type); label = gtk_label_new (type);
gimp_label_set_attributes (GTK_LABEL (label), gimp_label_set_attributes (GTK_LABEL (label),
PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC, PANGO_ATTR_FAMILY, "monospace",
PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC,
-1); -1);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_size_group_add_widget (type_group, label); gtk_size_group_add_widget (type_group, label);
@ -243,7 +272,7 @@ gimp_proc_view_create_params (GimpParamDef *params,
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_size_group_add_widget (desc_group, label); gtk_size_group_add_widget (desc_group, label);
gtk_table_attach (GTK_TABLE (table), label, gtk_table_attach (GTK_TABLE (table), label,
2, 3, i, i + 1, GTK_FILL, GTK_FILL, 0, 0); 2, 3, i, i + 1, GTK_SHRINK | GTK_FILL, GTK_FILL, 0, 0);
gtk_widget_show (label); gtk_widget_show (label);
} }

View File

@ -897,60 +897,52 @@ static void
browser_show_plugin (PluginBrowser *browser, browser_show_plugin (PluginBrowser *browser,
PInfo *pinfo) PInfo *pinfo)
{ {
gchar *selected_proc_blurb; gchar *blurb = NULL;
gchar *selected_proc_help; gchar *help = NULL;
gchar *selected_proc_author; gchar *author = NULL;
gchar *selected_proc_copyright; gchar *copyright = NULL;
gchar *selected_proc_date; gchar *date = NULL;
GimpPDBProcType selected_proc_type; GimpPDBProcType type = 0;
gint selected_nparams; gint n_params = 0;
gint selected_nreturn_vals; gint n_return_vals = 0;
GimpParamDef *selected_params; GimpParamDef *params = NULL;
GimpParamDef *selected_return_vals; GimpParamDef *return_vals = NULL;
g_return_if_fail (browser != NULL); g_return_if_fail (browser != NULL);
g_return_if_fail (pinfo != NULL); g_return_if_fail (pinfo != NULL);
selected_proc_blurb = NULL;
selected_proc_help = NULL;
selected_proc_author = NULL;
selected_proc_copyright = NULL;
selected_proc_date = NULL;
selected_proc_type = 0;
selected_nparams = 0;
selected_nreturn_vals = 0;
selected_params = NULL;
selected_return_vals = NULL;
gimp_procedural_db_proc_info (pinfo->realname, gimp_procedural_db_proc_info (pinfo->realname,
&selected_proc_blurb, &blurb,
&selected_proc_help, &help,
&selected_proc_author, &author,
&selected_proc_copyright, &copyright,
&selected_proc_date, &date,
&selected_proc_type, &type,
&selected_nparams, &selected_nreturn_vals, &n_params,
&selected_params, &selected_return_vals); &n_return_vals,
&params,
&return_vals);
gimp_proc_box_set_widget (browser->proc_box, gimp_proc_box_set_widget (browser->proc_box,
gimp_proc_view_new (pinfo->realname, gimp_proc_view_new (pinfo->realname,
pinfo->menu, pinfo->menu,
selected_proc_blurb, blurb,
selected_proc_help, help,
selected_proc_author, author,
selected_proc_copyright, copyright,
selected_proc_date, date,
selected_proc_type, type,
selected_nparams, n_params,
selected_nreturn_vals, n_return_vals,
selected_params, params,
selected_return_vals)); return_vals));
g_free (selected_proc_blurb); g_free (blurb);
g_free (selected_proc_help); g_free (help);
g_free (selected_proc_author); g_free (author);
g_free (selected_proc_copyright); g_free (copyright);
g_free (selected_proc_date); g_free (date);
g_free (selected_params);
g_free (selected_return_vals); gimp_destroy_paramdefs (params, n_params);
gimp_destroy_paramdefs (return_vals, n_return_vals);
} }