Skip to content

Commit e999e65

Browse files
ids1024jackpot51
authored andcommitted
improv: Use clone! macro in application::Keyboard
1 parent 24bab69 commit e999e65

File tree

1 file changed

+29
-30
lines changed

1 file changed

+29
-30
lines changed

src/application/keyboard.rs

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,9 @@ impl Keyboard {
290290
}
291291

292292
fn connect_signals(&self) {
293-
let kb = self.clone();
294-
self.inner().stack.connect_property_visible_child_notify(move |stack| {
293+
let kb = self;
294+
295+
self.inner().stack.connect_property_visible_child_notify(clone!(@weak kb => @default-panic, move |stack| {
295296
let picker = match kb.inner().picker.borrow().upgrade() {
296297
Some(picker) => picker,
297298
None => { return; },
@@ -314,20 +315,21 @@ impl Keyboard {
314315
k.select(&picker, layer);
315316
}
316317
}
317-
});
318+
}));
318319

319-
let kb = self.clone();
320-
self.inner().brightness_scale.connect_value_changed(move |this| {
320+
self.inner().brightness_scale.connect_value_changed(clone!(@weak kb => @default-panic, move |this| {
321321
let value = this.get_value() as i32;
322322
if let Err(err) = kb.daemon().set_brightness(kb.daemon_board(), value) {
323323
eprintln!("{}", err);
324324
}
325325
println!("{}", value);
326326

327-
});
327+
}));
328328
}
329329

330330
fn add_pages(&self) {
331+
let kb = self;
332+
331333
for page in Page::iter_all() {
332334
let fixed = gtk::Fixed::new();
333335
self.inner().stack.add_titled(&fixed, page.name(), page.name());
@@ -375,33 +377,30 @@ impl Keyboard {
375377
(button, label)
376378
};
377379

378-
{
379-
let kb = self.clone();
380-
button.connect_clicked(move |_| {
381-
let picker = match kb.inner().picker.borrow().upgrade() {
382-
Some(picker) => picker,
383-
None => { return; },
384-
};
385-
386-
let keys = kb.inner().keys.borrow();
387-
388-
if let Some(selected) = kb.inner().selected.replace(None) {
389-
keys[selected].deselect(&picker, kb.layer());
390-
if i == selected {
391-
// Allow deselect
392-
return;
393-
}
394-
}
380+
button.connect_clicked(clone!(@weak kb => @default-panic, move |_| {
381+
let picker = match kb.inner().picker.borrow().upgrade() {
382+
Some(picker) => picker,
383+
None => { return; },
384+
};
385+
386+
let keys = kb.inner().keys.borrow();
395387

396-
{
397-
let k = &keys[i];
398-
println!("{:#?}", k);
399-
k.select(&picker, kb.layer());
388+
if let Some(selected) = kb.inner().selected.replace(None) {
389+
keys[selected].deselect(&picker, kb.layer());
390+
if i == selected {
391+
// Allow deselect
392+
return;
400393
}
394+
}
401395

402-
kb.inner().selected.set(Some(i));
403-
});
404-
}
396+
{
397+
let k = &keys[i];
398+
println!("{:#?}", k);
399+
k.select(&picker, kb.layer());
400+
}
401+
402+
kb.inner().selected.set(Some(i));
403+
}));
405404

406405
let mut keys = self.inner().keys.borrow_mut();
407406
let k = &mut keys[i];

0 commit comments

Comments
 (0)