public JabbRAuthDialog(string serverAddress, string appName) { this.ServerAddress = serverAddress; this.AppName = appName; this.DisplayMode = DialogDisplayMode.Attached; this.ClientSize = defaultSize; this.Resizable = true; this.Title = "JabbR Login"; var baseDir = Path.Combine(EtoEnvironment.GetFolderPath(EtoSpecialFolder.ApplicationResources), "Styles", "default"); webserver = new HttpServer(baseDir); LocalhostTokenUrl = new Uri(webserver.Url, "Authorize"); webserver.StaticContent.Add("/", AuthHtml(true)); webserver.StaticContent.Add("/Authorize", GetUserIDHtml()); webserver.ReceivedRequest += HandleReceivedRequest; web = new WebView(); web.DocumentLoaded += HandleDocumentLoaded; web.Url = webserver.Url; var layout = new DynamicLayout(); layout.Add(web, yscale: true); layout.AddSeparateRow(Padding.Empty).Add(null, this.CancelButton()); Content = layout; }
public override void OnClosed(EventArgs e) { base.OnClosed(e); if (webserver != null) { webserver.Dispose(); webserver = null; } }