Consolidate desktop controls with editable holidays and a running-window tray

This commit is contained in:
aria committed 2026-10-28 06:02:46 +09:00
1 parent 9908dde9f8
commit 326465952a
55 files changed
+4207 -450

No files matched your search

+10 -13
View File
@@ -286,16 +286,16 @@ mod tests {
#[test]
fn clicking_the_same_control_at_new_bounds_repositions_instead_of_toggling() {
let mut shell = crate::tests::shell_with_measured_panel();
shell.status.network = Some(crate::status::Network {
enabled: true,
connection: Some("Test network".into()),
signal: 90,
shell.status.audio = Some(crate::status::Audio {
volume: 50,
muted: false,
output: String::new(),
});
let bar = shell.outputs[0].bar;
let mut anchor = PopoverAnchor {
parent: bar,
panel: shell.config.panels[0].id.clone(),
item: Some(crate::panel::ItemId("network".into())),
item: Some(crate::panel::ItemId("audio".into())),
rectangle: Rectangle {
x: 1000,
y: 0,
@@ -303,15 +303,15 @@ mod tests {
height: 36,
},
};
drop(shell.open_menu(Menu::Network, anchor.clone()));
drop(shell.open_menu(Menu::Audio, anchor.clone()));
let popup = shell.menu.as_ref().unwrap().id;
anchor.rectangle.x = 800;
drop(shell.open_menu(Menu::Network, anchor.clone()));
drop(shell.open_menu(Menu::Audio, anchor.clone()));
let menu = shell.menu.as_ref().unwrap();
assert_eq!(menu.id, popup);
assert_eq!(menu.anchor, anchor);
assert!(!menu.motion.closing());
drop(shell.open_menu(Menu::Network, anchor));
drop(shell.open_menu(Menu::Audio, anchor));
assert!(shell.menu.is_none());
}
@@ -443,7 +443,7 @@ mod tests {
let anchor = PopoverAnchor {
parent: window::Id::unique(),
panel: panel.id.clone(),
item: Some(crate::panel::ItemId("network".into())),
item: Some(crate::panel::ItemId("audio".into())),
rectangle: Rectangle {
x: 0,
y: 0,
@@ -453,10 +453,7 @@ mod tests {
};
assert!(anchor.belongs_to(&panel));
let items = &mut panel.end.groups[0].items;
let network = items
.iter()
.position(|item| item.id.0 == "network")
.unwrap();
let network = items.iter().position(|item| item.id.0 == "audio").unwrap();
items[network].visible = false;
assert!(!anchor.belongs_to(&panel));
panel.end.groups[0].items.remove(network);