mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-04 01:43:24 +00:00
libgimp: always keep the same number of columns for metadata settings.
I was trying to avoid too large dialogs as this `metadata` frame can hold random plug-in settings. But let's go for always the same number as columns as the max number of common settings (i.e. most often 3 columns).
This commit is contained in:
parent
ba4f24e49c
commit
ce9bfdca8d
1 changed files with 10 additions and 12 deletions
|
@ -194,6 +194,9 @@ gimp_save_procedure_dialog_fill_list (GimpProcedureDialog *dialog,
|
||||||
n_metadata = gimp_save_procedure_get_support_exif (save_procedure) +
|
n_metadata = gimp_save_procedure_get_support_exif (save_procedure) +
|
||||||
gimp_save_procedure_get_support_iptc (save_procedure) +
|
gimp_save_procedure_get_support_iptc (save_procedure) +
|
||||||
gimp_save_procedure_get_support_xmp (save_procedure);
|
gimp_save_procedure_get_support_xmp (save_procedure);
|
||||||
|
n_metadata = MAX (n_metadata,
|
||||||
|
gimp_save_procedure_get_support_profile (save_procedure) +
|
||||||
|
gimp_save_procedure_get_support_thumbnail (save_procedure));
|
||||||
|
|
||||||
if (gimp_save_procedure_get_support_exif (save_procedure))
|
if (gimp_save_procedure_get_support_exif (save_procedure))
|
||||||
{
|
{
|
||||||
|
@ -228,8 +231,6 @@ gimp_save_procedure_dialog_fill_list (GimpProcedureDialog *dialog,
|
||||||
|
|
||||||
/* Line for specific metadata: profile, thumbnail. */
|
/* Line for specific metadata: profile, thumbnail. */
|
||||||
left = 0;
|
left = 0;
|
||||||
n_metadata = gimp_save_procedure_get_support_profile (save_procedure) +
|
|
||||||
gimp_save_procedure_get_support_thumbnail (save_procedure);
|
|
||||||
|
|
||||||
if (gimp_save_procedure_get_support_profile (save_procedure))
|
if (gimp_save_procedure_get_support_profile (save_procedure))
|
||||||
{
|
{
|
||||||
|
@ -252,25 +253,22 @@ gimp_save_procedure_dialog_fill_list (GimpProcedureDialog *dialog,
|
||||||
if (n_metadata > 0)
|
if (n_metadata > 0)
|
||||||
top++;
|
top++;
|
||||||
|
|
||||||
/* Custom metadata: 2 items per line. */
|
/* Custom metadata: n_metadata items per line. */
|
||||||
left = 0;
|
left = 0;
|
||||||
for (iter = save_dialog->priv->additional_metadata; iter; iter = iter->next)
|
for (iter = save_dialog->priv->additional_metadata; iter; iter = iter->next)
|
||||||
{
|
{
|
||||||
widget = gimp_procedure_dialog_get_widget (dialog, iter->data, G_TYPE_NONE);
|
widget = gimp_procedure_dialog_get_widget (dialog, iter->data, G_TYPE_NONE);
|
||||||
g_object_ref (widget);
|
g_object_ref (widget);
|
||||||
gtk_grid_attach (GTK_GRID (grid), widget, left, top, 3, 1);
|
gtk_grid_attach (GTK_GRID (grid), widget, left, top, 6 / n_metadata, 1);
|
||||||
if (left == 0)
|
left += 6 / n_metadata;
|
||||||
|
if (left >= 6)
|
||||||
{
|
{
|
||||||
left = 3;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
left = 0;
|
|
||||||
top++;
|
top++;
|
||||||
|
left = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_widget_show (widget);
|
gtk_widget_show (widget);
|
||||||
}
|
}
|
||||||
if (left == 3)
|
|
||||||
top++;
|
top++;
|
||||||
|
|
||||||
/* Last line for comment field. */
|
/* Last line for comment field. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue