Monitor bookmark subfolders for saving
This commit is contained in:
parent
4e1deaee05
commit
d3d6f8dab7
1 changed files with 41 additions and 3 deletions
|
@ -1052,8 +1052,18 @@ katze_array_to_file (KatzeArray* array,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
midori_bookmarks_add_item_cb (KatzeArray* bookmarks,
|
midori_bookmarks_add_item_cb (KatzeArray* folder,
|
||||||
GObject* item)
|
GObject* item,
|
||||||
|
KatzeArray* bookmarks);
|
||||||
|
|
||||||
|
static void
|
||||||
|
midori_bookmarks_remove_item_cb (KatzeArray* bookmarks,
|
||||||
|
GObject* item);
|
||||||
|
|
||||||
|
static void
|
||||||
|
midori_bookmarks_add_item_cb (KatzeArray* folder,
|
||||||
|
GObject* item,
|
||||||
|
KatzeArray* bookmarks)
|
||||||
{
|
{
|
||||||
gchar* config_file;
|
gchar* config_file;
|
||||||
GError* error;
|
GError* error;
|
||||||
|
@ -1066,6 +1076,14 @@ midori_bookmarks_add_item_cb (KatzeArray* bookmarks,
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
}
|
}
|
||||||
g_free (config_file);
|
g_free (config_file);
|
||||||
|
|
||||||
|
if (folder == bookmarks && KATZE_IS_ARRAY (item))
|
||||||
|
{
|
||||||
|
g_signal_connect_after (item, "add-item",
|
||||||
|
G_CALLBACK (midori_bookmarks_add_item_cb), bookmarks);
|
||||||
|
g_signal_connect_after (item, "remove-item",
|
||||||
|
G_CALLBACK (midori_bookmarks_remove_item_cb), NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1083,6 +1101,10 @@ midori_bookmarks_remove_item_cb (KatzeArray* bookmarks,
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
}
|
}
|
||||||
g_free (config_file);
|
g_free (config_file);
|
||||||
|
|
||||||
|
if (KATZE_IS_ARRAY (item))
|
||||||
|
g_signal_handlers_disconnect_by_func (item,
|
||||||
|
midori_bookmarks_add_item_cb, bookmarks);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -2114,9 +2136,25 @@ main (int argc,
|
||||||
g_signal_connect_after (search_engines, "remove-item",
|
g_signal_connect_after (search_engines, "remove-item",
|
||||||
G_CALLBACK (midori_search_engines_remove_item_cb), NULL);
|
G_CALLBACK (midori_search_engines_remove_item_cb), NULL);
|
||||||
g_signal_connect_after (bookmarks, "add-item",
|
g_signal_connect_after (bookmarks, "add-item",
|
||||||
G_CALLBACK (midori_bookmarks_add_item_cb), NULL);
|
G_CALLBACK (midori_bookmarks_add_item_cb), bookmarks);
|
||||||
g_signal_connect_after (bookmarks, "remove-item",
|
g_signal_connect_after (bookmarks, "remove-item",
|
||||||
G_CALLBACK (midori_bookmarks_remove_item_cb), NULL);
|
G_CALLBACK (midori_bookmarks_remove_item_cb), NULL);
|
||||||
|
if (!katze_array_is_empty (bookmarks))
|
||||||
|
{
|
||||||
|
guint i, n;
|
||||||
|
n = katze_array_get_length (bookmarks);
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
KatzeItem* item = katze_array_get_nth_item (bookmarks, i);
|
||||||
|
if (KATZE_IS_ARRAY (item))
|
||||||
|
{
|
||||||
|
g_signal_connect_after (item, "add-item",
|
||||||
|
G_CALLBACK (midori_bookmarks_add_item_cb), bookmarks);
|
||||||
|
g_signal_connect_after (item, "remove-item",
|
||||||
|
G_CALLBACK (midori_bookmarks_remove_item_cb), NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
g_signal_connect_after (trash, "add-item",
|
g_signal_connect_after (trash, "add-item",
|
||||||
G_CALLBACK (midori_trash_add_item_cb), NULL);
|
G_CALLBACK (midori_trash_add_item_cb), NULL);
|
||||||
g_signal_connect_after (trash, "remove-item",
|
g_signal_connect_after (trash, "remove-item",
|
||||||
|
|
Loading…
Reference in a new issue