1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-05-09 05:34:05 +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();
this.updates = browser.CreateUpdateHandler(updaterSettings);
this.updates = new UpdateHandler(browser, updaterSettings);
this.updates.UpdateAccepted += updates_UpdateAccepted;
this.updates.UpdateDismissed += updates_UpdateDismissed;

View File

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

View File

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