GtkFontChooser: Removed support for deprecated functionality from GtkFontSelector

This commit is contained in:
Alberto Ruiz 2011-05-11 15:59:23 +02:00 committed by Matthias Clasen
parent 4bf22639d1
commit 7067d36adb

View File

@ -98,19 +98,6 @@ struct _GtkFontChooserPrivate
gint size;
PangoFontFace *face;
PangoFontFamily *family;
/* Deprecated */
GtkWidget *size_list;
GtkWidget *font_list;
GtkWidget *face_list;
GtkListStore *_size_model;
GtkListStore *_font_model;
GtkListStore *_face_model;
gboolean ignore_size;
gboolean ignore_face;
gboolean ignore_font;
};
@ -120,9 +107,6 @@ struct _GtkFontChooserDialogPrivate
GtkWidget *select_button;
GtkWidget *cancel_button;
/* Deprecated */
GtkWidget *apply_button;
};
@ -188,12 +172,6 @@ static void gtk_font_chooser_ref_face (GtkFontChooser *fontchooser,
static void gtk_font_chooser_bootstrap_fontlist (GtkFontChooser *fontchooser);
/* Deprecated */
static void update_font_list_selection (GtkFontChooser *fontchooser);
static void update_size_list_selection (GtkFontChooser *fontchooser);
static void update_face_model (GtkFontChooser *fontchooser,
gboolean first);
G_DEFINE_TYPE (GtkFontChooser, gtk_font_chooser, GTK_TYPE_VBOX)
static void
@ -379,8 +357,8 @@ void
spin_change_cb (GtkAdjustment *adjustment, gpointer data)
{
PangoFontDescription *desc;
GtkFontChooser *fontchooser = (GtkFontChooser*)data;
GtkFontChooserPrivate *priv = fontchooser->priv;
GtkFontChooser *fontchooser = (GtkFontChooser*)data;
GtkFontChooserPrivate *priv = fontchooser->priv;
gdouble size = gtk_adjustment_get_value (adjustment);
@ -400,14 +378,6 @@ spin_change_cb (GtkAdjustment *adjustment, gpointer data)
desc = pango_context_get_font_description (gtk_widget_get_pango_context (priv->preview));
pango_font_description_set_size (desc, priv->size);
gtk_widget_override_font (priv->preview, desc);
/* Deprecated */
if (priv->size_list)
{
priv->ignore_size = TRUE;
update_size_list_selection (fontchooser);
}
g_object_notify (G_OBJECT (fontchooser), "font-name");
@ -449,37 +419,10 @@ set_range_marks (GtkFontChooserPrivate *priv,
priv->ignore_slider = TRUE;
}
/* Deprecated: just populate the marks in the scale after removal */
if (!priv->_size_model)
{
for (i=0; i<length; i++)
gtk_scale_add_mark (GTK_SCALE (size_slider),
(gdouble) sizes[i],
GTK_POS_BOTTOM, NULL);
}
else
{
GString *size_str = g_string_new (NULL);
gtk_list_store_clear (priv->_size_model);
for (i=0; i<length; i++)
{
GtkTreeIter iter;
g_string_printf (size_str, "%d", sizes[i]);
gtk_scale_add_mark (GTK_SCALE (size_slider),
(gdouble) sizes[i],
GTK_POS_BOTTOM, NULL);
gtk_list_store_append (priv->_size_model, &iter);
gtk_list_store_set (priv->_size_model, &iter,
0, sizes[i],
1, size_str->str,
-1);
}
g_string_free (size_str, TRUE);
}
for (i=0; i<length; i++)
gtk_scale_add_mark (GTK_SCALE (size_slider),
(gdouble) sizes[i],
GTK_POS_BOTTOM, NULL);
}
void
@ -492,7 +435,7 @@ cursor_changed_cb (GtkTreeView *treeview, gpointer data)
gint *sizes;
gint i, n_sizes;
GtkTreeIter iter;
GtkTreeIter iter;
GtkTreePath *path = gtk_tree_path_new ();
GtkFontChooser *fontchooser = (GtkFontChooser*)data;
@ -540,10 +483,6 @@ cursor_changed_cb (GtkTreeView *treeview, gpointer data)
gtk_font_chooser_ref_family (fontchooser, family);
gtk_font_chooser_ref_face (fontchooser, face);
/* Deprecated: Remove if clause after removal */
if (fontchooser->priv->_font_model)
update_font_list_selection (fontchooser);
/* Free resources */
g_object_unref ((gpointer)family);
g_object_unref ((gpointer)face);
@ -573,7 +512,7 @@ zoom_preview_cb (GtkWidget *scrolled_window, GdkEventScroll *event, gpointer dat
static void
gtk_font_chooser_init (GtkFontChooser *fontchooser)
{
GtkFontChooserPrivate *priv;
GtkFontChooserPrivate *priv;
PangoFontDescription *font_desc;
GtkWidget *scrolled_win;
GtkWidget *preview_and_size;
@ -585,19 +524,6 @@ gtk_font_chooser_init (GtkFontChooser *fontchooser)
priv = fontchooser->priv;
/* Deprecated: These members will not exist after removal */
priv->size_list = NULL;
priv->font_list = NULL;
priv->face_list = NULL;
priv->_size_model = NULL;
priv->_font_model = NULL;
priv->_face_model = NULL;
priv->ignore_size = FALSE;
priv->ignore_face = FALSE;
priv->ignore_font = FALSE;
/* Default preview string */
priv->preview_text = g_strdup (pango_language_get_sample_string (NULL));
priv->show_preview_entry = TRUE;
@ -859,7 +785,7 @@ populate_list (GtkFontChooser *fontchooser, GtkTreeView* treeview, GtkListStore*
gboolean
visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
{
gboolean result = FALSE;
gboolean result = FALSE;
GtkFontChooserPrivate *priv = (GtkFontChooserPrivate*) data;
const gchar *search_text = (const gchar*)gtk_entry_get_text (GTK_ENTRY (priv->search_entry));
@ -946,14 +872,6 @@ gtk_font_chooser_finalize (GObject *object)
gtk_font_chooser_ref_family (fontchooser, NULL);
gtk_font_chooser_ref_face (fontchooser, NULL);
/* Deprecated: Remove if clause after removal */
if (fontchooser->priv->size_list)
{
g_object_unref (fontchooser->priv->size_list);
g_object_unref (fontchooser->priv->font_list);
g_object_unref (fontchooser->priv->face_list);
}
G_OBJECT_CLASS (gtk_font_chooser_parent_class)->finalize (object);
}
@ -1009,418 +927,6 @@ gtk_font_chooser_ref_face (GtkFontChooser *fontchooser,
priv->face = face;
}
/* Deprecated: All these functions aid deprecated functionality */
static void
populate_font_model (GtkFontChooser *fontchooser)
{
gint n_families, i;
PangoFontFamily **families;
GtkFontChooserPrivate *priv = fontchooser->priv;
GtkTreePath *path;
pango_context_list_families (gtk_widget_get_pango_context (GTK_WIDGET (fontchooser)),
&families,
&n_families);
qsort (families, n_families, sizeof (PangoFontFamily *), cmp_families);
gtk_list_store_clear (priv->_font_model);
for (i=0; i<n_families; i++)
{
GtkTreeIter iter;
gtk_list_store_append (priv->_font_model, &iter);
gtk_list_store_set (priv->_font_model, &iter,
0, families[i],
1, pango_font_family_get_name (families[i]),
-1);
if (priv->family &&
!strcmp (pango_font_family_get_name (families[i]),
pango_font_family_get_name (priv->family)))
{
path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->_face_model),
&iter);
if (path)
{
GtkWidget *tv = gtk_bin_get_child (GTK_BIN (priv->font_list));
gtk_tree_view_set_cursor (GTK_TREE_VIEW (tv),
path,
NULL,
FALSE);
gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (tv),
path, NULL, TRUE, 0.5, 0.5);
gtk_tree_path_free (path);
}
}
}
g_free (families);
}
static void
update_font_list_selection (GtkFontChooser *fontchooser)
{
GtkTreeIter iter;
gboolean valid;
GtkFontChooserPrivate *priv = fontchooser->priv;
gchar *family_name;
valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->_font_model), &iter);
while (valid)
{
GtkWidget *tv;
GtkTreePath *path;
gtk_tree_model_get (GTK_TREE_MODEL (priv->_font_model), &iter,
1, &family_name,
-1);
if (strcmp (family_name, pango_font_family_get_name (priv->family)))
{
gtk_tree_model_iter_next (GTK_TREE_MODEL (priv->_font_model), &iter);
g_free (family_name);
continue;
}
path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->_font_model), &iter);
if (!path)
{
g_free (family_name);
break;
}
tv = gtk_bin_get_child (GTK_BIN (priv->font_list));
priv->ignore_font = TRUE;
gtk_tree_view_set_cursor (GTK_TREE_VIEW (tv), path, NULL, FALSE);
gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (tv), path, NULL, TRUE, 0.5, 0.5);
/* Free resources */
gtk_tree_path_free (path);
g_free (family_name);
break;
}
update_face_model (fontchooser, FALSE);
}
static void
update_face_model (GtkFontChooser *fontchooser, gboolean first)
{
GtkFontChooserPrivate *priv = fontchooser->priv;
PangoFontFace **faces;
int i, n_faces;
pango_font_family_list_faces (priv->family, &faces, &n_faces);
gtk_list_store_clear (priv->_face_model);
for (i=0; i<n_faces; i++)
{
GtkTreeIter iter;
gtk_list_store_append (priv->_face_model, &iter);
gtk_list_store_set (priv->_face_model, &iter,
0, faces[i],
1, pango_font_face_get_face_name (faces[i]),
-1);
if ((!first && faces[i] == priv->face) ||
(first && i == 0))
{
GtkTreePath *path;
GtkWidget *tv;
path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->_face_model), &iter);
if (!path)
continue;
tv = gtk_bin_get_child (GTK_BIN (priv->face_list));
if (!first)
priv->ignore_face = TRUE;
gtk_tree_view_set_cursor (GTK_TREE_VIEW (tv), path, NULL, FALSE);
gtk_tree_path_free (path);
if (first)
gtk_font_chooser_ref_face (fontchooser, faces[i]);
}
}
update_size_list_selection (fontchooser);
g_object_notify (G_OBJECT (fontchooser), "font-name");
}
static void
update_size_list_selection (GtkFontChooser *fontchooser)
{
GtkTreeIter iter;
gboolean valid;
GtkFontChooserPrivate *priv = fontchooser->priv;
GtkWidget *tv = gtk_bin_get_child (GTK_BIN (priv->size_list));
gtk_tree_selection_unselect_all (gtk_tree_view_get_selection (GTK_TREE_VIEW (tv)));
valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->_size_model), &iter);
while (valid)
{
gint size;
gtk_tree_model_get (GTK_TREE_MODEL (priv->_size_model), &iter,
0, &size,
-1);
if (size * PANGO_SCALE == priv->size)
{
GtkTreePath *path;
path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->_size_model), &iter);
if (!path)
break;
priv->ignore_size = TRUE;
gtk_tree_view_set_cursor (GTK_TREE_VIEW (tv), path, NULL, FALSE);
gtk_tree_path_free (path);
break;
}
valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (priv->_size_model), &iter);
}
}
static void
select_family_and_face (GtkFontChooser *fontchooser)
{
GtkTreeIter iter;
gboolean valid;
GtkFontChooserPrivate *priv = fontchooser->priv;
PangoFontFace *face;
PangoFontFamily *family;
gtk_entry_set_text (GTK_ENTRY (priv->search_entry), "");
valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->filter), &iter);
while (valid)
{
gtk_tree_model_get (GTK_TREE_MODEL (priv->filter), &iter,
FACE_COLUMN, &face,
FAMILY_COLUMN, &family,
-1);
if (face == priv->face && family == priv->family)
{
GtkTreePath *path;
path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->filter), &iter);
if (!path)
{
g_object_unref (face);
g_object_unref (family);
break;
}
priv->ignore_size = TRUE;
gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->family_face_list), path, NULL, FALSE);
gtk_tree_path_free (path);
g_object_unref (face);
g_object_unref (family);
break;
}
g_object_unref (face);
g_object_unref (family);
valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (priv->filter), &iter);
}
}
static void
family_list_cursor_changed_cb (GtkTreeView *treeview, gpointer data)
{
GtkWidget *tv;
GtkTreeIter iter;
GtkTreePath *path;
GtkFontChooser *fontchooser = (GtkFontChooser*)data;
PangoFontFamily *font;
if (fontchooser->priv->ignore_font)
{
fontchooser->priv->ignore_font = FALSE;
return;
}
tv = gtk_bin_get_child (GTK_BIN (fontchooser->priv->font_list));
gtk_tree_view_get_cursor (GTK_TREE_VIEW (tv), &path, NULL);
if (!path)
return;
gtk_tree_model_get_iter (GTK_TREE_MODEL (fontchooser->priv->_font_model),
&iter,
path);
gtk_tree_model_get (GTK_TREE_MODEL (fontchooser->priv->_font_model), &iter,
0, &font,
-1);
gtk_font_chooser_ref_family (fontchooser, font);
update_face_model (fontchooser, TRUE);
fontchooser->priv->ignore_font = TRUE;
select_family_and_face (fontchooser);
gtk_tree_path_free (path);
g_object_unref (font);
}
static void
face_list_cursor_changed_cb (GtkTreeView *treeview, gpointer data)
{
GtkWidget *tv;
GtkTreeIter iter;
GtkTreePath *path;
GtkFontChooser *fontchooser = (GtkFontChooser*)data;
PangoFontFace *face;
if (fontchooser->priv->ignore_face)
{
fontchooser->priv->ignore_face = FALSE;
return;
}
tv = gtk_bin_get_child (GTK_BIN (fontchooser->priv->face_list));
gtk_tree_view_get_cursor (GTK_TREE_VIEW (tv), &path, NULL);
if (!path)
return;
gtk_tree_model_get_iter (GTK_TREE_MODEL (fontchooser->priv->_face_model),
&iter,
path);
gtk_tree_model_get (GTK_TREE_MODEL (fontchooser->priv->_face_model), &iter,
0, &face,
-1);
gtk_font_chooser_ref_face (fontchooser, face);
fontchooser->priv->ignore_face = TRUE;
select_family_and_face (fontchooser);
gtk_tree_path_free (path);
g_object_unref (face);
}
static void
size_list_cursor_changed_cb (GtkTreeView *treeview, gpointer data)
{
GtkWidget *tv;
GtkTreeIter iter;
GtkTreePath *path;
GtkFontChooser *fontchooser = (GtkFontChooser*)data;
gint value;
if (fontchooser->priv->ignore_size)
{
fontchooser->priv->ignore_size = FALSE;
return;
}
tv = gtk_bin_get_child (GTK_BIN (fontchooser->priv->size_list));
gtk_tree_view_get_cursor (GTK_TREE_VIEW (tv), &path, NULL);
if (!path)
return;
gtk_tree_model_get_iter (GTK_TREE_MODEL (fontchooser->priv->_size_model),
&iter,
path);
gtk_tree_model_get (GTK_TREE_MODEL (fontchooser->priv->_size_model), &iter,
0, &value,
-1);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (fontchooser->priv->size_spin), value);
gtk_tree_path_free (path);
}
static void
initialize_deprecated_widgets (GtkFontChooser *fontchooser)
{
GtkTreeViewColumn *col;
GtkFontChooserPrivate *priv = fontchooser->priv;
GtkWidget *size_list;
GtkWidget *font_list;
GtkWidget *face_list;
priv->_size_model = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING);
priv->_font_model = gtk_list_store_new (2, PANGO_TYPE_FONT_FAMILY, G_TYPE_STRING);
priv->_face_model = gtk_list_store_new (2, PANGO_TYPE_FONT_FACE, G_TYPE_STRING);
size_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (priv->_size_model));
font_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (priv->_font_model));
face_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (priv->_face_model));
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (size_list), FALSE);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (font_list), FALSE);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (face_list), FALSE);
g_object_unref (priv->_size_model);
g_object_unref (priv->_font_model);
g_object_unref (priv->_face_model);
col = gtk_tree_view_column_new_with_attributes ("Size",
gtk_cell_renderer_text_new (),
"text", 1,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (size_list), col);
col = gtk_tree_view_column_new_with_attributes ("Family",
gtk_cell_renderer_text_new (),
"text", 1,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (font_list), col);
col = gtk_tree_view_column_new_with_attributes ("Face",
gtk_cell_renderer_text_new (),
"text", 1,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (face_list), col);
priv->font_list = gtk_scrolled_window_new (NULL, NULL);
priv->face_list = gtk_scrolled_window_new (NULL, NULL);
priv->size_list = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->font_list),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->face_list),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->size_list),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_container_add (GTK_CONTAINER (priv->font_list), font_list);
gtk_container_add (GTK_CONTAINER (priv->face_list), face_list);
gtk_container_add (GTK_CONTAINER (priv->size_list), size_list);
g_signal_connect (G_OBJECT (font_list), "cursor-changed",
G_CALLBACK (family_list_cursor_changed_cb), fontchooser);
g_signal_connect (G_OBJECT (face_list), "cursor-changed",
G_CALLBACK (face_list_cursor_changed_cb), fontchooser);
g_signal_connect (G_OBJECT (size_list), "cursor-changed",
G_CALLBACK (size_list_cursor_changed_cb), fontchooser);
populate_font_model (fontchooser);
cursor_changed_cb (GTK_TREE_VIEW (priv->family_face_list), fontchooser);
}
/*****************************************************************************
* These functions are the main public interface for getting/setting the font.
@ -1437,7 +943,7 @@ initialize_deprecated_widgets (GtkFontChooser *fontchooser)
* faces. The returned object is owned by @fontchooser and must not
* be modified or freed.
*
* Since: 2.14
* Since: 3.2
*/
PangoFontFamily *
gtk_font_chooser_get_family (GtkFontChooser *fontchooser)
@ -1458,7 +964,7 @@ gtk_font_chooser_get_family (GtkFontChooser *fontchooser)
* selected font group details. The returned object is owned by
* @fontchooser and must not be modified or freed.
*
* Since: 2.14
* Since: 3.2
*/
PangoFontFace *
gtk_font_chooser_get_face (GtkFontChooser *fontchooser)
@ -1477,7 +983,7 @@ gtk_font_chooser_get_face (GtkFontChooser *fontchooser)
* Return value: A n integer representing the selected font size,
* or -1 if no font size is selected.
*
* Since: 2.14
* Since: 3.2
**/
gint
gtk_font_chooser_get_size (GtkFontChooser *fontchooser)
@ -1494,7 +1000,7 @@ gtk_font_chooser_get_size (GtkFontChooser *fontchooser)
* Gets the currently-selected font name.
*
* Note that this can be a different string than what you set with
* gtk_font_chooser_set_font_name(), as the font selection widget may
* gtk_font_chooser_set_font_name(), as the font chooser widget may
* normalize font names and thus return a string with a different structure.
* For example, "Helvetica Italic Bold 12" could be normalized to
* "Helvetica Bold Italic 12". Use pango_font_description_equal()
@ -1503,6 +1009,8 @@ gtk_font_chooser_get_size (GtkFontChooser *fontchooser)
* Return value: (transfer full) (allow-none): A string with the name of the
* current font, or %NULL if no font is selected. You must free this
* string with g_free().
*
* Since: 3.2
*/
gchar *
gtk_font_chooser_get_font_name (GtkFontChooser *fontchooser)
@ -1535,6 +1043,8 @@ gtk_font_chooser_get_font_name (GtkFontChooser *fontchooser)
* Return value: %TRUE if the font could be set successfully; %FALSE if no
* such font exists or if the @fontchooser doesn't belong to a particular
* screen yet.
*
* Since: 3.2
*/
gboolean
gtk_font_chooser_set_font_name (GtkFontChooser *fontchooser,
@ -1641,7 +1151,9 @@ gtk_font_chooser_set_font_name (GtkFontChooser *fontchooser,
*
* Return value: (transfer none): the text displayed in the
* preview area. This string is owned by the widget and
* should not be modified or freed
* should not be modified or freed
*
* Since: 3.2
*/
G_CONST_RETURN gchar*
gtk_font_chooser_get_preview_text (GtkFontChooser *fontchooser)
@ -1658,6 +1170,8 @@ gtk_font_chooser_get_preview_text (GtkFontChooser *fontchooser)
*
* Sets the text displayed in the preview area.
* The @text is used to show how the selected font looks.
*
* Since: 3.2
*/
void
gtk_font_chooser_set_preview_text (GtkFontChooser *fontchooser,
@ -1717,109 +1231,6 @@ gtk_font_chooser_set_show_preview_entry (GtkFontChooser *fontchooser,
g_object_notify (G_OBJECT (fontchooser), "show-preview-entry");
}
/**
* gtk_font_chooser_get_family_list:
* @fontchooser: a #GtkFontChooser
*
* This returns the #GtkTreeView that lists font families, for
* example, 'Sans', 'Serif', etc.
*
* Return value: (transfer none): A #GtkWidget that is part of @fontchooser
*
* Deprecated: 3.2
*/
GtkWidget *
gtk_font_chooser_get_family_list (GtkFontChooser *fontchooser)
{
GtkFontChooserPrivate *priv = fontchooser->priv;
g_return_val_if_fail (GTK_IS_FONT_CHOOSER (fontchooser), NULL);
if (!priv->font_list)
initialize_deprecated_widgets (fontchooser);
return priv->font_list;
}
/**
* gtk_font_chooser_get_face_list:
* @fontchooser: a #GtkFontChooser
*
* This returns the #GtkTreeView which lists all styles available for
* the selected font. For example, 'Regular', 'Bold', etc.
*
* Return value: (transfer none): A #GtkWidget that is part of @fontchooser
*
* Deprecated: 3.2
*/
GtkWidget *
gtk_font_chooser_get_face_list (GtkFontChooser *fontchooser)
{
GtkFontChooserPrivate *priv = fontchooser->priv;
g_return_val_if_fail (GTK_IS_FONT_CHOOSER (fontchooser), NULL);
if (!priv->face_list)
initialize_deprecated_widgets (fontchooser);
return priv->face_list;
}
/**
* gtk_font_chooser_get_size_entry:
* @fontchooser: a #GtkFontChooser
*
* This returns the #GtkEntry used to allow the user to edit the font
* number manually instead of selecting it from the list of font sizes.
*
* Return value: (transfer none): A #GtkWidget that is part of @fontchooser
*
* Deprecated: 3.2
*/
GtkWidget *
gtk_font_chooser_get_size_entry (GtkFontChooser *fontchooser)
{
GtkFontChooserPrivate *priv = fontchooser->priv;
g_return_val_if_fail (GTK_IS_FONT_CHOOSER (fontchooser), NULL);
return priv->size_spin;
}
/**
* gtk_font_chooser_get_size_list:
* @fontchooser: a #GtkFontChooser
*
* This returns the #GtkTreeeView used to list font sizes.
*
* Return value: (transfer none): A #GtkWidget that is part of @fontchooser
*
* Deprecated: 3.2
*/
GtkWidget *
gtk_font_chooser_get_size_list (GtkFontChooser *fontchooser)
{
GtkFontChooserPrivate *priv = fontchooser->priv;
g_return_val_if_fail (GTK_IS_FONT_CHOOSER (fontchooser), NULL);
if (!priv->size_list)
initialize_deprecated_widgets (fontchooser);
return priv->size_list;
}
/**
* gtk_font_chooser_get_preview_entry:
* @fontchooser: a #GtkFontChooser
*
* This returns the #GtkEntry used to display the font as a preview.
*
* Return value: (transfer none): A #GtkWidget that is part of @fontchooser
*
* Deprecated: 3.2
*/
GtkWidget *
gtk_font_chooser_get_preview_entry (GtkFontChooser *fontchooser)
{
GtkFontChooserPrivate *priv = fontchooser->priv;
g_return_val_if_fail (GTK_IS_FONT_CHOOSER (fontchooser), NULL);
return priv->preview;
}
/**
* SECTION:gtkfontchooserdlg
@ -1841,7 +1252,7 @@ gtk_font_chooser_get_preview_entry (GtkFontChooser *fontchooser)
* <title>GtkFontChooserDialog as GtkBuildable</title>
* The GtkFontChooserDialog implementation of the GtkBuildable interface
* exposes the embedded #GtkFontChooser as internal child with the
* name "font_selection". It also exposes the buttons with the names
* name "font_chooser". It also exposes the buttons with the names
* "select_button" and "cancel_button. The buttons with the names
* "ok_button" and "apply_button" are exposed but deprecated.
* </refsect2>
@ -1900,12 +1311,6 @@ gtk_font_chooser_dialog_init (GtkFontChooserDialog *fontchooserdiag)
priv->cancel_button = gtk_dialog_add_button (dialog,
GTK_STOCK_CANCEL,
GTK_RESPONSE_CANCEL);
/* Deprecated: Apply button is not used anymore */
priv->apply_button = gtk_dialog_add_button (dialog,
GTK_STOCK_APPLY,
GTK_RESPONSE_APPLY);
gtk_widget_hide (priv->apply_button);
priv->select_button = gtk_dialog_add_button (dialog,
_("Select"),
GTK_RESPONSE_OK);
@ -1913,7 +1318,6 @@ gtk_font_chooser_dialog_init (GtkFontChooserDialog *fontchooserdiag)
gtk_dialog_set_alternative_button_order (GTK_DIALOG (fontchooserdiag),
GTK_RESPONSE_OK,
GTK_RESPONSE_APPLY, /* Deprecated */
GTK_RESPONSE_CANCEL,
-1);
@ -1945,8 +1349,8 @@ gtk_font_chooser_dialog_new (const gchar *title)
}
/**
* gtk_font_chooser_dialog_get_font_selection:
* @fsd: a #GtkFontChooserDialog
* gtk_font_chooser_dialog_get_font_chooser:
* @fcd: a #GtkFontChooserDialog
*
* Retrieves the #GtkFontChooser widget embedded in the dialog.
*
@ -1955,11 +1359,11 @@ gtk_font_chooser_dialog_new (const gchar *title)
* Since: 2.22
**/
GtkWidget*
gtk_font_chooser_dialog_get_font_selection (GtkFontChooserDialog *fsd)
gtk_font_chooser_dialog_get_font_chooser (GtkFontChooserDialog *fcd)
{
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fsd), NULL);
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fcd), NULL);
return fsd->priv->fontchooser;
return fcd->priv->fontchooser;
}
static void
@ -1982,26 +1386,20 @@ gtk_font_chooser_dialog_buildable_get_internal_child (GtkBuildable *buildable,
return G_OBJECT (priv->select_button);
else if (g_strcmp0 (childname, "cancel_button") == 0)
return G_OBJECT (priv->cancel_button);
else if (g_strcmp0 (childname, "font_selection") == 0)
else if (g_strcmp0 (childname, "font_chooser") == 0)
return G_OBJECT (priv->fontchooser);
/* Deprecated */
else if (g_strcmp0 (childname, "ok_button") == 0)
return G_OBJECT (priv->select_button);
else if (g_strcmp0 (childname, "apply_button") == 0)
return G_OBJECT (priv->apply_button);
return parent_buildable_iface->get_internal_child (buildable, builder, childname);
}
/**
* gtk_font_chooser_dialog_get_font_name:
* @fsd: a #GtkFontChooserDialog
* @fcd: a #GtkFontChooserDialog
*
* Gets the currently-selected font name.
*
* Note that this can be a different string than what you set with
* gtk_font_chooser_dialog_set_font_name(), as the font selection widget
* gtk_font_chooser_dialog_set_font_name(), as the font chooser widget
* may normalize font names and thus return a string with a different
* structure. For example, "Helvetica Italic Bold 12" could be normalized
* to "Helvetica Bold Italic 12". Use pango_font_description_equal()
@ -2011,44 +1409,44 @@ gtk_font_chooser_dialog_buildable_get_internal_child (GtkBuildable *buildable,
* font is selected. You must free this string with g_free().
*/
gchar*
gtk_font_chooser_dialog_get_font_name (GtkFontChooserDialog *fsd)
gtk_font_chooser_dialog_get_font_name (GtkFontChooserDialog *fcd)
{
GtkFontChooserDialogPrivate *priv;
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fsd), NULL);
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fcd), NULL);
priv = fsd->priv;
priv = fcd->priv;
return gtk_font_chooser_get_font_name (GTK_FONT_CHOOSER (priv->fontchooser));
}
/**
* gtk_font_chooser_dialog_set_font_name:
* @fsd: a #GtkFontChooserDialog
* @fcd: a #GtkFontChooserDialog
* @fontname: a font name like "Helvetica 12" or "Times Bold 18"
*
* Sets the currently selected font.
*
* Return value: %TRUE if the font selected in @fsd is now the
* Return value: %TRUE if the font selected in @fcd is now the
* @fontname specified, %FALSE otherwise.
*/
gboolean
gtk_font_chooser_dialog_set_font_name (GtkFontChooserDialog *fsd,
gtk_font_chooser_dialog_set_font_name (GtkFontChooserDialog *fcd,
const gchar *fontname)
{
GtkFontChooserDialogPrivate *priv;
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fsd), FALSE);
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fcd), FALSE);
g_return_val_if_fail (fontname, FALSE);
priv = fsd->priv;
priv = fcd->priv;
return gtk_font_chooser_set_font_name (GTK_FONT_CHOOSER (priv->fontchooser), fontname);
}
/**
* gtk_font_chooser_dialog_get_preview_text:
* @fsd: a #GtkFontChooserDialog
* @fcd: a #GtkFontChooserDialog
*
* Gets the text displayed in the preview area.
*
@ -2057,72 +1455,34 @@ gtk_font_chooser_dialog_set_font_name (GtkFontChooserDialog *fsd,
* modified or freed
*/
G_CONST_RETURN gchar*
gtk_font_chooser_dialog_get_preview_text (GtkFontChooserDialog *fsd)
gtk_font_chooser_dialog_get_preview_text (GtkFontChooserDialog *fcd)
{
GtkFontChooserDialogPrivate *priv;
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fsd), NULL);
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fcd), NULL);
priv = fsd->priv;
priv = fcd->priv;
return gtk_font_chooser_get_preview_text (GTK_FONT_CHOOSER (priv->fontchooser));
}
/**
* gtk_font_chooser_dialog_set_preview_text:
* @fsd: a #GtkFontChooserDialog
* @fcd: a #GtkFontChooserDialog
* @text: the text to display in the preview area
*
* Sets the text displayed in the preview area.
*/
void
gtk_font_chooser_dialog_set_preview_text (GtkFontChooserDialog *fsd,
gtk_font_chooser_dialog_set_preview_text (GtkFontChooserDialog *fcd,
const gchar *text)
{
GtkFontChooserDialogPrivate *priv;
g_return_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fsd));
g_return_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fcd));
g_return_if_fail (text != NULL);
priv = fsd->priv;
priv = fcd->priv;
gtk_font_chooser_set_preview_text (GTK_FONT_CHOOSER (priv->fontchooser), text);
}
/**
* gtk_font_chooser_dialog_get_ok_button:
* @fsd: a #GtkFontChooserDialog
*
* Gets the 'OK' button.
*
* Return value: (transfer none): the #GtkWidget used in the dialog
* for the 'OK' button.
*
* Deprecated: 3.2
*/
GtkWidget *
gtk_font_chooser_dialog_get_ok_button (GtkFontChooserDialog *fsd)
{
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fsd), NULL);
return fsd->priv->select_button;
}
/**
* gtk_font_chooser_dialog_get_cancel_button:
* @fsd: a #GtkFontChooserDialog
*
* Gets the 'Cancel' button.
*
* Return value: (transfer none): the #GtkWidget used in the dialog
* for the 'Cancel' button.
*
* Deprecated: 3.2
*/
GtkWidget *
gtk_font_chooser_dialog_get_cancel_button (GtkFontChooserDialog *fsd)
{
g_return_val_if_fail (GTK_IS_FONT_CHOOSER_DIALOG (fsd), NULL);
return fsd->priv->cancel_button;
}