Save back and forward history in the session (disabled)
This commit is contained in:
parent
bff042754c
commit
1ead8e8886
2 changed files with 95 additions and 1 deletions
|
@ -364,8 +364,13 @@ katze_item_metadata_to_xbel (KatzeItem* item)
|
||||||
i = 0;
|
i = 0;
|
||||||
while ((key = g_list_nth_data (keys, i++)))
|
while ((key = g_list_nth_data (keys, i++)))
|
||||||
if (katze_item_get_meta_string (item, key))
|
if (katze_item_get_meta_string (item, key))
|
||||||
|
{
|
||||||
|
gchar* escaped =
|
||||||
|
g_markup_escape_text (katze_item_get_meta_string (item, key), -1);
|
||||||
g_string_append_printf (markup, " %s:%s=\"%s\"", namespace, key,
|
g_string_append_printf (markup, " %s:%s=\"%s\"", namespace, key,
|
||||||
katze_item_get_meta_string (item, key));
|
escaped);
|
||||||
|
g_free (escaped);
|
||||||
|
}
|
||||||
g_string_append_printf (markup, "/>\n</info>\n");
|
g_string_append_printf (markup, "/>\n</info>\n");
|
||||||
return g_string_free (markup, FALSE);
|
return g_string_free (markup, FALSE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,6 +97,7 @@ struct _MidoriView
|
||||||
GtkWidget* tab_close;
|
GtkWidget* tab_close;
|
||||||
KatzeItem* item;
|
KatzeItem* item;
|
||||||
gint scrollh, scrollv;
|
gint scrollh, scrollv;
|
||||||
|
gboolean back_forward_set;
|
||||||
|
|
||||||
KatzeNet* net;
|
KatzeNet* net;
|
||||||
};
|
};
|
||||||
|
@ -750,6 +751,49 @@ webkit_web_view_load_committed_cb (WebKitWebView* web_view,
|
||||||
katze_assign (view->uri, g_strdup (uri));
|
katze_assign (view->uri, g_strdup (uri));
|
||||||
if (view->item)
|
if (view->item)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
|
/* Load back forward history from meta data. WebKit does not seem to
|
||||||
|
respect the order of items, so the feature is unusable. */
|
||||||
|
if (!view->back_forward_set)
|
||||||
|
{
|
||||||
|
WebKitWebBackForwardList* list;
|
||||||
|
gchar* key;
|
||||||
|
guint i;
|
||||||
|
const gchar* data;
|
||||||
|
WebKitWebHistoryItem* item;
|
||||||
|
|
||||||
|
list = webkit_web_view_get_back_forward_list (web_view);
|
||||||
|
|
||||||
|
key = g_strdup ("back4");
|
||||||
|
for (i = 4; i > 0; i--)
|
||||||
|
{
|
||||||
|
key[4] = 48 + i;
|
||||||
|
if ((data = katze_item_get_meta_string (view->item, key)))
|
||||||
|
{
|
||||||
|
item = webkit_web_history_item_new_with_data (data, NULL);
|
||||||
|
webkit_web_back_forward_list_add_item (list, item);
|
||||||
|
g_object_unref (item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
key[0] = 'f';
|
||||||
|
key[1] = 'o';
|
||||||
|
key[2] = 'r';
|
||||||
|
key[3] = 'e';
|
||||||
|
for (i = 4; i > 0; i--)
|
||||||
|
{
|
||||||
|
key[4] = 48 + i;
|
||||||
|
item = webkit_web_history_item_new_with_data (data, NULL);
|
||||||
|
webkit_web_back_forward_list_add_item (list, item);
|
||||||
|
g_object_unref (item);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
g_free (key);
|
||||||
|
view->back_forward_set = TRUE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
katze_item_set_uri (view->item, uri);
|
katze_item_set_uri (view->item, uri);
|
||||||
katze_item_set_added (view->item, time (NULL));
|
katze_item_set_added (view->item, time (NULL));
|
||||||
}
|
}
|
||||||
|
@ -941,6 +985,50 @@ webkit_web_view_notify_uri_cb (WebKitWebView* web_view,
|
||||||
GParamSpec* pspec,
|
GParamSpec* pspec,
|
||||||
MidoriView* view)
|
MidoriView* view)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
|
if (view->item)
|
||||||
|
{
|
||||||
|
/* Save back forward history as meta data. This is disabled
|
||||||
|
because we can't reliably restore these atm. */
|
||||||
|
WebKitWebView* web_view;
|
||||||
|
WebKitWebBackForwardList* list;
|
||||||
|
GList* back;
|
||||||
|
GList* forward;
|
||||||
|
|
||||||
|
web_view = WEBKIT_WEB_VIEW (view->web_view);
|
||||||
|
list = webkit_web_view_get_back_forward_list (web_view);
|
||||||
|
back = webkit_web_back_forward_list_get_back_list_with_limit (list, 5);
|
||||||
|
forward = webkit_web_back_forward_list_get_forward_list_with_limit (list, 5);
|
||||||
|
guint i;
|
||||||
|
WebKitWebHistoryItem* item;
|
||||||
|
gchar* key = g_strdup ("back0");
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while ((item = g_list_nth_data (back, i++)))
|
||||||
|
{
|
||||||
|
katze_item_set_meta_string (view->item, key,
|
||||||
|
webkit_web_history_item_get_uri (item));
|
||||||
|
key[4] = 48 + i;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
key[0] = 'f';
|
||||||
|
key[1] = 'o';
|
||||||
|
key[2] = 'r';
|
||||||
|
key[3] = 'e';
|
||||||
|
key[4] = 48;
|
||||||
|
i = 0;
|
||||||
|
while ((item = g_list_nth_data (forward, i++)))
|
||||||
|
{
|
||||||
|
katze_item_set_meta_string (view->item, key,
|
||||||
|
webkit_web_history_item_get_uri (item));
|
||||||
|
key[4] = 48 + i;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
g_free (key);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
g_object_get (web_view, "uri", &view->uri, NULL);
|
g_object_get (web_view, "uri", &view->uri, NULL);
|
||||||
g_object_notify (G_OBJECT (view), "uri");
|
g_object_notify (G_OBJECT (view), "uri");
|
||||||
}
|
}
|
||||||
|
@ -2057,6 +2145,7 @@ midori_view_init (MidoriView* view)
|
||||||
|
|
||||||
view->item = NULL;
|
view->item = NULL;
|
||||||
view->scrollh = view->scrollv = 0;
|
view->scrollh = view->scrollv = 0;
|
||||||
|
view->back_forward_set = FALSE;
|
||||||
|
|
||||||
view->download_manager = NULL;
|
view->download_manager = NULL;
|
||||||
view->news_aggregator = NULL;
|
view->news_aggregator = NULL;
|
||||||
|
|
Loading…
Reference in a new issue