private IOperation BuildShellOperation()
        {
            var aboutInfo       = new AboutNotificationInfo(text);
            var aboutController = new AboutNotificationController(context.AppConfig, uiFactory);
            var audio           = new Audio(context.Settings.Audio, ModuleLogger(nameof(Audio)));
            var keyboard        = new Keyboard(ModuleLogger(nameof(Keyboard)));
            var logInfo         = new LogNotificationInfo(text);
            var logController   = new LogNotificationController(logger, uiFactory);
            var powerSupply     = new PowerSupply(ModuleLogger(nameof(PowerSupply)));
            var wirelessAdapter = new WirelessAdapter(ModuleLogger(nameof(WirelessAdapter)));
            var operation       = new ShellOperation(
                actionCenter,
                audio,
                aboutInfo,
                aboutController,
                context,
                keyboard,
                logger,
                logInfo,
                logController,
                powerSupply,
                systemInfo,
                taskbar,
                taskview,
                text,
                uiFactory,
                wirelessAdapter);

            context.Activators.Add(new ActionCenterKeyboardActivator(ModuleLogger(nameof(ActionCenterKeyboardActivator)), nativeMethods));
            context.Activators.Add(new ActionCenterTouchActivator(ModuleLogger(nameof(ActionCenterTouchActivator)), nativeMethods));
            context.Activators.Add(new TaskviewKeyboardActivator(ModuleLogger(nameof(TaskviewKeyboardActivator)), nativeMethods));
            context.Activators.Add(new TerminationActivator(ModuleLogger(nameof(TerminationActivator)), nativeMethods));

            return(operation);
        }
Example #2
0
        internal SEBContext(AppSettings settings)
        {
            appSettings   = settings;
            logger        = new Logger();
            hashAlgorithm = new HashAlgorithm();

            InitializeLogging();
            InitializeText();

            _dispatcher = Dispatcher.CurrentDispatcher;

            uiFactory  = new UserInterfaceFactory(text);
            messageBox = new MessageBoxFactory(text);

            taskbar = uiFactory.CreateTaskbar(logger);
            taskbar.QuitButtonClicked += Shell_QuitButtonClicked;
            taskbar.Show();

            workingAreaHandler = new WorkingAreaHandler(new ModuleLogger(logger, nameof(WorkingAreaHandler)));
            workingAreaHandler.InitializeWorkingArea(taskbar.GetAbsoluteHeight());

            taskview = uiFactory.CreateTaskview();

            var audioSettings = new AudioSettings();
            var audio         = new Audio(audioSettings, new ModuleLogger(logger, nameof(Audio)));

            audio.Initialize();
            taskbar.AddSystemControl(uiFactory.CreateAudioControl(audio, Location.Taskbar));

            var keyboard = new Keyboard(new ModuleLogger(logger, nameof(Keyboard)));

            keyboard.Initialize();
            taskbar.AddSystemControl(uiFactory.CreateKeyboardLayoutControl(keyboard, Location.Taskbar));

            var powerSupply = new PowerSupply(new ModuleLogger(logger, nameof(PowerSupply)));

            powerSupply.Initialize();
            taskbar.AddSystemControl(uiFactory.CreatePowerSupplyControl(powerSupply, Location.Taskbar));

            var wirelessAdapter = new WirelessAdapter(new ModuleLogger(logger, nameof(WirelessAdapter)));

            wirelessAdapter.Initialize();
            taskbar.AddSystemControl(uiFactory.CreateWirelessNetworkControl(wirelessAdapter, Location.Taskbar));

            browser = new BrowserApplication(appSettings, messageBox, true, new ModuleLogger(logger, nameof(BrowserApplication)), text);
            taskbar.AddApplicationControl(uiFactory.CreateApplicationControl(browser, Location.Taskbar), true);
            browser.TerminationRequested += () =>
            {
                Browser_TerminationRequested();
            };

            taskview.Add(browser);
            InitializeCef();
            foreach (string startUrl in appSettings.StartUrls)
            {
                browser.CreateNewInstance(startUrl);
            }
        }
Example #3
0
        private IOperation BuildShellOperation()
        {
            var aboutInfo       = new AboutNotificationInfo(text);
            var aboutController = new AboutNotificationController(configuration.AppConfig, uiFactory);
            var audio           = new Audio(configuration.Settings.Audio, new ModuleLogger(logger, nameof(Audio)));
            var keyboard        = new Keyboard(new ModuleLogger(logger, nameof(Keyboard)));
            var logInfo         = new LogNotificationInfo(text);
            var logController   = new LogNotificationController(logger, uiFactory);
            var powerSupply     = new PowerSupply(new ModuleLogger(logger, nameof(PowerSupply)));
            var wirelessAdapter = new WirelessAdapter(new ModuleLogger(logger, nameof(WirelessAdapter)));
            var activators      = new IActionCenterActivator[]
            {
                new KeyboardActivator(new ModuleLogger(logger, nameof(KeyboardActivator))),
                new TouchActivator(new ModuleLogger(logger, nameof(TouchActivator)))
            };
            var operation = new ShellOperation(
                actionCenter,
                activators,
                configuration.Settings.ActionCenter,
                audio,
                aboutInfo,
                aboutController,
                keyboard,
                logger,
                logInfo,
                logController,
                powerSupply,
                systemInfo,
                taskbar,
                configuration.Settings.Taskbar,
                terminationActivator,
                text,
                uiFactory,
                wirelessAdapter);

            return(operation);
        }