Example #1
0
        private async void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            await this.RunAsyncOperation(async() =>
            {
                if (string.IsNullOrEmpty(this.NameTextBox.Text))
                {
                    await MessageBoxHelper.ShowMessageDialog("A name must be specified");
                    return;
                }

                if (this.TypeComboBox.SelectedIndex < 0)
                {
                    await MessageBoxHelper.ShowMessageDialog("A widget type must be selected");
                    return;
                }

                if (this.OverlayNameComboBox.SelectedIndex < 0)
                {
                    await MessageBoxHelper.ShowMessageDialog("An overlay to use must be selected");
                    return;
                }
                string overlayName = (string)this.OverlayNameComboBox.SelectedItem;

                OverlayItemPosition position = this.ItemPosition.GetPosition();
                if (position == null)
                {
                    return;
                }

                OverlayItemBase item = null;
                OverlayWidgetTypeEnum overlayType = EnumHelper.GetEnumValueFromString <OverlayWidgetTypeEnum>((string)this.TypeComboBox.SelectedItem);
                if (overlayType == OverlayWidgetTypeEnum.Image)
                {
                    item = this.ImageItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.Text)
                {
                    item = this.TextItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.YouTube)
                {
                    item = this.YouTubeItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.Video)
                {
                    item = this.VideoItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.WebPage)
                {
                    item = this.WebPageItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.HTML)
                {
                    item = this.HTMLItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.ProgressBar)
                {
                    item = this.ProgressBarItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.EventList)
                {
                    item = this.EventListItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.GameQueue)
                {
                    item = this.GameQueueItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.ChatMessages)
                {
                    item = this.ChatMessagesItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.MixerClip)
                {
                    item = this.MixerClipItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.Leaderboard)
                {
                    item = this.LeaderboardItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.Timer)
                {
                    item = this.TimerItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.TimerTrain)
                {
                    item = this.TimerTrainItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.StreamBoss)
                {
                    item = this.StreamBossItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.GameStats)
                {
                    item = this.GameStatsItem.GetItem();
                }
                else if (overlayType == OverlayWidgetTypeEnum.SongRequests)
                {
                    item = this.SongRequestsItem.GetItem();
                }

                if (item == null)
                {
                    await MessageBoxHelper.ShowMessageDialog("There are missing Widget details");
                    return;
                }

                if (this.Widget == null)
                {
                    this.Widget = new OverlayWidget(this.NameTextBox.Text, overlayName, item, position, this.DontRefreshToggleButton.IsChecked.GetValueOrDefault());
                    ChannelSession.Settings.OverlayWidgets.Add(this.Widget);
                }
                else
                {
                    item.ID = this.Widget.Item.ID;

                    this.Widget.Name        = this.NameTextBox.Text;
                    this.Widget.OverlayName = overlayName;
                    this.Widget.Item        = item;
                    this.Widget.Position    = position;
                    this.Widget.DontRefresh = this.DontRefreshToggleButton.IsChecked.GetValueOrDefault();
                }

                this.Close();
            });
        }
Example #2
0
 private void TypeComboBox_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
 {
     this.ImageItem.Visibility        = Visibility.Collapsed;
     this.TextItem.Visibility         = Visibility.Collapsed;
     this.YouTubeItem.Visibility      = Visibility.Collapsed;
     this.VideoItem.Visibility        = Visibility.Collapsed;
     this.WebPageItem.Visibility      = Visibility.Collapsed;
     this.HTMLItem.Visibility         = Visibility.Collapsed;
     this.ProgressBarItem.Visibility  = Visibility.Collapsed;
     this.EventListItem.Visibility    = Visibility.Collapsed;
     this.GameQueueItem.Visibility    = Visibility.Collapsed;
     this.ChatMessagesItem.Visibility = Visibility.Collapsed;
     this.MixerClipItem.Visibility    = Visibility.Collapsed;
     this.LeaderboardItem.Visibility  = Visibility.Collapsed;
     this.TimerItem.Visibility        = Visibility.Collapsed;
     this.TimerTrainItem.Visibility   = Visibility.Collapsed;
     this.StreamBossItem.Visibility   = Visibility.Collapsed;
     this.GameStatsItem.Visibility    = Visibility.Collapsed;
     this.SongRequestsItem.Visibility = Visibility.Collapsed;
     if (this.TypeComboBox.SelectedIndex >= 0)
     {
         OverlayWidgetTypeEnum overlayType = EnumHelper.GetEnumValueFromString <OverlayWidgetTypeEnum>((string)this.TypeComboBox.SelectedItem);
         if (overlayType == OverlayWidgetTypeEnum.Image)
         {
             this.ImageItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.Text)
         {
             this.TextItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.YouTube)
         {
             this.YouTubeItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.Video)
         {
             this.VideoItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.WebPage)
         {
             this.WebPageItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.HTML)
         {
             this.HTMLItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.ProgressBar)
         {
             this.ProgressBarItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.EventList)
         {
             this.EventListItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.GameQueue)
         {
             this.GameQueueItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.ChatMessages)
         {
             this.ChatMessagesItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.MixerClip)
         {
             this.MixerClipItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.Leaderboard)
         {
             this.LeaderboardItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.Timer)
         {
             this.TimerItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.TimerTrain)
         {
             this.TimerTrainItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.StreamBoss)
         {
             this.StreamBossItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.GameStats)
         {
             this.GameStatsItem.Visibility = Visibility.Visible;
         }
         else if (overlayType == OverlayWidgetTypeEnum.SongRequests)
         {
             this.SongRequestsItem.Visibility = Visibility.Visible;
         }
     }
 }