]> spindle.queued.net Git - midori/commitdiff
Use metadata API to store and lookup the current page
authorChristian Dywan <christian@twotoasts.de>
Sat, 4 Jul 2009 23:17:00 +0000 (00:17 +0100)
committerChristian Dywan <christian@twotoasts.de>
Sat, 4 Jul 2009 23:17:00 +0000 (00:17 +0100)
This effectively doesn't work yet as loading of metadata isn't
implemented in XBEL.

midori/main.c
midori/midori-browser.c

index 435113e96e1dbdd7ebe6813c344804967903e75d..203c20b5548c19d41200a6183dfc3ab13a888ad9 100644 (file)
@@ -1269,6 +1269,7 @@ midori_load_session (gpointer data)
     KatzeArray* session;
     KatzeItem* item;
     guint i;
+    gint64 current;
     gchar** command = g_object_get_data (G_OBJECT (app), "execute-command");
 
     browser = midori_app_create_browser (app);
@@ -1305,8 +1306,11 @@ midori_load_session (gpointer data)
     i = 0;
     while ((item = katze_array_get_nth_item (_session, i++)))
         midori_browser_add_item (browser, item);
-    /* FIXME: Switch to the last active page */
-    item = katze_array_get_nth_item (_session, 0);
+    current = katze_item_get_meta_integer (KATZE_ITEM (_session), "current");
+    if (current < 0)
+        current = 0;
+    midori_browser_set_current_page (browser, current);
+    item = katze_array_get_nth_item (_session, current);
     if (!strcmp (katze_item_get_uri (item), ""))
         midori_browser_activate_action (browser, "Location");
     g_object_unref (_session);
index 09df196d785ccbdc61d58b1c52c6b91d1f2ce1ae..3ac60cff6e33db8ef0968c4aa734ff3788207dda 100644 (file)
@@ -3973,6 +3973,8 @@ gtk_notebook_switch_page_cb (GtkWidget*       notebook,
     gtk_window_set_title (GTK_WINDOW (browser), window_title);
     g_free (window_title);
 
+    katze_item_set_meta_integer (KATZE_ITEM (browser->proxy_array), "current",
+                                 midori_browser_get_current_page (browser));
     g_object_notify (G_OBJECT (browser), "uri");
 
     _midori_browser_set_statusbar_text (browser, NULL);