public async Task DisableWidget(OverlayWidgetModel widget) { if (widget != null && widget.IsEnabled) { await widget.Disable(); } }
private static async Task Version35Upgrade(int version, string filePath) { if (version < 35) { DesktopChannelSettings settings = await SerializerHelper.DeserializeFromFile <DesktopChannelSettings>(filePath); await ChannelSession.Services.Settings.Initialize(settings); foreach (CommandBase command in GetAllCommands(settings)) { StoreCommandUpgrader.RestructureNewerOverlayActions(command.Actions); } #pragma warning disable CS0612 // Type or member is obsolete foreach (OverlayWidget widget in settings.overlayWidgetsInternal) { OverlayItemModelBase newItem = StoreCommandUpgrader.ConvertOverlayItem(widget.Item); newItem.ID = widget.Item.ID; newItem.Position = new OverlayItemPositionModel((OverlayItemPositionType)widget.Position.PositionType, widget.Position.Horizontal, widget.Position.Vertical, 0); OverlayWidgetModel newWidget = new OverlayWidgetModel(widget.Name, widget.OverlayName, newItem, 0); settings.OverlayWidgets.Add(newWidget); if (newWidget.SupportsRefreshUpdating && !widget.DontRefresh) { newWidget.RefreshTime = settings.OverlayWidgetRefreshTime; } } settings.overlayWidgetsInternal.Clear(); #pragma warning restore CS0612 // Type or member is obsolete await ChannelSession.Services.Settings.Save(settings); } }
public OverlayWidgetEditorWindow(OverlayWidgetModel widget) : this() { this.viewModel = new OverlayWidgetEditorWindowViewModel(widget); this.position.SetPosition(this.viewModel.OverlayWidget.Item.Position); }
protected override async Task PerformInternal(UserViewModel user, IEnumerable <string> arguments) { if (this.WidgetID != Guid.Empty) { OverlayWidgetModel widget = ChannelSession.Settings.OverlayWidgets.FirstOrDefault(w => w.Item.ID.Equals(this.WidgetID)); if (widget != null) { if (this.ShowWidget) { await widget.Enable(user, arguments, this.extraSpecialIdentifiers); } else { await widget.Disable(); } } } else { string overlayName = (string.IsNullOrEmpty(this.OverlayName)) ? ChannelSession.Services.Overlay.DefaultOverlayName : this.OverlayName; IOverlayEndpointService overlay = ChannelSession.Services.Overlay.GetOverlay(overlayName); if (overlay != null) { await overlay.ShowItem(this.OverlayItem, user, arguments, this.extraSpecialIdentifiers, this.platform); } } }
private async void SaveButton_Click(object sender, RoutedEventArgs e) { await this.RunAsyncOperation((System.Func <Task>)(async() => { if (await this.viewModel.Validate()) { OverlayItemPositionModel position = this.ItemPosition.GetPosition(); if (position == null) { await DialogHelper.ShowMessage("A valid position for this overlay widget must be selected"); return; } OverlayItemModelBase overlayItem = overlayTypeEditor.GetItem(); if (overlayItem == null) { await DialogHelper.ShowMessage("There are missing details for the overlay item"); return; } overlayItem.Position = position; OverlayWidgetModel widget = new OverlayWidgetModel(this.viewModel.Name, this.viewModel.SelectedOverlayEndpoint, overlayItem, (int)this.viewModel.RefreshTime); if (this.viewModel.OverlayWidget != null) { await this.viewModel.OverlayWidget.Disable(); ChannelSession.Settings.OverlayWidgets.Remove(this.viewModel.OverlayWidget); overlayItem.ID = this.viewModel.OverlayWidget.Item.ID; } ChannelSession.Settings.OverlayWidgets.Add(widget); this.Close(); } })); }
private async void EnableDisableToggleSwitch_Unchecked(object sender, RoutedEventArgs e) { ToggleButton button = (ToggleButton)sender; OverlayWidgetModel widget = (OverlayWidgetModel)button.DataContext; await this.viewModel.DisableWidget(widget); }
public async Task EnableWidget(OverlayWidgetModel widget) { if (widget != null && !widget.IsEnabled) { await widget.Initialize(); } }
protected override async Task PerformInternal(CommandParametersModel parameters) { if (this.WidgetID != Guid.Empty) { OverlayWidgetModel widget = ChannelSession.Settings.OverlayWidgets.FirstOrDefault(w => w.Item.ID.Equals(this.WidgetID)); if (widget != null) { if (this.ShowWidget) { await widget.Enable(parameters); } else { await widget.Disable(); } } } else { string overlayName = (string.IsNullOrEmpty(this.OverlayName)) ? ChannelSession.Services.Overlay.DefaultOverlayName : this.OverlayName; IOverlayEndpointService overlay = ChannelSession.Services.Overlay.GetOverlay(overlayName); if (overlay != null) { await overlay.ShowItem(this.OverlayItem, parameters); } } }
private async void PlayButton_Click(object sender, RoutedEventArgs e) { await this.Window.RunAsyncOperation(async() => { OverlayWidgetModel widget = FrameworkElementHelpers.GetDataContext <OverlayWidgetModel>(sender); await this.viewModel.PlayWidget(widget); }); }
private async void PlayButton_Click(object sender, RoutedEventArgs e) { await this.Window.RunAsyncOperation(async() => { Button button = (Button)sender; OverlayWidgetModel widget = (OverlayWidgetModel)button.DataContext; await this.viewModel.PlayWidget(widget); }); }
public OverlayWidgetEditorWindowViewModel(OverlayWidgetModel widget) { this.Initialize(); this.OverlayWidget = widget; this.Name = this.OverlayWidget.Name; this.SelectedOverlayEndpoint = this.OverlayWidget.OverlayName; this.RefreshTime = this.OverlayWidget.RefreshTime; }
public async Task DeleteWidget(OverlayWidgetModel widget) { if (widget != null) { await widget.Disable(); ChannelSession.Settings.OverlayWidgets.Remove(widget); await ChannelSession.SaveSettings(); } }
private void EditButton_Click(object sender, RoutedEventArgs e) { OverlayWidgetModel widget = FrameworkElementHelpers.GetDataContext <OverlayWidgetModel>(sender); if (widget != null) { OverlayWidgetEditorWindow window = new OverlayWidgetEditorWindow(widget); window.Closed += Window_Closed; window.Show(); } }
private async void DeleteButton_Click(object sender, RoutedEventArgs e) { await this.Window.RunAsyncOperation(async() => { if (await DialogHelper.ShowConfirmation(MixItUp.Base.Resources.DeleteWidgetPrompt)) { OverlayWidgetModel widget = FrameworkElementHelpers.GetDataContext <OverlayWidgetModel>(sender); await this.viewModel.DeleteWidget(widget); await this.viewModel.OnVisible(); } }); }
private void EditButton_Click(object sender, RoutedEventArgs e) { Button button = (Button)sender; OverlayWidgetModel widget = (OverlayWidgetModel)button.DataContext; if (widget != null) { OverlayWidgetEditorWindow window = new OverlayWidgetEditorWindow(widget); window.Closed += Window_Closed; window.Show(); } }
private async void DeleteButton_Click(object sender, RoutedEventArgs e) { await this.Window.RunAsyncOperation(async() => { if (await DialogHelper.ShowConfirmation("Are you sure you want to delete this widget?")) { Button button = (Button)sender; OverlayWidgetModel widget = (OverlayWidgetModel)button.DataContext; await this.viewModel.DeleteWidget(widget); await this.viewModel.OnVisible(); } }); }
public async Task PlayWidget(OverlayWidgetModel widget) { if (widget != null && widget.SupportsTestData) { await widget.HideItem(); await widget.LoadTestData(); await Task.Delay(5000); await widget.HideItem(); } }
private async void SaveButton_Click(object sender, RoutedEventArgs e) { await this.RunAsyncOperation((System.Func <Task>)(async() => { if (await this.viewModel.Validate()) { OverlayItemPositionModel position = this.position.GetPosition(); if (position == null) { await DialogHelper.ShowMessage(MixItUp.Base.Resources.InvalidPosition); return; } OverlayItemModelBase overlayItem = overlayTypeEditor.GetItem(); if (overlayItem == null) { await DialogHelper.ShowMessage(MixItUp.Base.Resources.OverlayMissingDetails); return; } overlayItem.Position = position; OverlayWidgetModel widget = new OverlayWidgetModel(this.viewModel.Name, this.viewModel.SelectedOverlayEndpoint, overlayItem, (int)this.viewModel.RefreshTime); if (this.viewModel.OverlayWidget != null) { await this.viewModel.OverlayWidget.Disable(); ChannelSession.Settings.OverlayWidgets.Remove(this.viewModel.OverlayWidget); overlayItem.ID = this.viewModel.OverlayWidget.Item.ID; } if (widget.Item is OverlayEndCreditsItemModel) { widget.IsEnabled = false; } ChannelSession.Settings.OverlayWidgets.Add(widget); this.Close(); } })); }
protected override async Task PerformInternal(UserViewModel user, IEnumerable <string> arguments) { if (this.WidgetID != Guid.Empty) { OverlayWidgetModel widget = ChannelSession.Settings.OverlayWidgets.FirstOrDefault(w => w.Item.ID.Equals(this.WidgetID)); if (widget != null) { if (this.ShowWidget) { await widget.Initialize(user, arguments, this.extraSpecialIdentifiers); } else { await widget.Disable(); } } } else { #pragma warning disable CS0612 // Type or member is obsolete if (this.Item != null) { StoreCommandUpgrader.RestructureNewerOverlayActions(new List <ActionBase>() { this }); } #pragma warning restore CS0612 // Type or member is obsolete string overlayName = (string.IsNullOrEmpty(this.OverlayName)) ? ChannelSession.Services.OverlayServers.DefaultOverlayName : this.OverlayName; IOverlayService overlay = ChannelSession.Services.OverlayServers.GetOverlay(overlayName); if (overlay != null) { await overlay.ShowItem(this.OverlayItem, user, arguments, this.extraSpecialIdentifiers); } } }
public override ActionBase GetAction() { string type = (string)this.TypeComboBox.SelectedItem; if (!string.IsNullOrEmpty(type)) { if (type.Equals(ShowHideWidgetOption)) { if (this.WidgetNameComboBox.SelectedIndex >= 0) { OverlayWidgetModel widget = (OverlayWidgetModel)this.WidgetNameComboBox.SelectedItem; return(new OverlayAction(widget.Item.ID, this.ShowHideWidgetCheckBox.IsChecked.GetValueOrDefault())); } } else { OverlayItemModelTypeEnum overlayType = EnumHelper.GetEnumValueFromString <OverlayItemModelTypeEnum>(type); if (this.OverlayNameComboBox.SelectedIndex < 0) { return(null); } string overlayName = (string)this.OverlayNameComboBox.SelectedItem; double duration; if (double.TryParse(this.DurationTextBox.Text, out duration) && duration > 0 && this.EntranceAnimationComboBox.SelectedIndex >= 0 && this.VisibleAnimationComboBox.SelectedIndex >= 0 && this.ExitAnimationComboBox.SelectedIndex >= 0) { OverlayItemEffectEntranceAnimationTypeEnum entrance = EnumHelper.GetEnumValueFromString <OverlayItemEffectEntranceAnimationTypeEnum>((string)this.EntranceAnimationComboBox.SelectedItem); OverlayItemEffectVisibleAnimationTypeEnum visible = EnumHelper.GetEnumValueFromString <OverlayItemEffectVisibleAnimationTypeEnum>((string)this.VisibleAnimationComboBox.SelectedItem); OverlayItemEffectExitAnimationTypeEnum exit = EnumHelper.GetEnumValueFromString <OverlayItemEffectExitAnimationTypeEnum>((string)this.ExitAnimationComboBox.SelectedItem); OverlayItemEffectsModel effects = new OverlayItemEffectsModel(entrance, visible, exit, duration); OverlayItemPositionModel position = this.ItemPosition.GetPosition(); OverlayItemModelBase item = null; if (overlayType == OverlayItemModelTypeEnum.Image) { item = this.ImageItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.Text) { item = this.TextItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.YouTube) { item = this.YouTubeItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.Video) { item = this.VideoItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.WebPage) { item = this.WebPageItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.HTML) { item = this.HTMLItem.GetItem(); } if (item != null) { item.Position = position; item.Effects = effects; return(new OverlayAction(overlayName, item)); } } } } return(null); }
public OverlayWidgetEditorWindow(OverlayWidgetModel widget) : this() { this.viewModel = new OverlayWidgetEditorWindowViewModel(widget); }