diff --git a/fileFinder.sln b/fileFinder.sln new file mode 100644 index 0000000..4863598 --- /dev/null +++ b/fileFinder.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28010.2036 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "fileFinder", "fileFinder\fileFinder.csproj", "{4D77FAE4-8585-4A06-966D-C86F2EE8D19E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4D77FAE4-8585-4A06-966D-C86F2EE8D19E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4D77FAE4-8585-4A06-966D-C86F2EE8D19E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4D77FAE4-8585-4A06-966D-C86F2EE8D19E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4D77FAE4-8585-4A06-966D-C86F2EE8D19E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {FD4EF378-DD18-4655-8593-CE5E7AFA2B60} + EndGlobalSection +EndGlobal diff --git a/fileFinder/App.config b/fileFinder/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/fileFinder/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/fileFinder/Form1.Designer.cs b/fileFinder/Form1.Designer.cs new file mode 100644 index 0000000..8ffdad9 --- /dev/null +++ b/fileFinder/Form1.Designer.cs @@ -0,0 +1,182 @@ +namespace fileFinder +{ + partial class MainForm + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором форм Windows + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Node 1"); + System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Узел3"); + System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("Узел4"); + System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("Root node", new System.Windows.Forms.TreeNode[] { + treeNode1, + treeNode2, + treeNode3}); + this.resultViewer = new System.Windows.Forms.TreeView(); + this.dirSelectBtn = new System.Windows.Forms.Button(); + this.curDirTextBox = new System.Windows.Forms.TextBox(); + this.splitContainer = new System.Windows.Forms.SplitContainer(); + this.handleSearch = new System.Windows.Forms.Button(); + this.queryTextBox = new System.Windows.Forms.TextBox(); + this.bottomPanel = new System.Windows.Forms.Panel(); + this.infoLabel = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit(); + this.splitContainer.Panel1.SuspendLayout(); + this.splitContainer.Panel2.SuspendLayout(); + this.splitContainer.SuspendLayout(); + this.bottomPanel.SuspendLayout(); + this.SuspendLayout(); + // + // resultViewer + // + this.resultViewer.Dock = System.Windows.Forms.DockStyle.Top; + this.resultViewer.Location = new System.Drawing.Point(0, 0); + this.resultViewer.Name = "resultViewer"; + treeNode1.Name = "Node 1"; + treeNode1.Text = "Node 1"; + treeNode2.Name = "Узел3"; + treeNode2.Text = "Узел3"; + treeNode3.Name = "Узел4"; + treeNode3.Text = "Узел4"; + treeNode4.Name = "Root"; + treeNode4.Text = "Root node"; + this.resultViewer.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { + treeNode4}); + this.resultViewer.Size = new System.Drawing.Size(800, 358); + this.resultViewer.TabIndex = 3; + // + // dirSelectBtn + // + this.dirSelectBtn.Location = new System.Drawing.Point(667, 11); + this.dirSelectBtn.Name = "dirSelectBtn"; + this.dirSelectBtn.Size = new System.Drawing.Size(120, 21); + this.dirSelectBtn.TabIndex = 2; + this.dirSelectBtn.Text = "Select Directory"; + this.dirSelectBtn.UseVisualStyleBackColor = true; + this.dirSelectBtn.Click += new System.EventHandler(this.dirSelectBtn_Click); + // + // curDirTextBox + // + this.curDirTextBox.Location = new System.Drawing.Point(11, 12); + this.curDirTextBox.Name = "curDirTextBox"; + this.curDirTextBox.Size = new System.Drawing.Size(650, 20); + this.curDirTextBox.TabIndex = 1; + this.curDirTextBox.Text = "Choose or enter folder location"; + this.curDirTextBox.Enter += new System.EventHandler(this.curDirTextBox_Enter); + // + // splitContainer + // + this.splitContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer.Location = new System.Drawing.Point(0, 0); + this.splitContainer.Name = "splitContainer"; + this.splitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer.Panel1 + // + this.splitContainer.Panel1.Controls.Add(this.handleSearch); + this.splitContainer.Panel1.Controls.Add(this.dirSelectBtn); + this.splitContainer.Panel1.Controls.Add(this.queryTextBox); + this.splitContainer.Panel1.Controls.Add(this.curDirTextBox); + // + // splitContainer.Panel2 + // + this.splitContainer.Panel2.Controls.Add(this.bottomPanel); + this.splitContainer.Panel2.Controls.Add(this.resultViewer); + this.splitContainer.Size = new System.Drawing.Size(800, 450); + this.splitContainer.SplitterDistance = 66; + this.splitContainer.TabIndex = 4; + // + // handleSearch + // + this.handleSearch.Location = new System.Drawing.Point(667, 38); + this.handleSearch.Name = "handleSearch"; + this.handleSearch.Size = new System.Drawing.Size(120, 21); + this.handleSearch.TabIndex = 2; + this.handleSearch.Text = "Start/Pause"; + this.handleSearch.UseVisualStyleBackColor = true; + // + // queryTextBox + // + this.queryTextBox.Location = new System.Drawing.Point(11, 39); + this.queryTextBox.Name = "queryTextBox"; + this.queryTextBox.Size = new System.Drawing.Size(650, 20); + this.queryTextBox.TabIndex = 1; + this.queryTextBox.Tag = ""; + // + // bottomPanel + // + this.bottomPanel.AutoSize = true; + this.bottomPanel.Controls.Add(this.infoLabel); + this.bottomPanel.Dock = System.Windows.Forms.DockStyle.Bottom; + this.bottomPanel.Location = new System.Drawing.Point(0, 367); + this.bottomPanel.Name = "bottomPanel"; + this.bottomPanel.Size = new System.Drawing.Size(800, 13); + this.bottomPanel.TabIndex = 4; + // + // infoLabel + // + this.infoLabel.AutoSize = true; + this.infoLabel.Dock = System.Windows.Forms.DockStyle.Fill; + this.infoLabel.Location = new System.Drawing.Point(0, 0); + this.infoLabel.Name = "infoLabel"; + this.infoLabel.Size = new System.Drawing.Size(423, 13); + this.infoLabel.TabIndex = 0; + this.infoLabel.Text = "Current file is: C:\\nextcloud\\scripts\\... | Number of handled files: 123 | It\'s b" + + "een 30 secs...\r\n"; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.splitContainer); + this.Name = "MainForm"; + this.Text = "fileFinder Utility Created by Defend"; + this.splitContainer.Panel1.ResumeLayout(false); + this.splitContainer.Panel1.PerformLayout(); + this.splitContainer.Panel2.ResumeLayout(false); + this.splitContainer.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit(); + this.splitContainer.ResumeLayout(false); + this.bottomPanel.ResumeLayout(false); + this.bottomPanel.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TreeView resultViewer; + private System.Windows.Forms.Button dirSelectBtn; + private System.Windows.Forms.TextBox curDirTextBox; + private System.Windows.Forms.SplitContainer splitContainer; + private System.Windows.Forms.Button handleSearch; + private System.Windows.Forms.Panel bottomPanel; + private System.Windows.Forms.Label infoLabel; + private System.Windows.Forms.TextBox queryTextBox; + } +} + diff --git a/fileFinder/Form1.cs b/fileFinder/Form1.cs new file mode 100644 index 0000000..0bafe76 --- /dev/null +++ b/fileFinder/Form1.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace fileFinder +{ + public partial class MainForm : Form + { + public MainForm() + { + InitializeComponent(); + } + + private void dirSelectBtn_Click(object sender, EventArgs e) + { + using (var dialog = new FolderBrowserDialog()) + { + DialogResult result = dialog.ShowDialog(); + if (result == DialogResult.OK && !String.IsNullOrWhiteSpace(dialog.SelectedPath)) + { + curDirTextBox.Text = dialog.SelectedPath; + hintHided = true; + } + } + } + + bool hintHided = false; + private void curDirTextBox_Enter(object sender, EventArgs e) + { + if (!hintHided) + { + hintHided = true; + curDirTextBox.Text = ""; + } + } + + + + + } +} diff --git a/fileFinder/Form1.resx b/fileFinder/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/fileFinder/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/fileFinder/Program.cs b/fileFinder/Program.cs new file mode 100644 index 0000000..2d93a02 --- /dev/null +++ b/fileFinder/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace fileFinder +{ + static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/fileFinder/Properties/AssemblyInfo.cs b/fileFinder/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c30545f --- /dev/null +++ b/fileFinder/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения, +// связанные со сборкой. +[assembly: AssemblyTitle("fileFinder")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("fileFinder")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// COM, задайте атрибуту ComVisible значение TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("4d77fae4-8585-4a06-966d-c86f2ee8d19e")] + +// Сведения о версии сборки состоят из следующих четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +// Можно задать все значения или принять номер сборки и номер редакции по умолчанию. +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/fileFinder/Properties/Resources.Designer.cs b/fileFinder/Properties/Resources.Designer.cs new file mode 100644 index 0000000..5f07002 --- /dev/null +++ b/fileFinder/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программным средством. +// Версия среды выполнения: 4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если +// код создан повторно. +// +//------------------------------------------------------------------------------ + +namespace fileFinder.Properties +{ + + + /// + /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. + /// + // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder + // класс с помощью таких средств, как ResGen или Visual Studio. + // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen + // с параметром /str или заново постройте свой VS-проект. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("fileFinder.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Переопределяет свойство CurrentUICulture текущего потока для всех + /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/fileFinder/Properties/Resources.resx b/fileFinder/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/fileFinder/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/fileFinder/Properties/Settings.Designer.cs b/fileFinder/Properties/Settings.Designer.cs new file mode 100644 index 0000000..560fc82 --- /dev/null +++ b/fileFinder/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace fileFinder.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/fileFinder/Properties/Settings.settings b/fileFinder/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/fileFinder/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/fileFinder/fileFinder.csproj b/fileFinder/fileFinder.csproj new file mode 100644 index 0000000..00a202e --- /dev/null +++ b/fileFinder/fileFinder.csproj @@ -0,0 +1,82 @@ + + + + + Debug + AnyCPU + {4D77FAE4-8585-4A06-966D-C86F2EE8D19E} + WinExe + fileFinder + fileFinder + v4.5 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file