|
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 |
title = g_bookmark_file_get_title (priv->store, uris_ordered [i], NULL); |
|
|
631 |
if (title != NULL && strcmp (priv->items [i]->title, title)) |
| 630 |
needs_update = TRUE; |
632 |
needs_update = TRUE; |
|
|
633 |
else if (strcmp (priv->items [i]->uri, uris_ordered [i])) |
| 634 |
needs_update = TRUE; |
| 635 |
g_free (title); |
| 636 |
} |
| 631 |
|
637 |
|
| 632 |
if (needs_update) { |
638 |
if (needs_update) { |
| 633 |
for (i = 0; priv->items && priv->items [i]; ++i) |
639 |
for (i = 0; priv->items && priv->items [i]; ++i) |
|
Lines 777-789
Link Here
|
| 777 |
|
783 |
|
| 778 |
gchar **uris; |
784 |
gchar **uris; |
| 779 |
gchar **groups; |
785 |
gchar **groups; |
| 780 |
gchar **folders = NULL; |
786 |
gchar **bookmarks = NULL; |
|
|
787 |
|
| 788 |
gchar *buf, *label, *uri; |
| 781 |
|
789 |
|
| 782 |
gchar *buf; |
790 |
gint i, j, bookmark_len; |
| 783 |
|
791 |
|
| 784 |
gint i, j; |
|
|
| 785 |
|
| 786 |
|
| 787 |
load_xbel_store (this); |
792 |
load_xbel_store (this); |
| 788 |
|
793 |
|
| 789 |
uris = g_bookmark_file_get_uris (priv->store, NULL); |
794 |
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); |
812 |
g_file_get_contents (priv->gtk_store_path, & buf, NULL, NULL); |
| 808 |
|
813 |
|
| 809 |
if (buf) { |
814 |
if (buf) { |
| 810 |
folders = g_strsplit (buf, "\n", -1); |
815 |
bookmarks = g_strsplit (buf, "\n", -1); |
| 811 |
g_free (buf); |
816 |
g_free (buf); |
| 812 |
} |
817 |
} |
| 813 |
|
818 |
|
| 814 |
for (i = 0; folders && folders [i]; ++i) { |
819 |
for (i = 0; bookmarks && bookmarks [i]; ++i) { |
| 815 |
if (strlen (folders [i]) > 0) { |
820 |
bookmark_len = strlen (bookmarks [i]); |
| 816 |
g_bookmark_file_add_group (priv->store, folders [i], "gtk-bookmarks"); |
821 |
if (bookmark_len > 0) { |
| 817 |
priv->create_item (this, folders [i]); |
822 |
label = strstr (bookmarks[i], " "); |
|
|
823 |
if (label != NULL) |
| 824 |
uri = g_strndup (bookmarks [i], bookmark_len - strlen (label)); |
| 825 |
else |
| 826 |
uri = bookmarks [i]; |
| 827 |
g_bookmark_file_add_group (priv->store, uri, "gtk-bookmarks"); |
| 828 |
priv->create_item (this, uri); |
| 829 |
if (label != NULL) { |
| 830 |
label++; |
| 831 |
if (strlen (label) > 0) |
| 832 |
g_bookmark_file_set_title (priv->store, uri, label); |
| 833 |
g_free (uri); |
| 834 |
} |
| 818 |
} |
835 |
} |
| 819 |
} |
836 |
} |
| 820 |
|
837 |
|
| 821 |
g_strfreev (folders); |
838 |
g_strfreev (bookmarks); |
| 822 |
} |
839 |
} |
| 823 |
|
840 |
|
| 824 |
static void |
841 |
static void |