static void set_language_cb (GSimpleAction *action, GVariant *parameter, gpointer data) { GeditSpellPlugin *plugin = GEDIT_SPELL_PLUGIN (data); GeditSpellPluginPrivate *priv; GeditDocument *doc; GeditSpellChecker *spell; const GeditSpellCheckerLanguage *lang; GtkWidget *dlg; GtkWindowGroup *wg; gchar *data_dir; gedit_debug (DEBUG_PLUGINS); priv = plugin->priv; doc = gedit_window_get_active_document (priv->window); g_return_if_fail (doc != NULL); spell = get_spell_checker_from_document (doc); g_return_if_fail (spell != NULL); lang = gedit_spell_checker_get_language (spell); data_dir = peas_extension_base_get_data_dir (PEAS_EXTENSION_BASE (plugin)); dlg = gedit_spell_language_dialog_new (GTK_WINDOW (priv->window), lang, data_dir); g_free (data_dir); wg = gedit_window_get_group (priv->window); gtk_window_group_add_window (wg, GTK_WINDOW (dlg)); gtk_window_set_modal (GTK_WINDOW (dlg), TRUE); g_signal_connect (dlg, "response", G_CALLBACK (language_dialog_response), spell); gtk_widget_show (dlg); }
static void set_language_cb (GtkAction *action, ActionData *action_data) { GeditDocument *doc; GeditSpellChecker *spell; const GeditSpellCheckerLanguage *lang; GtkWidget *dlg; GtkWindowGroup *wg; gchar *data_dir; gedit_debug (DEBUG_PLUGINS); doc = gedit_window_get_active_document (action_data->window); g_return_if_fail (doc != NULL); spell = get_spell_checker_from_document (doc); g_return_if_fail (spell != NULL); lang = gedit_spell_checker_get_language (spell); data_dir = gedit_plugin_get_data_dir (action_data->plugin); dlg = gedit_spell_language_dialog_new (GTK_WINDOW (action_data->window), lang, data_dir); g_free (data_dir); wg = gedit_window_get_group (action_data->window); gtk_window_group_add_window (wg, GTK_WINDOW (dlg)); gtk_window_set_modal (GTK_WINDOW (dlg), TRUE); g_signal_connect (dlg, "response", G_CALLBACK (language_dialog_response), spell); gtk_widget_show (dlg); }