/// <inheritdoc/>
        public void Initialize(IServiceSettingProvider serviceSetting)
        {
            DispatcherHelper.ThrowIfNotStaThread();

            _mousePointsList = new List <Point>();
            _gesturesList    = new List <Gesture>();
            _clickedKeys     = new List <Tuple <DateTime, Key> >();
            _hotKeys         = new List <HotKey>();

            _keyboardHook = new KeyboardHook();
            _mouseHook    = new MouseHook();
            _inPause      = true;

            MouseGestureEventsHistory = new List <MouseGestureEventArgs>();
            HotKeysEventsHistory      = new List <HotKeyEventArgs>();
            GestureTolerance          = 10;
            HistoryLimit          = 100;
            HandleHotKeyPress     = true;
            HandleHotKeyRelease   = true;
            HandleMouseButtonDown = true;
            HandleMouseButtonUp   = true;
            HandleMouseMove       = true;
            HandleMouseWheel      = true;
            GestureActionButton   = MouseButtons.LeftMouseButton;

            Resume();

            Logger.Instance.Information($"{GetType().Name} initialized.");
        }
示例#2
0
        /// <inheritdoc/>
        public void Initialize(IServiceSettingProvider settingProvider)
        {
            WindowsList = new List <Window>();

            using (Logger.Instance.Stopwatch($"{GetType().Name} is retreiving Windows Store apps information."))
            {
                try
                {
                    // We retrieve the installed Windows Store apps.
                    var packageManager = new PackageManager();
                    var packages       = packageManager.FindPackagesForUser("");

                    foreach (var package in packages)
                    {
                        var app = new WindowsStoreApp(package);
                        app.InitializeAsync().Wait();
                        _windowsStoreApps.Add(app);
                    }
                }
                catch
                {
                    Logger.Instance.Information($"{GetType().Name} has failed to retrieve Windows Store apps information.");
                }

                Logger.Instance.Information($"{GetType().Name} has found {_windowsStoreApps.Count} Windows Store apps.");
            }

            Logger.Instance.Information($"{GetType().Name} initialized.");
        }
示例#3
0
        /// <inheritdoc/>
        public void Initialize(IServiceSettingProvider settingProvider)
        {
            _settingProvider     = settingProvider;
            _ignoredApplications = _settingProvider.GetSetting <List <IgnoredApplication> >("IgnoredApplications");
            if (CoreHelper.IsUnitTesting())
            {
                _clipboardHook = new ClipboardHook(new Window());
            }
            else
            {
                _clipboardHook = new ClipboardHook(Application.Current.MainWindow);
            }

            _clipboardHook.ClipboardChanged += ClipboardHook_ClipboardChanged;
            Resume();
            Logger.Instance.Information($"{GetType().Name} initialized.");
        }
示例#4
0
        /// <inheritdoc/>
        public async void Initialize(IServiceSettingProvider settingProvider)
        {
            _settingProvider = settingProvider;

            var synchronizeInterval   = _settingProvider.GetSetting <int>("SynchronizationInterval");
            var providers             = _settingProvider.GetSetting <List <ICloudStorageProvider> >("CloudStorageProviders");
            var isConnectedToInternet = SystemInfoHelper.CheckForInternetConnection();
            var cloudStorageProviders = new List <CloudStorageProvider>();

            _synchronizeTimer          = new DispatcherTimer();
            _synchronizeTimer.Interval = TimeSpan.FromMinutes(synchronizeInterval);
            _synchronizeTimer.Tick    += SynchronizeTimer_Tick;

            _cloudStorageProviders = new List <ICloudStorageProvider>();

            foreach (var provider in providers)
            {
                if (_cloudStorageProviders.Any(p => string.Compare(p.CloudServiceName, provider.CloudServiceName, StringComparison.OrdinalIgnoreCase) == 0))
                {
                    Logger.Instance.Fatal(new Exception($"The cloud storage provider '{provider.CloudServiceName}' already exists."));
                }

                if (isConnectedToInternet)
                {
                    await provider.TryAuthenticateAsync();
                }

                _cloudStorageProviders.Add(provider);
                cloudStorageProviders.Add(new CloudStorageProvider(provider.CloudServiceName, provider.CloudServiceIcon));
            }

            CloudStorageProviders = cloudStorageProviders.OrderBy(s => s.Name).ToList();

            if (isConnectedToInternet && CurrentCloudStorageProvider != null)
            {
                await CurrentCloudStorageProvider.TryAuthenticateAsync();
            }

            _synchronizeTimer.Start();
            Logger.Instance.Information($"{GetType().Name} initialized.");
        }
示例#5
0
 public void Initialize(IServiceSettingProvider settingProvider)
 {
     Reseted = false;
 }