layout: Implement focus_right_or_first() generically

This commit is contained in:
Ivan Molodetskikh
2024-12-15 10:30:32 +03:00
parent 43a4bae010
commit 14b1003c62
2 changed files with 4 additions and 30 deletions
-22
View File
@@ -1316,28 +1316,6 @@ impl<W: LayoutElement> ScrollingSpace<W> {
self.activate_column(self.columns.len() - 1);
}
pub fn focus_column_right_or_first(&mut self) {
if self.columns.is_empty() {
return;
}
let column_idx = (self.active_column_idx + 1) % self.columns.len();
self.activate_column(column_idx);
}
pub fn focus_column_left_or_last(&mut self) {
if self.columns.is_empty() {
return;
}
let column_idx = if self.active_column_idx == 0 {
self.columns.len() - 1
} else {
self.active_column_idx - 1
};
self.activate_column(column_idx);
}
pub fn focus_down(&mut self) -> bool {
if self.columns.is_empty() {
return false;
+4 -8
View File
@@ -779,19 +779,15 @@ impl<W: LayoutElement> Workspace<W> {
}
pub fn focus_column_right_or_first(&mut self) {
// TODO
if self.floating_is_active {
return;
if !self.focus_right() {
self.focus_column_first();
}
self.scrolling.focus_column_right_or_first();
}
pub fn focus_column_left_or_last(&mut self) {
// TODO
if self.floating_is_active {
return;
if !self.focus_left() {
self.focus_column_last();
}
self.scrolling.focus_column_left_or_last();
}
pub fn focus_down(&mut self) -> bool {