Skip to content

Commit 6157a5a

Browse files
authored
Merge pull request #151 from pop-os/scrolling
Fix issue with scrolling behavior in some cases
2 parents 83ec3b3 + 1789ac9 commit 6157a5a

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

src/keyboard_layer.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,11 @@ impl WidgetImpl for KeyboardLayerInner {
222222
(widget.narrow_width(), widget.wide_width())
223223
}
224224

225+
fn preferred_height(&self, widget: &Self::Type) -> (i32, i32) {
226+
let height = widget.narrow_height();
227+
(height, height)
228+
}
229+
225230
fn preferred_height_for_width(&self, widget: &Self::Type, width: i32) -> (i32, i32) {
226231
let height = if width < widget.wide_width() {
227232
widget.narrow_height()
@@ -230,6 +235,10 @@ impl WidgetImpl for KeyboardLayerInner {
230235
};
231236
(height, height)
232237
}
238+
239+
fn preferred_width_for_height(&self, widget: &Self::Type, _width: i32) -> (i32, i32) {
240+
self.preferred_width(widget)
241+
}
233242
}
234243

235244
impl DrawingAreaImpl for KeyboardLayerInner {}

src/main_window.rs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub struct MainWindowInner {
3636
load_revealer: DerefCell<gtk::Revealer>,
3737
picker: DerefCell<Picker>,
3838
stack: DerefCell<gtk::Stack>,
39-
keyboards: RefCell<Vec<(Keyboard, gtk::ListBoxRow)>>,
39+
keyboards: RefCell<Vec<(Keyboard, gtk::Box)>>,
4040
board_loading: RefCell<Option<Loader>>,
4141
board_list_stack: DerefCell<gtk::Stack>,
4242
}
@@ -127,8 +127,6 @@ impl ObjectImpl for MainWindowInner {
127127
let keyboard_box = cascade! {
128128
gtk::Box::new(gtk::Orientation::Vertical, 0);
129129
..set_halign(gtk::Align::Center);
130-
..connect_add(clone!(@weak board_list_stack => move |_, _| {
131-
}));
132130
};
133131
board_list_stack.add_named(&keyboard_box, "keyboards");
134132

@@ -320,18 +318,12 @@ impl MainWindow {
320318
KeyboardLayer::new(Page::Layer1, keyboard.board().clone());
321319
..set_halign(gtk::Align::Center);
322320
};
323-
let keyboard_box = cascade! {
321+
let row = cascade! {
324322
gtk::Box::new(gtk::Orientation::Vertical, 12);
323+
..set_margin(12);
325324
..add(&label);
326325
..add(&keyboard_layer);
327326
..add(&button);
328-
};
329-
let row = cascade! {
330-
gtk::ListBoxRow::new();
331-
..set_activatable(false);
332-
..set_selectable(false);
333-
..add(&keyboard_box);
334-
..set_margin(12);
335327
..show_all();
336328
};
337329
self.inner().keyboard_box.add(&row);
@@ -346,7 +338,7 @@ impl MainWindow {
346338
}));
347339
..show();
348340
};
349-
keyboard_box.add(&label);
341+
row.add(&label);
350342
}
351343

352344
self.inner().stack.add(&keyboard);

0 commit comments

Comments
 (0)