Adds a link limit and UI to device list (#11017)

* adds a link limit to device list

* locale strings

* uhhh what's efcore doing there

* adds a UI for device list on the device

* merge conflict fixing
This commit is contained in:
Flipp Syder
2022-09-05 18:22:39 -07:00
committed by GitHub
parent 8cbcf2d640
commit c3d7ecace6
12 changed files with 156 additions and 63 deletions

View File

@@ -20,48 +20,6 @@ public sealed partial class NetworkConfiguratorListMenu : FancyWindow
public void UpdateState(NetworkConfiguratorUserInterfaceState state)
{
DeviceCountLabel.Text = Loc.GetString("network-configurator-ui-count-label", ("count", state.DeviceList.Count));
DeviceList.RemoveAllChildren();
foreach (var savedDevice in state.DeviceList)
{
DeviceList.AddChild(BuildDeviceListRow(savedDevice));
}
}
private BoxContainer BuildDeviceListRow((string address, string name) savedDevice)
{
var row = new BoxContainer()
{
Orientation = BoxContainer.LayoutOrientation.Horizontal,
Margin = new Thickness(8)
};
var name = new Label()
{
Text = savedDevice.name[..Math.Min(11, savedDevice.name.Length)],
SetWidth = 84
};
var address = new Label()
{
Text = savedDevice.address,
HorizontalExpand = true,
Align = Label.AlignMode.Center
};
var removeButton = new TextureButton()
{
StyleClasses = { "CrossButtonRed" },
VerticalAlignment = VAlignment.Center,
Scale = new Vector2(0.5f, 0.5f)
};
removeButton.OnPressed += _ => _ui.OnRemoveButtonPressed(savedDevice.address);
row.AddChild(name);
row.AddChild(address);
row.AddChild(removeButton);
return row;
DeviceList.UpdateState(_ui, state.DeviceList);
}
}