Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Mzying2001 committed Jan 16, 2022
2 parents a10752e + 8fe4ceb commit bb33329
Show file tree
Hide file tree
Showing 39 changed files with 455 additions and 440 deletions.
7 changes: 7 additions & 0 deletions CefFlashBrowser/Assets/Language/en-US.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,13 @@
<sys:String x:Key="tabItem_browser">Browser</sys:String>
<sys:String x:Key="settingHeader_addressBar">Address Bar and Search</sys:String>
<sys:String x:Key="settingHeader_browserData">Browser Cache</sys:String>
<sys:String x:Key="settingHeader_websiteBehavior">Website Behavior</sys:String>
<sys:String x:Key="settingHeader_aboutCef">About CEF</sys:String>
<sys:String x:Key="settingItem_useSearchEngine">Use search engines in the address bar</sys:String>
<sys:String x:Key="settingItem_searchEngine">Search Engine</sys:String>
<sys:String x:Key="settingItem_deleteCache">Delete all caches</sys:String>
<sys:String x:Key="settingItem_openNewPage">Open new page in ...</sys:String>
<sys:String x:Key="settingItem_disableOnBeforeUnloadDialog">Disable pop ups on page refresh/close</sys:String>
<sys:String x:Key="settingItem_cefVersion">CefSharp version</sys:String>
<sys:String x:Key="button_deleteCache">Delete</sys:String>
<sys:String x:Key="button_viewDetails">Details</sys:String>
Expand All @@ -38,6 +41,10 @@
<sys:String x:Key="navigationType_searchOnly">Search Only</sys:String>
<sys:String x:Key="navigationType_navigateOnly">Navigate Only</sys:String>

<!--New web page behaviors-->
<sys:String x:Key="newPageBehavior_originalWindow">Original window</sys:String>
<sys:String x:Key="newPageBehavior_newWindow">New window</sys:String>

<!--Search Engine-->
<sys:String x:Key="baidu">Baidu</sys:String>
<sys:String x:Key="google">Google</sys:String>
Expand Down
7 changes: 7 additions & 0 deletions CefFlashBrowser/Assets/Language/zh-CN.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,13 @@
<sys:String x:Key="tabItem_browser">浏览器</sys:String>
<sys:String x:Key="settingHeader_addressBar">地址栏和搜索</sys:String>
<sys:String x:Key="settingHeader_browserData">浏览器缓存</sys:String>
<sys:String x:Key="settingHeader_websiteBehavior">网站行为</sys:String>
<sys:String x:Key="settingHeader_aboutCef">关于 CEF</sys:String>
<sys:String x:Key="settingItem_useSearchEngine">在地址栏中使用搜索引擎</sys:String>
<sys:String x:Key="settingItem_searchEngine">搜索引擎</sys:String>
<sys:String x:Key="settingItem_deleteCache">清除所有缓存</sys:String>
<sys:String x:Key="settingItem_openNewPage">打开新页面方式</sys:String>
<sys:String x:Key="settingItem_disableOnBeforeUnloadDialog">阻止网页刷新/关闭时的弹窗</sys:String>
<sys:String x:Key="settingItem_cefVersion">CefSharp版本</sys:String>
<sys:String x:Key="button_deleteCache">清除</sys:String>
<sys:String x:Key="button_viewDetails">详情</sys:String>
Expand All @@ -38,6 +41,10 @@
<sys:String x:Key="navigationType_searchOnly">仅搜索</sys:String>
<sys:String x:Key="navigationType_navigateOnly">仅导航</sys:String>

<!--打开新网页时的行为-->
<sys:String x:Key="newPageBehavior_originalWindow">原窗口</sys:String>
<sys:String x:Key="newPageBehavior_newWindow">新窗口</sys:String>

<!--搜索引擎-->
<sys:String x:Key="baidu">百度</sys:String>
<sys:String x:Key="google">谷歌</sys:String>
Expand Down
7 changes: 7 additions & 0 deletions CefFlashBrowser/Assets/Language/zh-TW.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,13 @@
<sys:String x:Key="tabItem_browser">瀏覽器</sys:String>
<sys:String x:Key="settingHeader_addressBar">地址欄和搜尋</sys:String>
<sys:String x:Key="settingHeader_browserData">瀏覽器緩存</sys:String>
<sys:String x:Key="settingHeader_websiteBehavior">網站行為</sys:String>
<sys:String x:Key="settingHeader_aboutCef">關於 CEF</sys:String>
<sys:String x:Key="settingItem_useSearchEngine">在地址欄中使用搜尋引擎</sys:String>
<sys:String x:Key="settingItem_searchEngine">搜尋引擎</sys:String>
<sys:String x:Key="settingItem_deleteCache">清除所有緩存</sys:String>
<sys:String x:Key="settingItem_openNewPage">打開新頁面管道</sys:String>
<sys:String x:Key="settingItem_disableOnBeforeUnloadDialog">禁用網頁重繪/關閉時的彈窗</sys:String>
<sys:String x:Key="settingItem_cefVersion">CefSharp版本</sys:String>
<sys:String x:Key="button_deleteCache">清除</sys:String>
<sys:String x:Key="button_viewDetails">詳情</sys:String>
Expand All @@ -38,6 +41,10 @@
<sys:String x:Key="navigationType_searchOnly">僅搜尋</sys:String>
<sys:String x:Key="navigationType_navigateOnly">僅導航</sys:String>

<!--打開新網頁時的行為-->
<sys:String x:Key="newPageBehavior_originalWindow">原視窗</sys:String>
<sys:String x:Key="newPageBehavior_newWindow">新視窗</sys:String>

<!--搜尋引擎-->
<sys:String x:Key="baidu">百度</sys:String>
<sys:String x:Key="google">穀歌</sys:String>
Expand Down
8 changes: 2 additions & 6 deletions CefFlashBrowser/CefFlashBrowser.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@
<Compile Include="Models\Converters\StringArrNotAnyEmpty.cs" />
<Compile Include="Models\Converters\UrlDecoder.cs" />
<Compile Include="Models\EnumDescription.cs" />
<Compile Include="Models\EnumDescriptions.cs" />
<Compile Include="Models\FavoritesFile.cs" />
<Compile Include="FlashBrowser\ChromiumFlashBrowser.cs" />
<Compile Include="FlashBrowser\ChromiumSwfBrowser.cs" />
Expand All @@ -288,6 +289,7 @@
<Compile Include="Models\Data\GlobalData.cs" />
<Compile Include="Models\LanguageManager.cs" />
<Compile Include="Models\NavigationType.cs" />
<Compile Include="Models\NewPageBehavior.cs" />
<Compile Include="Models\PathInfo.cs" />
<Compile Include="Models\SearchEngine.cs" />
<Compile Include="Models\Data\MessageTokens.cs" />
Expand All @@ -296,12 +298,6 @@
<Compile Include="Models\Website.cs" />
<Compile Include="Models\WindowSizeInfo.cs" />
<Compile Include="ViewModels\BrowserWindowViewModel.cs" />
<Compile Include="ViewModels\DialogViewModels\AddFavoriteDialogViewModel.cs" />
<Compile Include="ViewModels\DialogViewModels\JsDialogViewModels\JsAlertDialogViewModel.cs" />
<Compile Include="ViewModels\DialogViewModels\JsDialogViewModels\JsConfirmDialogViewModel.cs" />
<Compile Include="ViewModels\DialogViewModels\JsDialogViewModels\JsDialogViewModelBase.cs" />
<Compile Include="ViewModels\DialogViewModels\JsDialogViewModels\JsPromptDialogViewModel.cs" />
<Compile Include="ViewModels\DialogViewModels\SelectLanguageDialogViewModel.cs" />
<Compile Include="ViewModels\FavoritesManagerViewModel.cs" />
<Compile Include="ViewModels\MainWindowViewModel.cs" />
<Compile Include="ViewModels\SettingsWindowViewModel.cs" />
Expand Down
15 changes: 1 addition & 14 deletions CefFlashBrowser/FlashBrowser/ChromiumFlashBrowser.cs
Original file line number Diff line number Diff line change
@@ -1,19 +1,6 @@
using CefFlashBrowser.FlashBrowser.Handlers;

namespace CefFlashBrowser.FlashBrowser
namespace CefFlashBrowser.FlashBrowser
{
public class ChromiumFlashBrowser : FlashBrowserBase
{
public override void BeginInit()
{
base.BeginInit();
OnCreateNewWindow += ChromiumFlashBrowser_OnCreateNewWindow;
}

private void ChromiumFlashBrowser_OnCreateNewWindow(object sender, LifeSpanHandler.NewWindowEventArgs e)
{
e.CancelPopup = true;
Dispatcher.Invoke(() => Address = e.TargetUrl);
}
}
}
2 changes: 1 addition & 1 deletion CefFlashBrowser/FlashBrowser/FlashBrowserBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

namespace CefFlashBrowser.FlashBrowser
{
public class FlashBrowserBase : ChromiumWebBrowser
public abstract class FlashBrowserBase : ChromiumWebBrowser
{
public static readonly string CachePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Caches\");
public static readonly string FlashPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Assets\Plugins\pepflashplayer.dll");
Expand Down
13 changes: 10 additions & 3 deletions CefFlashBrowser/FlashBrowser/Handlers/JsDialogHandler.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using CefFlashBrowser.Models;
using CefFlashBrowser.Models.Data;
using CefFlashBrowser.Views.Dialogs.JsDialogs;
using CefSharp;
using CefSharp.Wpf;
Expand All @@ -9,6 +10,12 @@ public class JsDialogHandler : IJsDialogHandler
{
public bool OnBeforeUnloadDialog(IWebBrowser chromiumWebBrowser, IBrowser browser, string messageText, bool isReload, IJsDialogCallback callback)
{
if (GlobalData.Settings.DisableOnBeforeUnloadDialog)
{
callback.Continue(true);
return true;
}

((ChromiumWebBrowser)chromiumWebBrowser).Dispatcher.Invoke(() =>
{
var title = LanguageManager.GetString(isReload ? "title_askWhetherToReload" : "title_askWhetherToLeave");
Expand All @@ -35,7 +42,7 @@ public bool OnJSDialog(IWebBrowser chromiumWebBrowser, IBrowser browser, string
{
targetBrowser.Dispatcher.Invoke(() =>
{
JsAlertDialog.Show(messageText, originUrl);
JsAlertDialog.Show(messageText, targetBrowser.Title);
});
suppressMessage = true;
return false;
Expand All @@ -45,7 +52,7 @@ public bool OnJSDialog(IWebBrowser chromiumWebBrowser, IBrowser browser, string
{
targetBrowser.Dispatcher.Invoke(() =>
{
JsConfirmDialog.Show(messageText, originUrl, result =>
JsConfirmDialog.Show(messageText, targetBrowser.Title, result =>
{
callback.Continue(result == true);
});
Expand All @@ -58,7 +65,7 @@ public bool OnJSDialog(IWebBrowser chromiumWebBrowser, IBrowser browser, string
{
targetBrowser.Dispatcher.Invoke(() =>
{
JsPromptDialog.Show(messageText, originUrl, defaultPromptText, result =>
JsPromptDialog.Show(messageText, targetBrowser.Title, defaultPromptText, result =>
{
callback.Continue(result != null, result);
});
Expand Down
7 changes: 1 addition & 6 deletions CefFlashBrowser/Models/Data/MessageTokens.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,7 @@
{
public static class MessageTokens
{
public const string EXIT_BROWSER = "EXIT_BROWSER";
public const string EXIT_JSALERT = "EXIT_JSALERT";
public const string EXIT_JSCONFIRM = "EXIT_JSCONFIRM";
public const string EXIT_JSPROMPT = "EXIT_JSPROMPT";
public const string EXIT_ADDFAVORITES = "EXIT_ADDFAVORITES";
public const string EXIT_SELECTLANGUAGE = "EXIT_SELECTLANGUAGE";
public const string CLOSE_BROWSER = "CLOSE_BROWSER";
public const string LANGUAGE_CHANGED = "LANGUAGE_CHANGED";
}
}
29 changes: 29 additions & 0 deletions CefFlashBrowser/Models/EnumDescriptions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
using System.Collections.Generic;

namespace CefFlashBrowser.Models
{
public static class EnumDescriptions
{
public static IEnumerable<EnumDescription<SearchEngine.Engine>> GetSearchEngines()
{
yield return new EnumDescription<SearchEngine.Engine>(SearchEngine.Engine.Baidu, LanguageManager.GetString("baidu"));
yield return new EnumDescription<SearchEngine.Engine>(SearchEngine.Engine.Google, LanguageManager.GetString("google"));
yield return new EnumDescription<SearchEngine.Engine>(SearchEngine.Engine.Bing, LanguageManager.GetString("bing"));
yield return new EnumDescription<SearchEngine.Engine>(SearchEngine.Engine.Sogou, LanguageManager.GetString("sogou"));
yield return new EnumDescription<SearchEngine.Engine>(SearchEngine.Engine.So360, LanguageManager.GetString("so360"));
}

public static IEnumerable<EnumDescription<NavigationType>> GetNavigationTypes()
{
yield return new EnumDescription<NavigationType>(NavigationType.Automatic, LanguageManager.GetString("navigationType_auto"));
yield return new EnumDescription<NavigationType>(NavigationType.SearchOnly, LanguageManager.GetString("navigationType_searchOnly"));
yield return new EnumDescription<NavigationType>(NavigationType.NavigateOnly, LanguageManager.GetString("navigationType_navigateOnly"));
}

public static IEnumerable<EnumDescription<NewPageBehavior>> GetNewPageBehaviors()
{
yield return new EnumDescription<NewPageBehavior>(NewPageBehavior.OriginalWindow, LanguageManager.GetString("newPageBehavior_originalWindow"));
yield return new EnumDescription<NewPageBehavior>(NewPageBehavior.NewWindow, LanguageManager.GetString("newPageBehavior_newWindow"));
}
}
}
2 changes: 2 additions & 0 deletions CefFlashBrowser/Models/LanguageManager.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using CefFlashBrowser.Models.Data;
using SimpleMvvm.Messaging;
using System;
using System.Collections.Generic;
using System.Linq;
Expand Down Expand Up @@ -48,6 +49,7 @@ public static string CurrentLanguage
{
LanguageResourceDic.Source = GetUri(value);
GlobalData.Settings.Language = value;
Messenger.Global.Send(MessageTokens.LANGUAGE_CHANGED, value);
}
}
}
Expand Down
22 changes: 5 additions & 17 deletions CefFlashBrowser/Models/NavigationType.cs
Original file line number Diff line number Diff line change
@@ -1,21 +1,9 @@
using System.Collections.Generic;

namespace CefFlashBrowser.Models
namespace CefFlashBrowser.Models
{
public static class NavigationType
public enum NavigationType
{
public enum Type
{
Automatic,
SearchOnly,
NavigateOnly
}

public static IEnumerable<EnumDescription<Type>> GetNavigationTypes()
{
yield return new EnumDescription<Type>(Type.Automatic, LanguageManager.GetString("navigationType_auto"));
yield return new EnumDescription<Type>(Type.SearchOnly, LanguageManager.GetString("navigationType_searchOnly"));
yield return new EnumDescription<Type>(Type.NavigateOnly, LanguageManager.GetString("navigationType_navigateOnly"));
}
Automatic,
SearchOnly,
NavigateOnly
}
}
8 changes: 8 additions & 0 deletions CefFlashBrowser/Models/NewPageBehavior.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace CefFlashBrowser.Models
{
public enum NewPageBehavior
{
OriginalWindow,
NewWindow
}
}
10 changes: 0 additions & 10 deletions CefFlashBrowser/Models/SearchEngine.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Net;

namespace CefFlashBrowser.Models
Expand Down Expand Up @@ -40,14 +39,5 @@ public static string GetUrl(string str, Engine e = Engine.Baidu)
throw new Exception("Unknown search engine.");
}
}

public static IEnumerable<EnumDescription<Engine>> GetSupportedSearchEngines()
{
yield return new EnumDescription<Engine>(Engine.Baidu, LanguageManager.GetString("baidu"));
yield return new EnumDescription<Engine>(Engine.Google, LanguageManager.GetString("google"));
yield return new EnumDescription<Engine>(Engine.Bing, LanguageManager.GetString("bing"));
yield return new EnumDescription<Engine>(Engine.Sogou, LanguageManager.GetString("sogou"));
yield return new EnumDescription<Engine>(Engine.So360, LanguageManager.GetString("so360"));
}
}
}
8 changes: 6 additions & 2 deletions CefFlashBrowser/Models/Settings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ public class Settings
public bool FirstStart { get; set; }
public string Language { get; set; }
public SearchEngine.Engine SearchEngine { get; set; }
public NavigationType.Type NavigationType { get; set; }
public NavigationType NavigationType { get; set; }
public NewPageBehavior NewPageBehavior { get; set; }
public bool DisableOnBeforeUnloadDialog { get; set; }
public WindowSizeInfo BrowserWindowSizeInfo { get; set; }
public WindowSizeInfo SwfWindowSizeInfo { get; set; }

Expand All @@ -16,7 +18,9 @@ public class Settings
FirstStart = true,
Language = "zh-CN",
SearchEngine = Models.SearchEngine.Engine.Baidu,
NavigationType = Models.NavigationType.Type.Automatic,
NavigationType = NavigationType.Automatic,
NewPageBehavior = NewPageBehavior.OriginalWindow,
DisableOnBeforeUnloadDialog = false,
BrowserWindowSizeInfo = null,
SwfWindowSizeInfo = null
};
Expand Down
8 changes: 4 additions & 4 deletions CefFlashBrowser/ViewModels/BrowserWindowViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class BrowserWindowViewModel : ViewModelBase
public DelegateCommand OpenInDefaultBrowserCommand { get; set; }
public DelegateCommand CreateShortcutCommand { get; set; }
public DelegateCommand AddFavoriteCommand { get; set; }
public DelegateCommand ExitBrowserCommand { get; set; }
public DelegateCommand CloseBrowserCommand { get; set; }

private void ViewSource(string url)
{
Expand Down Expand Up @@ -70,9 +70,9 @@ private void AddFavorite(ChromiumWebBrowser browser)
AddFavoriteDialog.Show(browser.Title, browser.Address);
}

private void ExitBrowser(ChromiumWebBrowser browser)
private void CloseBrowser(ChromiumWebBrowser browser)
{
Messenger.Global.Send(MessageTokens.EXIT_BROWSER, browser);
Messenger.Global.Send(MessageTokens.CLOSE_BROWSER, browser);
}

public BrowserWindowViewModel()
Expand All @@ -82,7 +82,7 @@ public BrowserWindowViewModel()
OpenInDefaultBrowserCommand = new DelegateCommand<string>(OpenInDefaultBrowser);
CreateShortcutCommand = new DelegateCommand<ChromiumWebBrowser>(CreateShortcut);
AddFavoriteCommand = new DelegateCommand<ChromiumWebBrowser>(AddFavorite);
ExitBrowserCommand = new DelegateCommand<ChromiumWebBrowser>(ExitBrowser);
CloseBrowserCommand = new DelegateCommand<ChromiumWebBrowser>(CloseBrowser);
}
}
}

This file was deleted.

Loading

0 comments on commit bb33329

Please sign in to comment.