[Feature] Search all throughout the subfolders (#211, #232), version 1.0.25.7

This commit is contained in:
Markus Hofknecht 2021-11-12 13:44:02 +01:00
parent e4f3d6b67a
commit ec7a2467f1
20 changed files with 205 additions and 78 deletions

View file

@ -39,5 +39,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.25.6")]
[assembly: AssemblyFileVersion("1.0.25.6")]
[assembly: AssemblyVersion("1.0.25.7")]
[assembly: AssemblyFileVersion("1.0.25.7")]

View file

@ -62,7 +62,7 @@ namespace SystemTrayMenu.Properties
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(CustomSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("C:\\ProgramData\\Microsoft\\Windows\\Start Menu recursiv:True onlyFiles:True|")]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string PathsAddToMainMenu
{
get

View file

@ -96,6 +96,15 @@ namespace SystemTrayMenu.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Add sample &apos;Start Menu&apos; folder.
/// </summary>
internal static string Add_sample__Start_Menu__folder {
get {
return ResourceManager.GetString("Add sample \'Start Menu\' folder", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Advanced.
/// </summary>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Pouze soubory</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Přidejte ukázkovou složku 'Start Menu'</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Nur Dateien</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Beispielordner 'Startmenü' hinzufügen</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Solo archivos</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Agregar carpeta de muestra 'Menú Inicio'</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Fichiers uniquement</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Ajouter un exemple de dossier 'Start Menu'</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Solo file</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Aggiungi la cartella "Start Menu" di esempio</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>ファイルのみ</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>サンプルの「スタートメニュー」フォルダを追加します</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>파일만</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>샘플 '시작 메뉴' 폴더 추가</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Alleen bestanden</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Voorbeeldmap 'Start Menu' toevoegen</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Apenas arquivos</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Adicionar amostra da pasta 'Menu Iniciar'</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Clear cache if more than this number of items" xml:space="preserve">
<value>Clear cache if more than this number of items</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Add sample 'Start Menu' folder</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Только файлы</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Добавить образец папки "Меню Пуск"</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Yalnızca Dosyalar</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Örnek 'Başlat Menüsü' klasörü ekleyin</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>Chỉ tệp</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>Thêm thư mục 'Start Menu' mẫu</value>
</data>
</root>

View file

@ -396,4 +396,7 @@
<data name="Only Files" xml:space="preserve">
<value>只有文件</value>
</data>
<data name="Add sample 'Start Menu' folder" xml:space="preserve">
<value>添加示例“开始菜单”文件夹</value>
</data>
</root>

View file

@ -68,6 +68,8 @@ namespace SystemTrayMenu.UserInterface
this.checkBoxCacheMainMenu = new System.Windows.Forms.CheckBox();
this.groupBoxFoldersInRootFolder = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel7 = new System.Windows.Forms.TableLayoutPanel();
this.tableLayoutPanel9 = new System.Windows.Forms.TableLayoutPanel();
this.buttonAddSampleStartMenuFolder = new System.Windows.Forms.Button();
this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel();
this.buttonAddFolderToRootFolder = new System.Windows.Forms.Button();
this.buttonRemoveFolder = new System.Windows.Forms.Button();
@ -313,6 +315,7 @@ namespace SystemTrayMenu.UserInterface
((System.ComponentModel.ISupportInitialize)(this.numericUpDownClearCacheIfMoreThanThisNumberOfItems)).BeginInit();
this.groupBoxFoldersInRootFolder.SuspendLayout();
this.tableLayoutPanel7.SuspendLayout();
this.tableLayoutPanel9.SuspendLayout();
this.tableLayoutPanel6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewFolders)).BeginInit();
this.tabPageAdvanced.SuspendLayout();
@ -900,7 +903,7 @@ namespace SystemTrayMenu.UserInterface
this.tableLayoutPanel8.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel8.Controls.Add(this.numericUpDownClearCacheIfMoreThanThisNumberOfItems, 0, 0);
this.tableLayoutPanel8.Controls.Add(this.labelClearCacheIfMoreThanThisNumberOfItems, 1, 0);
this.tableLayoutPanel8.Location = new System.Drawing.Point(0, 344);
this.tableLayoutPanel8.Location = new System.Drawing.Point(0, 315);
this.tableLayoutPanel8.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel8.Name = "tableLayoutPanel8";
this.tableLayoutPanel8.RowCount = 1;
@ -944,7 +947,7 @@ namespace SystemTrayMenu.UserInterface
// checkBoxCacheMainMenu
//
this.checkBoxCacheMainMenu.AutoSize = true;
this.checkBoxCacheMainMenu.Location = new System.Drawing.Point(3, 322);
this.checkBoxCacheMainMenu.Location = new System.Drawing.Point(3, 293);
this.checkBoxCacheMainMenu.Name = "checkBoxCacheMainMenu";
this.checkBoxCacheMainMenu.Size = new System.Drawing.Size(168, 19);
this.checkBoxCacheMainMenu.TabIndex = 2;
@ -960,7 +963,7 @@ namespace SystemTrayMenu.UserInterface
this.groupBoxFoldersInRootFolder.MaximumSize = new System.Drawing.Size(400, 0);
this.groupBoxFoldersInRootFolder.MinimumSize = new System.Drawing.Size(400, 0);
this.groupBoxFoldersInRootFolder.Name = "groupBoxFoldersInRootFolder";
this.groupBoxFoldersInRootFolder.Size = new System.Drawing.Size(400, 313);
this.groupBoxFoldersInRootFolder.Size = new System.Drawing.Size(400, 284);
this.groupBoxFoldersInRootFolder.TabIndex = 0;
this.groupBoxFoldersInRootFolder.TabStop = false;
this.groupBoxFoldersInRootFolder.Text = "groupBox1";
@ -971,18 +974,52 @@ namespace SystemTrayMenu.UserInterface
this.tableLayoutPanel7.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.tableLayoutPanel7.ColumnCount = 1;
this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel7.Controls.Add(this.tableLayoutPanel9, 0, 3);
this.tableLayoutPanel7.Controls.Add(this.tableLayoutPanel6, 0, 1);
this.tableLayoutPanel7.Controls.Add(this.dataGridViewFolders, 0, 2);
this.tableLayoutPanel7.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel7.Location = new System.Drawing.Point(3, 19);
this.tableLayoutPanel7.Name = "tableLayoutPanel7";
this.tableLayoutPanel7.RowCount = 3;
this.tableLayoutPanel7.RowCount = 4;
this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 260F));
this.tableLayoutPanel7.Size = new System.Drawing.Size(394, 291);
this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 200F));
this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel7.Size = new System.Drawing.Size(394, 262);
this.tableLayoutPanel7.TabIndex = 0;
//
// tableLayoutPanel9
//
this.tableLayoutPanel9.AutoSize = true;
this.tableLayoutPanel9.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.tableLayoutPanel9.ColumnCount = 2;
this.tableLayoutPanel9.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel9.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel9.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel9.Controls.Add(this.buttonAddSampleStartMenuFolder, 0, 0);
this.tableLayoutPanel9.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel9.Location = new System.Drawing.Point(0, 231);
this.tableLayoutPanel9.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel9.Name = "tableLayoutPanel9";
this.tableLayoutPanel9.RowCount = 1;
this.tableLayoutPanel9.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel9.Size = new System.Drawing.Size(394, 31);
this.tableLayoutPanel9.TabIndex = 3;
//
// buttonAddSampleStartMenuFolder
//
this.buttonAddSampleStartMenuFolder.AutoSize = true;
this.buttonAddSampleStartMenuFolder.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.buttonAddSampleStartMenuFolder.Location = new System.Drawing.Point(2, 3);
this.buttonAddSampleStartMenuFolder.Margin = new System.Windows.Forms.Padding(2, 3, 3, 3);
this.buttonAddSampleStartMenuFolder.MinimumSize = new System.Drawing.Size(75, 23);
this.buttonAddSampleStartMenuFolder.Name = "buttonAddSampleStartMenuFolder";
this.buttonAddSampleStartMenuFolder.Size = new System.Drawing.Size(202, 25);
this.buttonAddSampleStartMenuFolder.TabIndex = 0;
this.buttonAddSampleStartMenuFolder.Text = "buttonAddSampleStartMenuFolder";
this.buttonAddSampleStartMenuFolder.UseVisualStyleBackColor = true;
this.buttonAddSampleStartMenuFolder.Click += new System.EventHandler(this.ButtonAddSampleStartMenuFolder_Click);
//
// tableLayoutPanel6
//
this.tableLayoutPanel6.AutoSize = true;
@ -1047,9 +1084,12 @@ namespace SystemTrayMenu.UserInterface
this.dataGridViewFolders.RowHeadersVisible = false;
this.dataGridViewFolders.RowTemplate.Height = 25;
this.dataGridViewFolders.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridViewFolders.Size = new System.Drawing.Size(388, 254);
this.dataGridViewFolders.Size = new System.Drawing.Size(388, 194);
this.dataGridViewFolders.TabIndex = 1;
this.dataGridViewFolders.CellValidating += new System.Windows.Forms.DataGridViewCellValidatingEventHandler(this.DataGridViewFolders_CellValidating);
this.dataGridViewFolders.CurrentCellDirtyStateChanged += new System.EventHandler(this.DataGridViewFolders_CurrentCellDirtyStateChanged);
this.dataGridViewFolders.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this.DataGridViewFolders_RowsAdded);
this.dataGridViewFolders.RowsRemoved += new System.Windows.Forms.DataGridViewRowsRemovedEventHandler(this.DataGridViewFolders_RowsRemoved);
this.dataGridViewFolders.SelectionChanged += new System.EventHandler(this.DataGridViewFolders_SelectionChanged);
this.dataGridViewFolders.MouseClick += new System.Windows.Forms.MouseEventHandler(this.DataGridViewFolders_MouseClick);
//
@ -1081,7 +1121,7 @@ namespace SystemTrayMenu.UserInterface
//
this.buttonDefaultFolders.AutoSize = true;
this.buttonDefaultFolders.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.buttonDefaultFolders.Location = new System.Drawing.Point(9, 382);
this.buttonDefaultFolders.Location = new System.Drawing.Point(9, 353);
this.buttonDefaultFolders.Margin = new System.Windows.Forms.Padding(9, 9, 3, 9);
this.buttonDefaultFolders.MinimumSize = new System.Drawing.Size(75, 25);
this.buttonDefaultFolders.Name = "buttonDefaultFolders";
@ -4127,6 +4167,8 @@ namespace SystemTrayMenu.UserInterface
this.groupBoxFoldersInRootFolder.PerformLayout();
this.tableLayoutPanel7.ResumeLayout(false);
this.tableLayoutPanel7.PerformLayout();
this.tableLayoutPanel9.ResumeLayout(false);
this.tableLayoutPanel9.PerformLayout();
this.tableLayoutPanel6.ResumeLayout(false);
this.tableLayoutPanel6.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewFolders)).EndInit();
@ -4574,5 +4616,7 @@ namespace SystemTrayMenu.UserInterface
private System.Windows.Forms.NumericUpDown numericUpDownClearCacheIfMoreThanThisNumberOfItems;
private System.Windows.Forms.Label labelClearCacheIfMoreThanThisNumberOfItems;
private System.Windows.Forms.CheckBox checkBoxCacheMainMenu;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel9;
private System.Windows.Forms.Button buttonAddSampleStartMenuFolder;
}
}

View file

@ -136,6 +136,7 @@ namespace SystemTrayMenu.UserInterface
ColumnFolder.HeaderText = Translator.GetText("Folder paths");
ColumnRecursiveLevel.HeaderText = Translator.GetText("Recursive");
ColumnOnlyFiles.HeaderText = Translator.GetText("Only Files");
buttonAddSampleStartMenuFolder.Text = Translator.GetText("Add sample 'Start Menu' folder");
buttonDefaultFolders.Text = Translator.GetText("Default");
groupBoxClick.Text = Translator.GetText("Click");
checkBoxCacheMainMenu.Text = Translator.GetText("Cache main menu");
@ -836,6 +837,104 @@ namespace SystemTrayMenu.UserInterface
inHotkey = false;
}
private void ButtonAddSampleStartMenuFolder_Click(object sender, EventArgs e)
{
dataGridViewFolders.Rows.Clear();
string folderPathCommonStartMenu = Environment.GetFolderPath(Environment.SpecialFolder.CommonStartMenu);
dataGridViewFolders.Rows.Add(folderPathCommonStartMenu, true, true);
dataGridViewFolders.ClearSelection();
}
private void ButtonClearFolders_Click(object sender, EventArgs e)
{
dataGridViewFolders.Rows.Clear();
checkBoxCacheMainMenu.Checked = true;
numericUpDownClearCacheIfMoreThanThisNumberOfItems.Value = 1000;
}
private void ButtonAddFolderToRootFolder_Click(object sender, EventArgs e)
{
using FolderDialog dialog = new FolderDialog();
dialog.InitialFolder = Config.Path;
if (dialog.ShowDialog() == DialogResult.OK)
{
dataGridViewFolders.Rows.Add(dialog.Folder, false, true);
}
dataGridViewFolders.ClearSelection();
}
private void ButtonRemoveFolder_Click(object sender, EventArgs e)
{
int selectedRowCount = dataGridViewFolders.Rows.GetRowCount(DataGridViewElementStates.Selected);
if (selectedRowCount > 0)
{
for (int i = 0; i < selectedRowCount; i++)
{
dataGridViewFolders.Rows.RemoveAt(dataGridViewFolders.SelectedRows[0].Index);
}
}
dataGridViewFolders.ClearSelection();
}
private void DataGridViewFolders_SelectionChanged(object sender, EventArgs e)
{
buttonRemoveFolder.Enabled = dataGridViewFolders.SelectedRows.Count > 0;
}
private void DataGridViewFolders_MouseClick(object sender, MouseEventArgs e)
{
if (dataGridViewFolders.HitTest(e.X, e.Y).RowIndex < 0)
{
dataGridViewFolders.ClearSelection();
}
}
private void DataGridViewFolders_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex == 0)
{
dataGridViewFolders.CancelEdit();
}
}
private void DataGridViewFolders_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
{
EnableButtonAddStartMenu();
}
private void DataGridViewFolders_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
EnableButtonAddStartMenu();
}
private void DataGridViewFolders_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
EnableButtonAddStartMenu();
}
private void EnableButtonAddStartMenu()
{
bool doesStartMenuFolderExist = false;
foreach (DataGridViewRow row in dataGridViewFolders.Rows)
{
string folderPathCommonStartMenu = Environment.GetFolderPath(Environment.SpecialFolder.CommonStartMenu);
string pathAddToMainMenu = row.Cells[0].Value.ToString();
bool recursiv = (bool)row.Cells[1].EditedFormattedValue;
bool onlyFiles = (bool)row.Cells[2].EditedFormattedValue;
if (folderPathCommonStartMenu == pathAddToMainMenu &&
recursiv == true &&
onlyFiles == true)
{
doesStartMenuFolderExist = true;
}
}
buttonAddSampleStartMenuFolder.Enabled = !doesStartMenuFolderExist;
}
private void ButtonAdvancedDefault_Click(object sender, EventArgs e)
{
checkBoxOpenItemWithOneClick.Checked = true;
@ -1026,63 +1125,5 @@ namespace SystemTrayMenu.UserInterface
DialogResult = DialogResult.Cancel;
Close();
}
private void ButtonClearFolders_Click(object sender, EventArgs e)
{
dataGridViewFolders.Rows.Clear();
string folderPathCommonStartMenu = Environment.GetFolderPath(Environment.SpecialFolder.CommonStartMenu);
dataGridViewFolders.Rows.Add(folderPathCommonStartMenu, true, true);
dataGridViewFolders.ClearSelection();
checkBoxCacheMainMenu.Checked = true;
numericUpDownClearCacheIfMoreThanThisNumberOfItems.Value = 1000;
}
private void ButtonRemoveFolder_Click(object sender, EventArgs e)
{
int selectedRowCount = dataGridViewFolders.Rows.GetRowCount(DataGridViewElementStates.Selected);
if (selectedRowCount > 0)
{
for (int i = 0; i < selectedRowCount; i++)
{
dataGridViewFolders.Rows.RemoveAt(dataGridViewFolders.SelectedRows[0].Index);
}
}
dataGridViewFolders.ClearSelection();
}
private void DataGridViewFolders_SelectionChanged(object sender, EventArgs e)
{
buttonRemoveFolder.Enabled = dataGridViewFolders.SelectedRows.Count > 0;
}
private void ButtonAddFolderToRootFolder_Click(object sender, EventArgs e)
{
using FolderDialog dialog = new FolderDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
dataGridViewFolders.Rows.Add(dialog.Folder, false);
}
dataGridViewFolders.ClearSelection();
}
private void DataGridViewFolders_MouseClick(object sender, MouseEventArgs e)
{
if (dataGridViewFolders.HitTest(e.X, e.Y).RowIndex < 0)
{
dataGridViewFolders.ClearSelection();
}
}
private void DataGridViewFolders_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex == 0)
{
dataGridViewFolders.CancelEdit();
}
}
}
}

View file

@ -66,15 +66,6 @@
<metadata name="ColumnOnlyFiles.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ColumnFolder.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ColumnRecursiveLevel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ColumnOnlyFiles.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colorDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>