View | Details | Raw Unified | Return to bug 349604
Collapse All | Expand All

(-)libslab/bookmark-agent.c (-13 / +32 lines)
Lines 590-595 Link Here
590
	gint       rank_corr       = -1;
590
	gint       rank_corr       = -1;
591
	gboolean   needs_update    = FALSE;
591
	gboolean   needs_update    = FALSE;
592
	gboolean   store_corrupted = FALSE;
592
	gboolean   store_corrupted = FALSE;
593
	gchar     *title           = NULL;
593
594
594
	gint i;
595
	gint i;
595
596
Lines 625-633 Link Here
625
	if (priv->n_items != n_uris)
626
	if (priv->n_items != n_uris)
626
		needs_update = TRUE;
627
		needs_update = TRUE;
627
628
628
	for (i = 0; ! needs_update && uris_ordered && uris_ordered [i]; ++i)
629
	for (i = 0; ! needs_update && uris_ordered && uris_ordered [i]; ++i) {
629
		if (strcmp (priv->items [i]->uri, uris_ordered [i]))
630
		if (priv->type == BOOKMARK_STORE_USER_DIRS) {
631
			title = g_bookmark_file_get_title (priv->store, uris_ordered [i], NULL);
632
			if (title != NULL && strcmp (priv->items [i]->title, title))
633
				needs_update = TRUE;
634
			g_free (title);
635
		}
636
		else if (strcmp (priv->items [i]->uri, uris_ordered [i]))
630
			needs_update = TRUE;
637
			needs_update = TRUE;
638
	}
631
639
632
	if (needs_update) {
640
	if (needs_update) {
633
		for (i = 0; priv->items && priv->items [i]; ++i)
641
		for (i = 0; priv->items && priv->items [i]; ++i)
Lines 777-789 Link Here
777
785
778
	gchar **uris;
786
	gchar **uris;
779
	gchar **groups;
787
	gchar **groups;
780
	gchar **folders = NULL;
788
	gchar **bookmarks = NULL;
789
	
790
	gchar  *buf, *label, *uri;
781
791
782
	gchar  *buf;
792
	gint i, j, bookmark_len;
783
793
784
	gint i, j;
785
786
787
	load_xbel_store (this);
794
	load_xbel_store (this);
788
795
789
	uris = g_bookmark_file_get_uris (priv->store, NULL);
796
	uris = g_bookmark_file_get_uris (priv->store, NULL);
Lines 807-824 Link Here
807
	g_file_get_contents (priv->gtk_store_path, & buf, NULL, NULL);
814
	g_file_get_contents (priv->gtk_store_path, & buf, NULL, NULL);
808
815
809
	if (buf) {
816
	if (buf) {
810
		folders = g_strsplit (buf, "\n", -1);
817
		bookmarks = g_strsplit (buf, "\n", -1);
811
		g_free (buf);
818
		g_free (buf);
812
	}
819
	}
813
820
814
	for (i = 0; folders && folders [i]; ++i) {
821
	for (i = 0; bookmarks && bookmarks [i]; ++i) {
815
		if (strlen (folders [i]) > 0) {
822
		bookmark_len = strlen (bookmarks [i]);
816
			g_bookmark_file_add_group (priv->store, folders [i], "gtk-bookmarks");
823
		if (bookmark_len > 0) {
817
			priv->create_item (this, folders [i]);
824
			label = strstr (bookmarks[i], " ");
825
			if (label != NULL)
826
				uri = g_strndup (bookmarks [i], bookmark_len - strlen (label));
827
			else
828
				uri = bookmarks [i];
829
			g_bookmark_file_add_group (priv->store, uri, "gtk-bookmarks");
830
			priv->create_item (this, uri);
831
			if (label != NULL) {
832
				label++;
833
				if (strlen (label) > 0)
834
					g_bookmark_file_set_title (priv->store, uri, label);
835
				g_free (uri);
836
			}
818
		}
837
		}
819
	}
838
	}
820
839
821
	g_strfreev (folders);
840
	g_strfreev (bookmarks);
822
}
841
}
823
842
824
static void
843
static void
(-)libslab/ChangeLog (+4 lines)
Lines 1-3 Link Here
1
2007-12-19  Ivan N. Zlatev  <contact@i-nz.net>
2
3
	* bookmark-agent.c: Handle labels in .gtk-bookmarks
4
1
2007-09-16  Andre Klapper  <a9016009@gmx.de>
5
2007-09-16  Andre Klapper  <a9016009@gmx.de>
2
6
3
	* system-tile.c: revert to svn revision 339 (=before
7
	* system-tile.c: revert to svn revision 339 (=before

Return to bug 349604