From 3f6fa16bdbdf1507c7f2137d30ff484ebdd5c89d Mon Sep 17 00:00:00 2001 From: Julian Mutter Date: Mon, 27 Nov 2023 11:10:18 +0100 Subject: [PATCH] Remove close button, replace with top-right touch area --- src/ui.rs | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/src/ui.rs b/src/ui.rs index 31058be..94df74b 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -151,9 +151,14 @@ fn process_left_click(ui: &mut Ui, x: f64, y: f64) { if ui.document_canvas.is_none() { return; } + let edge_touch_area_size = f64::min(100.0, ui.app_wrapper.height() as f64 / 10.0); let center = ui.app_wrapper.width() / 2; - if y < (ui.app_wrapper.height() / 5) as f64 { + if y < edge_touch_area_size { + if x > ui.app_wrapper.width() as f64 - edge_touch_area_size { + ui.window.close(); + return; + } toggle_fullscreen(ui); } else if x > center as f64 { if x < ui.app_wrapper.width() as f64 * 0.75 { @@ -236,27 +241,6 @@ impl Ui { ui.borrow().app_wrapper.add_overlay(&ui.borrow().bottom_bar); ui.borrow().bottom_bar.append(&ui.borrow().page_indicator); - let close_button = Button::builder() - .icon_name("window-close") - .width_request(10) - .height_request(10) - .halign(gtk::Align::End) - .valign(gtk::Align::Start) - .margin_top(5) - .margin_end(5) - .build(); - - let button_click = gtk::GestureClick::new(); - button_click.set_button(1); - button_click.connect_pressed( - glib::clone!(@weak ui => @default-panic, move |_, _, _x, _y| { - ui.borrow().window.close(); - }), - ); - close_button.add_controller(button_click); - - ui.borrow().app_wrapper.add_overlay(&close_button); - let click_left = gtk::GestureClick::new(); click_left.set_button(1); click_left.connect_pressed(glib::clone!(@weak ui => @default-panic, move |_, _, x, y| {