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; }
private void OnClick() { PopupSettings p = new PopupSettings(); // show the popup window p.ShowDialog(); }
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); }
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>(); }
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; } }
public KeyShowViewModel(ObservableCollection <Message> keys, PopupSettings popupSettings) { Keys = keys; Settings = popupSettings; }
public MessageProvider(IKeyProvider keyProvider, IShortcutProvider shortcutProvider, ISettingsProvider settingsProvider) { this.shortcutProvider = shortcutProvider; settings = settingsProvider.GetSettings <PopupSettings>(); keyStream = keyProvider.Subscribe(this); }
public KeyShowViewModel(PopupSettings popupSettings) { Messages = new ObservableCollection <Message>(); Settings = popupSettings; }
private void OpenSettingsPopup(object sender, EventArgs e) { PopupSettings popup = new PopupSettings(); popup.ShowDialog(); }
public void InitializePopup(Popup popup, PopupSettings settings) { }
public MessageProvider(IShortcutProvider shortcutProvider, IKeyProvider keyProvider, PopupSettings settings) { this.shortcutProvider = shortcutProvider; this.keyProvider = keyProvider; this.settings = settings; }