1
0
mirror of https://github.com/Ylianst/MeshCentralRouter synced 2025-12-06 00:13:33 +00:00

Added device group collapse setting.

This commit is contained in:
Ylian Saint-Hilaire
2022-07-07 11:20:38 -07:00
parent cfe4bdca53
commit 1a4bdda683
4 changed files with 87 additions and 27 deletions

View File

@@ -30,6 +30,7 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DeviceSettingsForm));
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.checkForUpdatedCheckBox = new System.Windows.Forms.CheckBox();
this.systemTrayCheckBox = new System.Windows.Forms.CheckBox();
this.doubleClickComboBox = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
@@ -38,7 +39,7 @@
this.exp_KeyboardHookCheckBox = new System.Windows.Forms.CheckBox();
this.exp_KeyboardHookPriorityCheckBox = new System.Windows.Forms.CheckBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.checkForUpdatedCheckBox = new System.Windows.Forms.CheckBox();
this.collapseCheckBox = new System.Windows.Forms.CheckBox();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.SuspendLayout();
@@ -46,6 +47,7 @@
// groupBox1
//
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Controls.Add(this.collapseCheckBox);
this.groupBox1.Controls.Add(this.checkForUpdatedCheckBox);
this.groupBox1.Controls.Add(this.systemTrayCheckBox);
this.groupBox1.Controls.Add(this.doubleClickComboBox);
@@ -53,6 +55,12 @@
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
// checkForUpdatedCheckBox
//
resources.ApplyResources(this.checkForUpdatedCheckBox, "checkForUpdatedCheckBox");
this.checkForUpdatedCheckBox.Name = "checkForUpdatedCheckBox";
this.checkForUpdatedCheckBox.UseVisualStyleBackColor = true;
//
// systemTrayCheckBox
//
resources.ApplyResources(this.systemTrayCheckBox, "systemTrayCheckBox");
@@ -115,11 +123,11 @@
this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false;
//
// checkForUpdatedCheckBox
// collapseCheckBox
//
resources.ApplyResources(this.checkForUpdatedCheckBox, "checkForUpdatedCheckBox");
this.checkForUpdatedCheckBox.Name = "checkForUpdatedCheckBox";
this.checkForUpdatedCheckBox.UseVisualStyleBackColor = true;
resources.ApplyResources(this.collapseCheckBox, "collapseCheckBox");
this.collapseCheckBox.Name = "collapseCheckBox";
this.collapseCheckBox.UseVisualStyleBackColor = true;
//
// DeviceSettingsForm
//
@@ -155,5 +163,6 @@
private System.Windows.Forms.CheckBox exp_KeyboardHookPriorityCheckBox;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.CheckBox checkForUpdatedCheckBox;
private System.Windows.Forms.CheckBox collapseCheckBox;
}
}

View File

@@ -46,6 +46,12 @@ namespace MeshCentralRouter
set { checkForUpdatedCheckBox.Checked = value; }
}
public bool CollapseDeviceGroups
{
get { return collapseCheckBox.Checked; }
set { collapseCheckBox.Checked = value; }
}
public bool Exp_KeyboardHook
{
get { return exp_KeyboardHookCheckBox.Checked; }

View File

@@ -122,15 +122,45 @@
<value>Top, Left, Right</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="collapseCheckBox.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="collapseCheckBox.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="collapseCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 93</value>
</data>
<data name="collapseCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>150, 17</value>
</data>
<data name="collapseCheckBox.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="collapseCheckBox.Text" xml:space="preserve">
<value>Collapse groups by default</value>
</data>
<data name="&gt;&gt;collapseCheckBox.Name" xml:space="preserve">
<value>collapseCheckBox</value>
</data>
<data name="&gt;&gt;collapseCheckBox.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;collapseCheckBox.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;collapseCheckBox.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="checkForUpdatedCheckBox.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkForUpdatedCheckBox.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="checkForUpdatedCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 93</value>
<value>14, 116</value>
</data>
<data name="checkForUpdatedCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>113, 17</value>
@@ -151,7 +181,7 @@
<value>groupBox1</value>
</data>
<data name="&gt;&gt;checkForUpdatedCheckBox.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="systemTrayCheckBox.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -181,7 +211,7 @@
<value>groupBox1</value>
</data>
<data name="&gt;&gt;systemTrayCheckBox.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="doubleClickComboBox.Items" xml:space="preserve">
<value>Add Map...</value>
@@ -226,7 +256,7 @@
<value>groupBox1</value>
</data>
<data name="&gt;&gt;doubleClickComboBox.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -253,13 +283,13 @@
<value>groupBox1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 12</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>294, 117</value>
<value>294, 141</value>
</data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@@ -286,7 +316,7 @@
<value>NoControl</value>
</data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>150, 211</value>
<value>150, 240</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -316,7 +346,7 @@
<value>NoControl</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>231, 211</value>
<value>231, 240</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@@ -403,10 +433,10 @@
<value>Top, Bottom, Left, Right</value>
</data>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 135</value>
<value>12, 159</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>294, 70</value>
<value>294, 75</value>
</data>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@@ -433,7 +463,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>318, 246</value>
<value>318, 275</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -2129,6 +2159,9 @@
AADAPwAAwD8AAMA/AADAPwAA
</value>
</data>
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>

View File

@@ -52,6 +52,7 @@ namespace MeshCentralRouter
public bool sendEmailToken = false;
public bool sendSMSToken = false;
public bool allowUpdates = Settings.GetRegValue("CheckForUpdates", true);
public bool collapseDeviceGroup = Settings.GetRegValue("CollapseDeviceGroups", true);
public Uri authLoginUrl = null;
public Process installProcess = null;
public string acceptableCertHash = null;
@@ -727,7 +728,7 @@ namespace MeshCentralRouter
}
}
updateDeviceList(); // Update list of devices
updateDeviceList(false); // Update list of devices
addArgMappings();
reconnectUdpMaps();
@@ -749,7 +750,7 @@ namespace MeshCentralRouter
}
}
private void updateDeviceList()
private void updateDeviceList(bool forceGroupChanged)
{
string search = searchTextBox.Text.ToLower();
if (deviceListViewMode)
@@ -757,7 +758,7 @@ namespace MeshCentralRouter
devicesListView.SuspendLayout();
devicesListView.Items.Clear();
bool bGroupChanged = false;
bool bGroupChanged = forceGroupChanged;
ArrayList controlsToAdd = new ArrayList();
if (meshcentral.nodes != null)
{
@@ -850,8 +851,14 @@ namespace MeshCentralRouter
foreach (ListViewGroup lvg in devicesListView.Groups)
{
ListViewExtended.setGrpState(lvg, ListViewGroupState.Collapsible | ListViewGroupState.Normal);
//ListViewExtended.setGrpState(lvg, ListViewGroupState.Collapsible | ListViewGroupState.Collapsed);
if (collapseDeviceGroup)
{
ListViewExtended.setGrpState(lvg, ListViewGroupState.Collapsible | ListViewGroupState.Collapsed);
}
else
{
ListViewExtended.setGrpState(lvg, ListViewGroupState.Collapsible | ListViewGroupState.Normal);
}
}
}
@@ -1639,7 +1646,7 @@ namespace MeshCentralRouter
if (deviceListViewMode)
{
// Filter devices
updateDeviceList();
updateDeviceList(false);
}
else
{
@@ -1813,14 +1820,14 @@ namespace MeshCentralRouter
{
showGroupNamesToolStripMenuItem.Checked = !showGroupNamesToolStripMenuItem.Checked;
Settings.SetRegValue("Show Group Names", showGroupNamesToolStripMenuItem.Checked ? "1" : "0");
updateDeviceList();
updateDeviceList(false);
}
private void hideOfflineDevicesToolStripMenuItem_Click(object sender, EventArgs e)
{
showOfflineDevicesToolStripMenuItem.Checked = !showOfflineDevicesToolStripMenuItem.Checked;
Settings.SetRegValue("Show Offline Devices", showOfflineDevicesToolStripMenuItem.Checked ? "1" : "0");
updateDeviceList();
updateDeviceList(false);
}
private void sortByNameToolStripMenuItem_Click(object sender, EventArgs e)
@@ -1828,7 +1835,7 @@ namespace MeshCentralRouter
sortByNameToolStripMenuItem.Checked = true;
sortByGroupToolStripMenuItem.Checked = false;
Settings.SetRegValue("Device Sort", "Name");
updateDeviceList();
updateDeviceList(false);
}
private void sortByGroupToolStripMenuItem_Click(object sender, EventArgs e)
@@ -1836,7 +1843,7 @@ namespace MeshCentralRouter
sortByNameToolStripMenuItem.Checked = false;
sortByGroupToolStripMenuItem.Checked = true;
Settings.SetRegValue("Device Sort", "Group");
updateDeviceList();
updateDeviceList(false);
}
private void installButton_Click(object sender, EventArgs e)
@@ -2209,9 +2216,13 @@ namespace MeshCentralRouter
f.Exp_KeyboardHookPriority = Settings.GetRegValue("Exp_KeyboardHookPriority", false);
f.Exp_KeyboardHook = Settings.GetRegValue("Exp_KeyboardHook", false);
f.CheckForUpdates = Settings.GetRegValue("CheckForUpdates", true);
collapseDeviceGroup = f.CollapseDeviceGroups = Settings.GetRegValue("CollapseDeviceGroups", true);
if (f.ShowDialog(this) == DialogResult.OK)
{
bool updateDevices = (collapseDeviceGroup != f.CollapseDeviceGroups);
collapseDeviceGroup = f.CollapseDeviceGroups;
Settings.SetRegValue("CollapseDeviceGroups", f.CollapseDeviceGroups);
Settings.SetRegValue("CheckForUpdates", f.CheckForUpdates);
Settings.SetRegValue("NotifyIcon", f.ShowSystemTray);
allowUpdates = f.CheckForUpdates;
@@ -2230,6 +2241,7 @@ namespace MeshCentralRouter
notifyIcon.Visible = false;
this.MinimizeBox = true;
}
if (updateDevices) { updateDeviceList(true); }
}
}