SF.net SVN: geany-plugins: [61] trunk/spellcheck

eht16 at users.sourceforge.net eht16 at xxxxx
Tue Jun 3 16:21:08 UTC 2008


Revision: 61
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=61&view=rev
Author:   eht16
Date:     2008-06-03 09:20:48 -0700 (Tue, 03 Jun 2008)

Log Message:
-----------
Compilation fixes.
Add html target

Modified Paths:
--------------
    trunk/spellcheck/ChangeLog
    trunk/spellcheck/Makefile.am
    trunk/spellcheck/src/spellcheck.c

Modified: trunk/spellcheck/ChangeLog
===================================================================
--- trunk/spellcheck/ChangeLog	2008-06-03 16:09:07 UTC (rev 60)
+++ trunk/spellcheck/ChangeLog	2008-06-03 16:20:48 UTC (rev 61)
@@ -1,3 +1,11 @@
+2008-06-03  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
+
+ * src/spellcheck.c:
+   Compilation fixes.
+ * Makefile.am:
+   Add html target.
+
+
 2008-05-20  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
 
  * src/spellcheck.c:

Modified: trunk/spellcheck/Makefile.am
===================================================================
--- trunk/spellcheck/Makefile.am	2008-06-03 16:09:07 UTC (rev 60)
+++ trunk/spellcheck/Makefile.am	2008-06-03 16:20:48 UTC (rev 61)
@@ -16,3 +16,5 @@
 	if test -f $(PACKAGE)-$(VERSION).tar.bz2; then \
 		gpg --detach-sign --digest-algo SHA512 $(PACKAGE)-$(VERSION).tar.bz2; fi
 
+html:
+	rst2html README index.html

Modified: trunk/spellcheck/src/spellcheck.c
===================================================================
--- trunk/spellcheck/src/spellcheck.c	2008-06-03 16:09:07 UTC (rev 60)
+++ trunk/spellcheck/src/spellcheck.c	2008-06-03 16:20:48 UTC (rev 61)
@@ -26,7 +26,7 @@
 #include "geany.h"
 #include "support.h"
 
-#if HAVE_LOCALE_H
+#ifdef HAVE_LOCALE_H
 # include <locale.h>
 #endif
 
@@ -34,6 +34,7 @@
 # include <windows.h>
 #endif
 
+#include <string.h>
 #include <aspell.h>
 
 #include "plugindata.h"
@@ -43,17 +44,18 @@
 #include "msgwindow.h"
 #include "keybindings.h"
 #include "utils.h"
+#include "ui_utils.h"
 
 #include "pluginmacros.h"
 
 
 PluginFields	*plugin_fields;
 GeanyData		*geany_data;
-GeanyFunctions *geany_functions;
+GeanyFunctions	*geany_functions;
 
 
-PLUGIN_VERSION_CHECK(58)
-PLUGIN_INFO(_("Spell Check"), _("Checks the spelling of the current document."), "0.2",
+PLUGIN_VERSION_CHECK(67)
+PLUGIN_SET_INFO(_("Spell Check"), _("Checks the spelling of the current document."), "0.2",
 			_("The Geany developer team"))
 
 
@@ -128,12 +130,12 @@
 	return 1;
 
 	str = g_string_sized_new(1024);
-	if (p_sci->can_copy(doc_list[idx].sci))
+	if (p_sci->can_copy(documents[idx]->sci))
 	{
 		first_line = p_sci->get_line_from_position(
-			doc_list[idx].sci, p_sci->get_selection_start(doc_list[idx].sci));
+			documents[idx]->sci, p_sci->get_selection_start(documents[idx]->sci));
 		last_line = p_sci->get_line_from_position(
-			doc_list[idx].sci, p_sci->get_selection_end(doc_list[idx].sci));
+			documents[idx]->sci, p_sci->get_selection_end(documents[idx]->sci));
 
 		p_msgwindow->msg_add(COLOR_BLUE, -1, -1,
 			_("Checking file \"%s\" (lines %d to %d):"),
@@ -142,7 +144,7 @@
 	else
 	{
 		first_line = 0;
-		last_line = p_sci->get_line_count(doc_list[idx].sci);
+		last_line = p_sci->get_line_count(documents[idx]->sci);
 		p_msgwindow->msg_add(COLOR_BLUE, -1, -1, _("Checking file \"%s\":"),
 			DOC_FILENAME(idx));
 	}
@@ -159,7 +161,7 @@
 
 	for (i = first_line; i < last_line; i++)
 	{
-		line = p_sci->get_line(doc_list[idx].sci, i);
+		line = p_sci->get_line(documents[idx]->sci, i);
 		linewidth = strlen(line);
 
 		/* First process the line */
@@ -250,7 +252,7 @@
 #ifdef ENABLE_NLS
 	gchar *locale_dir = NULL;
 
-#if HAVE_LOCALE_H
+#ifdef HAVE_LOCALE_H
 	setlocale(LC_ALL, "");
 #endif
 
@@ -314,8 +316,40 @@
 }
 
 
-void init(GeanyData *data)
+static void on_configure_response(GtkDialog *dialog, gint response, gpointer user_data)
 {
+	if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY)
+	{
+		GKeyFile *config = g_key_file_new();
+		gchar *data;
+		gchar *config_dir = g_path_get_dirname(config_file);
+
+		setptr(language, gtk_combo_box_get_active_text(GTK_COMBO_BOX(
+			g_object_get_data(G_OBJECT(dialog), "combo"))));
+
+		g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
+		g_key_file_set_string(config, "spellcheck", "language", language);
+
+		if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && p_utils->mkdir(config_dir, TRUE) != 0)
+		{
+			p_dialogs->show_msgbox(GTK_MESSAGE_ERROR,
+				_("Plugin configuration directory could not be created."));
+		}
+		else
+		{
+			/* write config to file */
+			data = g_key_file_to_data(config, NULL, NULL);
+			p_utils->write_file(config_file, data);
+			g_free(data);
+		}
+		g_free(config_dir);
+		g_key_file_free(config);
+	}
+}
+
+
+void plugin_init(GeanyData *data)
+{
 	GtkWidget *sp_item;
 	GKeyFile *config = g_key_file_new();
 
@@ -330,7 +364,7 @@
 
 	sp_item = gtk_menu_item_new_with_mnemonic(_("_Spell Check"));
 	gtk_widget_show(sp_item);
-	gtk_container_add(GTK_CONTAINER(geany_data->tools_menu), sp_item);
+	gtk_container_add(GTK_CONTAINER(main_widgets->tools_menu), sp_item);
 	g_signal_connect(G_OBJECT(sp_item), "activate", G_CALLBACK(item_activate), NULL);
 
 	plugin_fields->menu_item = sp_item;
@@ -342,16 +376,11 @@
 }
 
 
-void configure(GtkWidget *parent)
+GtkWidget *plugin_configure(GtkDialog *dialog)
 {
-	GtkWidget *dialog, *label, *vbox, *combo;
+	GtkWidget *label, *vbox, *combo;
 
-	dialog = gtk_dialog_new_with_buttons(_("Spell Check"),
-		GTK_WINDOW(parent), GTK_DIALOG_DESTROY_WITH_PARENT,
-		GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
-	vbox = p_ui->dialog_vbox_new(GTK_DIALOG(dialog));
-	gtk_widget_set_name(dialog, "GeanyDialog");
-	gtk_box_set_spacing(GTK_BOX(vbox), 6);
+	vbox = gtk_vbox_new(FALSE, 6);
 
 	label = gtk_label_new(_("Language to use for the spell check:"));
 	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
@@ -363,40 +392,16 @@
 	gtk_combo_box_set_wrap_width(GTK_COMBO_BOX(combo), 3);
 	gtk_box_pack_start(GTK_BOX(vbox), combo, FALSE, FALSE, 0);
 
+	g_object_set_data(G_OBJECT(dialog), "combo", combo);
+	g_signal_connect(dialog, "response", G_CALLBACK(on_configure_response), NULL);
+
 	gtk_widget_show_all(vbox);
 
-	/* run the dialog and check for the response code */
-	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
-	{
-		GKeyFile *config = g_key_file_new();
-		gchar *data;
-		gchar *config_dir = g_path_get_dirname(config_file);
-
-		setptr(language, gtk_combo_box_get_active_text(GTK_COMBO_BOX(combo)));
-
-		g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
-		g_key_file_set_string(config, "spellcheck", "language", language);
-
-		if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && p_utils->mkdir(config_dir, TRUE) != 0)
-		{
-			p_dialogs->show_msgbox(GTK_MESSAGE_ERROR,
-				_("Plugin configuration directory could not be created."));
-		}
-		else
-		{
-			/* write config to file */
-			data = g_key_file_to_data(config, NULL, NULL);
-			p_utils->write_file(config_file, data);
-			g_free(data);
-		}
-		g_free(config_dir);
-		g_key_file_free(config);
-	}
-	gtk_widget_destroy(dialog);
+	return vbox;
 }
 
 
-void cleanup(void)
+void plugin_cleanup(void)
 {
 	g_free(language);
 	g_free(config_file);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Plugins-Commits mailing list