#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
-#include <sys/wait.h>
+#if HAVE_SYS_WAIT_H
+# include <sys/wait.h>
+#endif
#include <signal.h>
#include <ctype.h>
#include <string.h>
{
GtkTextBuffer *buffer;
- g_return_val_if_fail(view, 0);
+ cm_return_val_if_fail(view, 0);
buffer = gtk_text_view_get_buffer(view);
- g_return_val_if_fail(buffer, 0);
+ cm_return_val_if_fail(buffer, 0);
return gtk_text_buffer_get_char_count(buffer);
}
GtkTextMark * mark;
GtkTextIter iter;
- g_return_val_if_fail(view, 0);
+ cm_return_val_if_fail(view, 0);
buffer = gtk_text_view_get_buffer(view);
- g_return_val_if_fail(buffer, 0);
+ cm_return_val_if_fail(buffer, 0);
mark = gtk_text_buffer_get_insert(buffer);
- g_return_val_if_fail(mark, 0);
+ cm_return_val_if_fail(mark, 0);
gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark);
GtkTextBuffer *buffer;
GtkTextIter iter;
- g_return_if_fail(view);
+ cm_return_if_fail(view);
buffer = gtk_text_view_get_buffer(view);
- g_return_if_fail(buffer);
+ cm_return_if_fail(buffer);
gtk_text_buffer_get_iter_at_offset(buffer, &iter, offset);
gtk_text_buffer_place_cursor(buffer, &iter);
const char *gtkaspell_checkers_strerror(void)
{
- g_return_val_if_fail(gtkaspellcheckers, "");
+ cm_return_val_if_fail(gtkaspellcheckers, "");
return gtkaspellcheckers->error_message;
}
void gtkaspell_checkers_reset_error(void)
{
- g_return_if_fail(gtkaspellcheckers);
+ cm_return_if_fail(gtkaspellcheckers);
g_free(gtkaspellcheckers->error_message);
GtkAspeller *gtkaspeller;
GtkTextBuffer *buffer;
- g_return_val_if_fail(gtktext, NULL);
+ cm_return_val_if_fail(gtktext, NULL);
if (!dictionary || !*dictionary) {
gtkaspell_checkers_error_message(
g_strdup(_("No dictionary selected.")));
if (!alt_gtkaspeller) {
gtkaspell_checkers_error_message(
g_strdup_printf(_("Couldn't initialize %s speller."), dictionary));
+ gtkaspeller_delete(gtkaspeller);
+ g_free(gtkaspell);
return NULL;
}
{
guint pos;
- g_return_if_fail(gtkaspell->gtkaspeller->speller);
+ cm_return_if_fail(gtkaspell->gtkaspeller->speller);
if (!gtkaspell->check_while_typing)
return;
int origpos;
gint start, end;
- g_return_if_fail(gtkaspell->gtkaspeller->speller);
+ cm_return_if_fail(gtkaspell->gtkaspeller->speller);
if (!gtkaspell->check_while_typing)
return;
GtkAspeller *tmp;
Dictionary *dict;
- g_return_val_if_fail(gtkaspellcheckers, NULL);
+ cm_return_val_if_fail(gtkaspellcheckers, NULL);
- g_return_val_if_fail(dictionary, NULL);
+ cm_return_val_if_fail(dictionary, NULL);
if (dictionary->dictname == NULL)
gtkaspell_checkers_error_message(
g_strdup(_("No dictionary selected.")));
- g_return_val_if_fail(dictionary->fullname, NULL);
+ cm_return_val_if_fail(dictionary->fullname, NULL);
dict = dictionary_dup(dictionary);
EnchantBroker *broker;
EnchantDict *speller;
- g_return_val_if_fail(gtkaspellcheckers, NULL);
- g_return_val_if_fail(dict, NULL);
+ cm_return_val_if_fail(gtkaspellcheckers, NULL);
+ cm_return_val_if_fail(dict, NULL);
gtkaspeller = g_new(GtkAspeller, 1);
if (!broker) {
gtkaspell_checkers_error_message(
g_strdup(_("Couldn't initialize Enchant broker.")));
+ g_free(gtkaspeller);
return NULL;
}
if ((speller = set_dictionary(broker, dict)) == NULL) {
g_strdup_printf(_("Couldn't initialize %s dictionary:"), dict->fullname));
gtkaspell_checkers_error_message(
g_strdup(enchant_broker_get_error(broker)));
+ g_free(gtkaspeller);
return NULL;
}
gtkaspeller->speller = speller;
static GtkAspeller *gtkaspeller_delete(GtkAspeller *gtkaspeller)
{
- g_return_val_if_fail(gtkaspellcheckers, NULL);
+ cm_return_val_if_fail(gtkaspellcheckers, NULL);
gtkaspellcheckers->checkers =
g_slist_remove(gtkaspellcheckers->checkers,
static GtkAspeller *gtkaspeller_real_delete(GtkAspeller *gtkaspeller)
{
- g_return_val_if_fail(gtkaspeller, NULL);
- g_return_val_if_fail(gtkaspeller->speller, NULL);
+ cm_return_val_if_fail(gtkaspeller, NULL);
+ cm_return_val_if_fail(gtkaspeller->speller, NULL);
enchant_broker_free_dict(gtkaspeller->broker, gtkaspeller->speller);
enchant_broker_free(gtkaspeller->broker);
static EnchantDict *set_dictionary(EnchantBroker *broker, Dictionary *dict)
{
- g_return_val_if_fail(broker, FALSE);
- g_return_val_if_fail(dict, FALSE);
+ cm_return_val_if_fail(broker, FALSE);
+ cm_return_val_if_fail(dict, FALSE);
return enchant_broker_request_dict(broker, dict->dictname );
}
GList *list = NULL;
char **suggestions;
size_t num_sug, i;
- g_return_val_if_fail(word, NULL);
+ cm_return_val_if_fail(word, NULL);
if (*word == 0)
return NULL;
gtkaspell_free_suggestions_list(gtkaspell);
suggestions = enchant_dict_suggest(gtkaspell->gtkaspeller->speller, word, strlen(word), &num_sug);
+ list = g_list_append(list, g_strdup(word));
if (suggestions == NULL || num_sug == 0) {
- gtkaspell->max_sug = - 1;
- gtkaspell->suggestions_list = NULL;
- return NULL;
+ gtkaspell->max_sug = -1;
+ gtkaspell->suggestions_list = list;
+ return list;
}
- list = g_list_append(list, g_strdup(word));
for (i = 0; i < num_sug; i++)
list = g_list_append(list, g_strdup((gchar *)suggestions[i]));
int gtkaspell_misspelled_test(GtkAspell *gtkaspell, char *word)
{
gint result = 0;
- g_return_val_if_fail(word, 0);
+ cm_return_val_if_fail(word, 0);
if (*word == 0)
return 0;
char buf[GTKASPELLWORDSIZE];
GtkTextView *gtktext;
- g_return_val_if_fail(from_pos >= 0, FALSE);
+ cm_return_val_if_fail(from_pos >= 0, FALSE);
gtktext = gtkaspell->gtktext;
GtkTextBuffer *buffer;
GtkTextIter startiter, enditer;
- g_return_if_fail(gtkaspell);
- g_return_if_fail(gtkaspell->gtktext);
+ cm_return_if_fail(gtkaspell);
+ cm_return_if_fail(gtkaspell->gtktext);
gtktext = gtkaspell->gtktext;
buffer = gtk_text_view_get_buffer(gtktext);
guint len;
GtkTextView *gtktext;
- g_return_if_fail(gtkaspell->gtkaspeller->speller);
+ cm_return_if_fail(gtkaspell->gtkaspeller->speller);
gtktext = gtkaspell->gtktext;
set_point_continue(gtkaspell);
}
+void gtkaspell_block_check(GtkAspell *gtkaspell)
+{
+ GtkTextView *gtktext;
+
+ if (gtkaspell == NULL)
+ return;
+
+ gtktext = gtkaspell->gtktext;
+ g_signal_handlers_block_by_func(G_OBJECT(gtktext),
+ G_CALLBACK(entry_insert_cb),
+ gtkaspell);
+ g_signal_handlers_block_by_func(G_OBJECT(gtktext),
+ G_CALLBACK(entry_delete_cb),
+ gtkaspell);
+}
+
+void gtkaspell_unblock_check(GtkAspell *gtkaspell)
+{
+ GtkTextView *gtktext;
+
+ if (gtkaspell == NULL)
+ return;
+
+ gtktext = gtkaspell->gtktext;
+ g_signal_handlers_unblock_by_func(G_OBJECT(gtktext),
+ G_CALLBACK(entry_insert_cb),
+ gtkaspell);
+ g_signal_handlers_unblock_by_func(G_OBJECT(gtktext),
+ G_CALLBACK(entry_delete_cb),
+ gtkaspell);
+}
+
static void replace_real_word(GtkAspell *gtkaspell, const gchar *newword)
{
int oldlen, newlen, wordlen;
GdkEventKey *event,
GtkAspell *gtkaspell)
{
- if (event && event->keyval == GDK_Escape) {
+ if (event && event->keyval == GDK_KEY_Escape) {
gtk_widget_destroy(widget);
return TRUE;
- } else if (event && event->keyval == GDK_Return) {
+ } else if (event && event->keyval == GDK_KEY_Return) {
replace_with_supplied_word_cb(widget, gtkaspell);
return TRUE;
}
gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
gtk_window_set_title(GTK_WINDOW(dialog),_("Replace unknown word"));
- gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
gtk_window_move(GTK_WINDOW(dialog), xx, yy);
g_signal_connect_swapped(G_OBJECT(dialog), "destroy",
Dictionary *dict;
dict_list = gtkaspell_get_dictionary_list(refresh);
- g_return_val_if_fail(dict_list, NULL);
+ cm_return_val_if_fail(dict_list, NULL);
store = gtk_list_store_new(SET_GTKASPELL_SIZE,
G_TYPE_STRING,
GtkTreeModel *model;
gchar *dict_fullname = NULL;
- g_return_val_if_fail(GTK_IS_COMBO_BOX(combo), NULL);
- g_return_val_if_fail(gtk_combo_box_get_active_iter(combo, &iter), NULL);
+ cm_return_val_if_fail(GTK_IS_COMBO_BOX(combo), NULL);
+ cm_return_val_if_fail(gtk_combo_box_get_active_iter(combo, &iter), NULL);
model = gtk_combo_box_get_model(combo);
if(model == NULL)
GtkTreeIter iter;
gchar *dict_name = NULL;
- g_return_val_if_fail(combo != NULL, 0);
- g_return_val_if_fail(dictionary != NULL, 0);
- g_return_val_if_fail(GTK_IS_COMBO_BOX(combo), 0);
+ cm_return_val_if_fail(combo != NULL, 0);
+ cm_return_val_if_fail(dictionary != NULL, 0);
+ cm_return_val_if_fail(GTK_IS_COMBO_BOX(combo), 0);
if((model = gtk_combo_box_get_model(combo)) == NULL)
return 0;
GdkEventKey *event,
GtkAspell *gtkaspell)
{
- if (event && (isascii(event->keyval) || event->keyval == GDK_Return)) {
+ if (event && (isascii(event->keyval) || event->keyval == GDK_KEY_Return)) {
gtk_accel_groups_activate(
G_OBJECT(gtkaspell->parent_window),
event->keyval, event->state);
- } else if (event && event->keyval == GDK_Escape) {
+ } else if (event && event->keyval == GDK_KEY_Escape) {
destroy_menu(NULL, gtkaspell);
}
return FALSE;
g_signal_connect(G_OBJECT(item), "activate",
G_CALLBACK(add_word_to_session_cb),
gtkaspell);
- gtk_widget_add_accelerator(item, "activate", accel, GDK_space,
+ gtk_widget_add_accelerator(item, "activate", accel, GDK_KEY_space,
GDK_CONTROL_MASK,
GTK_ACCEL_LOCKED | GTK_ACCEL_VISIBLE);
g_signal_connect(G_OBJECT(item), "activate",
G_CALLBACK(add_word_to_personal_cb),
gtkaspell);
- gtk_widget_add_accelerator(item, "activate", accel, GDK_Return,
+ gtk_widget_add_accelerator(item, "activate", accel, GDK_KEY_Return,
GDK_CONTROL_MASK,
GTK_ACCEL_LOCKED | GTK_ACCEL_VISIBLE);
g_signal_connect(G_OBJECT(item), "activate",
G_CALLBACK(replace_with_create_dialog_cb),
gtkaspell);
- gtk_widget_add_accelerator(item, "activate", accel, GDK_R, 0,
+ gtk_widget_add_accelerator(item, "activate", accel, GDK_KEY_R, 0,
GTK_ACCEL_LOCKED | GTK_ACCEL_VISIBLE);
- gtk_widget_add_accelerator(item, "activate", accel, GDK_R,
+ gtk_widget_add_accelerator(item, "activate", accel, GDK_KEY_R,
GDK_CONTROL_MASK,
GTK_ACCEL_LOCKED);
g_signal_connect(G_OBJECT(item), "activate",
G_CALLBACK(check_with_alternate_cb),
gtkaspell);
- gtk_widget_add_accelerator(item, "activate", accel, GDK_X, 0,
+ gtk_widget_add_accelerator(item, "activate", accel, GDK_KEY_X, 0,
GTK_ACCEL_LOCKED | GTK_ACCEL_VISIBLE);
- gtk_widget_add_accelerator(item, "activate", accel, GDK_X,
+ gtk_widget_add_accelerator(item, "activate", accel, GDK_KEY_X,
GDK_CONTROL_MASK,
GTK_ACCEL_LOCKED);
}
if (curmenu == NULL && count < MENUCOUNT) {
gtk_widget_add_accelerator(item, "activate",
accel,
- GDK_A + count, 0,
+ GDK_KEY_A + count, 0,
GTK_ACCEL_LOCKED |
GTK_ACCEL_VISIBLE);
gtk_widget_add_accelerator(item, "activate",
accel,
- GDK_A + count,
+ GDK_KEY_A + count,
GDK_CONTROL_MASK,
GTK_ACCEL_LOCKED);
}
Dictionary *dict;
GtkAspeller *gtkaspeller;
- g_return_val_if_fail(gtkaspell, FALSE);
- g_return_val_if_fail(dictionary, FALSE);
+ cm_return_val_if_fail(gtkaspell, FALSE);
+ cm_return_val_if_fail(dictionary, FALSE);
dict = g_new0(Dictionary, 1);
Dictionary *dict;
GtkAspeller *gtkaspeller;
- g_return_val_if_fail(gtkaspell, FALSE);
- g_return_val_if_fail(alt_dictionary, FALSE);
+ cm_return_val_if_fail(gtkaspell, FALSE);
+ cm_return_val_if_fail(alt_dictionary, FALSE);
dict = g_new0(Dictionary, 1);
if (strrchr(alt_dictionary, '/')) {
{
GtkAspeller *gtkaspeller = elt;
- g_return_if_fail(gtkaspeller);
+ cm_return_if_fail(gtkaspeller);
gtkaspeller_real_delete(gtkaspeller);
}