Example #1
0
        private void DoFilter(SearchParameters sp)
        {
            foreach (DataGridViewRow row in grdResults.Rows)
            {
                var rowText = new StringBuilder();
                foreach (DataGridViewCell cell in row.Cells)
                {
                    rowText.Append(cell.Value);
                }
                var itemText = rowText.ToString();

                //Check row text
                var match = Regex.IsMatch(itemText, sp.SearchString);

                //Check FileContents
                var filePath = Path.Combine(row.Cells["Directory"].Value.ToString(), row.Cells["Name"].Value.ToString());
                if (!match && sp.SearchType == SearchType.FileContents && File.Exists(filePath))
                {
                    match = Utility.SearchContents(sp, filePath, out var _);
                }

                var selectMatch = (string)MultiThread.GetProperty(ddlFilterInclude, "Text");
                if (match == (selectMatch == "Select Match"))
                {
                    row.Selected = true;
                }
            }

            PostFilterUiCleanup();
        }
Example #2
0
        private void AddLog(string message, LogType logType)
        {
            Color lineColor;

            switch (logType)
            {
            case LogType.Info:
                if (!_properties.LogInfo)
                {
                    return;
                }
                lineColor = Color.Black;
                break;

            case LogType.Warning:
                if (!_properties.LogWarning)
                {
                    return;
                }
                lineColor    = Color.BlueViolet;
                _newWarnings = true;
                tabControl.Refresh();
                break;

            case LogType.Error:
                if (!_properties.LogError)
                {
                    return;
                }
                lineColor  = Color.Red;
                _newErrors = true;
                tabControl.Refresh();
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(logType), logType, null);
            }


            var preLength = int.Parse(MultiThread.GetProperty(rtbLog, "TextLength").ToString());

            MultiThread.InvokeMethod(rtbLog, "AppendText", new object[] { $"\r\n {DateTime.Now} - " });
            MultiThread.InvokeMethod(rtbLog, "AppendText", new object[] { message });

            var postLength = int.Parse(MultiThread.GetProperty(rtbLog, "TextLength").ToString());

            MultiThread.InvokeMethod(rtbLog, "Select", new object[] { preLength, postLength });

            MultiThread.SetProperty(rtbLog, "SelectionColor", lineColor);

            switch (logType)
            {
            case LogType.Info:
                MultiThread.SetProperty(rtbLog, "SelectionColor", Color.Black);
                break;

            case LogType.Warning:
                MultiThread.SetProperty(rtbLog, "SelectionColor", Color.BlueViolet);
                break;

            case LogType.Error:
                MultiThread.SetProperty(rtbLog, "SelectionColor", Color.Red);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(logType), logType, null);
            }

            MultiThread.InvokeMethod(rtbLog, "Select", new object[] { 0, 0 });
        }