Esempio n. 1
0
 public App()
 {
     settingsProvider = new SettingsProvider(new RoamingAppDataStorage("Carnac"));
     keyProvider      = new KeyProvider(InterceptKeys.Current, new PasswordModeService(), new DesktopLockEventService());
     settings         = settingsProvider.GetSettings <PopupSettings>();
     messageProvider  = new MessageProvider(new ShortcutProvider(), settings, new MessageMerger());
 }
 public MessageProvider(IShortcutProvider shortcutProvider, IKeyProvider keyProvider, PopupSettings settings, IMessageMerger messageMerger)
 {
     this.shortcutProvider = shortcutProvider;
     this.keyProvider      = keyProvider;
     this.messageMerger    = messageMerger;
     this.settings         = settings;
 }
Esempio n. 3
0
        private void OnClick()
        {
            PopupSettings p = new PopupSettings();

            // show the popup window
            p.ShowDialog();
        }
Esempio n. 4
0
        double GetDefaultFadeDelay(PopupSettings settings)
        {
            AttributeCollection attributes =
                TypeDescriptor.GetProperties(settings)["ItemFadeDelay"].Attributes;
            DefaultValueAttribute myAttribute =
                (DefaultValueAttribute)attributes[typeof(DefaultValueAttribute)];

            double fadeDelay;

            double.TryParse(myAttribute.Value.ToString(), out fadeDelay);
            return(fadeDelay);
        }
Esempio n. 5
0
        public KeyProvider(IInterceptKeys interceptKeysSource, IPasswordModeService passwordModeService, IDesktopLockEventService desktopLockEventService, ISettingsProvider settingsProvider)
        {
            if (settingsProvider == null)
            {
                throw new ArgumentNullException(nameof(settingsProvider));
            }

            this.interceptKeysSource     = interceptKeysSource;
            this.passwordModeService     = passwordModeService;
            this.desktopLockEventService = desktopLockEventService;

            settings = settingsProvider.GetSettings <PopupSettings>();
        }
Esempio n. 6
0
        KeysController CreateKeysController(IObservable <Message> messageStream)
        {
            var messageProvider = Substitute.For <IMessageProvider>();

            messageProvider.GetMessageStream().Returns(_ => messageStream);
            var concurrencyService = Substitute.For <IConcurrencyService>();

            concurrencyService.MainThreadScheduler.Returns(testScheduler);
            concurrencyService.Default.Returns(testScheduler);

            var settingsService = Substitute.For <ISettingsProvider>();
            var popupSettings   = new PopupSettings();

            popupSettings.ItemFadeDelay = GetDefaultFadeDelay(popupSettings);
            settingsService.GetSettings <PopupSettings>().Returns(popupSettings);

            return(new KeysController(messages, messageProvider, concurrencyService, settingsService));
        }
 public void Dispose()
 {
     if (_popup != null)
     {
         _popup.Closed -= PopupOnClosed;
     }
     if (_weakSizeListener != null)
     {
         Window.Current.SizeChanged -= _weakSizeListener;
     }
     if (_weakInputPaneListener != null)
     {
         InputPane pane = InputPane.GetForCurrentView();
         if (pane != null)
         {
             pane.Hiding  -= _weakInputPaneListener;
             pane.Showing -= _weakInputPaneListener;
         }
     }
     _popup                 = null;
     _weakSizeListener      = null;
     _weakInputPaneListener = null;
     _settings              = null;
 }
            public void Show()
            {
                Rect bounds = Window.Current.Bounds;
                var  child  = (FrameworkElement)_popupView;

                _popup = new Popup
                {
                    Width  = bounds.Width,
                    Height = bounds.Height,
                    Child  = child,
                    IsLightDismissEnabled = false,
                    ChildTransitions      =
                        new TransitionCollection
                    {
                        new PopupThemeTransition {
                            FromHorizontalOffset = 0, FromVerticalOffset = 100
                        }
                    }
                };
                InputPane inputPane = InputPane.GetForCurrentView();

                if (inputPane != null)
                {
                    _flyoutOffset = inputPane.OccludedRect.Height;
                }
                _settings = new PopupSettings
                {
                    UpdatePositionAction = UpdatePositionDelegate,
                    UpdateSizeAction     = UpdateSizeDelegate
                };
                _popupView.InitializePopup(_popup, _settings);
                UpdatePopup(bounds.Width, bounds.Height);
                _popup.Closed += PopupOnClosed;
                if (_settings.ShowAction == null)
                {
                    _popup.IsOpen = true;
                }
                else
                {
                    _settings.ShowAction(_popup);
                }
                _weakSizeListener = ReflectionExtensions
                                    .CreateWeakDelegate <PopupWrapper, WindowSizeChangedEventArgs, WindowSizeChangedEventHandler>(
                    this, (wrapper, o, arg3) => wrapper.OnWindowSizeChanged(arg3), (o, handler) => ((Window)o).SizeChanged -= handler, handler => handler.Handle);
                Window.Current.SizeChanged += _weakSizeListener;
                if (inputPane != null)
                {
                    _weakInputPaneListener = ReflectionExtensions
                                             .CreateWeakDelegate <PopupWrapper, InputPaneVisibilityEventArgs,
                                                                  TypedEventHandler <InputPane, InputPaneVisibilityEventArgs> >(this,
                                                                                                                                (wrapper, o, arg3) => wrapper.OnInputPaneChanged(arg3),
                                                                                                                                (o, handler) =>
                    {
                        var pane      = (InputPane)o;
                        pane.Hiding  -= handler;
                        pane.Showing -= handler;
                    }, handler => handler.Handle);
                    inputPane.Showing += _weakInputPaneListener;
                    inputPane.Hiding  += _weakInputPaneListener;
                }
            }
Esempio n. 9
0
 public KeyShowViewModel(ObservableCollection <Message> keys, PopupSettings popupSettings)
 {
     Keys     = keys;
     Settings = popupSettings;
 }
Esempio n. 10
0
 public MessageProvider(IKeyProvider keyProvider, IShortcutProvider shortcutProvider, ISettingsProvider settingsProvider)
 {
     this.shortcutProvider = shortcutProvider;
     settings  = settingsProvider.GetSettings <PopupSettings>();
     keyStream = keyProvider.Subscribe(this);
 }
Esempio n. 11
0
 public KeyShowViewModel(PopupSettings popupSettings)
 {
     Messages = new ObservableCollection <Message>();
     Settings = popupSettings;
 }
Esempio n. 12
0
        private void OpenSettingsPopup(object sender, EventArgs e)
        {
            PopupSettings popup = new PopupSettings();

            popup.ShowDialog();
        }
Esempio n. 13
0
 public void InitializePopup(Popup popup, PopupSettings settings)
 {
 }
Esempio n. 14
0
 public MessageProvider(IShortcutProvider shortcutProvider, IKeyProvider keyProvider, PopupSettings settings)
 {
     this.shortcutProvider = shortcutProvider;
     this.keyProvider      = keyProvider;
     this.settings         = settings;
 }