[gnome-builder/wip/uajain/word-completion: 2/2] word-completion-provider: Remove offset computation logic
- From: Umang Jain <uajain src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/uajain/word-completion: 2/2] word-completion-provider: Remove offset computation logic
- Date: Thu, 31 Aug 2017 00:00:09 +0000 (UTC)
commit 0afc9b4797f615073e518ce651f99b8ec3bbf33b
Author: Umang Jain <mailumangjain gmail com>
Date: Thu Aug 31 05:22:17 2017 +0530
word-completion-provider: Remove offset computation logic
The offset computation logic has been moved to
ide_word_completion_results_compare
libide/sourceview/ide-word-completion-provider.c | 41 ++++++---------------
1 files changed, 12 insertions(+), 29 deletions(-)
---
diff --git a/libide/sourceview/ide-word-completion-provider.c
b/libide/sourceview/ide-word-completion-provider.c
index 839a689..287ad26 100644
--- a/libide/sourceview/ide-word-completion-provider.c
+++ b/libide/sourceview/ide-word-completion-provider.c
@@ -172,23 +172,11 @@ backward_search_finished (GtkSourceSearchContext *search_context,
{
gint offset;
- offset = gtk_text_iter_get_offset (&insert_iter) - gtk_text_iter_get_offset (&match_start);
+ offset = gtk_text_iter_get_offset (&match_start);
/* Scan must have wrapped around giving offset as negative */
- if (offset < 0)
- {
- GtkTextIter end_iter;
-
- gtk_text_buffer_get_end_iter (buffer, &end_iter);
-
- offset = gtk_text_iter_get_offset (&end_iter) -
- gtk_text_iter_get_offset (&match_start) +
- gtk_text_iter_get_offset (&insert_iter);
-
+ if ((gtk_text_iter_get_offset (&insert_iter) - offset) < 0)
priv->wrap_around_flag = TRUE;
- }
-
- g_assert (offset >= 0);
proposal = ide_word_completion_item_new (text, offset, NULL);
ide_completion_results_take_proposal (IDE_COMPLETION_RESULTS (priv->results),
@@ -280,23 +268,11 @@ forward_search_finished (GtkSourceSearchContext *search_context,
{
gint offset;
- offset = gtk_text_iter_get_offset (&match_start) - gtk_text_iter_get_offset (&insert_iter);
+ offset = gtk_text_iter_get_offset (&match_start);
/* Scan must have wrapped around giving offset as negative */
- if (offset < 0)
- {
- GtkTextIter end_iter;
-
- gtk_text_buffer_get_end_iter (buffer, &end_iter);
-
- offset = gtk_text_iter_get_offset (&end_iter) -
- gtk_text_iter_get_offset (&insert_iter) +
- gtk_text_iter_get_offset (&match_start);
-
+ if ((offset - gtk_text_iter_get_offset (&insert_iter)) < 0)
priv->wrap_around_flag = TRUE;
- }
-
- g_assert (offset > 0);
proposal = ide_word_completion_item_new (text, offset, NULL);
ide_completion_results_take_proposal (IDE_COMPLETION_RESULTS (priv->results),
@@ -386,6 +362,13 @@ ide_word_completion_provider_populate (GtkSourceCompletionProvider *provider,
{
if (ide_completion_results_replay (IDE_COMPLETION_RESULTS (priv->results), priv->current_word))
{
+ GValue *value;
+
+ value = g_new0(GValue, 1);
+ g_value_init (value, G_TYPE_INT);
+ g_value_set_int (value, priv->direction);
+ g_object_set_property (G_OBJECT (priv->results), "sort-direction", value);
+
ide_completion_results_present (IDE_COMPLETION_RESULTS (priv->results), provider, context);
IDE_EXIT;
}
@@ -409,7 +392,7 @@ ide_word_completion_provider_populate (GtkSourceCompletionProvider *provider,
priv->cancel_id = g_signal_connect_swapped (context, "cancelled", G_CALLBACK (completion_cancelled_cb),
self);
priv->wrap_around_flag = FALSE;
- priv->results = ide_word_completion_results_new (priv->current_word);
+ priv->results = ide_word_completion_results_new (priv->current_word, priv->direction);
priv->all_proposals = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]