private void btnOk_Click(object sender, EventArgs e)
        {
            //Create and populate default filters list
            List<DefaultFilters> defaultFilters = new List<DefaultFilters>();

            for (int i = 0; i < chklstComFilters.Items.Count; i++) {
                if (chklstComFilters.GetItemCheckState(i) == CheckState.Checked) {
                    defaultFilters.Add((DefaultFilters)i);
                }
            }

            //Create and populate custom filters list
            List<string[]> customFilters = new List<string[]>();

            foreach (DataGridViewRow row in gvFilters.Rows) {
                if (row.Index < gvFilters.Rows.Count - 1) {
                    string cell0 = (row.Cells[0].Value != null) ? row.Cells[0].Value.ToString() : "";
                    string cell1 = (row.Cells[1].Value != null) ? row.Cells[1].Value.ToString() : "";

                    customFilters.Add(new string[] { cell0, cell1 });
                }
            }
            FilterList filterList = new FilterList(defaultFilters, customFilters);

            //If both filter lists are empty return null otherwise return filter list container
            this.Tag = (defaultFilters.Count == 0 && customFilters.Count == 0) ? null : filterList;

            //Set dialog result to return to main form
            this.DialogResult = DialogResult.OK;
        }
Beispiel #2
0
 private void ClearFilters()
 {
     if (MessageBox.Show("Are you sure you want to clear the filters?", "Clear Filters", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         _filterList = null;
     }
 }
Beispiel #3
0
        public static void ProcessFilters(FilterList filterList, List <FileInfo> files)
        {
            //Initialize list of file names
            _renameFiles = new List <string>();
            foreach (FileInfo file in files)
            {
                _renameFiles.Add(Util.FileName(file.Name));
            }

            //Run filter processors
            ProcessDefaultFilters(filterList.defaultFilters);
            ProcessCustomFilters(filterList.customFilters);

            //Rename files
            if (files.Count == _renameFiles.Count)
            {
                for (int i = 0; i < files.Count; i++)
                {
                    if (Util.FileName(files[i].Name) != _renameFiles[i])
                    {
                        FileHandler.Rename(files[i], _renameFiles[i]);
                    }
                }
            }
            else
            {
                ErrorHandler.LogError("File and Rename count missmatch, please try again.", true);
            }
        }
Beispiel #4
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            //Create and populate default filters list
            List <DefaultFilters> defaultFilters = new List <DefaultFilters>();

            for (int i = 0; i < chklstComFilters.Items.Count; i++)
            {
                if (chklstComFilters.GetItemCheckState(i) == CheckState.Checked)
                {
                    defaultFilters.Add((DefaultFilters)i);
                }
            }

            //Create and populate custom filters list
            List <string[]> customFilters = new List <string[]>();

            foreach (DataGridViewRow row in gvFilters.Rows)
            {
                if (row.Index < gvFilters.Rows.Count - 1)
                {
                    string cell0 = (row.Cells[0].Value != null) ? row.Cells[0].Value.ToString() : "";
                    string cell1 = (row.Cells[1].Value != null) ? row.Cells[1].Value.ToString() : "";

                    customFilters.Add(new string[] { cell0, cell1 });
                }
            }
            FilterList filterList = new FilterList(defaultFilters, customFilters);

            //If both filter lists are empty return null otherwise return filter list container
            this.Tag = (defaultFilters.Count == 0 && customFilters.Count == 0) ? null : filterList;

            //Set dialog result to return to main form
            this.DialogResult = DialogResult.OK;
        }
Beispiel #5
0
        private void mnuFilterEdit_Click(object sender, EventArgs e)
        {
            FormFilters frmFilters = new FormFilters(_filterList);

            if (frmFilters.ShowDialog() == DialogResult.OK)
            {
                _filterList = (FilterList)frmFilters.Tag;
            }
        }
        public static bool Save(FilterList filterList)
        {
            if (filterList != null)
            {
                try {
                    //Show file dialog
                    SaveFileDialog fileDialog = new SaveFileDialog();
                    fileDialog.InitialDirectory = Util.GetPath();
                    fileDialog.FileName         = "Filters";
                    fileDialog.DefaultExt       = "xml";
                    fileDialog.Filter           = "XML Files (*.xml)|*.xml";
                    fileDialog.FilterIndex      = 0;

                    if (fileDialog.ShowDialog() == DialogResult.OK)
                    {
                        XElement filterListEl = new XElement("FilterList");

                        //Process Default Filters
                        if (filterList.defaultFilters.Count > 0)
                        {
                            XElement defaultFilters = new XElement("DefaultFilters");
                            foreach (DefaultFilters filter in filterList.defaultFilters)
                            {
                                defaultFilters.Add(new XElement("DFilter", (int)filter));
                            }
                            filterListEl.Add(defaultFilters);
                        }

                        //Process Custom Filters
                        if (filterList.customFilters.Count > 0)
                        {
                            XElement customFilters = new XElement("CustomFilters");
                            foreach (string[] filter in filterList.customFilters)
                            {
                                customFilters.Add(new XElement("CFilter",
                                                               new XElement("Input", filter[0]),
                                                               new XElement("Output", filter[1])
                                                               ));
                            }
                            filterListEl.Add(customFilters);
                        }

                        //Save document
                        XDocument document = new XDocument(filterListEl);
                        document.Save(fileDialog.FileName);
                    }
                    return(true);
                } catch {
                }
            }
            return(false);
        }
        private void SetFilters(FilterList filterList)
        {
            if (filterList != null) {
                //Set default filters
                foreach (DefaultFilters filter in filterList.defaultFilters) {
                    chklstComFilters.SetItemChecked((int)filter, true);
                }

                //Set custom filters
                foreach (string[] filter in filterList.customFilters) {
                    gvFilters.Rows.Add(filter[0], filter[1]);
                }
            }
        }
Beispiel #8
0
        private void SetFilters(FilterList filterList)
        {
            if (filterList != null)
            {
                //Set default filters
                foreach (DefaultFilters filter in filterList.defaultFilters)
                {
                    chklstComFilters.SetItemChecked((int)filter, true);
                }

                //Set custom filters
                foreach (string[] filter in filterList.customFilters)
                {
                    gvFilters.Rows.Add(filter[0], filter[1]);
                }
            }
        }
        public FilterList Merge(FilterList filterList)
        {
            if (filterList != null) {
                foreach (DefaultFilters filter in filterList.defaultFilters) {
                    if (!this.defaultFilters.Contains(filter)) {
                        this.defaultFilters.Add(filter);
                    }
                }

                foreach (string[] filter in filterList.customFilters) {
                    if (this.customFilters.FindIndex(item => item[0] == filter[0] && item[1] == filter[1]) < 0) {
                        this.customFilters.Add(filter);
                    }
                }
            }
            return this;
        }
        public static bool Save(FilterList filterList)
        {
            if (filterList != null) {
                try {
                    //Show file dialog
                    SaveFileDialog fileDialog = new SaveFileDialog();
                    fileDialog.InitialDirectory = Util.GetPath();
                    fileDialog.FileName = "Filters";
                    fileDialog.DefaultExt = "xml";
                    fileDialog.Filter = "XML Files (*.xml)|*.xml";
                    fileDialog.FilterIndex = 0;

                    if (fileDialog.ShowDialog() == DialogResult.OK) {
                        XElement filterListEl = new XElement("FilterList");

                        //Process Default Filters
                        if (filterList.defaultFilters.Count > 0) {
                            XElement defaultFilters = new XElement("DefaultFilters");
                            foreach (DefaultFilters filter in filterList.defaultFilters) {
                                defaultFilters.Add(new XElement("DFilter", (int)filter));
                            }
                            filterListEl.Add(defaultFilters);
                        }

                        //Process Custom Filters
                        if (filterList.customFilters.Count > 0) {
                            XElement customFilters = new XElement("CustomFilters");
                            foreach (string[] filter in filterList.customFilters) {
                                customFilters.Add(new XElement("CFilter",
                                    new XElement("Input", filter[0]),
                                    new XElement("Output", filter[1])
                                ));
                            }
                            filterListEl.Add(customFilters);
                        }

                        //Save document
                        XDocument document = new XDocument(filterListEl);
                        document.Save(fileDialog.FileName);
                    }
                    return true;
                } catch {
                }
            }
            return false;
        }
        public FilterList Merge(FilterList filterList)
        {
            if (filterList != null)
            {
                foreach (DefaultFilters filter in filterList.defaultFilters)
                {
                    if (!this.defaultFilters.Contains(filter))
                    {
                        this.defaultFilters.Add(filter);
                    }
                }

                foreach (string[] filter in filterList.customFilters)
                {
                    if (this.customFilters.FindIndex(item => item[0] == filter[0] && item[1] == filter[1]) < 0)
                    {
                        this.customFilters.Add(filter);
                    }
                }
            }
            return(this);
        }
        public static void ProcessFilters(FilterList filterList, List<FileInfo> files)
        {
            //Initialize list of file names
            _renameFiles = new List<string>();
            foreach (FileInfo file in files) {
                _renameFiles.Add(Util.FileName(file.Name));
            }

            //Run filter processors
            ProcessDefaultFilters(filterList.defaultFilters);
            ProcessCustomFilters(filterList.customFilters);

            //Rename files
            if (files.Count == _renameFiles.Count) {
                for (int i = 0; i < files.Count; i++) {
                    if (Util.FileName(files[i].Name) != _renameFiles[i]) {
                        FileHandler.Rename(files[i], _renameFiles[i]);
                    }
                }
            } else {
                ErrorHandler.LogError("File and Rename count missmatch, please try again.", true);
            }
        }
Beispiel #13
0
        private void mnuFilterLoad_Click(object sender, EventArgs e)
        {
            //If filter list is already populated display dialog asking if the user would like to
            //clear the list and load fresh or load in addition to the existing filters;
            OpenFileDialog fileDialog = new OpenFileDialog();

            fileDialog.Filter      = "XML Files (*.xml)|*.xml";
            fileDialog.FilterIndex = 1;

            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                FilterList loadFilters = FilterFileHandler.Load(fileDialog.FileName);

                if (_filterList != null)
                {
                    MessageBoxManager.Yes = "Merge";
                    MessageBoxManager.No  = "Override";
                    MessageBoxManager.Register();
                    DialogResult result = MessageBox.Show("Existing filters detected. Would you like to merge the new and existing filters or override them?",
                                                          "Filter Options", MessageBoxButtons.YesNoCancel);
                    MessageBoxManager.Unregister();

                    if (result == DialogResult.Yes)
                    {
                        _filterList.Merge(loadFilters);
                    }
                    else if (result == DialogResult.No)
                    {
                        _filterList = loadFilters;
                    }
                }
                else
                {
                    _filterList = loadFilters;
                }
            }
        }
        public FormFilters(FilterList filterList)
        {
            InitializeComponent();

            SetFilters(filterList);
        }
Beispiel #15
0
        private void mnuFilterLoad_Click(object sender, EventArgs e)
        {
            //If filter list is already populated display dialog asking if the user would like to
            //clear the list and load fresh or load in addition to the existing filters;
            OpenFileDialog fileDialog = new OpenFileDialog();
            fileDialog.Filter = "XML Files (*.xml)|*.xml";
            fileDialog.FilterIndex = 1;

            if (fileDialog.ShowDialog() == DialogResult.OK) {
                FilterList loadFilters = FilterFileHandler.Load(fileDialog.FileName);

                if (_filterList != null) {
                    MessageBoxManager.Yes = "Merge";
                    MessageBoxManager.No = "Override";
                    MessageBoxManager.Register();
                    DialogResult result = MessageBox.Show("Existing filters detected. Would you like to merge the new and existing filters or override them?",
                        "Filter Options", MessageBoxButtons.YesNoCancel);
                    MessageBoxManager.Unregister();

                    if (result == DialogResult.Yes) {
                        _filterList.Merge(loadFilters);
                    } else if (result == DialogResult.No) {
                        _filterList = loadFilters;
                    }
                } else {
                    _filterList = loadFilters;
                }
            }
        }
Beispiel #16
0
        private void mnuFilterEdit_Click(object sender, EventArgs e)
        {
            FormFilters frmFilters = new FormFilters(_filterList);

            if (frmFilters.ShowDialog() == DialogResult.OK) {
                _filterList = (FilterList)frmFilters.Tag;
            }
        }
Beispiel #17
0
 private void ClearFilters()
 {
     if (MessageBox.Show("Are you sure you want to clear the filters?", "Clear Filters", MessageBoxButtons.YesNo) == DialogResult.Yes) {
         _filterList = null;
     }
 }
Beispiel #18
0
        public FormFilters(FilterList filterList)
        {
            InitializeComponent();

            SetFilters(filterList);
        }