Skip to content

Commit b9dffd9

Browse files
ids1024jackpot51
authored andcommitted
improv: Use Cell rather than RefCell for Keyboard.selected
1 parent 6bfd074 commit b9dffd9

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

src/application/keyboard.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pub struct Keyboard {
3030
pub(crate) keys: RefCell<Vec<Key>>,
3131
page: Cell<Page>,
3232
picker: RefCell<WeakRef<Picker>>,
33-
pub(crate) selected: RefCell<Option<usize>>,
33+
pub(crate) selected: Cell<Option<usize>>,
3434
}
3535

3636
impl Keyboard {
@@ -77,7 +77,7 @@ impl Keyboard {
7777
keys: RefCell::new(keys),
7878
page: Cell::new(Page::Layer1),
7979
picker: RefCell::new(WeakRef::new()),
80-
selected: RefCell::new(None),
80+
selected: Cell::new(None),
8181
})
8282
}
8383

@@ -123,7 +123,7 @@ impl Keyboard {
123123
kb.page.set(page.unwrap_or(Page::Layer1));
124124
let layer = kb.layer();
125125
if layer != last_layer {
126-
if let Some(i) = *kb.selected.borrow() {
126+
if let Some(i) = kb.selected.get() {
127127
let keys = kb.keys.borrow();
128128
let k = &keys[i];
129129
k.deselect(&picker, last_layer);
@@ -226,7 +226,7 @@ impl Keyboard {
226226

227227
let keys = kb.keys.borrow();
228228

229-
if let Some(selected) = kb.selected.borrow_mut().take() {
229+
if let Some(selected) = kb.selected.replace(None) {
230230
keys[selected].deselect(&picker, kb.layer());
231231
if i == selected {
232232
// Allow deselect
@@ -240,7 +240,7 @@ impl Keyboard {
240240
k.select(&picker, kb.layer());
241241
}
242242

243-
*kb.selected.borrow_mut() = Some(i);
243+
kb.selected.set(Some(i));
244244
});
245245
}
246246

src/application/picker/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,7 @@ impl Picker {
173173
let layer = kb.layer();
174174

175175
println!("Clicked {} layer {}", name, layer);
176-
let selected = *kb.selected.borrow();
177-
if let Some(i) = selected {
176+
if let Some(i) = kb.selected.get() {
178177
let mut keys = kb.keys.borrow_mut();
179178
let k = &mut keys[i];
180179
let mut found = false;

0 commit comments

Comments
 (0)