X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=plugins%2FFFNav.cs;h=15d35044bdf1f046a3e82f543edf06452cf6c2e1;hb=2744fefc32dbe9b59a570f6515d51121b8fcfbe3;hp=4869c2f7903b4893611599269178a2f9aebb2958;hpb=0b2e5f8fffd9ed781a1ddab279dbd6fec5c7695a;p=WebThing.git diff --git a/plugins/FFNav.cs b/plugins/FFNav.cs index 4869c2f..15d3504 100644 --- a/plugins/FFNav.cs +++ b/plugins/FFNav.cs @@ -8,12 +8,28 @@ public class FFNav : WebThingPlugin { public override void Init(WebThing wt) { this.wt = wt; + + wt.Window.KeyPressEvent += Window_KeyPress; } public override void InitWebView(WebView wv) { wv.KeyPressEvent += WebView_KeyPress; } + private void Window_KeyPress(object o, KeyPressEventArgs e) { + if ((e.Event.State & Gdk.ModifierType.ControlMask) != 0) { + switch(e.Event.Key) { + case Gdk.Key.t: + wt.NewTab(); + wt.Tabs.CurrentPage = wt.Tabs.NPages - 1; + break; + case Gdk.Key.w: + wt.CloseTab(); + break; + } + } + } + private void WebView_KeyPress(object o, KeyPressEventArgs e) { WebView wv = (WebView) o; if ((e.Event.State & Gdk.ModifierType.Mod1Mask) != 0) { @@ -27,13 +43,6 @@ public class FFNav : WebThingPlugin { } } else if ((e.Event.State & Gdk.ModifierType.ControlMask) != 0) { switch(e.Event.Key) { - case Gdk.Key.t: - wt.NewTab(); - wt.Tabs.CurrentPage = wt.Tabs.NPages - 1; - break; - case Gdk.Key.w: - wt.CloseTab(); - break; case Gdk.Key.ISO_Left_Tab: if (wt.Tabs.CurrentPage == 0) wt.Tabs.CurrentPage = wt.Tabs.NPages - 1; @@ -52,6 +61,9 @@ public class FFNav : WebThingPlugin { case Gdk.Key.BackSpace: wv.GoBack(); break; + case Gdk.Key.Escape: + wv.StopLoading(); + break; } } }