[gnome-builder/wip/slaf/spellcheck-sidebar: 7/33] spellchecker: plumb IdeEditorDictWidget



commit 9a84f7bea2106bf966f1042e9ca0362d0209bb0c
Author: Sébastien Lafargue <slafargue gnome org>
Date:   Tue Dec 20 19:58:27 2016 +0100

    spellchecker: plumb IdeEditorDictWidget

 libide/editor/ide-editor-dict-widget.c   |    2 +-
 libide/editor/ide-editor-spell-widget.c  |   12 ++++++++++++
 libide/editor/ide-editor-spell-widget.ui |   10 ++++++++++
 3 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/libide/editor/ide-editor-dict-widget.c b/libide/editor/ide-editor-dict-widget.c
index 95cda3f..1648da1 100644
--- a/libide/editor/ide-editor-dict-widget.c
+++ b/libide/editor/ide-editor-dict-widget.c
@@ -205,7 +205,7 @@ close_button_clicked_cb (IdeEditorDictWidget *self,
   if (NULL != (row = gtk_widget_get_ancestor (GTK_WIDGET (button), GTK_TYPE_LIST_BOX_ROW)))
     {
       word = g_object_get_data (G_OBJECT (row), "word");
-      /* TODO: remove from enchant pwl dict for the language */
+      gspell_checker_remove_word_from_personal (self->checker, word, -1);
       gtk_container_remove (GTK_CONTAINER (self->words_list), row);
     }
 }
diff --git a/libide/editor/ide-editor-spell-widget.c b/libide/editor/ide-editor-spell-widget.c
index 8e190fd..c0e5766 100644
--- a/libide/editor/ide-editor-spell-widget.c
+++ b/libide/editor/ide-editor-spell-widget.c
@@ -20,6 +20,7 @@
 #include <glib/gi18n.h>
 #include <gspell/gspell.h>
 
+#include "ide-editor-dict-widget.h"
 #include "ide-editor-spell-navigator.h"
 
 #include "ide-editor-spell-widget.h"
@@ -32,6 +33,7 @@ struct _IdeEditorSpellWidget
   IdeSourceView         *view;
   IdeBuffer             *buffer;
   GspellChecker         *checker;
+  IdeEditorDictWidget   *dict_widget;
   const GspellLanguage  *spellchecker_language;
 
   GtkLabel              *word_label;
@@ -45,6 +47,7 @@ struct _IdeEditorSpellWidget
   GtkButton             *change_all_button;
   GtkButton             *close_button;
   GtkListBox            *suggestions_box;
+  GtkRevealer           *dict_revealer;
 
   GtkButton             *highlight_checkbutton;
   GtkButton             *language_chooser_button;
@@ -516,6 +519,7 @@ ide_editor_spell_widget_constructed (GObject *object)
 
   spell_buffer = gspell_text_buffer_get_from_gtk_text_buffer (GTK_TEXT_BUFFER (self->buffer));
   self->checker = gspell_text_buffer_get_spell_checker (spell_buffer);
+  ide_editor_dict_widget_set_checker (self->dict_widget, self->checker);
 
   self->spellchecker_language = gspell_checker_get_language (self->checker);
   gspell_language_chooser_set_language (GSPELL_LANGUAGE_CHOOSER (self->language_chooser_button),
@@ -705,6 +709,7 @@ ide_editor_spell_widget_class_init (IdeEditorSpellWidgetClass *klass)
   gtk_widget_class_bind_template_child (widget_class, IdeEditorSpellWidget, highlight_checkbutton);
   gtk_widget_class_bind_template_child (widget_class, IdeEditorSpellWidget, language_chooser_button);
   gtk_widget_class_bind_template_child (widget_class, IdeEditorSpellWidget, suggestions_box);
+  gtk_widget_class_bind_template_child (widget_class, IdeEditorSpellWidget, dict_revealer);
 }
 
 static void
@@ -712,5 +717,12 @@ ide_editor_spell_widget_init (IdeEditorSpellWidget *self)
 {
   gtk_widget_init_template (GTK_WIDGET (self));
 
+  self->dict_widget = ide_editor_dict_widget_new (NULL);
+  gtk_widget_show (GTK_WIDGET (self->dict_widget));
+  gtk_container_add (GTK_CONTAINER (self->dict_revealer), GTK_WIDGET (self->dict_widget));
+
+  /* TODO: plumb the revealing action */
+  gtk_revealer_set_reveal_child (self->dict_revealer, TRUE);
+
   self->view_spellchecker_set = FALSE;
 }
diff --git a/libide/editor/ide-editor-spell-widget.ui b/libide/editor/ide-editor-spell-widget.ui
index 7af36ca..394d25d 100644
--- a/libide/editor/ide-editor-spell-widget.ui
+++ b/libide/editor/ide-editor-spell-widget.ui
@@ -300,6 +300,16 @@
                     <property name="width">3</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkRevealer" id="dict_revealer">
+                    <property name="visible">true</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">5</property>
+                  </packing>
+                </child>
               </object>
             </child>
           </object>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]