private void UpdateVolume(double volume, bool muted) { var info = BuildInfoText(volume, muted); this.muted = muted; Button.ToolTip = info; Text.Text = info; Volume.ValueChanged -= Volume_ValueChanged; Volume.Value = Math.Round(volume * 100); Volume.ValueChanged += Volume_ValueChanged; if (muted) { ButtonIcon.Content = IconResourceLoader.Load(MutedIcon); MuteButton.ToolTip = text.Get(TextKey.SystemControl_AudioDeviceUnmuteTooltip); PopupIcon.Content = IconResourceLoader.Load(MutedIcon); } else { ButtonIcon.Content = LoadIcon(volume); MuteButton.ToolTip = text.Get(TextKey.SystemControl_AudioDeviceMuteTooltip); PopupIcon.Content = LoadIcon(volume); } }
private void InitializeApplicationControl() { var originalBrush = Button.Background; application.WindowsChanged += Application_WindowsChanged; Button.Click += Button_Click; Button.Content = IconResourceLoader.Load(application.Icon); Button.MouseEnter += (o, args) => WindowPopup.IsOpen = WindowStackPanel.Children.Count > 0; Button.MouseLeave += (o, args) => Task.Delay(250).ContinueWith(_ => Dispatcher.Invoke(() => WindowPopup.IsOpen = WindowPopup.IsMouseOver)); Button.ToolTip = application.Tooltip; WindowPopup.CustomPopupPlacementCallback = new CustomPopupPlacementCallback(WindowPopup_PlacementCallback); WindowPopup.MouseLeave += (o, args) => Task.Delay(250).ContinueWith(_ => Dispatcher.Invoke(() => WindowPopup.IsOpen = IsMouseOver)); WindowPopup.Opened += (o, args) => { Background = Brushes.LightGray; Button.Background = Brushes.LightGray; }; WindowPopup.Closed += (o, args) => { Background = originalBrush; Button.Background = originalBrush; }; }
private void LoadIcon() { var uri = new Uri("pack://application:,,,/SafeExamBrowser.UserInterface.Desktop;component/Images/ShutDown.xaml"); var resource = new XamlIconResource(uri); Button.Content = IconResourceLoader.Load(resource); }
private void InitializeApplicationControl() { var originalBrush = Button.Background; application.InstanceStarted += Application_InstanceStarted; Button.Click += Button_Click; Button.Content = IconResourceLoader.Load(application.Info.IconResource); Button.MouseEnter += (o, args) => InstancePopup.IsOpen = InstanceStackPanel.Children.Count > 1; Button.MouseLeave += (o, args) => Task.Delay(250).ContinueWith(_ => Dispatcher.Invoke(() => InstancePopup.IsOpen = InstancePopup.IsMouseOver)); Button.ToolTip = application.Info.Tooltip; InstancePopup.MouseLeave += (o, args) => Task.Delay(250).ContinueWith(_ => Dispatcher.Invoke(() => InstancePopup.IsOpen = IsMouseOver)); InstancePopup.Opened += (o, args) => { Background = Brushes.LightGray; Button.Background = Brushes.LightGray; }; InstancePopup.Closed += (o, args) => { Background = originalBrush; Button.Background = originalBrush; }; }
private void InitializeAudioControl() { var originalBrush = Grid.Background; audio.VolumeChanged += Audio_VolumeChanged; Button.Click += (o, args) => Popup.IsOpen = !Popup.IsOpen; Button.MouseLeave += (o, args) => Task.Delay(250).ContinueWith(_ => Dispatcher.Invoke(() => Popup.IsOpen = Popup.IsMouseOver)); MuteButton.Click += MuteButton_Click; MutedIcon = new XamlIconResource { Uri = new Uri("pack://application:,,,/SafeExamBrowser.UserInterface.Mobile;component/Images/Audio_Muted.xaml") }; NoDeviceIcon = new XamlIconResource { Uri = new Uri("pack://application:,,,/SafeExamBrowser.UserInterface.Mobile;component/Images/Audio_Light_NoDevice.xaml") }; Popup.MouseLeave += (o, args) => Task.Delay(250).ContinueWith(_ => Dispatcher.Invoke(() => Popup.IsOpen = IsMouseOver)); Popup.Opened += (o, args) => Grid.Background = Brushes.Gray; Popup.Closed += (o, args) => Grid.Background = originalBrush; Volume.ValueChanged += Volume_ValueChanged; if (audio.HasOutputDevice) { AudioDeviceName.Text = audio.DeviceFullName; Button.IsEnabled = true; UpdateVolume(audio.OutputVolume, audio.OutputMuted); } else { AudioDeviceName.Text = text.Get(TextKey.SystemControl_AudioDeviceNotFound); Button.IsEnabled = false; Button.ToolTip = text.Get(TextKey.SystemControl_AudioDeviceNotFound); ButtonIcon.Content = IconResourceLoader.Load(NoDeviceIcon); } }
private UIElement GetIcon(int signalStrength) { var icon = signalStrength > 66 ? "100" : (signalStrength > 33 ? "66" : (signalStrength > 0 ? "33" : "0")); var uri = new Uri($"pack://application:,,,/SafeExamBrowser.UserInterface.Desktop;component/Images/WiFi_Light_{icon}.xaml"); var resource = new XamlIconResource(uri); return(IconResourceLoader.Load(resource)); }
private UIElement LoadIcon(double volume) { var icon = volume > 0.66 ? "100" : (volume > 0.33 ? "66" : "33"); var uri = new Uri($"pack://application:,,,/SafeExamBrowser.UserInterface.Desktop;component/Images/Audio_Light_{icon}.xaml"); var resource = new XamlIconResource(uri); return(IconResourceLoader.Load(resource)); }
private void InitializeControl() { var uri = new Uri("pack://application:,,,/SafeExamBrowser.UserInterface.Desktop;component/Images/ShutDown.xaml"); var resource = new XamlIconResource(uri); Icon.Content = IconResourceLoader.Load(resource); Button.Click += (o, args) => Clicked?.Invoke(new CancelEventArgs()); }
private void InitializeControl() { Icon.Content = IconResourceLoader.Load(window.Icon); IsVisibleChanged += TaskViewWindowControl_IsVisibleChanged; Loaded += (o, args) => Update(); Title.Text = window.Title; window.IconChanged += Window_IconChanged; window.TitleChanged += Window_TitleChanged; }
private void InitializeApplicationInstanceButton() { Button.Click += Button_Click; Button.ToolTip = window.Title; Icon.Content = IconResourceLoader.Load(window.Icon); window.IconChanged += Instance_IconChanged; window.TitleChanged += Window_TitleChanged; Text.Text = window.Title; }
private void InitializeApplicationInstanceButton() { Icon.Content = IconResourceLoader.Load(info.IconResource); Text.Text = instance.Name; Button.ToolTip = instance.Name; instance.IconChanged += Instance_IconChanged; instance.NameChanged += Instance_NameChanged; }
private void InitializeApplicationInstanceButton() { Icon.Content = IconResourceLoader.Load(window?.Icon ?? application.Icon); Text.Text = window?.Title ?? application.Name; Button.Click += (o, args) => Clicked?.Invoke(this, EventArgs.Empty); Button.ToolTip = window?.Title ?? application.Tooltip; if (window != null) { window.IconChanged += Window_IconChanged; window.TitleChanged += Window_TitleChanged; } }
private void InitializeApplicationInstanceButton() { Icon.Content = IconResourceLoader.Load(info.IconResource); Text.Text = instance?.Name ?? info.Name; Button.Click += (o, args) => Clicked?.Invoke(this, EventArgs.Empty); Button.ToolTip = instance?.Name ?? info.Tooltip; if (instance != null) { instance.IconChanged += Instance_IconChanged; instance.NameChanged += Instance_NameChanged; } }
private void Instance_IconChanged(IconResource icon) { Dispatcher.InvokeAsync(() => Icon.Content = IconResourceLoader.Load(icon)); }
private void Window_IconChanged(IconResource icon) { Dispatcher.InvokeAsync(() => Icon.Content = IconResourceLoader.Load(window.Icon)); }
private void UpdateNotification() { IconButton.ToolTip = notification.Tooltip; IconButton.Content = IconResourceLoader.Load(notification.IconResource); }
private void InitializeNotificationIcon(INotificationInfo info) { IconButton.ToolTip = info.Tooltip; IconButton.Content = IconResourceLoader.Load(info.IconResource); }