diff --git a/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml b/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml
index 34c1a9dd1a..85f63731fb 100644
--- a/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml
+++ b/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml
@@ -29,7 +29,13 @@
-
+
+
+
+
+
+
+
diff --git a/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml.cs b/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml.cs
index 9762f63992..6a233b8c3f 100644
--- a/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml.cs
+++ b/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml.cs
@@ -22,6 +22,8 @@ public sealed partial class ScrubberControl : BoxContainer
private FloatSpinBox _volumeRate => CVolumeRate;
private CheckBox _wideNet => CWideNet;
private Button _copySettings => CCopySettings;
+ private Button _selectAll => CSelectAll;
+ private Button _deselectAll => CDeselectAll;
private GridContainer _gases => CGasContainer;
private Dictionary _gasControls = new();
@@ -78,7 +80,20 @@ public sealed partial class ScrubberControl : BoxContainer
ScrubberDataCopied?.Invoke(_data);
};
- foreach (var value in Enum.GetValues())
+ var allGases = Enum.GetValues();
+ _selectAll.OnPressed += _ =>
+ {
+ _data.FilterGases = new HashSet(allGases);
+ ScrubberDataChanged?.Invoke(_address, _data);
+ };
+
+ _deselectAll.OnPressed += _ =>
+ {
+ _data.FilterGases = [];
+ ScrubberDataChanged?.Invoke(_address, _data);
+ };
+
+ foreach (var value in allGases)
{
var gasButton = new Button
{
diff --git a/Resources/Locale/en-US/atmos/air-alarm-ui.ftl b/Resources/Locale/en-US/atmos/air-alarm-ui.ftl
index b5bd4aedb8..28cb58242e 100644
--- a/Resources/Locale/en-US/atmos/air-alarm-ui.ftl
+++ b/Resources/Locale/en-US/atmos/air-alarm-ui.ftl
@@ -69,6 +69,8 @@ air-alarm-ui-vent-internal-bound-label = Internal bound
air-alarm-ui-scrubber-pump-direction-label = Direction
air-alarm-ui-scrubber-volume-rate-label = Rate (L)
air-alarm-ui-scrubber-wide-net-label = WideNet
+air-alarm-ui-scrubber-select-all-gases-label = Select all
+air-alarm-ui-scrubber-deselect-all-gases-label = Deselect all
### Thresholds