Skip to content

Commit

Permalink
show scrollbar when necesaary
Browse files Browse the repository at this point in the history
  • Loading branch information
pythops committed Nov 24, 2024
1 parent eeeff7e commit 30b6f24
Showing 1 changed file with 47 additions and 39 deletions.
86 changes: 47 additions & 39 deletions src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,8 @@ impl App {
Constraint::Length(14),
];

let rows_len = rows.len();

let controller_table = Table::new(rows, widths)
.header({
if self.focused_block == FocusedBlock::Adapter {
Expand Down Expand Up @@ -403,19 +405,21 @@ impl App {

frame.render_widget(controller_table, controller_block);

let scrollbar = Scrollbar::new(ScrollbarOrientation::VerticalRight)
.begin_symbol(Some("↑"))
.end_symbol(Some("↓"));
let mut scrollbar_state =
ScrollbarState::new(self.controllers.len()).position(selected_controller_index);
frame.render_stateful_widget(
scrollbar,
controller_block.inner(Margin {
vertical: 1,
horizontal: 0,
}),
&mut scrollbar_state,
);
if rows_len > controller_block.height.saturating_sub(4) as usize {
let scrollbar = Scrollbar::new(ScrollbarOrientation::VerticalRight)
.begin_symbol(Some("↑"))
.end_symbol(Some("↓"));
let mut scrollbar_state =
ScrollbarState::new(self.controllers.len()).position(selected_controller_index);
frame.render_stateful_widget(
scrollbar,
controller_block.inner(Margin {
vertical: 1,
horizontal: 0,
}),
&mut scrollbar_state,
);
}

//Paired devices
let rows: Vec<Row> = selected_controller
Expand Down Expand Up @@ -600,19 +604,21 @@ impl App {
&mut self.paired_devices_state.clone(),
);

let scrollbar = Scrollbar::new(ScrollbarOrientation::VerticalRight)
.begin_symbol(Some("↑"))
.end_symbol(Some("↓"));
let mut scrollbar_state = ScrollbarState::new(rows_len)
.position(self.paired_devices_state.selected().unwrap_or_default());
frame.render_stateful_widget(
scrollbar,
paired_devices_block.inner(Margin {
vertical: 1,
horizontal: 0,
}),
&mut scrollbar_state,
);
if rows_len > paired_devices_block.height.saturating_sub(4) as usize {
let scrollbar = Scrollbar::new(ScrollbarOrientation::VerticalRight)
.begin_symbol(Some("↑"))
.end_symbol(Some("↓"));
let mut scrollbar_state = ScrollbarState::new(rows_len)
.position(self.paired_devices_state.selected().unwrap_or_default());
frame.render_stateful_widget(
scrollbar,
paired_devices_block.inner(Margin {
vertical: 1,
horizontal: 0,
}),
&mut scrollbar_state,
);
}

//New devices

Expand Down Expand Up @@ -707,19 +713,21 @@ impl App {

frame.render_stateful_widget(new_devices_table, new_devices_block, &mut state);

let scrollbar = Scrollbar::new(ScrollbarOrientation::VerticalRight)
.begin_symbol(Some("↑"))
.end_symbol(Some("↓"));
let mut scrollbar_state =
ScrollbarState::new(rows_len).position(state.selected().unwrap_or_default());
frame.render_stateful_widget(
scrollbar,
new_devices_block.inner(Margin {
vertical: 1,
horizontal: 0,
}),
&mut scrollbar_state,
);
if rows_len > new_devices_block.height.saturating_sub(4) as usize {
let scrollbar = Scrollbar::new(ScrollbarOrientation::VerticalRight)
.begin_symbol(Some("↑"))
.end_symbol(Some("↓"));
let mut scrollbar_state = ScrollbarState::new(rows_len)
.position(state.selected().unwrap_or_default());
frame.render_stateful_widget(
scrollbar,
new_devices_block.inner(Margin {
vertical: 1,
horizontal: 0,
}),
&mut scrollbar_state,
);
}
}

// Pairing confirmation
Expand Down

0 comments on commit 30b6f24

Please sign in to comment.