1.0.5
This commit is contained in:
parent
e5e5e5c9a3
commit
2edf663d5b
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,6 +1,7 @@
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
pre_commit.log
|
||||
pre_commit.ps1
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
|
10
FileSearch/ExceptionsForm.Designer.cs
generated
10
FileSearch/ExceptionsForm.Designer.cs
generated
@ -1,4 +1,12 @@
|
||||
namespace FileSearch
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch
|
||||
{
|
||||
partial class ExceptionsForm
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using FileSearch.Logic.UI.Entries;
|
||||
|
||||
namespace FileSearch
|
||||
|
10
FileSearch/LargeListViewUserControl.Designer.cs
generated
10
FileSearch/LargeListViewUserControl.Designer.cs
generated
@ -1,4 +1,12 @@
|
||||
namespace FileSearch
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch
|
||||
{
|
||||
partial class LargeListViewUserControl
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using FileSearch.Logic.UI.Entries;
|
||||
using FileSearch.Logic.UI.ViewBuilders;
|
||||
|
||||
|
@ -1,4 +1,12 @@
|
||||
using System.Globalization;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using System.Globalization;
|
||||
|
||||
namespace FileSearch.Logic
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.CriterionSchemas;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.CriterionSchemas;
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace FileSearch.Logic.Model.Contexts
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
|
||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.EncodingDetection;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.EncodingDetection;
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using System.Text;
|
||||
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
|
||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using FileSearch.Logic.Model.Entities;
|
||||
|
||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using FileSearch.Logic.Model.Entities;
|
||||
|
||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
|
||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Contexts;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Contexts;
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using Ionic.Zip;
|
||||
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
|
||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using System.Text;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using System.Text;
|
||||
|
||||
namespace FileSearch.Logic.Model.EncodingDetection
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
{
|
||||
public class CriterionBase
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
{
|
||||
public enum CriterionWeight
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.EncodingDetection;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.EncodingDetection;
|
||||
using FileSearch.Logic.Model.Entities;
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
|
@ -1,4 +1,12 @@
|
||||
using System.Runtime.InteropServices;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
{
|
||||
public interface ICriterion
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
{
|
||||
public interface ICriterionContext
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
{
|
||||
public class SearchException
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using System.Xml;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using System.Xml;
|
||||
using Ionic.Zip;
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
{
|
||||
public class SearchResult
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Model.Engine
|
||||
{
|
||||
internal class TimedCallback<T>
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Model.Entities
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Model.Entities
|
||||
{
|
||||
internal enum FileDateOption
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Model.Tree
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Model.Tree
|
||||
{
|
||||
public class TreeViewBuilder
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.Plugin
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.Plugin
|
||||
{
|
||||
internal class ErrorPlugin : IPluginFacade
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
|
||||
namespace FileSearch.Logic.Plugin
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.UI.ViewBuilders;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.UI.ViewBuilders;
|
||||
|
||||
namespace FileSearch.Logic.Plugin
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.UI.ViewBuilders;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.UI.ViewBuilders;
|
||||
|
||||
namespace FileSearch.Logic.Plugin
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using System.Reflection;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
namespace FileSearch.Logic.Plugin
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.UI.Entries
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.UI.Entries
|
||||
{
|
||||
public interface IPathEntry
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.UI.Entries
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.UI.Entries
|
||||
{
|
||||
internal class PathEntry : IPathEntry
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.UI.Entries
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.UI.Entries
|
||||
{
|
||||
internal class PathEventArgs : EventArgs
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
|
||||
namespace FileSearch.Logic.UI.Entries
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.UI.Entries;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.UI.Entries;
|
||||
|
||||
namespace FileSearch.Logic.UI.ViewBuilders
|
||||
{
|
||||
|
@ -1,4 +1,12 @@
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using FileSearch.Logic.UI.Entries;
|
||||
|
||||
namespace FileSearch.Logic.UI.ViewBuilders
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace FileSearch.Logic.UI.ViewBuilders
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch.Logic.UI.ViewBuilders
|
||||
{
|
||||
internal static class ViewBuilderFactory
|
||||
{
|
||||
|
10
FileSearch/MainForm.Designer.cs
generated
10
FileSearch/MainForm.Designer.cs
generated
@ -1,4 +1,12 @@
|
||||
namespace FileSearch
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch
|
||||
{
|
||||
partial class MainForm
|
||||
{
|
||||
|
@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
using FileSearch.Logic;
|
||||
using FileSearch.Logic.Model.Engine;
|
||||
using FileSearch.Logic.Model.Tree;
|
||||
@ -28,7 +36,7 @@ namespace FileSearch
|
||||
#region Logic
|
||||
|
||||
/// <summary>
|
||||
/// Подготовка к запуску сеанса поиска
|
||||
/// Подготовка к запуску сеанса поиска
|
||||
/// </summary>
|
||||
private DirectoryInfo SearchInit()
|
||||
{
|
||||
@ -41,14 +49,14 @@ namespace FileSearch
|
||||
|
||||
SaveInfo(comboBox: true);
|
||||
|
||||
SearchBtn.Text = @"Остановить";
|
||||
statusLabel.Text = @"Поиск... Пожалуйста подождите.";
|
||||
SearchBtn.Text = @"Остановить";
|
||||
statusLabel.Text = @"Поиск... Пожалуйста подождите.";
|
||||
statusLabelExceptions.Text = null;
|
||||
return new DirectoryInfo(DirPathTxt.Text.Trim('\\') + "\\");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Обработка события обнаружения данных
|
||||
/// Обработка события обнаружения данных
|
||||
/// </summary>
|
||||
/// <param name="searchResults">searchResults</param>
|
||||
private void LoadList(IEnumerable<SearchResult> searchResults)
|
||||
@ -66,13 +74,13 @@ namespace FileSearch
|
||||
}
|
||||
|
||||
lstResults.AddSearchResults(searchResults);
|
||||
AddTimerTextInfo(_fileSearcher.CurrentTime.GetFriendlyNotation()); // обновляем таймер
|
||||
AddFindFilesCount(lstResults.Count); // Обновляем число обнаруженных файлов
|
||||
AddThreeViewData(searchResults); // Обновляем дерево директорий
|
||||
AddTimerTextInfo(_fileSearcher.CurrentTime.GetFriendlyNotation()); // обновляем таймер
|
||||
AddFindFilesCount(lstResults.Count); // Обновляем число обнаруженных файлов
|
||||
AddThreeViewData(searchResults); // Обновляем дерево директорий
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Обработка окончания сеанса поиска
|
||||
/// Обработка окончания сеанса поиска
|
||||
/// </summary>
|
||||
private void LoadListFinished()
|
||||
{
|
||||
@ -84,23 +92,23 @@ namespace FileSearch
|
||||
|
||||
var exceptions = _fileSearcher.Exceptions;
|
||||
if (exceptions.Count > 0)
|
||||
statusLabelExceptions.Text = string.Format(CultureInfo.InvariantCulture, "{0} ошибок в поиске", exceptions.Count);
|
||||
statusLabelExceptions.Text = string.Format(CultureInfo.InvariantCulture, "{0} ошибок в поиске", exceptions.Count);
|
||||
|
||||
SearchBtn.Text = @"Поиск";
|
||||
PauseBtn.Text = @"Пауза";
|
||||
SearchBtn.Text = @"Поиск";
|
||||
PauseBtn.Text = @"Пауза";
|
||||
SearchBtn.Enabled = true;
|
||||
|
||||
statusLabel.Text = @"Завершено за " + _fileSearcher.OperatingTime.GetFriendlyNotation() + @". Найдено: " + lstResults.Count;
|
||||
statusLabel.Text = @"Завершено за " + _fileSearcher.OperatingTime.GetFriendlyNotation() + @". Найдено: " + lstResults.Count;
|
||||
toolStripProgressBar1.Style = ProgressBarStyle.Blocks;
|
||||
if (DirsTreeView.Nodes.Count > 0)
|
||||
DirsTreeView.Focus();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Конфигурирование критерий поиска
|
||||
/// Конфигурирование критерий поиска
|
||||
///
|
||||
/// TODO: В будущем можно сделать тонкую настройку
|
||||
/// критерий поиска в UI указав Control для включения тех или иных
|
||||
/// TODO: В будущем можно сделать тонкую настройку
|
||||
/// критерий поиска в UI указав Control для включения тех или иных
|
||||
/// </summary>
|
||||
/// <param name="directoryInfo">directoryInfo</param>
|
||||
/// <param name="text">text</param>
|
||||
@ -128,7 +136,7 @@ namespace FileSearch
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Построение дерева директорий
|
||||
/// Построение дерева директорий
|
||||
/// </summary>
|
||||
/// <param name="searchResults">IEnumerable</param>
|
||||
private void AddThreeViewData(IEnumerable<SearchResult> searchResults)
|
||||
@ -137,7 +145,7 @@ namespace FileSearch
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Инициализация чтения максимального числа файлов в директории
|
||||
/// Инициализация чтения максимального числа файлов в директории
|
||||
/// </summary>
|
||||
private void LoadingMaxFiles()
|
||||
{
|
||||
@ -153,7 +161,7 @@ namespace FileSearch
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Формирование async задачи на чтение максимального числа файлов в директории
|
||||
/// Формирование async задачи на чтение максимального числа файлов в директории
|
||||
/// </summary>
|
||||
/// <param name="searchPath">path</param>
|
||||
public async Task GetAllFilesExecute(string searchPath)
|
||||
@ -166,7 +174,7 @@ namespace FileSearch
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получение максимального числа файлов в директории (с вложенными внутри)
|
||||
/// Получение максимального числа файлов в директории (с вложенными внутри)
|
||||
/// </summary>
|
||||
/// <param name="searchPath">path</param>
|
||||
private void GetAllFiles(string searchPath)
|
||||
@ -183,7 +191,7 @@ namespace FileSearch
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
// Обработка отмены операции
|
||||
// Обработка отмены операции
|
||||
AddMaxFilesTxtInfo(count.ToString());
|
||||
AddProgressBarLoadMax(false);
|
||||
}
|
||||
@ -227,28 +235,28 @@ namespace FileSearch
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
throw; // Пробрасываем исключение дальше для обработки в вызывающем коде
|
||||
throw; // Пробрасываем исключение дальше для обработки в вызывающем коде
|
||||
}
|
||||
catch (UnauthorizedAccessException)
|
||||
{
|
||||
return 0; // Пропускаем каталоги, к которым нет доступа
|
||||
return 0; // Пропускаем каталоги, к которым нет доступа
|
||||
}
|
||||
catch (DirectoryNotFoundException)
|
||||
{
|
||||
return 0; // Пропускаем отсутствующие каталоги
|
||||
return 0; // Пропускаем отсутствующие каталоги
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Сохранение полей (простейшее)
|
||||
/// Сохранение полей (простейшее)
|
||||
/// </summary>
|
||||
/// <param name="comboBox">сохранение выбранного пути в comboBox в текущей сессии</param>
|
||||
/// <param name="comboBox">сохранение выбранного пути в comboBox в текущей сессии</param>
|
||||
private void SaveInfo(bool comboBox = false)
|
||||
{
|
||||
File.WriteAllText(@"DirInfo.dat", DirPathTxt.Text);
|
||||
File.WriteAllText(@"FileRegex.dat", FileRegexPathTxt.Text);
|
||||
|
||||
//сохранение выбранного пути для поиска в текущей сессии
|
||||
//сохранение выбранного пути для поиска в текущей сессии
|
||||
if (comboBox)
|
||||
{
|
||||
var content = DirPathTxt.SelectedItem != null ? (string)DirPathTxt.SelectedItem : DirPathTxt.Text;
|
||||
@ -308,7 +316,7 @@ namespace FileSearch
|
||||
var dirInfo = SearchInit();
|
||||
if (!dirInfo.Exists)
|
||||
{
|
||||
MessageBox.Show(@"Путь не существует.", @"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
MessageBox.Show(@"Путь не существует.", @"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -321,8 +329,8 @@ namespace FileSearch
|
||||
{
|
||||
_fileSearcher?.Pause((state) =>
|
||||
{
|
||||
PauseBtn.Text = (state) ? "Далее" : "Пауза";
|
||||
}, (PauseBtn.Text == "Далее") ? false : true);
|
||||
PauseBtn.Text = (state) ? "Далее" : "Пауза";
|
||||
}, (PauseBtn.Text == "Далее") ? false : true);
|
||||
}
|
||||
|
||||
private void DirPathTxt_TextChanged(object sender, EventArgs e)
|
||||
@ -354,7 +362,7 @@ namespace FileSearch
|
||||
{
|
||||
if (_fileSearcher != null && _fileSearcher.IsRunning)
|
||||
{
|
||||
MessageBox.Show("Поиск ещё идёт!");
|
||||
MessageBox.Show("Поиск ещё идёт!");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -382,7 +390,7 @@ namespace FileSearch
|
||||
#region Async UI
|
||||
|
||||
/// <summary>
|
||||
/// Обновление AllFilesTxt
|
||||
/// Обновление AllFilesTxt
|
||||
/// </summary>
|
||||
/// <param name="text">count</param>
|
||||
private void AddMaxFilesTxtInfo(string text)
|
||||
@ -398,7 +406,7 @@ namespace FileSearch
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Обновление pictureBoxLoading
|
||||
/// Обновление pictureBoxLoading
|
||||
/// </summary>
|
||||
/// <param name="visible">bool</param>
|
||||
private void AddProgressBarLoadMax(bool visible)
|
||||
@ -414,7 +422,7 @@ namespace FileSearch
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Обновление timerTxt
|
||||
/// Обновление timerTxt
|
||||
/// </summary>
|
||||
/// <param name="text">count</param>
|
||||
private void AddTimerTextInfo(string text)
|
||||
@ -430,7 +438,7 @@ namespace FileSearch
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Обновление FindFilesTxt
|
||||
/// Обновление FindFilesTxt
|
||||
/// </summary>
|
||||
/// <param name="count">count</param>
|
||||
private void AddFindFilesCount(int count)
|
||||
|
@ -1,14 +1,22 @@
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
namespace FileSearch
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// Основная точка входа в приложение.
|
||||
/// Основная точка входа в приложение.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
// Чтобы настроить конфигурацию приложения, например установить настройки высокого разрешения или шрифт по умолчанию,
|
||||
// Чтобы настроить конфигурацию приложения, например установить настройки высокого разрешения или шрифт по умолчанию,
|
||||
// https://aka.ms/applicationconfiguration.
|
||||
ApplicationConfiguration.Initialize();
|
||||
Application.Run(new MainForm());
|
||||
|
10
FileSearch/Resource.Designer.cs
generated
10
FileSearch/Resource.Designer.cs
generated
@ -1,4 +1,12 @@
|
||||
//------------------------------------------------------------------------------
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 06:51:53
|
||||
* Version: 1.0.7
|
||||
*/
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Этот код создан программой.
|
||||
// Исполняемая версия:4.0.30319.42000
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 61 MiB After Width: | Height: | Size: 5.2 MiB |
Loading…
Reference in New Issue
Block a user