Added tabs
[WebThing.git] / plugins / LoadProgress.cs
index 9dc6838..08ffbf6 100644 (file)
@@ -16,14 +16,16 @@ public class LoadThrobber : Gtk.DrawingArea {
     public LoadThrobber(WebThing wt) {
         LoadState = Mode.LoadStarted;
 
-        wt.WebView.LoadStarted += WebView_LoadStarted;
-        wt.WebView.LoadCommitted += WebView_LoadCommitted;
-        wt.WebView.LoadProgressChanged += WebView_LoadProgressChanged;
-        wt.WebView.LoadFinished += WebView_LoadFinished;
-
         SetSizeRequest(64, 64);
     }
 
+    public void AttachSignals(WebView wv) {
+        wv.LoadStarted += WebView_LoadStarted;
+        wv.LoadCommitted += WebView_LoadCommitted;
+        wv.LoadProgressChanged += WebView_LoadProgressChanged;
+        wv.LoadFinished += WebView_LoadFinished;
+    }
+
     protected override bool OnExposeEvent(Gdk.EventExpose e) {
         Gdk.Window w = e.Window;
         Gdk.GC gc = new Gdk.GC(w);
@@ -79,9 +81,15 @@ public class LoadThrobber : Gtk.DrawingArea {
     }
 }
 
-public class Plugin {
-    public Plugin(WebThing wt) {
-        LoadThrobber lt = new LoadThrobber(wt);
+public class LoadThrobberPlugin : WebThingPlugin {
+    LoadThrobber lt;
+
+    public override void Init(WebThing wt) {
+        lt = new LoadThrobber(wt);
         wt.AttachWidget(lt, CompassDirection.Interior);
     }
+
+    public override void InitWebView(WebView wv) {
+        lt.AttachSignals(wv);
+    }
 }