Merge lp:~midori/midori/tabHistory into lp:midori

Proposed by Cris Dywan
Status: Work in progress
Proposed branch: lp:~midori/midori/tabHistory
Merge into: lp:midori
Diff against target: 69 lines (+34/-0)
2 files modified
extensions/tabby.vala (+20/-0)
midori/midori-view.c (+14/-0)
To merge this branch: bzr merge lp:~midori/midori/tabHistory
Reviewer Review Type Date Requested Status
Midori Devs Pending
Review via email: mp+211230@code.launchpad.net

Commit message

Restore tab history from session via HistoryWebsite

To post a comment you must log in.

Unmerged revisions

6606. By Cris Dywan

Restore tab history from session via HistoryWebsite

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'extensions/tabby.vala'
--- extensions/tabby.vala 2014-03-16 22:53:49 +0000
+++ extensions/tabby.vala 2014-03-17 00:52:25 +0000
@@ -378,6 +378,7 @@
378 unowned Katze.Item item = view.get_proxy_item ();378 unowned Katze.Item item = view.get_proxy_item ();
379 int64 tab_id = item.get_meta_integer ("tabby-id");379 int64 tab_id = item.get_meta_integer ("tabby-id");
380 string sqlcmd = "UPDATE `tabs` SET uri = :uri WHERE session_id = :session_id AND id = :tab_id;";380 string sqlcmd = "UPDATE `tabs` SET uri = :uri WHERE session_id = :session_id AND id = :tab_id;";
381 // TODO: Update tan_history
381 try {382 try {
382 database.prepare (sqlcmd,383 database.prepare (sqlcmd,
383 ":uri", typeof (string), uri,384 ":uri", typeof (string), uri,
@@ -501,6 +502,24 @@
501 }502 }
502 }503 }
503504
505 private void restore_tab_history(Katze.Item item) {
506 var items = new GenericArray<Midori.HistoryWebsite> ();
507 int64 tab_id = item.get_meta_integer ("tabby-id");
508 string sqlcmd = "SELECT url, title FROM tab_history WHERE tab_id = :tab_id ORDER BY tstamp";
509 try {
510 var statement = database.prepare (sqlcmd,
511 ":tab_id", typeof (int64), tab_id);
512 while (statement.step ()) {
513 string url = statement.get_string ("url");
514 string title = statement.get_string ("title");
515 items.add (new Midori.HistoryWebsite (url, title, 0));
516 }
517 item.set_data<GenericArray<Midori.HistoryWebsite>> ("tab-history", items);
518 } catch (Error error) {
519 critical (_("Failed to select from database: %s"), error.message);
520 }
521 }
522
504 public override Katze.Array get_tabs() {523 public override Katze.Array get_tabs() {
505 Katze.Array tabs = new Katze.Array (typeof (Katze.Item));524 Katze.Array tabs = new Katze.Array (typeof (Katze.Item));
506525
@@ -520,6 +539,7 @@
520 item.set_meta_string ("sorting", sorting.to_string ());539 item.set_meta_string ("sorting", sorting.to_string ());
521 // See midori_browser_step_history: don't add to history540 // See midori_browser_step_history: don't add to history
522 item.set_meta_string ("history-step", "ignore");541 item.set_meta_string ("history-step", "ignore");
542 restore_tab_history (item);
523 tabs.add_item (item);543 tabs.add_item (item);
524 }544 }
525 } catch (Error error) {545 } catch (Error error) {
526546
=== modified file 'midori/midori-view.c'
--- midori/midori-view.c 2014-03-16 22:37:47 +0000
+++ midori/midori-view.c 2014-03-17 00:52:25 +0000
@@ -3156,6 +3156,20 @@
3156 _midori_view_set_settings (view, settings);3156 _midori_view_set_settings (view, settings);
3157 if (item)3157 if (item)
3158 {3158 {
3159#ifndef HAVE_WEBKIT2
3160 GPtrArray* items = g_object_get_data (G_OBJECT (item), "tab-history");
3161 WebKitWebBackForwardList* list = webkit_web_view_get_back_forward_list (WEBKIT_WEB_VIEW (view->web_view));
3162 int i = 0;
3163 while (items && i < items->len)
3164 {
3165 const gchar* uri = midori_history_website_get_uri (items->pdata[i]);
3166 const gchar* title = midori_history_item_get_title (items->pdata[i]);
3167 WebKitWebHistoryItem* hitem = webkit_web_history_item_new_with_data (uri, title);
3168 webkit_web_back_forward_list_add_item (list, hitem);
3169 g_object_unref (hitem);
3170 i++;
3171 }
3172#endif
3159 katze_object_assign (view->item, katze_item_copy (item));3173 katze_object_assign (view->item, katze_item_copy (item));
3160 midori_tab_set_minimized (MIDORI_TAB (view),3174 midori_tab_set_minimized (MIDORI_TAB (view),
3161 katze_item_get_meta_string (view->item, "minimized") != NULL);3175 katze_item_get_meta_string (view->item, "minimized") != NULL);

Subscribers

People subscribed via source and target branches

to all changes: