style: share selection and watched marker space
This commit is contained in:
@@ -63,7 +63,7 @@ Each submitted selection opens one independent player instance without replacing
|
||||
|
||||
In video and episode lists, **Space** checks/unchecks the hovered row; **Ctrl-Space** clears checks. **Enter** plays checked rows in their current displayed order, regardless of the order they were checked. With no checks, Enter plays the hovered row. These controls also work in collection views and metadata previews; Miruro catalog titles and saved shows cannot be checked.
|
||||
|
||||
Checked videos/episodes show a single `*`; unchecked rows leave that marker blank. Category and tag selectors keep their checkboxes.
|
||||
Selection and watched state share one marker slot: `*` for checked rows, otherwise `✓` for watched rows, otherwise blank. Checking a row only overrides its displayed marker, not its stored watch state. Category and tag selectors keep their checkboxes.
|
||||
|
||||
Checks belong to each cached view/screen and follow stable video identities through pagination and reordering. Refresh/replacement queries clear them; collection filtering/removal prunes checks for hidden/removed rows. Successful launcher creation clears checks, while immediate launch failures retain them. Saving, removing and marking watch status still affect the hovered video, not every checked row. Configure `video.select.toggle` and `video.select.clear`; terminals must transmit Ctrl-Space, or bind another chord.
|
||||
|
||||
|
||||
+1
-5
@@ -3068,10 +3068,7 @@ impl App {
|
||||
Row::new([
|
||||
Cell::from(if view.checked.contains(&video.id) {
|
||||
"*"
|
||||
} else {
|
||||
" "
|
||||
}),
|
||||
Cell::from(if self.video_state.is_watched(&video.id) {
|
||||
} else if self.video_state.is_watched(&video.id) {
|
||||
"✓"
|
||||
} else {
|
||||
""
|
||||
@@ -3127,7 +3124,6 @@ impl App {
|
||||
.height(2)
|
||||
}),
|
||||
[
|
||||
Constraint::Length(1),
|
||||
Constraint::Length(1),
|
||||
Constraint::Fill(1),
|
||||
],
|
||||
|
||||
@@ -1660,6 +1660,8 @@ impl Browser {
|
||||
.is_some_and(|id| self.screen().checked.contains(id))
|
||||
{
|
||||
"* "
|
||||
} else if row.key.as_deref().is_some_and(|id| self.state.is_watched(id)) {
|
||||
"✓ "
|
||||
} else {
|
||||
" "
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user