1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
From 507fe404b0c8988390511887a339117274cb04fc Mon Sep 17 00:00:00 2001
From: Matthias Geiger <werdahias@debian.org>
Date: Thu, 4 Sep 2025 11:40:13 +0200
Subject: [PATCH] Port to gtk-rs 0.10
---
Cargo.toml | 6 +++---
src/main.rs | 35 ++++++++++++++++++++++++++++-------
2 files changed, 31 insertions(+), 10 deletions(-)
diff --git a/src/main.rs b/src/main.rs
index 46833c8..7eb3db3 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -202,7 +202,10 @@ fn build_welcome_page(stack: &Stack) -> StackPage {
page_box.append(&button_next);
button_next.connect_clicked(
- clone!(@weak stack => move |_| {
+ clone!(
+ #[weak]
+ stack,
+ move |_| {
stack.set_visible_child_full("keyboard", gtk::StackTransitionType::SlideLeft);
})
);
@@ -319,7 +322,10 @@ fn build_keyboard_page(stack: &Stack) -> StackPage {
page_box.append(&button_next);
button_next.connect_clicked(
- clone!(@weak stack => move |_| {
+ clone!(
+ #[weak]
+ stack,
+ move |_| {
// TODO: find out to what degree this actually sets the keyboard layout
let layout: &XkbVariant = &layout_vals[dropdown.selected() as usize];
println!("Selected keyboard layout: {:?} variant: {:?}", &layout.layout, &layout.variant);
@@ -408,7 +414,10 @@ fn build_time_page(stack: &Stack) -> StackPage {
page_box.append(&button_next);
button_next.connect_clicked(
- clone!(@weak stack => move |_| {
+ clone!(
+ #[weak]
+ stack,
+ move |_| {
let tz = match list.string(dropdown.selected()) {
Some(s) => s,
_ => {
@@ -518,7 +527,10 @@ fn build_desktop_page(stack: &Stack, desktop_index: Rc<RefCell<usize>>) -> Stack
page_box.append(&button_next);
button_next.connect_clicked(
- clone!(@weak stack => move |_| {
+ clone!(
+ #[weak]
+ stack,
+ move |_| {
let mut index = desktop_index.borrow_mut();
*index = choice_wayfire.is_active() as usize;
stack.set_visible_child_full("root-password", gtk::StackTransitionType::SlideLeft);
@@ -557,7 +569,10 @@ fn build_root_pw_page(stack: &Stack) -> StackPage {
page_box.append(&button_next);
button_next.connect_clicked(
- clone!(@weak stack => move |_| {
+ clone!(
+ #[weak]
+ stack,
+ move |_| {
let pw = pw_entry.text();
let pw_retry = pw_entry_rep.text();
if pw != pw_retry {
@@ -606,7 +621,10 @@ fn build_hostname_page(stack: &Stack) -> StackPage {
page_box.append(&button_next);
button_next.connect_clicked(
- clone!(@weak stack => move |_| {
+ clone!(
+ #[weak]
+ stack,
+ move |_| {
let hostname = hostname_entry.text();
if !valid_hostname(&hostname) {
error_label.set_label("Error: Invalid hostname format.");
@@ -691,7 +709,10 @@ fn build_account_page(stack: &Stack, desktop_index: Rc<RefCell<usize>>, window:
let cleanup_script = format!("for script in `ls -1 {}`; do \"{}/$script\"; done", PATH_CLEANUP_SCRIPTS, PATH_CLEANUP_SCRIPTS);
button_next.connect_clicked(
- clone!(@weak window => move |_| {
+ clone!(
+ #[weak]
+ window,
+ move |_| {
let username = username_entry.text();
if !valid_username(&username) {
error_label.set_label("Error: Invalid username format.");
--
2.51.0
|