public OSLevelHotkeyRegister(IUISynchronizer synchronizer)
 {
     _synchronizer = synchronizer;
     _synchronizer.RunSync(() => // all operations on hotkeys need to run on the same thread
                           _hiddenWindow = new KeyboardHookWindow(OnHotkey)
                           );
 }
        public BrowserAPIManager(
            CefOverlayForm overlay,
            IUISynchronizer uiSynchronizer
            )
        {
            _overlay      = overlay ?? throw new ArgumentNullException(nameof(overlay));
            _synchronizer = uiSynchronizer ?? throw new ArgumentNullException(nameof(uiSynchronizer));

            RegisterAPI(new GobchatBrowserAPI(this));
        }
        public AbstractGobchatApplicationContext()
        {
            AbstractGobchatApplicationContext.OnGobchatExit += (s, e) => Context_OnGobchatExit();
            Application.ApplicationExit += (s, e) => OnApplicationExit();

            _hiddenMainForm = new Form();
            UISynchronizer  = new ContextSpecificUISynchronizer(WindowsFormsSynchronizationContext.Current);

            _appWorker = new IndependendBackgroundWorker();
            _appWorker.Start((token) => ApplicationStartupProcess(token));
        }
        public void Initialize(ApplicationStartupHandler handler, IDIContext container)
        {
#if DEBUG
            var cefFolder = GobchatContext.ApplicationLocation;
#else
            var cefFolder = System.IO.Path.Combine(GobchatContext.ApplicationLocation, "libs", "cef");
#endif

            System.IO.Directory.CreateDirectory(cefFolder);
            CEFManager.CefAssemblyLocation = cefFolder;

            _synchronizer = container.Resolve <IUISynchronizer>();
            _synchronizer.RunSync(() => global::Gobchat.UI.Web.CEFManager.Initialize());
        }
Exemple #5
0
 public UIManager(IUISynchronizer synchronizer)
 {
     UISynchronizer = synchronizer ?? throw new ArgumentNullException(nameof(synchronizer));
 }
 public void Dispose()
 {
     _synchronizer?.RunSync(() => global::Gobchat.UI.Web.CEFManager.Dispose());
     _synchronizer = null;
 }