summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Stösel <andre@stoesel.de>2013-12-06 00:42:52 +0100
committerAndré Stösel <andre@stoesel.de>2013-12-06 00:42:52 +0100
commit2512b100a8423c005f3111d0ccf5683774369a7f (patch)
tree77a1f09c35bc6385e009e764f24158496a3c82fe
parent5b95e771fc5f37b23a9319f9d5bedda1eaf5d4c2 (diff)
downloadmidori-2512b100a8423c005f3111d0ccf5683774369a7f.tar.gz
handle url arguments for blank sessions
-rw-r--r--extensions/tabby.vala36
1 files changed, 24 insertions, 12 deletions
diff --git a/extensions/tabby.vala b/extensions/tabby.vala
index e7707e1d..13c634ca 100644
--- a/extensions/tabby.vala
+++ b/extensions/tabby.vala
@@ -45,8 +45,18 @@ namespace Tabby {
public abstract Katze.Array get_sessions ();
public abstract Base.Session get_new_session ();
+
+ public void start_new_session () {
+ Katze.Array sessions = new Katze.Array (typeof (Session));
+ this.init_sessions (sessions);
+ }
+
public void restore_last_sessions () {
Katze.Array sessions = this.get_sessions ();
+ this.init_sessions (sessions);
+ }
+
+ private void init_sessions (Katze.Array sessions) {
if (sessions.is_empty ()) {
sessions.add_item (this.get_new_session ());
}
@@ -123,8 +133,18 @@ namespace Tabby {
unowned Katze.Array? open_uris = browser.get_data ("tabby-open-uris");
if(tabs.is_empty () && open_uris == null) {
+ /* Using get here to avoid MidoriMidoriStartup in generated C with Vala 0.20.1 */
+ int load_on_startup;
+ APP.settings.get ("load-on-startup", out load_on_startup);
+
Katze.Item item = new Katze.Item ();
- item.uri = "about:home";
+
+ if (load_on_startup == Midori.MidoriStartup.BLANK_PAGE) {
+ item.uri = "about:dial";
+ } else if (load_on_startup == Midori.MidoriStartup.HOMEPAGE) {
+ item.uri = "about:home";
+ }
+
tabs.add_item (item);
}
@@ -651,17 +671,9 @@ namespace Tabby {
/* Using get here to avoid MidoriMidoriStartup in generated C with Vala 0.20.1 */
int load_on_startup;
APP.settings.get ("load-on-startup", out load_on_startup);
- if (load_on_startup == Midori.MidoriStartup.BLANK_PAGE) {
- Midori.Browser browser = APP.create_browser ();
- APP.add_browser (browser);
- /* The API from the old days says blank but means speed dial */
- browser.add_uri ("about:dial");
- browser.show ();
- } else if (load_on_startup == Midori.MidoriStartup.HOMEPAGE) {
- Midori.Browser browser = APP.create_browser ();
- APP.add_browser (browser);
- browser.add_uri ("about:home");
- browser.show ();
+ if (load_on_startup == Midori.MidoriStartup.BLANK_PAGE
+ || load_on_startup == Midori.MidoriStartup.HOMEPAGE) {
+ this.storage.start_new_session ();
} else {
this.storage.restore_last_sessions ();
}