1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-05-02 20:34:07 +02:00

Add FormBrowser.InvokeSafe and use it for CEF callbacks

This commit is contained in:
chylex 2016-04-10 23:09:45 +02:00
parent f74a7c8ed3
commit b9c93bfe20
3 changed files with 21 additions and 3 deletions

View File

@ -81,6 +81,15 @@ private void FormBrowser_WindowStateChanged(object sender, EventArgs e){
// callback handlers
public void InvokeSafe(Action func){
if (InvokeRequired){
Invoke(func);
}
else{
func();
}
}
public void OpenSettings(){
// TODO
}

View File

@ -1,4 +1,5 @@
using CefSharp;
using System;
namespace TweetDick.Core.Handling{
class ContextMenuHandler : IContextMenuHandler{
@ -31,11 +32,17 @@ public void OnBeforeContextMenu(IWebBrowser browserControl, IBrowser browser, IF
public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags){
switch((int)commandId){
case MenuSettings:
form.OpenSettings();
form.InvokeSafe(() => {
form.OpenSettings();
});
return true;
case MenuAbout:
form.OpenAbout();
form.InvokeSafe(() => {
form.OpenAbout();
});
return true;
}

View File

@ -7,7 +7,9 @@ public TweetDeckBridge(FormBrowser form){
}
public void OpenSettingsMenu(){
form.OpenSettings();
form.InvokeSafe(() => {
form.OpenSettings();
});
}
public void Log(string data){