diff --git a/Co0nSearchC/CSearch.csproj b/Co0nSearchC/CSearch.csproj
index 56e708d..dd7d46f 100644
--- a/Co0nSearchC/CSearch.csproj
+++ b/Co0nSearchC/CSearch.csproj
@@ -23,8 +23,8 @@
false
true
true
- 4
- 0.1.4.4
+ 1
+ 0.1.5.1
false
true
true
@@ -106,6 +106,7 @@
+
Form
@@ -129,12 +130,15 @@
F_About.cs
+ Designer
F_Main.cs
+ Designer
F_Settings.cs
+ Designer
ResXFileCodeGenerator
diff --git a/Co0nSearchC/C_BaseDir.cs b/Co0nSearchC/C_BaseDir.cs
new file mode 100644
index 0000000..417eeb1
--- /dev/null
+++ b/Co0nSearchC/C_BaseDir.cs
@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CSearch
+{
+ public class C_BaseDir:IComparable
+ {
+ private String _Path;
+ private Boolean _IsEnabled;
+ public static String ENABLEDPREFIX = "SearchBaseDir";
+ public static String DISABLEDPREFIX = "DisabledSearchBaseDir";
+
+ public C_BaseDir(String Path, Boolean Enabled)
+ {
+ this._Path = Path;
+ this._IsEnabled = Enabled;
+
+ }
+
+ public String Path
+ {
+ get
+ {
+ return this._Path;
+ }
+ }
+
+ public Boolean IsEnabled
+ {
+ get
+ {
+ return this._IsEnabled;
+ }
+ }
+
+ ///
+ /// Enables a Basedir
+ ///
+ ///
+ /// True if success
+ public bool Enable()
+ {
+ if (!this._IsEnabled)
+ {
+ this._IsEnabled = true;
+ return true;
+ }
+ return false;
+ }
+
+ ///
+ /// Disables a Basedir
+ ///
+ ///
+ /// True if success
+ public bool Disable()
+ {
+ if (this._IsEnabled)
+ {
+ this._IsEnabled = false;
+ return true;
+ }
+ return false;
+ }
+
+ public override string ToString()
+ {
+ return this._Path;
+ }
+
+ public int CompareTo(C_BaseDir other)
+ {
+ return this._Path.CompareTo(other._Path);
+ }
+ }
+}
diff --git a/Co0nSearchC/C_Settings.cs b/Co0nSearchC/C_Settings.cs
index 1696b2d..9e5419c 100644
--- a/Co0nSearchC/C_Settings.cs
+++ b/Co0nSearchC/C_Settings.cs
@@ -6,7 +6,7 @@
using Co0nUtilZ;
using Microsoft.Win32;
-namespace Co0nSearchC
+namespace CSearch
{
///
/// Defines possible settings
@@ -16,8 +16,9 @@ public class C_Settings
#region variables
private C_RegistryHelper _regHelper;
- private List _baseDirs = new List();
- private String _BaseDirPrefix="SearchBaseDir";
+ private List _baseDirs = new List();
+ private String _EnabledBaseDirPrefix=C_BaseDir.ENABLEDPREFIX; //Prefix for Enabled folders
+ private String _DisabledBaseDirPrefix = C_BaseDir.DISABLEDPREFIX; //Prefix for Disabled folders
private String _Instancename = "Main";
#endregion
@@ -30,7 +31,7 @@ public C_Settings()
#region properties
//Returns a String-List of all BaseDirectories saved in RAM
- public List BaseDirs
+ public List BaseDirs
{// Property BaseDirs
get
{
@@ -49,7 +50,7 @@ private void dropAllBaseDirs()
foreach (String res in result)
{
- if (res.StartsWith(this._BaseDirPrefix)) // Wenn der gefundene Schlüssel mit dem gesuchten Präfix übereinstimmt.
+ if (res.StartsWith(this._EnabledBaseDirPrefix) || res.StartsWith(this._DisabledBaseDirPrefix)) // Wenn der gefundene Schlüssel mit dem gesuchten Präfix übereinstimmt.
{
this._regHelper.dropValue(this._Instancename, res);
}
@@ -62,7 +63,7 @@ private void dropAllBaseDirs()
///
///
///
- public bool removeBaseDir(String Value) // Entfernt einen Basisordner ... muss anschließend noch mit "putAllBaseDirs()" geschrieben werden.
+ public bool removeBaseDir(C_BaseDir Value) // Entfernt einen Basisordner ... muss anschließend noch mit "putAllBaseDirs()" geschrieben werden.
{
try
{
@@ -87,8 +88,8 @@ public bool removeBaseDir(String Value) // Entfernt einen Basisordner ... muss a
/// Adds a new Path to the Basedirectories saved in RAM
///
/// Basedir-Path
- ///
- public bool AddBaseDir(String Value) // Fügt einen Basisordner hinzu ... muss anschließend noch mit "putAllBaseDirs()" geschrieben werden.
+ /// True on success
+ public bool AddBaseDir(C_BaseDir Value) // Fügt einen Basisordner hinzu ... muss anschließend noch mit "putAllBaseDirs()" geschrieben werden.
{
try
{
@@ -120,13 +121,20 @@ public void getAllBaseDirs()
foreach (String res in result)
{
- if (res.StartsWith(this._BaseDirPrefix)) // Wenn der gefundene Schlüssel mit dem gesuchten Präfix übereinstimmt.
- {
+ if (res.StartsWith(this._EnabledBaseDirPrefix)) // Wenn der gefundene Schlüssel mit dem gesuchten Präfix für aktivierte übereinstimmt.
+ {//Enabled Folders
+ String value = this._regHelper.ReadSettingFromRegistry(this._Instancename, res);
+ this._baseDirs.Add(new C_BaseDir(value, true));
+ }
+ else if (res.StartsWith(this._DisabledBaseDirPrefix)) // Wenn der gefundene Schlüssel mit dem gesuchten Präfix für deaktivierte Ordner übereinstimmt.
+ {//Disabled Folders
String value = this._regHelper.ReadSettingFromRegistry(this._Instancename, res);
- this._baseDirs.Add(value);
+ this._baseDirs.Add(new C_BaseDir(value, false));
}
}
+ this._baseDirs.Sort(); //Sort results by their name
+
}
///
@@ -141,15 +149,53 @@ public void putAllBaseDirs()
this.dropAllBaseDirs(); //... und dort löschen.
//Anschließend die aktuelle definierten, zwischengepseicherten in die Registry schreiben.
- int counter=0;
- foreach (String Value in this._baseDirs)
+ int counterenabled=0;
+ int counterdisabled = 0;
+ foreach (C_BaseDir Value in this._baseDirs)
//foreach (String Value in currentbasedirs)
{
- this._regHelper.WriteSettingToRegistry(this._Instancename, this._BaseDirPrefix+counter.ToString(), Value);
- counter++;
+ if (Value.IsEnabled)
+ {//Enabled folders
+ this._regHelper.WriteSettingToRegistry(this._Instancename, this._EnabledBaseDirPrefix + counterenabled.ToString(), Value.Path);
+ counterenabled++;
+ }
+ else if (!Value.IsEnabled)
+ {//Disabled folders
+ this._regHelper.WriteSettingToRegistry(this._Instancename, this._DisabledBaseDirPrefix + counterdisabled.ToString(), Value.Path);
+ counterdisabled++;
+ }
+ }
+ }
+
+ }
+
+ ///
+ /// Sets the Enabled/Disabled state of a specific item in RAM
+ ///
+ ///
+ ///
+ ///
+ public bool setState(C_BaseDir value, Boolean Enable)
+ {
+ foreach (C_BaseDir bdir in this._baseDirs)
+ //foreach (String Value in currentbasedirs)
+ {
+ if (bdir.Equals(value))
+ {
+ if (Enable)
+ {
+ return bdir.Enable();
+ }
+ else
+ {
+ return bdir.Disable();
+ }
}
+
}
+
+ return false; //Item not found
}
#endregion
diff --git a/Co0nSearchC/F_About.Designer.cs b/Co0nSearchC/F_About.Designer.cs
index 5cccd1b..b53598f 100644
--- a/Co0nSearchC/F_About.Designer.cs
+++ b/Co0nSearchC/F_About.Designer.cs
@@ -1,4 +1,4 @@
-namespace Co0nSearchC
+namespace CSearch
{
partial class F_About
{
diff --git a/Co0nSearchC/F_About.cs b/Co0nSearchC/F_About.cs
index 9263d3d..727950a 100644
--- a/Co0nSearchC/F_About.cs
+++ b/Co0nSearchC/F_About.cs
@@ -9,7 +9,7 @@
using System.Threading.Tasks;
using System.Windows.Forms;
-namespace Co0nSearchC
+namespace CSearch
{
public partial class F_About : Form
{
diff --git a/Co0nSearchC/F_Main.Designer.cs b/Co0nSearchC/F_Main.Designer.cs
index 4d26246..1517435 100644
--- a/Co0nSearchC/F_Main.Designer.cs
+++ b/Co0nSearchC/F_Main.Designer.cs
@@ -1,4 +1,4 @@
-namespace Co0nSearchC
+namespace CSearch
{
partial class F_Main
{
diff --git a/Co0nSearchC/F_Main.cs b/Co0nSearchC/F_Main.cs
index 98423e0..d8236cd 100644
--- a/Co0nSearchC/F_Main.cs
+++ b/Co0nSearchC/F_Main.cs
@@ -11,8 +11,9 @@
using System.Threading;
using System.IO;
using System.Diagnostics;
+using Co0nUtilZ;
-namespace Co0nSearchC
+namespace CSearch
{
public partial class F_Main : Form
{
@@ -258,9 +259,12 @@ private void intializeIndexers()
}
else
{
- foreach (String BaseDir in this.settings.BaseDirs)
- { //Für jedes Basisverzeichnis einen Sucher initilisieren.
- this.indexers.Add(new C_FilesIndexer(@BaseDir, this._showhiddenfiles));
+ foreach (C_BaseDir BaseDir in this.settings.BaseDirs)
+ { //Für jedes aktive Basisverzeichnis einen Sucher initilisieren.
+ if (BaseDir.IsEnabled)
+ {
+ this.indexers.Add(new C_FilesIndexer(@BaseDir.Path, this._showhiddenfiles));
+ }
}
foreach (C_FilesIndexer indexer in this.indexers)
@@ -311,6 +315,16 @@ private void StopSeachers()
}
}
+ //Wait for SearchThreads to stop
+ foreach (C_FilesIndexer indexer in this.indexers)
+ {
+ if (indexer._SearchThread != null && indexer._SearchThread.ThreadState == System.Threading.ThreadState.Running)
+ {
+ indexer._SearchThread.Join();
+ }
+
+ }
+
}
}
@@ -345,6 +359,8 @@ private void beendenToolStripMenuItem_Click(object sender, EventArgs e)
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{// Catches the Form closing Event to ask the user to really quit.
+
+ /* //Commented out, because it prevents Windows 10 from shutting down... :/ Thx Microsoft.
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result;
@@ -358,6 +374,9 @@ private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
this.StopSeachers();
}
+ */
+
+ this.StopSeachers();
}
private void suchordnerToolStripMenuItem_Click(object sender, EventArgs e)
@@ -474,15 +493,7 @@ private void txtSearch_KeyDown(object sender, KeyEventArgs e)
//Enter pressed
this.StopSeachers();
- //Wait for SearchThreads to stop
- foreach (C_FilesIndexer indexer in this.indexers)
- {
- if (indexer._SearchThread != null && indexer._SearchThread.ThreadState == System.Threading.ThreadState.Running)
- {
- indexer._SearchThread.Join();
- }
-
- }
+
if (this.txtSearch.Text.Length >= 2)
{
@@ -499,7 +510,9 @@ private void changelogToolStripMenuItem_Click(object sender, EventArgs e)
{
String title = "Changelog:";
String msg = "";
- msg+="Version 0.144 (20181123):\r\n=========================\r\n- Added:\r\n\t- Changelog\r\n- fixed Bugs:\r\n\t- Itemlist behind statusbar\r\n";
+ msg += "Version 0.151 (20181126):\r\n=========================\r\n- fixed Bugs:\r\n\t- Stopping searchers (e.g. when changing folders) and waiting for them to finish \r\n\r\n";
+ msg += "Version 0.150 (20181126):\r\n=========================\r\n- Added:\r\n\t- En-/Disabling of Searchdirectories\r\n- fixed Bugs:\r\n\t- Fixed wrong namespaces in source code\r\n\r\n";
+ msg += "Version 0.144 (20181123):\r\n=========================\r\n- Added:\r\n\t- Changelog\r\n- fixed Bugs:\r\n\t- Itemlist behind statusbar\r\n";
Form AboutForm = new F_About(msg, title);
AboutForm.ShowDialog();
}
diff --git a/Co0nSearchC/F_Settings.Designer.cs b/Co0nSearchC/F_Settings.Designer.cs
index 8a2f917..b6ff594 100644
--- a/Co0nSearchC/F_Settings.Designer.cs
+++ b/Co0nSearchC/F_Settings.Designer.cs
@@ -1,4 +1,4 @@
-namespace Co0nSearchC
+namespace CSearch
{
public partial class F_Settings
{
@@ -33,7 +33,7 @@ private void InitializeComponent()
this.btnAddFolder = new System.Windows.Forms.Button();
this.btnSearchNewFolder = new System.Windows.Forms.Button();
this.txtFolder = new System.Windows.Forms.TextBox();
- this.lstBaseDirs = new System.Windows.Forms.ListBox();
+ this.lstBaseDirs = new System.Windows.Forms.CheckedListBox();
this.grpBaseDirs.SuspendLayout();
this.SuspendLayout();
//
@@ -94,13 +94,15 @@ private void InitializeComponent()
//
// lstBaseDirs
//
+ this.lstBaseDirs.CheckOnClick = true;
this.lstBaseDirs.FormattingEnabled = true;
this.lstBaseDirs.Location = new System.Drawing.Point(8, 74);
this.lstBaseDirs.Name = "lstBaseDirs";
- this.lstBaseDirs.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
- this.lstBaseDirs.Size = new System.Drawing.Size(892, 498);
+ this.lstBaseDirs.Size = new System.Drawing.Size(892, 484);
this.lstBaseDirs.TabIndex = 0;
+ this.lstBaseDirs.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.lstBaseDirs_ItemCheck);
this.lstBaseDirs.SelectedIndexChanged += new System.EventHandler(this.lstBaseDirs_SelectedIndexChanged);
+ this.lstBaseDirs.MouseDown += new System.Windows.Forms.MouseEventHandler(this.lstBaseDirs_MouseDown);
//
// F_Settings
//
@@ -127,6 +129,6 @@ private void InitializeComponent()
private System.Windows.Forms.Button btnAddFolder;
private System.Windows.Forms.Button btnSearchNewFolder;
private System.Windows.Forms.TextBox txtFolder;
- private System.Windows.Forms.ListBox lstBaseDirs;
+ private System.Windows.Forms.CheckedListBox lstBaseDirs;
}
}
\ No newline at end of file
diff --git a/Co0nSearchC/F_Settings.cs b/Co0nSearchC/F_Settings.cs
index ee3f549..5e6e6b4 100644
--- a/Co0nSearchC/F_Settings.cs
+++ b/Co0nSearchC/F_Settings.cs
@@ -9,7 +9,7 @@
using System.Windows.Forms;
using System.IO;
-namespace Co0nSearchC
+namespace CSearch
{
///
/// Einstellungsformular
@@ -19,10 +19,12 @@ public partial class F_Settings : Form
private F_Main caller;
public Boolean settingschanged=false;
+ private bool _ItemsListLoaded = false; //Indicates, that the listbox has loaded completly
public F_Settings(object caller)
{
InitializeComponent();
+ this.defineContextMenu();
try
{
this.caller = (F_Main)caller;
@@ -33,15 +35,128 @@ public F_Settings(object caller)
//Dies sollte niemals passieren...
MessageBox.Show("Die Einstellungen konnten nicht aus der Hauptmaske übernommen werden. Abbruch! \r\n\r\n" + ex.ToString() + "\r\n\r\n" + ex.StackTrace, "Schwerwiegender Fehler!", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
- }
+ }
+
}
private void FillList()
{
-
+ this._ItemsListLoaded = false;
+
this.lstBaseDirs.Items.Clear();
- this.lstBaseDirs.Items.AddRange(caller.settings.BaseDirs.ToArray());
+ this.lstBaseDirs.Items.AddRange(caller.settings.BaseDirs.ToArray());
+
+ for (int counter = 0; counter < this.lstBaseDirs.Items.Count; counter++)
+ {
+ C_BaseDir temp = (C_BaseDir)this.lstBaseDirs.Items[counter];
+ this.lstBaseDirs.SetItemChecked(counter, temp.IsEnabled);
+ }
+
+
+
+ /*
+ foreach (C_BaseDir basedir in this.lstBaseDirs.Items)
+ {
+
+ this.lstBaseDirs.SetItemChecked(counter, basedir.IsEnabled);
+
+ counter++;
+ }
+ */
+ this._ItemsListLoaded = true;
+
+
+ }
+
+ //private string _selectedMenuItem;
+ private int _selectedListIndex;
+ private ContextMenuStrip collectionRoundMenuStrip;
+ private void defineContextMenu()
+ { //defines the lstBox-Contextmenu
+ //Define Items for the context, menu
+ var toolStripMenuItem1 = new ToolStripMenuItem { Text = "Ordner aktivieren/deaktivieren" };
+ toolStripMenuItem1.Click += toolStripMenuEnDisable_Click; //get event handler
+ var toolStripMenuItem2 = new ToolStripMenuItem { Text = "Ordner löschen" };
+ toolStripMenuItem2.Click += toolStripMenuDelete_Click; //get event handler
+
+
+ collectionRoundMenuStrip = new ContextMenuStrip();
+ collectionRoundMenuStrip.Items.AddRange(new ToolStripItem[] { toolStripMenuItem1, toolStripMenuItem2 }); //Add all menu entries to the context-menu
+
+ }
+
+ private void lstBaseDirs_MouseDown(object sender, MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Right)
+ {//Right Mousebutton->show context-menu
+ var index = lstBaseDirs.IndexFromPoint(e.Location);
+ if (index != ListBox.NoMatches)
+ {
+ //_selectedMenuItem = lstBaseDirs.Items[index].ToString();
+ _selectedListIndex=(int) index;
+ collectionRoundMenuStrip.Show(Cursor.Position);
+ collectionRoundMenuStrip.Visible = true;
+ }
+ else
+ {
+ collectionRoundMenuStrip.Visible = false;
+ }
+ }
+ }
+
+ private void toolStripMenuEnDisable_Click(object sender, EventArgs e)
+ {
+ //Clipboard.SetText(_selectedMenuItem);
+ //Clipboard.SetText(lstBaseDirs.Items[this._selectedMenuIndex].ToString());
+ CheckState currentstate = this.lstBaseDirs.GetItemCheckState(this._selectedListIndex);
+ CheckState newstate = currentstate;
+ //invert current state
+ if (currentstate == CheckState.Checked)
+ {
+ newstate = CheckState.Unchecked;
+ ItemCheckChanged(false);
+ }
+ else if (currentstate == CheckState.Unchecked)
+ {
+ newstate = CheckState.Checked;
+ ItemCheckChanged(true);
+ }
+ this.lstBaseDirs.SetItemCheckState(this._selectedListIndex, newstate); //invert CheckState
+
+
+ }
+
+ private void ItemCheckChanged(Boolean toState) {
+
+ //if (toState == true)
+ //{
+ C_BaseDir temp = (C_BaseDir)lstBaseDirs.Items[this._selectedListIndex];
+ this.caller.settings.setState(temp, toState);
+ //}
+ settingschanged = true;
+ this.FillList();
+
+ }
+
+ private void toolStripMenuDelete_Click(object sender, EventArgs e)
+ {
+ //Clipboard.SetText(_selectedMenuItem);
+ C_BaseDir SelectedItem = (C_BaseDir)lstBaseDirs.Items[this._selectedListIndex];
+ String msgtext = "Möchten Sie wirklich \"" + SelectedItem.Path + "\" entfernen?";
+
+ MessageBoxButtons buttons = MessageBoxButtons.YesNo;
+ DialogResult result;
+
+ result = MessageBox.Show(msgtext, "Eintrag entfernen?", buttons, MessageBoxIcon.Question);
+ if (result == DialogResult.Yes)
+ {
+ this.caller.settings.removeBaseDir(SelectedItem);
+
+ settingschanged = true;
+ this.FillList();
+ }
+
}
private void grpBaseDirs_Enter(object sender, EventArgs e)
@@ -55,7 +170,8 @@ private void btnAddFolder_Click(object sender, EventArgs e)
{
if (Directory.Exists(this.txtFolder.Text))
{
- caller.settings.AddBaseDir(this.txtFolder.Text);
+
+ caller.settings.AddBaseDir(new C_BaseDir(this.txtFolder.Text, true));
this.FillList();
settingschanged = true;
}
@@ -100,22 +216,25 @@ private void F_Settings_FormClosing(object sender, FormClosingEventArgs e)
private void btnRemoveFolders_Click(object sender, EventArgs e)
{
- String msgtext = "Möchten Sie wirklich " + this.lstBaseDirs.SelectedItems.Count +" Einträge entfernen?";
+ if (this.lstBaseDirs.SelectedItems.Count > 0)
+ {
+ String msgtext = "Möchten Sie wirklich " + this.lstBaseDirs.SelectedItems.Count + " Einträge entfernen?";
- MessageBoxButtons buttons = MessageBoxButtons.YesNo;
- DialogResult result;
+ MessageBoxButtons buttons = MessageBoxButtons.YesNo;
+ DialogResult result;
- result = MessageBox.Show(msgtext, "Einträge entfernen?", buttons, MessageBoxIcon.Question);
- if (result == DialogResult.Yes)
- {
- foreach (String item in this.lstBaseDirs.SelectedItems)
+ result = MessageBox.Show(msgtext, "Einträge entfernen?", buttons, MessageBoxIcon.Question);
+ if (result == DialogResult.Yes)
{
- this.caller.settings.removeBaseDir(item);
- }
+ foreach (C_BaseDir item in this.lstBaseDirs.SelectedItems)
+ {
+ this.caller.settings.removeBaseDir(item);
+ }
- settingschanged = true;
+ settingschanged = true;
- this.FillList();
+ this.FillList();
+ }
}
@@ -125,5 +244,24 @@ private void lstBaseDirs_SelectedIndexChanged(object sender, EventArgs e)
{
}
+
+ private void lstBaseDirs_ItemCheck(object sender, ItemCheckEventArgs e)
+ {
+ if (this._ItemsListLoaded)
+ { //Wait for List to be loaded completly before handling checkstate-changes
+
+ this._selectedListIndex = e.Index;
+
+ if (e.NewValue == CheckState.Checked)
+ {
+ this.ItemCheckChanged(true);
+ }
+ else if (e.NewValue == CheckState.Unchecked)
+ {
+ this.ItemCheckChanged(false);
+ }
+ }
+
+ }
}
}
diff --git a/Co0nSearchC/Program.cs b/Co0nSearchC/Program.cs
index afe68d0..1ac12f7 100644
--- a/Co0nSearchC/Program.cs
+++ b/Co0nSearchC/Program.cs
@@ -4,14 +4,14 @@
using System.Threading.Tasks;
using System.Windows.Forms;
-namespace Co0nSearchC
+namespace CSearch
{
public static class Program
{
public static String APPNAME = "CSearch";
- public static float VERSION = 0.144f;
- public static String VERSIONDATE = "20181123";
+ public static float VERSION = 0.151f;
+ public static String VERSIONDATE = "20181126";
///
/// Der Haupteinstiegspunkt für die Anwendung.
///
diff --git a/Co0nSearchC/Properties/AssemblyInfo.cs b/Co0nSearchC/Properties/AssemblyInfo.cs
index 910f569..1ebb385 100644
--- a/Co0nSearchC/Properties/AssemblyInfo.cs
+++ b/Co0nSearchC/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.1.4.4")]
-[assembly: AssemblyFileVersion("0.1.4.4")]
+[assembly: AssemblyVersion("0.1.5.1")]
+[assembly: AssemblyFileVersion("0.1.5.1")]
diff --git a/Co0nSearchC/bin/Release/CSearch.exe b/Co0nSearchC/bin/Release/CSearch.exe
index 98d68e9..b60cec8 100644
Binary files a/Co0nSearchC/bin/Release/CSearch.exe and b/Co0nSearchC/bin/Release/CSearch.exe differ
diff --git a/Co0nSearchC/bin/Release/CSearch.zip b/Co0nSearchC/bin/Release/CSearch.zip
new file mode 100644
index 0000000..fbc004f
Binary files /dev/null and b/Co0nSearchC/bin/Release/CSearch.zip differ
diff --git a/Co0nSearchC/bin/Release/CSearch.zip.sha256sum.txt b/Co0nSearchC/bin/Release/CSearch.zip.sha256sum.txt
new file mode 100644
index 0000000..b2a3bf3
--- /dev/null
+++ b/Co0nSearchC/bin/Release/CSearch.zip.sha256sum.txt
@@ -0,0 +1 @@
+F5D3A536BD6E4F6C53D2726BC782E1A5E4C025F1D8E95A412585143116AA08F5
\ No newline at end of file
diff --git a/Co0nSearchC/bin/Release/CSearch/CSearch.exe.sha256sum.txt b/Co0nSearchC/bin/Release/CSearch/CSearch.exe.sha256sum.txt
new file mode 100644
index 0000000..1defa93
--- /dev/null
+++ b/Co0nSearchC/bin/Release/CSearch/CSearch.exe.sha256sum.txt
@@ -0,0 +1 @@
+A767F817E59CF52EFB8567F5937E03F6F6D069CC1D6F386F0289174D4AA15D27
\ No newline at end of file
diff --git a/Co0nSearchC/bin/Release/CSearch/Co0nUtilZ.dll.sha256sum.txt b/Co0nSearchC/bin/Release/CSearch/Co0nUtilZ.dll.sha256sum.txt
new file mode 100644
index 0000000..b0616b7
--- /dev/null
+++ b/Co0nSearchC/bin/Release/CSearch/Co0nUtilZ.dll.sha256sum.txt
@@ -0,0 +1 @@
+19A6C145D792FB690F3A3B746C9C7EE41E3D711E3A2D9F39598038CE8E869189
\ No newline at end of file
diff --git a/Co0nSearchC/bin/Release/Co0nUtilZ.dll b/Co0nSearchC/bin/Release/Co0nUtilZ.dll
index 28fa322..e0a19b9 100644
Binary files a/Co0nSearchC/bin/Release/Co0nUtilZ.dll and b/Co0nSearchC/bin/Release/Co0nUtilZ.dll differ
diff --git a/Co0nSearchC/obj/Debug/Co0nSearchC.F_About.resources b/Co0nSearchC/obj/Debug/CSearch.F_About.resources
similarity index 100%
rename from Co0nSearchC/obj/Debug/Co0nSearchC.F_About.resources
rename to Co0nSearchC/obj/Debug/CSearch.F_About.resources
diff --git a/Co0nSearchC/obj/Debug/Co0nSearchC.F_Main.resources b/Co0nSearchC/obj/Debug/CSearch.F_Main.resources
similarity index 100%
rename from Co0nSearchC/obj/Debug/Co0nSearchC.F_Main.resources
rename to Co0nSearchC/obj/Debug/CSearch.F_Main.resources
diff --git a/Co0nSearchC/obj/Debug/Co0nSearchC.F_Settings.resources b/Co0nSearchC/obj/Debug/CSearch.F_Settings.resources
similarity index 100%
rename from Co0nSearchC/obj/Debug/Co0nSearchC.F_Settings.resources
rename to Co0nSearchC/obj/Debug/CSearch.F_Settings.resources
diff --git a/Co0nSearchC/obj/Debug/CSearch.application b/Co0nSearchC/obj/Debug/CSearch.application
index c20ca22..297922d 100644
--- a/Co0nSearchC/obj/Debug/CSearch.application
+++ b/Co0nSearchC/obj/Debug/CSearch.application
@@ -1,6 +1,6 @@
-
+
@@ -8,13 +8,13 @@
-
+
- KGE8U8ViOHtIvglu6j6rv/yZOInYvWh+BQOhT+Jc/E4=
+ PJFy1otaQzHdEKn9TLmNVOCugqYKfSUqzip+Be17htg=
diff --git a/Co0nSearchC/obj/Debug/CSearch.csproj.CoreCompileInputs.cache b/Co0nSearchC/obj/Debug/CSearch.csproj.CoreCompileInputs.cache
index 0b67b41..369c493 100644
--- a/Co0nSearchC/obj/Debug/CSearch.csproj.CoreCompileInputs.cache
+++ b/Co0nSearchC/obj/Debug/CSearch.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-21a0762ee738e640db0b53d477a632eda9a5cb3f
+4c5b1f8fde503db5bf7fc388af6602bf81683f87
diff --git a/Co0nSearchC/obj/Debug/CSearch.csproj.FileListAbsolute.txt b/Co0nSearchC/obj/Debug/CSearch.csproj.FileListAbsolute.txt
index b88d712..6b0d013 100644
--- a/Co0nSearchC/obj/Debug/CSearch.csproj.FileListAbsolute.txt
+++ b/Co0nSearchC/obj/Debug/CSearch.csproj.FileListAbsolute.txt
@@ -26,9 +26,6 @@ C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\bin\Debug\CSearch.pdb
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\bin\Debug\Co0nUtilZ.dll
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\bin\Debug\Co0nUtilZ.pdb
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.csprojAssemblyReference.cache
-C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\Co0nSearchC.F_About.resources
-C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\Co0nSearchC.F_Main.resources
-C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\Co0nSearchC.F_Settings.resources
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.Properties.Resources.resources
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.csproj.GenerateResource.cache
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.csproj.CoreCompileInputs.cache
@@ -38,3 +35,6 @@ C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.application
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.csproj.CopyComplete
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.exe
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.pdb
+C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.F_About.resources
+C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.F_Main.resources
+C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Debug\CSearch.F_Settings.resources
diff --git a/Co0nSearchC/obj/Debug/CSearch.csproj.GenerateResource.cache b/Co0nSearchC/obj/Debug/CSearch.csproj.GenerateResource.cache
index 6ad742a..798bb5f 100644
Binary files a/Co0nSearchC/obj/Debug/CSearch.csproj.GenerateResource.cache and b/Co0nSearchC/obj/Debug/CSearch.csproj.GenerateResource.cache differ
diff --git a/Co0nSearchC/obj/Debug/CSearch.csprojAssemblyReference.cache b/Co0nSearchC/obj/Debug/CSearch.csprojAssemblyReference.cache
index f4c725f..29f394e 100644
Binary files a/Co0nSearchC/obj/Debug/CSearch.csprojAssemblyReference.cache and b/Co0nSearchC/obj/Debug/CSearch.csprojAssemblyReference.cache differ
diff --git a/Co0nSearchC/obj/Debug/CSearch.exe b/Co0nSearchC/obj/Debug/CSearch.exe
index 9dd7449..1d2828d 100644
Binary files a/Co0nSearchC/obj/Debug/CSearch.exe and b/Co0nSearchC/obj/Debug/CSearch.exe differ
diff --git a/Co0nSearchC/obj/Debug/CSearch.exe.manifest b/Co0nSearchC/obj/Debug/CSearch.exe.manifest
index c92ccd4..645b7cb 100644
--- a/Co0nSearchC/obj/Debug/CSearch.exe.manifest
+++ b/Co0nSearchC/obj/Debug/CSearch.exe.manifest
@@ -1,10 +1,10 @@
-
+
-
+
@@ -44,25 +44,25 @@
-
+
- iCFFpYRu9gNjw0eGdKwzqnm1IlrAYNJGYzOhq8VPMU0=
+ lOnpi+1CAUsjZe+XyLzX9JWPvxgDIe+sEjAFPMEkvXQ=
-
-
+
+
- xxa6AKL2e8dOgLgTUwNhk8j40hEVcJ9iTRtgZe7uLBg=
+ rlDVNpmEybQGDxz3uOK0ANGqtJRleH+2TW+ifPcbIXU=
diff --git a/Co0nSearchC/obj/Debug/CSearch.pdb b/Co0nSearchC/obj/Debug/CSearch.pdb
index a1d6e0b..2bee79d 100644
Binary files a/Co0nSearchC/obj/Debug/CSearch.pdb and b/Co0nSearchC/obj/Debug/CSearch.pdb differ
diff --git a/Co0nSearchC/obj/Release/Co0nSearchC.F_About.resources b/Co0nSearchC/obj/Release/CSearch.F_About.resources
similarity index 100%
rename from Co0nSearchC/obj/Release/Co0nSearchC.F_About.resources
rename to Co0nSearchC/obj/Release/CSearch.F_About.resources
diff --git a/Co0nSearchC/obj/Release/Co0nSearchC.F_Main.resources b/Co0nSearchC/obj/Release/CSearch.F_Main.resources
similarity index 100%
rename from Co0nSearchC/obj/Release/Co0nSearchC.F_Main.resources
rename to Co0nSearchC/obj/Release/CSearch.F_Main.resources
diff --git a/Co0nSearchC/obj/Release/Co0nSearchC.F_Settings.resources b/Co0nSearchC/obj/Release/CSearch.F_Settings.resources
similarity index 100%
rename from Co0nSearchC/obj/Release/Co0nSearchC.F_Settings.resources
rename to Co0nSearchC/obj/Release/CSearch.F_Settings.resources
diff --git a/Co0nSearchC/obj/Release/CSearch.application b/Co0nSearchC/obj/Release/CSearch.application
index acb1808..2695a4a 100644
--- a/Co0nSearchC/obj/Release/CSearch.application
+++ b/Co0nSearchC/obj/Release/CSearch.application
@@ -1,6 +1,6 @@
-
+
@@ -8,13 +8,13 @@
-
+
- ejwVbIFUZjOKIcRHZVsWTzgyN/9VInJL6QAuGxNi2i8=
+ s3nYW0D6yVRm+BGA/OpEo07OPZfyeRgYWOs6swrps0s=
diff --git a/Co0nSearchC/obj/Release/CSearch.csproj.CoreCompileInputs.cache b/Co0nSearchC/obj/Release/CSearch.csproj.CoreCompileInputs.cache
index 3d7a6f9..e16fab6 100644
--- a/Co0nSearchC/obj/Release/CSearch.csproj.CoreCompileInputs.cache
+++ b/Co0nSearchC/obj/Release/CSearch.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-e318d382f009edb2c4cf3f577e65490fc4fb103a
+1c3d9914df68f99882501a8842f13ce3d0d155c8
diff --git a/Co0nSearchC/obj/Release/CSearch.csproj.FileListAbsolute.txt b/Co0nSearchC/obj/Release/CSearch.csproj.FileListAbsolute.txt
index f5c8839..fcb4810 100644
--- a/Co0nSearchC/obj/Release/CSearch.csproj.FileListAbsolute.txt
+++ b/Co0nSearchC/obj/Release/CSearch.csproj.FileListAbsolute.txt
@@ -26,9 +26,6 @@ C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\bin\Release\CSearch.pdb
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\bin\Release\Co0nUtilZ.dll
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\bin\Release\Co0nUtilZ.pdb
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.csprojAssemblyReference.cache
-C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\Co0nSearchC.F_About.resources
-C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\Co0nSearchC.F_Main.resources
-C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\Co0nSearchC.F_Settings.resources
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.Properties.Resources.resources
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.csproj.GenerateResource.cache
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.csproj.CoreCompileInputs.cache
@@ -38,3 +35,6 @@ C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.application
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.csproj.CopyComplete
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.exe
C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.pdb
+C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.F_About.resources
+C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.F_Main.resources
+C:\Users\dmarx\source\repos\CSearch\Co0nSearchC\obj\Release\CSearch.F_Settings.resources
diff --git a/Co0nSearchC/obj/Release/CSearch.csproj.GenerateResource.cache b/Co0nSearchC/obj/Release/CSearch.csproj.GenerateResource.cache
index 6ad742a..798bb5f 100644
Binary files a/Co0nSearchC/obj/Release/CSearch.csproj.GenerateResource.cache and b/Co0nSearchC/obj/Release/CSearch.csproj.GenerateResource.cache differ
diff --git a/Co0nSearchC/obj/Release/CSearch.csprojAssemblyReference.cache b/Co0nSearchC/obj/Release/CSearch.csprojAssemblyReference.cache
index 6c2910f..9f246a2 100644
Binary files a/Co0nSearchC/obj/Release/CSearch.csprojAssemblyReference.cache and b/Co0nSearchC/obj/Release/CSearch.csprojAssemblyReference.cache differ
diff --git a/Co0nSearchC/obj/Release/CSearch.exe b/Co0nSearchC/obj/Release/CSearch.exe
index 98d68e9..b60cec8 100644
Binary files a/Co0nSearchC/obj/Release/CSearch.exe and b/Co0nSearchC/obj/Release/CSearch.exe differ
diff --git a/Co0nSearchC/obj/Release/CSearch.exe.manifest b/Co0nSearchC/obj/Release/CSearch.exe.manifest
index 50ecf0d..5261906 100644
--- a/Co0nSearchC/obj/Release/CSearch.exe.manifest
+++ b/Co0nSearchC/obj/Release/CSearch.exe.manifest
@@ -1,10 +1,10 @@
-
+
-
+
@@ -44,25 +44,25 @@
-
+
- GabBRdeS+2kPOjt0bJx+5B49cR46LZ85WYA4zo6GkYk=
+ /ciqdGvNGZKJ1sjuhNm/hNW2dRbU/uNUjQwEvQj/U4Q=
-
-
+
+
- p2f4F+Wc9S77hWf1k34D9vbQacwdbzhvAokXTUqhXSc=
+ iiwLKHJ39qFRE/9B9VzD9kq9B8jt8937UGZ1sbKTbs0=
diff --git a/Co0nSearchC/obj/Release/CSearch.pdb b/Co0nSearchC/obj/Release/CSearch.pdb
index b16b355..52d1982 100644
Binary files a/Co0nSearchC/obj/Release/CSearch.pdb and b/Co0nSearchC/obj/Release/CSearch.pdb differ
diff --git a/changelog.txt b/changelog.txt
index 16d78ad..d78dc49 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,15 @@
+Version 0.151 (20181126):
+=========================
+- fixed Bugs:
+ - Stopping searchers (e.g. when changing folders) and waiting for them to finish
+
+Version 0.15 (20181126):
+=========================
+- Added:
+ - En-/Disabling of Searchdirectories
+- fixed Bugs:
+ - Fixed wrong namespaces in source code
+
Version 0.144 (20181123):
=========================
- Added: