mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-14 14:20:21 +00:00
file chooser dialog: Prevent uneven button heights
The height of the text buttons depends on the font height, whereas the search button has a fixed-size icon in it... Prevent unevent heights by putting them all in a size group. https://bugzilla.gnome.org/show_bug.cgi?id=745263
This commit is contained in:
parent
6855e1eec3
commit
f96f69996a
@ -201,6 +201,8 @@ struct _GtkFileChooserDialogPrivate
|
||||
{
|
||||
GtkWidget *widget;
|
||||
|
||||
GtkSizeGroup *buttons;
|
||||
|
||||
/* for use with GtkFileChooserEmbed */
|
||||
gboolean response_requested;
|
||||
gboolean search_setup;
|
||||
@ -256,6 +258,7 @@ gtk_file_chooser_dialog_class_init (GtkFileChooserDialogClass *class)
|
||||
"/org/gtk/libgtk/ui/gtkfilechooserdialog.ui");
|
||||
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDialog, widget);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDialog, buttons);
|
||||
gtk_widget_class_bind_template_callback (widget_class, response_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, file_chooser_widget_file_activated);
|
||||
gtk_widget_class_bind_template_callback (widget_class, file_chooser_widget_default_size_changed);
|
||||
@ -473,6 +476,15 @@ gtk_file_chooser_dialog_get_property (GObject *object,
|
||||
g_object_get_property (G_OBJECT (priv->widget), pspec->name, value);
|
||||
}
|
||||
|
||||
static void
|
||||
add_button (GtkWidget *button, gpointer data)
|
||||
{
|
||||
GtkFileChooserDialog *dialog = data;
|
||||
|
||||
if (GTK_IS_BUTTON (button))
|
||||
gtk_size_group_add_widget (dialog->priv->buttons, button);
|
||||
}
|
||||
|
||||
static void
|
||||
setup_search (GtkFileChooserDialog *dialog)
|
||||
{
|
||||
@ -505,6 +517,8 @@ setup_search (GtkFileChooserDialog *dialog)
|
||||
g_object_bind_property (button, "active",
|
||||
dialog->priv->widget, "search-mode",
|
||||
G_BINDING_BIDIRECTIONAL);
|
||||
|
||||
gtk_container_forall (GTK_CONTAINER (header), add_button, dialog);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,4 +53,7 @@
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
<object class="GtkSizeGroup" id="buttons">
|
||||
<property name="mode">vertical</property>
|
||||
</object>
|
||||
</interface>
|
||||
|
Loading…
Reference in New Issue
Block a user