Example #1
0
static void
charset_combo_box_constructed (GObject *object)
{
	ECharsetComboBoxPrivate *priv;
	GtkRadioAction *radio_action;
	GSList *group;

	priv = E_CHARSET_COMBO_BOX_GET_PRIVATE (object);

	/* Chain up to parent's constructed() method. */
	G_OBJECT_CLASS (e_charset_combo_box_parent_class)->constructed (object);

	radio_action = priv->other_action;
	group = gtk_radio_action_get_group (radio_action);

	e_action_combo_box_set_action (
		E_ACTION_COMBO_BOX (object), radio_action);

	e_action_combo_box_add_separator_after (
		E_ACTION_COMBO_BOX (object), g_slist_length (group));

	e_signal_connect_notify (
		object, "notify::charset",
		G_CALLBACK (charset_combo_box_notify_charset_cb), NULL);
}
Example #2
0
static void
charset_combo_box_finalize (GObject *object)
{
	ECharsetComboBoxPrivate *priv;

	priv = E_CHARSET_COMBO_BOX_GET_PRIVATE (object);

	g_hash_table_destroy (priv->charset_index);

	/* Chain up to parent's finalize() method. */
	G_OBJECT_CLASS (parent_class)->finalize (object);
}
Example #3
0
static void
charset_combo_box_changed (GtkComboBox *combo_box)
{
	ECharsetComboBoxPrivate *priv;

	priv = E_CHARSET_COMBO_BOX_GET_PRIVATE (combo_box);

	/* Chain up to parent's changed() method. */
	GTK_COMBO_BOX_CLASS (parent_class)->changed (combo_box);

	/* Notify -before- updating previous index. */
	g_object_notify (G_OBJECT (combo_box), "charset");
	priv->previous_index = gtk_combo_box_get_active (combo_box);
}
Example #4
0
static void
charset_combo_box_dispose (GObject *object)
{
	ECharsetComboBoxPrivate *priv;

	priv = E_CHARSET_COMBO_BOX_GET_PRIVATE (object);

	if (priv->action_group != NULL) {
		g_object_unref (priv->action_group);
		priv->action_group = NULL;
	}

	if (priv->other_action != NULL) {
		g_object_unref (priv->other_action);
		priv->other_action = NULL;
	}

	g_hash_table_remove_all (priv->charset_index);

	/* Chain up to parent's dispose() method. */
	G_OBJECT_CLASS (parent_class)->dispose (object);
}