1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-06-01 11:34:04 +02:00

Refactor UpdateHandler to reference ITweetDeckBrowser

This commit is contained in:
chylex 2018-02-12 11:35:39 +01:00
parent 155a79f2ec
commit 41acd8c15b
3 changed files with 10 additions and 17 deletions

View File

@ -91,7 +91,7 @@ public FormBrowser(UpdaterSettings updaterSettings){
UpdateTrayIcon(); UpdateTrayIcon();
this.updates = browser.CreateUpdateHandler(updaterSettings); this.updates = new UpdateHandler(browser, updaterSettings);
this.updates.UpdateAccepted += updates_UpdateAccepted; this.updates.UpdateAccepted += updates_UpdateAccepted;
this.updates.UpdateDismissed += updates_UpdateDismissed; this.updates.UpdateDismissed += updates_UpdateDismissed;

View File

@ -13,7 +13,6 @@
using TweetDuck.Plugins.Enums; using TweetDuck.Plugins.Enums;
using TweetDuck.Plugins.Events; using TweetDuck.Plugins.Events;
using TweetDuck.Resources; using TweetDuck.Resources;
using TweetDuck.Updates;
namespace TweetDuck.Core{ namespace TweetDuck.Core{
sealed class TweetDeckBrowser : ITweetDeckBrowser, IDisposable{ sealed class TweetDeckBrowser : ITweetDeckBrowser, IDisposable{
@ -209,10 +208,6 @@ private void UserConfig_SoundNotificationInfoChanged(object sender, EventArgs e)
// external handling // external handling
public UpdateHandler CreateUpdateHandler(UpdaterSettings settings){
return new UpdateHandler(browser, settings);
}
public void HideVideoOverlay(bool focus){ public void HideVideoOverlay(bool focus){
if (focus){ if (focus){
browser.GetBrowser().GetHost().SendFocusEvent(true); browser.GetBrowser().GetHost().SendFocusEvent(true);

View File

@ -1,14 +1,14 @@
using CefSharp; using CefSharp;
using CefSharp.WinForms;
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
using TweetDuck.Core;
using TweetDuck.Core.Controls; using TweetDuck.Core.Controls;
using TweetDuck.Core.Utils; using TweetDuck.Core.Utils;
using TweetDuck.Resources; using TweetDuck.Resources;
namespace TweetDuck.Updates{ namespace TweetDuck.Updates{
sealed class UpdateHandler{ sealed class UpdateHandler{
private readonly ChromiumWebBrowser browser; private readonly ITweetDeckBrowser browser;
private readonly UpdaterSettings settings; private readonly UpdaterSettings settings;
public event EventHandler<UpdateEventArgs> UpdateAccepted; public event EventHandler<UpdateEventArgs> UpdateAccepted;
@ -18,19 +18,17 @@ sealed class UpdateHandler{
private int lastEventId; private int lastEventId;
private UpdateInfo lastUpdateInfo; private UpdateInfo lastUpdateInfo;
public UpdateHandler(ChromiumWebBrowser browser, UpdaterSettings settings){ public UpdateHandler(ITweetDeckBrowser browser, UpdaterSettings settings){
this.browser = browser; this.browser = browser;
this.settings = settings; this.settings = settings;
browser.FrameLoadEnd += browser_FrameLoadEnd; browser.OnFrameLoaded(OnFrameLoaded);
browser.RegisterAsyncJsObject("$TDU", new Bridge(this)); browser.RegisterBridge("$TDU", new Bridge(this));
} }
private void browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){ private void OnFrameLoaded(IFrame frame){
if (e.Frame.IsMain && TwitterUtils.IsTweetDeckWebsite(e.Frame)){ ScriptLoader.ExecuteFile(frame, "update.js");
ScriptLoader.ExecuteFile(e.Frame, "update.js"); Check(false);
Check(false);
}
} }
public int Check(bool force){ public int Check(bool force){
@ -39,7 +37,7 @@ public int Check(bool force){
settings.DismissedUpdate = null; settings.DismissedUpdate = null;
} }
browser.ExecuteScriptAsync("TDUF_runUpdateCheck", ++lastEventId, Program.VersionTag, settings.DismissedUpdate ?? string.Empty, settings.AllowPreReleases); browser.ExecuteFunction("TDUF_runUpdateCheck", ++lastEventId, Program.VersionTag, settings.DismissedUpdate ?? string.Empty, settings.AllowPreReleases);
return lastEventId; return lastEventId;
} }