diff options
author | Alberto Ruiz <aruiz@gnome.org> | 2011-05-12 02:32:47 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2011-08-15 18:57:55 -0400 |
commit | f60d0dc35a4c0cb8aa1f85dee3b91669c67e79a9 (patch) | |
tree | 2a4b336cd4031df020d4adfefb72af279daa531d /gtk/gtkfontchooser.c | |
parent | 4163fa5d29457deac00038380b9bed74eef87698 (diff) | |
download | gtk+-f60d0dc35a4c0cb8aa1f85dee3b91669c67e79a9.tar.gz |
GtkFontChooser: Initial work to use GtkGrid
Diffstat (limited to 'gtk/gtkfontchooser.c')
-rw-r--r-- | gtk/gtkfontchooser.c | 50 |
1 files changed, 11 insertions, 39 deletions
diff --git a/gtk/gtkfontchooser.c b/gtk/gtkfontchooser.c index 8b493d3219..662bef3ae7 100644 --- a/gtk/gtkfontchooser.c +++ b/gtk/gtkfontchooser.c @@ -54,6 +54,7 @@ #include "gtkbox.h" #include "gtkspinbutton.h" #include "gtkwidget.h" +#include "gtkgrid.h" /** * SECTION:gtkfontchooser @@ -512,8 +513,7 @@ gtk_font_chooser_init (GtkFontChooser *fontchooser) GtkFontChooserPrivate *priv; PangoFontDescription *font_desc; GtkWidget *scrolled_win; - GtkWidget *preview_and_size; - GtkWidget *size_controls; + GtkWidget *grid; fontchooser->priv = G_TYPE_INSTANCE_GET_PRIVATE (fontchooser, GTK_TYPE_FONT_CHOOSER, @@ -546,7 +546,7 @@ gtk_font_chooser_init (GtkFontChooser *fontchooser) /** Bootstrapping widget layout **/ gtk_box_set_spacing (GTK_BOX (fontchooser), 6); - gtk_box_pack_start (GTK_BOX (fontchooser), priv->search_entry, FALSE, TRUE, 0); + /* Main font family/face view */ scrolled_win = gtk_scrolled_window_new (NULL, NULL); @@ -556,45 +556,17 @@ gtk_font_chooser_init (GtkFontChooser *fontchooser) GTK_SHADOW_ETCHED_IN); gtk_container_add (GTK_CONTAINER (scrolled_win), priv->family_face_list); - /* Alignment for the preview and size controls */ - gtk_box_pack_start (GTK_BOX (fontchooser), scrolled_win, TRUE, TRUE, 0); - - preview_and_size = gtk_vbox_new (TRUE, 0); - gtk_box_set_homogeneous (GTK_BOX (preview_and_size), FALSE); - gtk_box_set_spacing (GTK_BOX (preview_and_size), 6); - - /* The preview entry needs a scrolled window to make sure we have a */ - scrolled_win = gtk_scrolled_window_new (NULL, NULL); - priv->preview_scrolled_window = scrolled_win; - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), - GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win), - GTK_SHADOW_ETCHED_IN); - gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_win), - priv->preview); - gtk_box_pack_start (GTK_BOX (preview_and_size), scrolled_win, FALSE, FALSE, 0); + /* Basic layout */ + grid = gtk_grid_new (); - /* Setting the size requests for various widgets */ - gtk_widget_set_size_request (GTK_WIDGET (fontchooser), FONT_CHOOSER_WIDTH, FONT_CHOOSER_HEIGHT); - gtk_widget_set_size_request (scrolled_win, -1, PREVIEW_HEIGHT); - gtk_widget_set_size_request (priv->preview, -1, PREVIEW_HEIGHT - 6); - - /* Unset the frame on the preview entry */ - gtk_entry_set_has_frame (GTK_ENTRY (priv->preview), FALSE); - - /* Packing the slider and the spin in a hbox */ - size_controls = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); - gtk_scale_set_draw_value (GTK_SCALE (priv->size_slider), FALSE); - gtk_box_set_spacing (GTK_BOX (size_controls), 6); - gtk_box_pack_start (GTK_BOX (size_controls), priv->size_slider, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (size_controls), priv->size_spin, FALSE, TRUE, 0); - - gtk_widget_set_valign (priv->size_spin, GTK_ALIGN_START); + gtk_grid_attach (GTK_GRID (grid), priv->search_entry, 0, 0, 3, 1); + gtk_grid_attach (GTK_GRID (grid), scrolled_win, 0, 1, 3, 1); + gtk_grid_attach (GTK_GRID (grid), priv->size_slider, 0, 2, 2, 1); + gtk_grid_attach (GTK_GRID (grid), priv->size_spin, 2, 2, 1, 1); - gtk_box_pack_start (GTK_BOX (preview_and_size), size_controls, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (fontchooser), grid, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (fontchooser), GTK_WIDGET(preview_and_size), FALSE, TRUE, 0); - + /* Setting the adjustment values for the size slider */ gtk_adjustment_set_value (gtk_range_get_adjustment (GTK_RANGE (priv->size_slider)), (gdouble)(priv->size / PANGO_SCALE)); gtk_adjustment_set_value (gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (priv->size_spin)), |