summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Hallendal <micke@codefactory.se>2002-06-01 15:12:25 +0000
committerMikael Hallendal <hallski@src.gnome.org>2002-06-01 15:12:25 +0000
commite2052b715c32872569e8ef0988dfe85d1c457d73 (patch)
treecc663283f92467fdf3d06cb355ffdd41f7e8ec98
parent46aacccc08693f31c99ed5b4d622d6149ab26946 (diff)
downloadyelp-e2052b715c32872569e8ef0988dfe85d1c457d73.tar.gz
Fixes #83156
2002-06-01 Mikael Hallendal <micke@codefactory.se> * Fixes #83156 * src/yelp-index-model.c: (yim_finalize): free the index list. (yelp_index_model_set_words): copy the list and don't sort. * src/yelp-base.c (yelp_base_new): sort the index list here.
-rw-r--r--ChangeLog8
-rw-r--r--src/yelp-base.c2
-rw-r--r--src/yelp-index-model.c32
-rw-r--r--src/yelp-view-index.c12
4 files changed, 21 insertions, 33 deletions
diff --git a/ChangeLog b/ChangeLog
index 0b46710a..4f33127e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2002-06-01 Mikael Hallendal <micke@codefactory.se>
+ * Fixes #83156
+
+ * src/yelp-index-model.c:
+ (yim_finalize): free the index list.
+ (yelp_index_model_set_words): copy the list and don't sort.
+
+ * src/yelp-base.c (yelp_base_new): sort the index list here.
+
* src/yelp-view-toc.c (toc_page_start): removed all of the CSS
used to get it to not render huge fonts, now handled by
Gtkhtml2.
diff --git a/src/yelp-base.c b/src/yelp-base.c
index f236e75f..f9d8c36c 100644
--- a/src/yelp-base.c
+++ b/src/yelp-base.c
@@ -179,6 +179,8 @@ yelp_base_new (void)
yelp_man_init (base->priv->toc_tree, &priv->index);
yelp_info_init (base->priv->toc_tree, &priv->index);
+ priv->index = g_list_sort (priv->index, yelp_section_compare);
+
return base;
}
diff --git a/src/yelp-index-model.c b/src/yelp-index-model.c
index 6f06bfbe..7cdcc4ee 100644
--- a/src/yelp-index-model.c
+++ b/src/yelp-index-model.c
@@ -128,7 +128,6 @@ yim_class_init (YelpIndexModelClass *class)
static void
yim_tree_model_init (GtkTreeModelIface *iface)
{
-/* iface->get_flags = yim_get_flags; */
iface->get_n_columns = yim_get_n_columns;
iface->get_column_type = yim_get_column_type;
iface->get_iter = yim_get_iter;
@@ -166,7 +165,7 @@ yim_finalize (GObject *object)
if (model->priv) {
if (model->priv->index_words) {
- /* FIXME: Clean up the list */
+ g_list_free (model->priv->index_words);
}
g_free (model->priv);
@@ -406,34 +405,12 @@ void
yelp_index_model_set_words (YelpIndexModel *model, GList *index_words)
{
YelpIndexModelPriv *priv;
-#if 0
- GList *node;
- gint i = 0;
- GtkTreePath *path;
- GtkTreeIter iter;
-#endif
+
g_return_if_fail (YELP_IS_INDEX_MODEL (model));
priv = model->priv;
- priv->original_list = g_list_sort (index_words, yelp_section_compare);
-
-#if 0
- priv->index_words = priv->original_list;
-
- for (node = priv->index_words; node; node = node->next) {
- path = gtk_tree_path_new ();
-
- gtk_tree_path_append_index (path, i);
-
- yim_get_iter (GTK_TREE_MODEL (model), &iter, path);
-
- gtk_tree_model_row_inserted (GTK_TREE_MODEL (model),
- path, &iter);
-
- gtk_tree_path_free (path);
- }
-#endif
+ priv->original_list = g_list_copy (index_words);
}
void
@@ -460,9 +437,6 @@ yelp_index_model_filter (YelpIndexModel *model, const gchar *string)
old_length = g_list_length (priv->index_words);
if (!strcmp ("", string)) {
-#if 0
- new_list = priv->original_list;
-#endif
new_list = NULL;
} else {
for (node = priv->original_list; node; node = node->next) {
diff --git a/src/yelp-view-index.c b/src/yelp-view-index.c
index 0bfac230..bd1e70ab 100644
--- a/src/yelp-view-index.c
+++ b/src/yelp-view-index.c
@@ -199,8 +199,6 @@ yvi_html_uri_selected_cb (YelpHtml *html,
d(g_print ("Index View: uri selected: %s\n",
yelp_uri_to_string (uri)));
- g_print ("INDEX: uri_selected_cb\n");
-
g_signal_emit (view, signals[URI_SELECTED], 0, uri, handled);
}
@@ -213,7 +211,9 @@ yvi_entry_changed_cb (GtkEntry *entry, YelpViewIndex *view)
g_return_if_fail (YELP_IS_VIEW_INDEX (view));
priv = view->priv;
-
+
+ d(g_print ("Entry changed\n"));
+
if (!priv->idle_filter) {
priv->idle_filter =
g_idle_add ((GSourceFunc) yvi_filter_idle, view);
@@ -299,6 +299,8 @@ yvi_filter_idle (YelpViewIndex *view)
priv = view->priv;
+ d(g_print ("Filter idle\n"));
+
str = (gchar *) gtk_entry_get_text (GTK_ENTRY (priv->entry));
yelp_index_model_filter (view->priv->model, str);
@@ -406,7 +408,9 @@ yelp_view_index_new (GList *index)
gtk_paned_add1 (GTK_PANED (view), box);
gtk_paned_add2 (GTK_PANED (view), frame);
gtk_paned_set_position (GTK_PANED (view), 250);
-
+
+ d(g_print ("List length: %d\n", g_list_length (index)));
+
g_completion_add_items (priv->completion, index);
yelp_index_model_set_words (priv->model, index);