[gtksourceview/gtksourcecompletion] Remove async filtering.
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: svn-commits-list gnome org
- Subject: [gtksourceview/gtksourcecompletion] Remove async filtering.
- Date: Tue, 23 Jun 2009 05:31:55 -0400 (EDT)
commit 62324249aa349a33fc4d866958ed3fd22ae7f25f
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Thu Jun 4 14:31:00 2009 +0200
Remove async filtering.
docs/reference/tmpl/view.sgml | 9 -
gtksourceview/gtksourcecompletion.c | 167 +++------------------
gtksourceview/gtksourcecompletion.h | 1 -
gtksourceview/gtksourcecompletionmodel.c | 235 +++++++++---------------------
gtksourceview/gtksourcecompletionmodel.h | 15 +--
gtksourceview/gtksourceview.c | 2 +-
6 files changed, 95 insertions(+), 334 deletions(-)
---
diff --git a/docs/reference/tmpl/view.sgml b/docs/reference/tmpl/view.sgml
index f599bb8..c172bc9 100644
--- a/docs/reference/tmpl/view.sgml
+++ b/docs/reference/tmpl/view.sgml
@@ -448,12 +448,3 @@ a text view which syntax highlighting, undo/redo and text marks. Use a
@Returns:
-<!-- ##### FUNCTION gtk_source_view_show_completion ##### -->
-<para>
-
-</para>
-
- view:
- proposals:
-
-
diff --git a/gtksourceview/gtksourcecompletion.c b/gtksourceview/gtksourcecompletion.c
index f8cd7d2..192659f 100644
--- a/gtksourceview/gtksourcecompletion.c
+++ b/gtksourceview/gtksourcecompletion.c
@@ -107,13 +107,11 @@ struct _GtkSourceCompletionPrivate
guint show_timed_out_id;
guint auto_complete_delay;
- guint minimum_auto_complete_length;
gint typing_line;
gint typing_line_offset;
GtkSourceCompletionProvider *filter_provider;
- gchar *filter_criteria;
gboolean inserting_data;
gboolean is_interactive;
@@ -496,7 +494,7 @@ update_selection_label (GtkSourceCompletion *completion)
{
name = g_markup_escape_text (
gtk_source_completion_provider_get_name (completion->priv->filter_provider),
- -1);
+ -1);
gtk_image_set_from_pixbuf (GTK_IMAGE (completion->priv->selection_image),
(GdkPixbuf *)gtk_source_completion_provider_get_icon (completion->priv->filter_provider));
@@ -512,28 +510,12 @@ update_selection_label (GtkSourceCompletion *completion)
else
{
gtk_label_set_markup (GTK_LABEL (completion->priv->selection_label),
- name);
+ name);
}
g_free (name);
}
-static void
-do_refilter (GtkSourceCompletion *completion,
- gboolean hide_if_empty)
-{
- gtk_source_completion_model_refilter (completion->priv->model_proposals);
-
- /* Check if there are any proposals left */
- if (hide_if_empty && !completion->priv->inserting_data &&
- gtk_source_completion_model_is_empty (completion->priv->model_proposals, FALSE))
- {
- gtk_source_completion_hide (completion);
- }
-
- update_selection_label (completion);
-}
-
typedef GList * (*ListSelector)(GList *);
static gboolean
@@ -565,7 +547,7 @@ select_provider (GtkSourceCompletion *completion,
completion->priv->filter_provider = NULL;
update_selection_label (completion);
- do_refilter (completion, FALSE);
+ //do_refilter (completion, FALSE);
return TRUE;
}
@@ -633,7 +615,7 @@ select_provider (GtkSourceCompletion *completion,
}
update_selection_label (completion);
- do_refilter (completion, FALSE);
+ //do_refilter (completion, FALSE);
return TRUE;
}
@@ -693,51 +675,6 @@ update_info_position (GtkSourceCompletion *completion)
gtk_window_move (GTK_WINDOW (completion->priv->info_window), x, y);
}
-static GtkSourceCompletionModelFilterFlag
-proposals_filter_func (GtkSourceCompletionModel *model,
- GtkSourceCompletionProvider *provider,
- GtkSourceCompletionProposal *proposal,
- GtkSourceCompletion *completion)
-{
- GtkSourceCompletionModelFilterFlag ret = GTK_SOURCE_COMPLETION_MODEL_NONE;
- gboolean visible;
- gboolean count;
- GtkTextIter iter;
-
- /* Filter on provider */
- if (completion->priv->filter_provider != NULL && completion->priv->filter_provider != provider)
- {
- visible = FALSE;
- count = TRUE;
- }
- else if (completion->priv->filter_criteria == NULL)
- {
- visible = TRUE;
- count = FALSE;
- }
- else
- {
- visible = gtk_source_completion_provider_filter_proposal (provider,
- proposal,
- &iter,
- completion->priv->filter_criteria);
-
- count = FALSE;
- }
-
- if (!visible)
- {
- ret |= GTK_SOURCE_COMPLETION_MODEL_FILTERED;
-
- if (count)
- {
- ret |= GTK_SOURCE_COMPLETION_MODEL_COUNT;
- }
- }
-
- return ret;
-}
-
static void
row_activated_cb (GtkTreeView *tree_view,
GtkTreePath *path,
@@ -1038,20 +975,6 @@ view_key_press_event_cb (GtkSourceView *view,
}
static void
-refilter_proposals_with_word (GtkSourceCompletion *completion)
-{
- GtkTextView *view;
-
- g_free (completion->priv->filter_criteria);
- view = GTK_TEXT_VIEW (completion->priv->view);
-
- completion->priv->filter_criteria =
- gtk_source_completion_utils_get_word (GTK_SOURCE_BUFFER (gtk_text_view_get_buffer (view)));
-
- do_refilter (completion, TRUE);
-}
-
-static void
update_typing_offsets (GtkSourceCompletion *completion)
{
GtkTextBuffer *buffer;
@@ -1106,10 +1029,9 @@ show_auto_completion (GtkSourceCompletion *completion)
&end);
/* Check minimum amount of characters */
- if (g_utf8_strlen (word, -1) >= completion->priv->minimum_auto_complete_length)
+ if (g_utf8_strlen (word, -1) >= 1)
{
- gtk_source_completion_show (completion, providers,
- word, &start);
+ gtk_source_completion_show (completion, providers, &start);
completion->priv->is_interactive = TRUE;
}
@@ -1149,14 +1071,14 @@ buffer_delete_range_cb (GtkTextBuffer *buffer,
{
if (gtk_text_iter_get_line (start) != completion->priv->typing_line ||
(completion->priv->is_interactive &&
- gtk_text_iter_get_line_offset (start) < completion->priv->typing_line_offset +
- completion->priv->minimum_auto_complete_length))
+ gtk_text_iter_get_line_offset (start) < completion->priv->typing_line_offset + 1))
{
gtk_source_completion_hide (completion);
}
else
{
- refilter_proposals_with_word (completion);
+ //FIXME create the context, remove items, and add new ones
+ //refilter_proposals_with_word (completion);
}
}
@@ -1191,7 +1113,8 @@ buffer_insert_text_cb (GtkTextBuffer *buffer,
}
else
{
- refilter_proposals_with_word (completion);
+ //FIXME create the context, remove items, and add new ones
+ //refilter_proposals_with_word (completion);
}
}
}
@@ -1288,8 +1211,6 @@ gtk_source_completion_finalize (GObject *object)
g_hash_table_destroy (completion->priv->capability_map);
g_list_free (completion->priv->providers);
- g_free (completion->priv->filter_criteria);
-
G_OBJECT_CLASS (gtk_source_completion_parent_class)->finalize (object);
}
@@ -1325,9 +1246,6 @@ gtk_source_completion_get_property (GObject *object,
case PROP_AUTO_COMPLETE_DELAY:
g_value_set_uint (value, completion->priv->auto_complete_delay);
break;
- case PROP_MINIMUM_AUTO_COMPLETE_LENGTH:
- g_value_set_uint (value, completion->priv->minimum_auto_complete_length);
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1374,9 +1292,6 @@ gtk_source_completion_set_property (GObject *object,
case PROP_AUTO_COMPLETE_DELAY:
completion->priv->auto_complete_delay = g_value_get_uint (value);
break;
- case PROP_MINIMUM_AUTO_COMPLETE_LENGTH:
- completion->priv->minimum_auto_complete_length = g_value_get_uint (value);
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1395,9 +1310,6 @@ gtk_source_completion_hide_default (GtkSourceCompletion *completion)
g_list_free (completion->priv->active_providers);
completion->priv->active_providers = NULL;
- g_free (completion->priv->filter_criteria);
- completion->priv->filter_criteria = NULL;
-
completion->priv->info_visible = GTK_WIDGET_VISIBLE (completion->priv->info_window);
gtk_widget_hide (completion->priv->info_window);
@@ -1520,21 +1432,6 @@ gtk_source_completion_class_init (GtkSourceCompletionClass *klass)
G_MAXUINT,
250,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
- /**
- * GtkSourceCompletion:min-len:
- *
- * The minimum word length to initiate interactive completion.
- *
- */
- g_object_class_install_property (object_class,
- PROP_MINIMUM_AUTO_COMPLETE_LENGTH,
- g_param_spec_uint ("minimum-auto-complete-length",
- _("Minimum Auto Complete Length"),
- _("Minimum word length to initiate interactive completion"),
- 0,
- G_MAXUINT,
- 3,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
* GtkSourceCompletion::show:
@@ -1735,9 +1632,11 @@ on_row_inserted_cb (GtkTreeModel *tree_model,
g_signal_emit (completion, signals[SHOW], 0);
}
- gtk_tree_view_scroll_to_point (GTK_TREE_VIEW (completion->priv->tree_view_proposals),
+ /* FIXME this fixes the header visibility but produces the problem of
+ * scrolling */
+ /*gtk_tree_view_scroll_to_point (GTK_TREE_VIEW (completion->priv->tree_view_proposals),
0,
- 0);
+ 0);*/
}
static void
@@ -1753,17 +1652,6 @@ on_items_added_cb (GtkSourceCompletionModel *model,
}
}
-static void
-on_filter_done_cb (GtkSourceCompletionModel *model,
- GtkSourceCompletion *completion)
-{
- /* Check if there are any completions */
- if (gtk_source_completion_model_is_empty (model, FALSE))
- {
- gtk_source_completion_hide (completion);
- }
-}
-
static GtkWidget *
initialize_proposals_ui (GtkSourceCompletion *completion)
{
@@ -1773,20 +1661,13 @@ initialize_proposals_ui (GtkSourceCompletion *completion)
GtkWidget *scrolled_window;
GtkWidget *tree_view;
- completion->priv->model_proposals =
- gtk_source_completion_model_new ((GtkSourceCompletionModelVisibleFunc)proposals_filter_func,
- completion);
-
+ completion->priv->model_proposals = gtk_source_completion_model_new ();
+ g_warning ("1");
g_signal_connect (completion->priv->model_proposals,
"items-added",
G_CALLBACK (on_items_added_cb),
completion);
- g_signal_connect (completion->priv->model_proposals,
- "filter-done",
- G_CALLBACK (on_filter_done_cb),
- completion);
-
gtk_source_completion_model_set_show_headers (completion->priv->model_proposals,
completion->priv->show_headers);
tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (completion->priv->model_proposals));
@@ -1851,7 +1732,7 @@ initialize_proposals_ui (GtkSourceCompletion *completion)
gtk_container_add (GTK_CONTAINER (scrolled_window),
tree_view);
-
+ g_warning ("2");
return scrolled_window;
}
@@ -2002,7 +1883,6 @@ gtk_source_completion_init (GtkSourceCompletion *completion)
g_str_equal,
(GDestroyNotify)g_free,
(GDestroyNotify)g_list_free);
-
initialize_ui (completion);
}
@@ -2015,7 +1895,7 @@ add_proposals (GtkSourceCompletion *completion,
GList *item;
GtkSourceCompletionProposal *proposal;
GtkTextIter iter;
-
+g_warning ("3");
get_iter_at_insert (completion, &iter);
proposals = gtk_source_completion_provider_get_proposals (provider, &iter);
@@ -2035,7 +1915,7 @@ add_proposals (GtkSourceCompletion *completion,
}
gtk_source_completion_model_run_add_proposals (completion->priv->model_proposals);
-
+ g_warning ("4");
g_list_free (proposals);
}
@@ -2111,7 +1991,6 @@ remove_capabilities (GtkSourceCompletion *completion,
* gtk_source_completion_show:
* @completion: A #GtkSourceCompletion
* @providers: A list of #GtkSourceCompletionProvider
- * @criteria: The filter criteria
* @place: The place where you want to position the popup window, or %NULL
*
* Shows the show completion window. If @place if %NULL the popup window will
@@ -2122,7 +2001,6 @@ remove_capabilities (GtkSourceCompletion *completion,
gboolean
gtk_source_completion_show (GtkSourceCompletion *completion,
GList *providers,
- const gchar *criteria,
GtkTextIter *place)
{
GList *l;
@@ -2138,7 +2016,6 @@ gtk_source_completion_show (GtkSourceCompletion *completion,
return FALSE;
}
- completion->priv->filter_criteria = g_strdup (criteria);
update_typing_offsets (completion);
if (place == NULL)
@@ -2166,11 +2043,11 @@ gtk_source_completion_show (GtkSourceCompletion *completion,
add_proposals (completion, GTK_SOURCE_COMPLETION_PROVIDER (l->data));
}
}
-
+g_warning ("5");
completion->priv->active_providers =
g_list_reverse (completion->priv->active_providers);
- completion->priv->is_interactive = FALSE;
+ completion->priv->is_interactive = FALSE;
update_selection_label (completion);
diff --git a/gtksourceview/gtksourcecompletion.h b/gtksourceview/gtksourcecompletion.h
index 8c3b638..bd439c4 100644
--- a/gtksourceview/gtksourcecompletion.h
+++ b/gtksourceview/gtksourcecompletion.h
@@ -88,7 +88,6 @@ GList *gtk_source_completion_get_providers (GtkSourceCompletion *compl
const gchar *capabilities);
gboolean gtk_source_completion_show (GtkSourceCompletion *completion,
GList *providers,
- const gchar *criteria,
GtkTextIter *place);
void gtk_source_completion_hide (GtkSourceCompletion *completion);
diff --git a/gtksourceview/gtksourcecompletionmodel.c b/gtksourceview/gtksourcecompletionmodel.c
index 4c90768..f53447c 100644
--- a/gtksourceview/gtksourcecompletionmodel.c
+++ b/gtksourceview/gtksourcecompletionmodel.c
@@ -23,7 +23,6 @@
#include "gtksourcecompletionmodel.h"
#define ITEMS_PER_CALLBACK 500
-#define FILTER_PER_CALLBACK 1000
#define GTK_SOURCE_COMPLETION_MODEL_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE((object), GTK_TYPE_SOURCE_COMPLETION_MODEL, GtkSourceCompletionModelPrivate))
@@ -34,7 +33,6 @@ typedef struct
GtkSourceCompletionProvider *provider;
GtkSourceCompletionProposal *proposal;
- GtkSourceCompletionModelFilterFlag filtered;
gulong changed_id;
} ProposalNode;
@@ -54,25 +52,16 @@ struct _GtkSourceCompletionModelPrivate
guint num;
GHashTable *num_per_provider;
- GtkSourceCompletionModelVisibleFunc filter;
- gpointer filter_data;
-
gboolean show_headers;
guint idle_id;
GQueue *item_queue;
-
- guint idle_filter_id;
-
- GList *next_filter_item;
- GtkTreeRowReference *next_filter_path;
};
/* Signals */
enum
{
ITEMS_ADDED,
- FILTER_DONE,
LAST_SIGNAL
};
@@ -106,10 +95,10 @@ path_from_list (GtkSourceCompletionModel *model,
{
node = (ProposalNode *)ptr->data;
- if (!node->filtered)
- {
+ /*if (!node->filtered)
+ {*/
++index;
- }
+ //}
ptr = g_list_next (ptr);
}
@@ -165,20 +154,7 @@ get_iter_from_index (GtkSourceCompletionModel *model,
item = model->priv->store;
- while (item != NULL && index >= 0)
- {
- node = (ProposalNode *)item->data;
-
- if (!node->filtered)
- {
- --index;
- }
-
- if (index != -1)
- {
- item = g_list_next (item);
- }
- }
+ item = g_list_nth (item, index);
if (item != NULL)
{
@@ -271,7 +247,7 @@ tree_model_get_value (GtkTreeModel *tree_model,
break;
}
}
-
+/*
static gboolean
find_first_not_filtered (GList *item,
GtkTreeIter *iter)
@@ -299,6 +275,23 @@ find_first_not_filtered (GList *item,
{
return FALSE;
}
+}*/
+
+static gboolean
+get_next_element (GList *item,
+ GtkTreeIter *iter)
+{
+ item = g_list_next (item);
+
+ if (item != NULL)
+ {
+ iter->user_data = item;
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
}
static gboolean
@@ -310,9 +303,7 @@ tree_model_iter_next (GtkTreeModel *tree_model,
g_return_val_if_fail (GTK_IS_SOURCE_COMPLETION_MODEL (tree_model), FALSE);
g_return_val_if_fail (iter != NULL, FALSE);
- item = g_list_next ((GList *)iter->user_data);
-
- return find_first_not_filtered (item, iter);
+ return get_next_element ((GList *)iter->user_data, iter);
}
static gboolean
@@ -324,14 +315,7 @@ tree_model_iter_children (GtkTreeModel *tree_model,
g_return_val_if_fail (iter != NULL, FALSE);
g_return_val_if_fail (parent == NULL || parent->user_data != NULL, FALSE);
- if (parent != NULL)
- {
- return FALSE;
- }
- else
- {
- return find_first_not_filtered (GTK_SOURCE_COMPLETION_MODEL (tree_model)->priv->store, iter);
- }
+ return get_next_element (GTK_SOURCE_COMPLETION_MODEL (tree_model)->priv->store, iter);
}
static gboolean
@@ -468,30 +452,11 @@ cancel_append (GtkSourceCompletionModel *model)
}
static void
-cancel_refilter (GtkSourceCompletionModel *model)
-{
- if (model->priv->next_filter_path != NULL)
- {
- gtk_tree_row_reference_free (model->priv->next_filter_path);
- model->priv->next_filter_path = NULL;
- }
-
- if (model->priv->idle_filter_id != 0)
- {
- g_source_remove (model->priv->idle_filter_id);
- model->priv->idle_filter_id = 0;
-
- g_signal_emit (model, signals[FILTER_DONE], 0);
- }
-}
-
-static void
gtk_source_completion_model_dispose (GObject *object)
{
GtkSourceCompletionModel *model = GTK_SOURCE_COMPLETION_MODEL (object);
cancel_append (model);
- cancel_refilter (model);
if (model->priv->item_queue != NULL)
{
@@ -538,18 +503,6 @@ gtk_source_completion_model_class_init (GtkSourceCompletionModelClass *klass)
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0);
-
- signals[FILTER_DONE] =
- g_signal_new ("filter-done",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (GtkSourceCompletionModelClass, filter_done),
- NULL,
- NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE,
- 0);
-
}
static void
@@ -581,75 +534,43 @@ gtk_source_completion_model_init (GtkSourceCompletionModel *self)
static void
num_inc (GtkSourceCompletionModel *model,
- GtkSourceCompletionProvider *provider,
- gboolean inc_local,
- gboolean inc_global)
+ GtkSourceCompletionProvider *provider)
{
HeaderInfo *info;
info = g_hash_table_lookup (model->priv->num_per_provider, provider);
- if (inc_global)
- {
+ /*if (inc_global)
+ {*/
++model->priv->num;
if (info != NULL)
{
++info->visible_items;
+ ++(info->num);
}
- }
-
- if (inc_local && info != NULL)
- {
- ++(info->num);
- }
+ //}
}
static void
num_dec (GtkSourceCompletionModel *model,
- GtkSourceCompletionProvider *provider,
- gboolean dec_local,
- gboolean dec_global)
+ GtkSourceCompletionProvider *provider)
{
HeaderInfo *info;
info = g_hash_table_lookup (model->priv->num_per_provider, provider);
- if (dec_global)
+ --model->priv->num;
+
+ if (info != NULL)
{
- --model->priv->num;
+ --info->visible_items;
- if (info != NULL)
+ if (info->num > 0)
{
- --info->visible_items;
+ --(info->num);
}
}
-
- if (dec_local && info != NULL && info->num > 0)
- {
- --(info->num);
- }
-}
-
-static GtkSourceCompletionModelFilterFlag
-node_update_filter_state (GtkSourceCompletionModel *model,
- ProposalNode *node)
-{
- GtkSourceCompletionModelFilterFlag ret;
-
- if (node->proposal == NULL)
- {
- return node->filtered;
- }
-
- ret = node->filtered;
-
- node->filtered = model->priv->filter (model,
- node->provider,
- node->proposal,
- model->priv->filter_data);
-
- return ret;
}
static void
@@ -682,15 +603,15 @@ update_show_headers (GtkSourceCompletionModel *model,
node = (ProposalNode *)info->item->data;
++num;
- if (show && node->filtered)
+ /*if (show && node->filtered)
{
items = g_list_append (items, info);
}
if (!show && !node->filtered)
- {
+ {*/
items = g_list_append (items, info);
- }
+ //}
}
}
@@ -701,10 +622,9 @@ update_show_headers (GtkSourceCompletionModel *model,
info = (HeaderInfo *)item->data;
node = (ProposalNode *)info->item->data;
- node->filtered = GTK_SOURCE_COMPLETION_MODEL_NONE;
iter.user_data = info->item;
- num_inc (model, node->provider, FALSE, TRUE);
+ num_inc (model, node->provider);
path = path_from_list (model, info->item);
gtk_tree_model_row_inserted (GTK_TREE_MODEL (model),
@@ -719,9 +639,8 @@ update_show_headers (GtkSourceCompletionModel *model,
info = (HeaderInfo *)items->data;
node = (ProposalNode *)info->item->data;
- num_dec (model, node->provider, FALSE, TRUE);
+ num_dec (model, node->provider);
- node->filtered = GTK_SOURCE_COMPLETION_MODEL_FILTERED;
path = path_from_list (model, info->item);
gtk_tree_model_row_deleted (GTK_TREE_MODEL (model), path);
gtk_tree_path_free (path);
@@ -729,7 +648,7 @@ update_show_headers (GtkSourceCompletionModel *model,
g_list_free (items);
}
-
+/*
static void
refilter_headers (GtkSourceCompletionModel *model)
{
@@ -763,18 +682,12 @@ refilter_headers (GtkSourceCompletionModel *model)
return;
}
}
-
+*/
/* Public */
GtkSourceCompletionModel*
-gtk_source_completion_model_new (GtkSourceCompletionModelVisibleFunc func,
- gpointer userdata)
+gtk_source_completion_model_new (void)
{
- GtkSourceCompletionModel *model = g_object_new (GTK_TYPE_SOURCE_COMPLETION_MODEL, NULL);
-
- model->priv->filter = func;
- model->priv->filter_data = userdata;
-
- return model;
+ return g_object_new (GTK_TYPE_SOURCE_COMPLETION_MODEL, NULL);
}
static void
@@ -805,8 +718,8 @@ on_proposal_changed (GtkSourceCompletionProposal *proposal,
ProposalNode *node = (ProposalNode *)item->data;
GtkTreePath *path;
- if (!node->filtered)
- {
+ /*if (!node->filtered)
+ {*/
iter.user_data = node;
path = path_from_list (node->model, item);
@@ -814,7 +727,7 @@ on_proposal_changed (GtkSourceCompletionProposal *proposal,
path,
&iter);
gtk_tree_path_free (path);
- }
+ //}
}
static gboolean
@@ -843,12 +756,11 @@ idle_append (gpointer data)
}
/* Check if it is a header */
- if (g_hash_table_lookup (model->priv->num_per_provider, node->provider) == NULL)
+ /*if (g_hash_table_lookup (model->priv->num_per_provider, node->provider) == NULL)
{
header = g_slice_new (ProposalNode);
header->provider = g_object_ref (node->provider);
header->proposal = NULL;
- header->filtered = GTK_SOURCE_COMPLETION_MODEL_FILTERED;
append_list (model, header);
@@ -858,9 +770,9 @@ idle_append (gpointer data)
info->visible_items = 0;
g_hash_table_insert (model->priv->num_per_provider, node->provider, info);
- }
+ }*/
- node_update_filter_state (model, node);
+ //node_update_filter_state (model, node);
append_list (model, node);
@@ -868,27 +780,25 @@ idle_append (gpointer data)
iter.user_data = item;
num_inc (model,
- node->provider,
- !node->filtered || (node->filtered & GTK_SOURCE_COMPLETION_MODEL_COUNT),
- !node->filtered);
+ node->provider);
- if (!node->filtered)
- {
+ /*if (!node->filtered)
+ {*/
path = path_from_list (model, item);
gtk_tree_model_row_inserted (GTK_TREE_MODEL (model), path, &iter);
gtk_tree_path_free (path);
if (header != NULL)
{
- update_show_headers (model, TRUE);
+ //update_show_headers (model, TRUE);
}
- }
+ //}
node->changed_id = g_signal_connect (node->proposal,
"changed",
G_CALLBACK (on_proposal_changed),
item);
-
+
i++;
}
@@ -932,13 +842,11 @@ gtk_source_completion_model_clear (GtkSourceCompletionModel *model)
GtkTreePath *path;
ProposalNode *node;
GList *list;
- GtkSourceCompletionModelFilterFlag filtered;
g_return_if_fail (GTK_IS_SOURCE_COMPLETION_MODEL (model));
/* Clear the queue of missing elements to append */
cancel_append (model);
- cancel_refilter (model);
path = gtk_tree_path_new_first ();
list = model->priv->store;
@@ -946,7 +854,7 @@ gtk_source_completion_model_clear (GtkSourceCompletionModel *model)
while (model->priv->store)
{
node = (ProposalNode *)model->priv->store->data;
- filtered = node->filtered;
+ //filtered = node->filtered;
free_node (node);
@@ -958,14 +866,12 @@ gtk_source_completion_model_clear (GtkSourceCompletionModel *model)
}
num_dec (model,
- node->provider,
- (!filtered || (filtered & GTK_SOURCE_COMPLETION_MODEL_COUNT)) && node->proposal != NULL,
- !filtered);
+ node->provider);
- if (!filtered)
- {
+ /*if (!filtered)
+ {*/
gtk_tree_model_row_deleted (GTK_TREE_MODEL (model), path);
- }
+ //}
}
g_list_free (list);
@@ -973,7 +879,7 @@ gtk_source_completion_model_clear (GtkSourceCompletionModel *model)
g_hash_table_remove_all (model->priv->num_per_provider);
}
-
+#if 0
static gboolean
idle_refilter (GtkSourceCompletionModel *model)
{
@@ -1061,6 +967,7 @@ idle_refilter (GtkSourceCompletionModel *model)
return TRUE;
}
+
void
gtk_source_completion_model_refilter (GtkSourceCompletionModel *model)
{
@@ -1077,7 +984,7 @@ gtk_source_completion_model_refilter (GtkSourceCompletionModel *model)
model);
}
}
-
+#endif
gboolean
gtk_source_completion_model_is_empty (GtkSourceCompletionModel *model,
gboolean invisible)
@@ -1125,7 +1032,7 @@ gtk_source_completion_model_set_show_headers (GtkSourceCompletionModel *model,
if (model->priv->show_headers != show_headers)
{
model->priv->show_headers = show_headers;
- refilter_headers (model);
+ //refilter_headers (model);
}
}
@@ -1152,10 +1059,10 @@ gtk_source_completion_model_iter_previous (GtkSourceCompletionModel *model,
item = iter->user_data;
- do
- {
+ /*do
+ {*/
item = g_list_previous (item);
- } while (item && ((ProposalNode *)item->data)->filtered);
+ //} while (item && ((ProposalNode *)item->data)->filtered);
if (item != NULL)
@@ -1181,11 +1088,11 @@ gtk_source_completion_model_iter_last (GtkSourceCompletionModel *model,
item = model->priv->last;
iter->user_data = item;
- if (!((ProposalNode *)item->data)->filtered)
+ /*if (!((ProposalNode *)item->data)->filtered)
{
return TRUE;
}
- else if (item != NULL)
+ else*/ if (item != NULL)
{
return gtk_source_completion_model_iter_previous (model, iter);
}
diff --git a/gtksourceview/gtksourcecompletionmodel.h b/gtksourceview/gtksourcecompletionmodel.h
index bb112ae..05c2039 100644
--- a/gtksourceview/gtksourcecompletionmodel.h
+++ b/gtksourceview/gtksourcecompletionmodel.h
@@ -54,13 +54,6 @@ struct _GtkSourceCompletionModelClass {
void (*filter_done) (GtkSourceCompletionModel *model);
};
-typedef enum
-{
- GTK_SOURCE_COMPLETION_MODEL_NONE,
- GTK_SOURCE_COMPLETION_MODEL_FILTERED = 1 << 0,
- GTK_SOURCE_COMPLETION_MODEL_COUNT = 1 << 1
-} GtkSourceCompletionModelFilterFlag;
-
enum
{
GTK_SOURCE_COMPLETION_MODEL_COLUMN_LABEL,
@@ -71,16 +64,10 @@ enum
GTK_SOURCE_COMPLETION_MODEL_N_COLUMNS
};
-typedef GtkSourceCompletionModelFilterFlag (* GtkSourceCompletionModelVisibleFunc) (GtkSourceCompletionModel *model,
- GtkSourceCompletionProvider *provider,
- GtkSourceCompletionProposal *proposal,
- gpointer userdata);
-
GType gtk_source_completion_model_get_type (void) G_GNUC_CONST;
GtkSourceCompletionModel *
- gtk_source_completion_model_new (GtkSourceCompletionModelVisibleFunc func,
- gpointer userdata);
+ gtk_source_completion_model_new (void);
void gtk_source_completion_model_run_add_proposals (GtkSourceCompletionModel *model);
diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c
index 4dbb012..41fbbde 100644
--- a/gtksourceview/gtksourceview.c
+++ b/gtksourceview/gtksourceview.c
@@ -1021,7 +1021,7 @@ gtk_source_view_show_completion_real (GtkSourceView *view)
word = gtk_source_completion_utils_get_word (
GTK_SOURCE_BUFFER (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view))));
- gtk_source_completion_show (completion, providers, word, NULL);
+ gtk_source_completion_show (completion, providers, NULL);
g_free (word);
g_list_foreach (providers, (GFunc)g_object_unref, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]