Ejemplo n.º 1
0
        private void ContextMenu_EditClicked(object sender, RoutedEventArgs e)
        {
            SuiBot_Core.Storage.ChatFilters.FilterType filterType = SuiBot_Core.Storage.ChatFilters.FilterType.Purge;
            var selectedTab = (TabItem)TabControl_FiltersSelect.SelectedItem;

            switch (selectedTab.Header)
            {
            case ("Timeout Filters"):
                filterType = SuiBot_Core.Storage.ChatFilters.FilterType.Timeout;
                break;

            case ("Ban Filters"):
                filterType = SuiBot_Core.Storage.ChatFilters.FilterType.Ban;
                break;

            default:
                filterType = SuiBot_Core.Storage.ChatFilters.FilterType.Purge;
                break;
            }

            SuiBot_Core.Storage.ChatFilter editedFilter = null;
            switch (filterType)
            {
            case (SuiBot_Core.Storage.ChatFilters.FilterType.Purge):
                if (ListView_PurgeFilters.SelectedItem == null)
                {
                    return;
                }
                editedFilter = (SuiBot_Core.Storage.ChatFilter)ListView_PurgeFilters.SelectedItem;
                break;

            case (SuiBot_Core.Storage.ChatFilters.FilterType.Timeout):
                if (ListView_TimeoutFilters.SelectedItem == null)
                {
                    return;
                }
                editedFilter = (SuiBot_Core.Storage.ChatFilter)ListView_TimeoutFilters.SelectedItem;
                break;

            case (SuiBot_Core.Storage.ChatFilters.FilterType.Ban):
                if (ListView_BanFilters.SelectedItem == null)
                {
                    return;
                }
                editedFilter = (SuiBot_Core.Storage.ChatFilter)ListView_BanFilters.SelectedItem;
                break;
            }

            Dialogs.AddEditFilterDialog aefd = new Dialogs.AddEditFilterDialog(filterType, editedFilter);
            var result = aefd.ShowDialog();

            if (result != null && result == true)
            {
                editedFilter = aefd.ReturnedFilter;
                ListView_PurgeFilters.Items.Refresh();
                ListView_TimeoutFilters.Items.Refresh();
                ListView_BanFilters.Items.Refresh();
            }
        }
        public AddEditFilterDialog(SuiBot_Core.Storage.ChatFilters.FilterType filterType, SuiBot_Core.Storage.ChatFilter editedFilter = null)
        {
            InitializeComponent();
            if (editedFilter != null)
            {
                ReturnedFilter = new SuiBot_Core.Storage.ChatFilter(editedFilter);
                switch (filterType)
                {
                case (SuiBot_Core.Storage.ChatFilters.FilterType.Purge):
                    this.Title = "Edit Purge filter";
                    this.TB_Duration.IsEnabled   = false;
                    this.ReturnedFilter.Duration = 1;
                    break;

                case (SuiBot_Core.Storage.ChatFilters.FilterType.Timeout):
                    this.Title = "Edit Timeout filter";
                    this.TB_Duration.IsEnabled = true;
                    break;

                case (SuiBot_Core.Storage.ChatFilters.FilterType.Ban):
                    this.Title = "Edit Ban filter";
                    this.TB_Duration.IsEnabled   = false;
                    this.ReturnedFilter.Duration = 1;
                    break;
                }
            }
            else
            {
                ReturnedFilter = new SuiBot_Core.Storage.ChatFilter();
                switch (filterType)
                {
                case (SuiBot_Core.Storage.ChatFilters.FilterType.Purge):
                    this.Title = "Add Purge filter";
                    this.TB_Duration.IsEnabled   = false;
                    this.ReturnedFilter.Duration = 1;
                    break;

                case (SuiBot_Core.Storage.ChatFilters.FilterType.Timeout):
                    this.Title = "Add Timeout filter";
                    this.TB_Duration.IsEnabled = true;
                    break;

                case (SuiBot_Core.Storage.ChatFilters.FilterType.Ban):
                    this.Title = "Add Ban filter";
                    this.TB_Duration.IsEnabled   = false;
                    this.ReturnedFilter.Duration = 1;
                    break;
                }
            }

            this.DataContext   = ReturnedFilter;
            this.regexInstance = new Regex(ReturnedFilter.Syntax);
            this.OnFilterChanged(null, null);
        }