diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 43199b95..b7929c6f 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -10,14 +10,14 @@ jobs: build: runs-on: ubuntu-latest container: - image: ubuntu:20.04 + image: ubuntu:latest strategy: matrix: rust: - stable - beta - nightly - - "1.65.0" + - "1.70" env: DISPLAY: ":99.0" # Workaround to avoid getting stuck by apt about choosing a timezone. diff --git a/Cargo.toml b/Cargo.toml index b49cf4c9..c14b8550 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,14 +12,14 @@ version = "0.24.1" edition = "2018" [dependencies] -cairo-rs = "0.16.1" +cairo-rs = "0.18" fragile = "2.0" -glib = "0.16.2" -glib-sys = "0.16.0" -gobject-sys = "0.16.0" -gtk = "0.16.1" -libc = "^0.2.54" -log = "^0.4.6" +glib = "0.18" +glib-sys = "0.18" +gobject-sys = "0.18" +gtk = "0.18" +libc = "0.2.54" +log = "0.4.6" [features] hidpi = [] diff --git a/relm-derive/src/gen/generator.rs b/relm-derive/src/gen/generator.rs index dcc4c92c..c0d5522b 100644 --- a/relm-derive/src/gen/generator.rs +++ b/relm-derive/src/gen/generator.rs @@ -519,17 +519,17 @@ impl<'a> Generator<'a> { fn gen_construct_widget(widget: &Widget, gtk_widget: &GtkWidget) -> TokenStream { let struct_name = &widget.typ; - let mut parameters = vec![]; - for (key, value) in gtk_widget.construct_properties.iter() { - let key = key.to_string().replace("_", "-"); - let mut remover = Transformer::new(MODEL_IDENT); - let value = remover.fold_expr(value.clone()); - parameters.push(quote_spanned! { struct_name.span() => - (#key, &#value as &dyn ::gtk::glib::value::ToValue) - }); - } - if widget.init_parameters.is_empty() { + let mut keys = Vec::new(); + let mut values = Vec::new(); + for (k, v) in >k_widget.construct_properties { + let k = k.to_string().replace("_", "-"); + let mut remover = Transformer::new(MODEL_IDENT); + let v = remover.fold_expr(v.clone()); + keys.push(k); + values.push(v); + } + quote_spanned!(struct_name.span() => { if !gtk::is_initialized_main_thread() { if gtk::is_initialized() { @@ -539,9 +539,9 @@ fn gen_construct_widget(widget: &Widget, gtk_widget: &GtkWidget) -> TokenStream panic!("GTK has not been initialized. Call `gtk::init` first."); } } - let parameters = [#(#parameters),*]; - // TODO: switch to builders. - ::gtk::glib::object::Object::new::<#struct_name>(¶meters) + ::gtk::glib::object::Object::builder::<'_, #struct_name>() + #(.property(#keys, &#values))* + .build() }) } else { diff --git a/relm-examples/Cargo.toml b/relm-examples/Cargo.toml index 12b00ebf..96f65ac1 100644 --- a/relm-examples/Cargo.toml +++ b/relm-examples/Cargo.toml @@ -9,14 +9,14 @@ edition = "2018" [dev-dependencies] chrono = "0.4" -gdk = "^0.16.0" -glib = "^0.16.0" -gtk = "^0.16.0" -gtk-test = "^0.16.0" +gdk = "0.18" +glib = "0.18" +gtk = "0.18" +gtk-test = "0.18" rand = "0.8.5" [dev-dependencies.gio] -version = "^0.16.0" +version = "0.18" [dev-dependencies.relm] path = ".." diff --git a/relm-examples/examples/7gui/1_counter/Cargo.toml b/relm-examples/examples/7gui/1_counter/Cargo.toml index e4b6d975..42647bff 100644 --- a/relm-examples/examples/7gui/1_counter/Cargo.toml +++ b/relm-examples/examples/7gui/1_counter/Cargo.toml @@ -5,12 +5,13 @@ authors = ["Julian Schmidhuber "] edition = "2018" [dependencies] -glib = "^0.16.0" -gtk = "^0.16.0" +glib = "0.18" +gtk = "0.18" [dependencies.gio] features = ["v2_58"] -version = "^0.16.0" +version = "0.18" + [dependencies.relm] path = "../../../.." diff --git a/relm-examples/examples/7gui/1_counter/src/main.rs b/relm-examples/examples/7gui/1_counter/src/main.rs index 8b468b22..ef379016 100644 --- a/relm-examples/examples/7gui/1_counter/src/main.rs +++ b/relm-examples/examples/7gui/1_counter/src/main.rs @@ -1,3 +1,4 @@ +use glib::Propagation; use gtk::prelude::*; use relm::Widget; use relm_derive::{widget, Msg}; @@ -53,7 +54,7 @@ impl Widget for Win { clicked => Msg::Increment } }, - delete_event(_, _) => (Msg::Quit, Inhibit(false)), + delete_event(_, _) => (Msg::Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/7gui/2_temperature_converter/Cargo.toml b/relm-examples/examples/7gui/2_temperature_converter/Cargo.toml index 1ae44405..0d5df895 100644 --- a/relm-examples/examples/7gui/2_temperature_converter/Cargo.toml +++ b/relm-examples/examples/7gui/2_temperature_converter/Cargo.toml @@ -5,12 +5,13 @@ authors = ["Julian Schmidhuber "] edition = "2018" [dependencies] -glib = "^0.16.0" -gtk = "^0.16.0" +glib = "0.18" +gtk = "0.18" [dependencies.gio] features = ["v2_58"] -version = "^0.16.0" +version = "0.18" + [dependencies.relm] path = "../../../.." diff --git a/relm-examples/examples/7gui/2_temperature_converter/src/main.rs b/relm-examples/examples/7gui/2_temperature_converter/src/main.rs index 0bd466b6..d5fae73e 100644 --- a/relm-examples/examples/7gui/2_temperature_converter/src/main.rs +++ b/relm-examples/examples/7gui/2_temperature_converter/src/main.rs @@ -1,3 +1,4 @@ +use glib::Propagation; use gtk::prelude::*; use relm::{Relm, Widget}; use relm_derive::{widget, Msg}; @@ -85,7 +86,7 @@ impl Widget for Win { let text = entry.text().to_string(); Msg::ChangedCelsius(text) - }, Inhibit(false)), + }, Propagation::Proceed), text: &self.model.temp_celsius, }, // The label only showing text. @@ -107,7 +108,7 @@ impl Widget for Win { let text = entry.text().to_string(); Msg::ChangedFahrenheit(text) - }, Inhibit(false)), + }, Propagation::Proceed), text: &self.model.temp_fahrenheit, }, // The label showing the text. @@ -115,7 +116,7 @@ impl Widget for Win { label: "Fahrenheit" }, }, - delete_event(_, _) => (Msg::Quit, Inhibit(false)), + delete_event(_, _) => (Msg::Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/7gui/3_flight_booker/Cargo.toml b/relm-examples/examples/7gui/3_flight_booker/Cargo.toml index 61f04c7a..a1113a78 100644 --- a/relm-examples/examples/7gui/3_flight_booker/Cargo.toml +++ b/relm-examples/examples/7gui/3_flight_booker/Cargo.toml @@ -5,14 +5,15 @@ authors = ["Julian Schmidhuber "] edition = "2018" [dependencies] -glib = "0.16.0" -gtk = "^0.16.0" +glib = "0.18" +gtk = "0.18" chrono = "0.4.19" -gdk = "^0.16.0" +gdk = "0.18" [dependencies.gio] features = ["v2_58"] -version = "^0.16.0" +version = "0.18" + [dependencies.relm] path = "../../../.." diff --git a/relm-examples/examples/7gui/3_flight_booker/src/main.rs b/relm-examples/examples/7gui/3_flight_booker/src/main.rs index f32dcd33..a65b3c2f 100644 --- a/relm-examples/examples/7gui/3_flight_booker/src/main.rs +++ b/relm-examples/examples/7gui/3_flight_booker/src/main.rs @@ -1,6 +1,7 @@ use std::convert::TryFrom; use chrono::NaiveDate; +use glib::Propagation; use gtk::prelude::*; use gtk::{ButtonsType, DialogFlags, MessageDialog, MessageType}; use relm::Widget; @@ -234,7 +235,7 @@ impl Widget for Win { clicked => Msg::Book, } }, - delete_event(_, _) => (Msg::Quit, Inhibit(false)), + delete_event(_, _) => (Msg::Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/7gui/4_progress_bar/Cargo.toml b/relm-examples/examples/7gui/4_progress_bar/Cargo.toml index 560c7288..08b9ac69 100644 --- a/relm-examples/examples/7gui/4_progress_bar/Cargo.toml +++ b/relm-examples/examples/7gui/4_progress_bar/Cargo.toml @@ -5,12 +5,13 @@ authors = ["Julian Schmidhuber "] edition = "2018" [dependencies] -glib = "^0.16.0" -gtk = "^0.16.0" +glib = "0.18" +gtk = "0.18" [dependencies.gio] features = ["v2_58"] -version = "^0.16.0" +version = "0.18" + [dependencies.relm] path = "../../../.." diff --git a/relm-examples/examples/7gui/4_progress_bar/src/main.rs b/relm-examples/examples/7gui/4_progress_bar/src/main.rs index 9d6f8fae..5c4d4a33 100644 --- a/relm-examples/examples/7gui/4_progress_bar/src/main.rs +++ b/relm-examples/examples/7gui/4_progress_bar/src/main.rs @@ -1,3 +1,4 @@ +use glib::Propagation; use gtk::prelude::*; use gtk::Adjustment; use relm::{Relm, StreamHandle, Widget}; @@ -178,7 +179,7 @@ impl Widget for Win { label: "Reset" } }, - delete_event(_, _) => (Msg::Quit, Inhibit(false)), + delete_event(_, _) => (Msg::Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/7gui/5_crud/Cargo.toml b/relm-examples/examples/7gui/5_crud/Cargo.toml index 51ede0b3..be635e11 100644 --- a/relm-examples/examples/7gui/5_crud/Cargo.toml +++ b/relm-examples/examples/7gui/5_crud/Cargo.toml @@ -5,12 +5,13 @@ authors = ["Julian Schmidhuber "] edition = "2018" [dependencies] -glib = "^0.16.0" -gtk = "^0.16.0" +glib = "0.18" +gtk = "0.18" [dependencies.gio] features = ["v2_58"] -version = "^0.16.0" +version = "0.18" + [dependencies.relm] path = "../../../.." diff --git a/relm-examples/examples/7gui/5_crud/src/gui/win.rs b/relm-examples/examples/7gui/5_crud/src/gui/win.rs index 8f6d77c9..07608858 100644 --- a/relm-examples/examples/7gui/5_crud/src/gui/win.rs +++ b/relm-examples/examples/7gui/5_crud/src/gui/win.rs @@ -1,6 +1,7 @@ use crate::gui::person_list_box::{PersonListBox, PersonListBoxMsg}; use crate::model::Person; +use glib::Propagation; use gtk::prelude::*; use gtk::Orientation; use relm::{Relm, StreamHandle, Widget}; @@ -132,7 +133,7 @@ impl Widget for Win { }, } }, - delete_event(_, _) => (WinMsg::Quit, Inhibit(false)), + delete_event(_, _) => (WinMsg::Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/7gui/6_circle_drawer/Cargo.toml b/relm-examples/examples/7gui/6_circle_drawer/Cargo.toml index 6d4057db..1e69903e 100644 --- a/relm-examples/examples/7gui/6_circle_drawer/Cargo.toml +++ b/relm-examples/examples/7gui/6_circle_drawer/Cargo.toml @@ -5,14 +5,14 @@ authors = ["Julian Schmidhuber "] edition = "2018" [dependencies] -glib = "^0.16.0" -gtk = { version = "^0.16.0", features = ["v3_24"] } -gdk = "^0.16.0" -cairo-rs = "^0.16.0" +glib = "0.18" +gtk = { version = "0.18", features = ["v3_24"] } +gdk = "0.18" +cairo-rs = "0.18" [dependencies.gio] features = ["v2_58"] -version = "^0.16.0" +version = "0.18" [dependencies.relm] path = "../../../.." diff --git a/relm-examples/examples/7gui/6_circle_drawer/src/gui/circle_drawing.rs b/relm-examples/examples/7gui/6_circle_drawer/src/gui/circle_drawing.rs index 1594c2f1..8c01cfa4 100644 --- a/relm-examples/examples/7gui/6_circle_drawer/src/gui/circle_drawing.rs +++ b/relm-examples/examples/7gui/6_circle_drawer/src/gui/circle_drawing.rs @@ -4,6 +4,7 @@ use crate::gui::window_resize::{WindowResize, WindowResizeMsg}; use crate::model::{Circle, CircleGroup}; use gdk::{EventButton, EventMotion}; +use glib::Propagation; use gtk::prelude::*; use gtk::{DrawingArea, EventBox}; use relm::{connect, init, Component, DrawHandler, Relm, StreamHandle, Update, Widget}; @@ -206,7 +207,7 @@ impl Widget for CircleDrawing { return ( // What to do when the signal occured. Some(CircleDrawingMsg::UpdateDrawBuffer), // Sending a message. - Inhibit(false) // Do not inhibit, other widgets may also register that mouse press. + Propagation::Proceed // Do not inhibit, other widgets may also register that mouse press. ) ); @@ -218,7 +219,7 @@ impl Widget for CircleDrawing { return ( // What to do when the signal occured. Some(CircleDrawingMsg::Clicked(event.clone())), // Sending a message. - Inhibit(false) // Do not inhibit, other widgets may also register that mouse press. + Propagation::Proceed // Do not inhibit, other widgets may also register that mouse press. ) ); @@ -233,7 +234,7 @@ impl Widget for CircleDrawing { connect_motion_notify_event(_, event), return ( Some(CircleDrawingMsg::MouseMove(event.clone())), - Inhibit(false) + Propagation::Proceed ) ); diff --git a/relm-examples/examples/7gui/6_circle_drawer/src/gui/win.rs b/relm-examples/examples/7gui/6_circle_drawer/src/gui/win.rs index 81c7b91f..2db4bbb6 100644 --- a/relm-examples/examples/7gui/6_circle_drawer/src/gui/win.rs +++ b/relm-examples/examples/7gui/6_circle_drawer/src/gui/win.rs @@ -1,6 +1,7 @@ use crate::gui::circle_drawing::{CircleDrawing, CircleDrawingMsg}; use crate::model::{CircleGroup, History}; +use glib::Propagation; use gtk::prelude::*; use gtk::Orientation; use relm::{Relm, Widget}; @@ -73,7 +74,7 @@ impl Widget for Win { vexpand: true } }, - delete_event(_, _) => (WinMsg::Quit, Inhibit(false)), + delete_event(_, _) => (WinMsg::Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/7gui/6_circle_drawer/src/gui/window_resize.rs b/relm-examples/examples/7gui/6_circle_drawer/src/gui/window_resize.rs index f81af9d0..07a46a52 100644 --- a/relm-examples/examples/7gui/6_circle_drawer/src/gui/window_resize.rs +++ b/relm-examples/examples/7gui/6_circle_drawer/src/gui/window_resize.rs @@ -1,5 +1,6 @@ use crate::gui::circle_drawing::CircleDrawingMsg; +use glib::Propagation; use gtk::prelude::*; use gtk::Adjustment; use relm::{Relm, StreamHandle, Widget}; @@ -50,7 +51,7 @@ impl Widget for WindowResize { WindowResizeMsg::ValueChanged(value) } }, - delete_event(_, _) => (WindowResizeMsg::Quit, Inhibit(false)), + delete_event(_, _) => (WindowResizeMsg::Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/7gui/7_cells/Cargo.toml b/relm-examples/examples/7gui/7_cells/Cargo.toml index e24bdbec..3f2b4615 100644 --- a/relm-examples/examples/7gui/7_cells/Cargo.toml +++ b/relm-examples/examples/7gui/7_cells/Cargo.toml @@ -5,13 +5,13 @@ authors = ["Julian Schmidhuber "] edition = "2018" [dependencies] -glib = "^0.16.0" -gtk = { version = "^0.16.0", features = ["v3_24"] } -gdk = "^0.16.0" +glib = "0.18" +gtk = { version = "0.18", features = ["v3_24"] } +gdk = "0.18" [dependencies.gio] features = ["v2_58"] -version = "^0.16.0" +version = "0.18" [dependencies.relm] path = "../../../.." diff --git a/relm-examples/examples/7gui/7_cells/src/gui/cell.rs b/relm-examples/examples/7gui/7_cells/src/gui/cell.rs index 39fd224b..6baecd32 100644 --- a/relm-examples/examples/7gui/7_cells/src/gui/cell.rs +++ b/relm-examples/examples/7gui/7_cells/src/gui/cell.rs @@ -3,6 +3,7 @@ use crate::gui::spreadsheet::SpreadsheetMsg; use crate::model::CellRef; use gdk::EventButton; +use glib::Propagation; use gtk::prelude::*; use relm::{Component, Relm, StreamHandle, Widget}; use relm_derive::{widget, Msg}; @@ -106,7 +107,7 @@ impl Widget for Cell { // The event box is used to recieve click events. #[name="event_box"] gtk::EventBox { - button_press_event(_, event) => (CellMsg::Clicked(event.clone()), Inhibit(false)), + button_press_event(_, event) => (CellMsg::Clicked(event.clone()), Propagation::Proceed), // The border around the label gtk::Frame { gtk::Label { diff --git a/relm-examples/examples/7gui/7_cells/src/gui/win.rs b/relm-examples/examples/7gui/7_cells/src/gui/win.rs index 085ddd1e..9cbe11e7 100644 --- a/relm-examples/examples/7gui/7_cells/src/gui/win.rs +++ b/relm-examples/examples/7gui/7_cells/src/gui/win.rs @@ -1,7 +1,7 @@ use crate::gui::spreadsheet::Spreadsheet; +use glib::Propagation; use gtk::prelude::*; -use gtk::Inhibit; use relm::Widget; use relm_derive::{widget, Msg}; @@ -24,7 +24,7 @@ impl Widget for Win { view! { gtk::Window { Spreadsheet {}, - delete_event(_, _) => (WinMsg::Quit, Inhibit(false)), + delete_event(_, _) => (WinMsg::Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/async/Cargo.toml b/relm-examples/examples/async/Cargo.toml index 3fa84222..8ca871c2 100644 --- a/relm-examples/examples/async/Cargo.toml +++ b/relm-examples/examples/async/Cargo.toml @@ -5,12 +5,12 @@ version = "0.1.0" edition = "2018" [dependencies] -glib = "0.16.0" -gtk = "^0.16.0" +glib = "0.18" +gtk = "0.18" [dependencies.gio] features = ["v2_58"] -version = "^0.16.0" +version = "0.18" [dependencies.relm] path = "../../.." diff --git a/relm-examples/examples/async/src/main.rs b/relm-examples/examples/async/src/main.rs index 51945328..38d1726d 100644 --- a/relm-examples/examples/async/src/main.rs +++ b/relm-examples/examples/async/src/main.rs @@ -26,11 +26,10 @@ use gio::{ prelude::CancellableExt, prelude::FileExt, }; -use glib::GString; +use glib::{GString, Propagation}; use gtk::{ FileChooserAction, FileChooserDialog, - Inhibit, ResponseType, prelude::ButtonExt, prelude::DialogExt, @@ -102,7 +101,7 @@ impl Widget for Win { label: "Open application", }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/buttons-attribute.rs b/relm-examples/examples/buttons-attribute.rs index e9b51dac..ba115e72 100644 --- a/relm-examples/examples/buttons-attribute.rs +++ b/relm-examples/examples/buttons-attribute.rs @@ -20,7 +20,6 @@ */ use gtk::{ - Inhibit, prelude::ButtonExt, prelude::LabelExt, prelude::OrientableExt, @@ -31,6 +30,7 @@ use relm::Widget; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; // Define the structure of the model. pub struct Model { @@ -91,7 +91,7 @@ impl Widget for Win { label: "-", }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/buttons-attribute/Cargo.toml b/relm-examples/examples/buttons-attribute/Cargo.toml index 93b1d0a6..f35cd27c 100644 --- a/relm-examples/examples/buttons-attribute/Cargo.toml +++ b/relm-examples/examples/buttons-attribute/Cargo.toml @@ -5,14 +5,11 @@ authors = ["Antoni Boucher "] edition = "2018" [dependencies] -gtk = "^0.16.0" -gtk-test = "^0.16.0" +gtk = "0.18" +gtk-test = "0.18" [dependencies.relm] path = "../../.." [dependencies.relm-derive] path = "../../../relm-derive" - -[dependencies.relm-test] -path = "../../../relm-test" diff --git a/relm-examples/examples/buttons-attribute/src/main.rs b/relm-examples/examples/buttons-attribute/src/main.rs index f07f6030..36e80c53 100644 --- a/relm-examples/examples/buttons-attribute/src/main.rs +++ b/relm-examples/examples/buttons-attribute/src/main.rs @@ -20,7 +20,7 @@ */ use gtk::{ - Inhibit, + glib::Propagation, prelude::ButtonExt, prelude::LabelExt, prelude::OrientableExt, @@ -90,7 +90,7 @@ impl Widget for Win { visible: false, }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } @@ -103,8 +103,7 @@ fn main() { mod tests { use gtk::prelude::LabelExt; - use gtk_test::assert_text; - use relm_test::click; + use gtk_test::{assert_text, click}; use crate::Win; diff --git a/relm-examples/examples/buttons.rs b/relm-examples/examples/buttons.rs index 8bb9f8d1..8fb13f4f 100644 --- a/relm-examples/examples/buttons.rs +++ b/relm-examples/examples/buttons.rs @@ -21,7 +21,6 @@ use gtk::{ Button, - Inhibit, Label, Window, WindowType, @@ -33,6 +32,7 @@ use gtk::{ use gtk::Orientation::Vertical; use relm_derive::Msg; use relm::{connect, Relm, Update, Widget, WidgetTest}; +use glib::Propagation; struct Model { counter: i32, @@ -122,7 +122,7 @@ impl Widget for Win { // Send the message Increment when the button is clicked. connect!(relm, plus_button, connect_clicked(_), Msg::Increment); connect!(relm, minus_button, connect_clicked(_), Msg::Decrement); - connect!(relm, window, connect_delete_event(_, _), return (Some(Msg::Quit), Inhibit(false))); + connect!(relm, window, connect_delete_event(_, _), return (Some(Msg::Quit), Propagation::Proceed)); Win { model, diff --git a/relm-examples/examples/clock-attribute.rs b/relm-examples/examples/clock-attribute.rs index d990e29b..420c8dda 100644 --- a/relm-examples/examples/clock-attribute.rs +++ b/relm-examples/examples/clock-attribute.rs @@ -21,7 +21,6 @@ use chrono::{DateTime, Local}; use gtk::{ - Inhibit, prelude::LabelExt, prelude::WidgetExt, }; @@ -29,6 +28,7 @@ use relm::{Relm, Widget, interval}; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; pub struct Model { time: DateTime, @@ -65,7 +65,7 @@ impl Widget for Win { gtk::Label { text: &self.model.time.format("%H:%M:%S").to_string(), }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/clock.rs b/relm-examples/examples/clock.rs index 41761da4..7b0c044d 100644 --- a/relm-examples/examples/clock.rs +++ b/relm-examples/examples/clock.rs @@ -21,7 +21,6 @@ use chrono::Local; use gtk::{ - Inhibit, Label, Window, WindowType, @@ -33,6 +32,7 @@ use relm_derive::Msg; use relm::{connect,Relm, Update, Widget, WidgetTest, interval}; use self::Msg::*; +use glib::Propagation; #[derive(Msg)] enum Msg { @@ -86,7 +86,7 @@ impl Widget for Win { window.show_all(); - connect!(relm, window, connect_delete_event(_, _), return (Some(Quit), Inhibit(false))); + connect!(relm, window, connect_delete_event(_, _), return (Some(Quit), Propagation::Proceed)); let mut win = Win { label: label, diff --git a/relm-examples/examples/core.rs b/relm-examples/examples/core.rs index 40ed90da..9d3bd234 100644 --- a/relm-examples/examples/core.rs +++ b/relm-examples/examples/core.rs @@ -24,7 +24,6 @@ use chrono::Local; use gtk::{ Button, - Inhibit, Label, Window, WindowType, @@ -37,6 +36,7 @@ use gtk::Orientation::Vertical; use relm::EventStream; use Msg::*; +use glib::Propagation; // There will be several widgets involved in this example, but this struct @@ -140,7 +140,7 @@ fn main() { let stream = main_stream.downgrade(); window.connect_delete_event(move |_, _| { stream.emit(Quit); - Inhibit(false) + Propagation::Proceed }); } diff --git a/relm-examples/examples/direct-communication-attribute.rs b/relm-examples/examples/direct-communication-attribute.rs index 54a017b0..66f4fe60 100644 --- a/relm-examples/examples/direct-communication-attribute.rs +++ b/relm-examples/examples/direct-communication-attribute.rs @@ -21,7 +21,6 @@ use gtk::{ EditableSignals, - Inhibit, prelude::ButtonExt, prelude::EntryExt, prelude::LabelExt, @@ -35,6 +34,7 @@ use relm_derive::{Msg, widget}; use self::CounterMsg::*; use self::Msg::*; use self::TextMsg::*; +use glib::Propagation; pub struct TextModel { content: String, @@ -184,7 +184,7 @@ impl Widget for Win { text: &self.model.counter.to_string(), } }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/draw.rs b/relm-examples/examples/draw.rs index f52a6e05..6cfd171b 100644 --- a/relm-examples/examples/draw.rs +++ b/relm-examples/examples/draw.rs @@ -23,14 +23,12 @@ use std::cell::Cell; use std::rc::Rc; use gdk::EventKey; -use gtk::{ - Inhibit, - prelude::WidgetExt, -}; +use gtk::prelude::WidgetExt; use relm::Widget; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; pub struct Model { letter: Rc>, @@ -54,7 +52,7 @@ impl Widget for Win { context.set_source_rgb(0.0, 0.0, 0.0); context.move_to(100.0, 100.0); context.show_text(&letter.get().to_string()).unwrap(); - Inhibit(false) + Propagation::Proceed }); } @@ -81,8 +79,8 @@ impl Widget for Win { #[name="drawing_area"] gtk::DrawingArea { }, - delete_event(_, _) => (Quit, Inhibit(false)), - key_press_event(_, event) => (KeyPress(event.clone()), Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), + key_press_event(_, event) => (KeyPress(event.clone()), Propagation::Proceed), } } } diff --git a/relm-examples/examples/drawing.rs b/relm-examples/examples/drawing.rs index b7719d15..18f64cc0 100644 --- a/relm-examples/examples/drawing.rs +++ b/relm-examples/examples/drawing.rs @@ -24,7 +24,6 @@ use std::f64::consts::PI; use gdk::{EventMask, RGBA}; use gtk::{ DrawingArea, - Inhibit, prelude::BoxExt, prelude::OrientableExt, prelude::WidgetExt, @@ -42,6 +41,7 @@ use relm::{ use relm_derive::widget; use self::Msg::*; +use glib::Propagation; const SIZE: f64 = 15.0; @@ -162,15 +162,15 @@ impl Widget for Win { child: { expand: true, }, - draw(_, _) => (UpdateDrawBuffer, Inhibit(false)), - motion_notify_event(_, event) => (MoveCursor(event.position()), Inhibit(false)) + draw(_, _) => (UpdateDrawBuffer, Propagation::Proceed), + motion_notify_event(_, event) => (MoveCursor(event.position()), Propagation::Proceed) }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } fn main() { Win::run(()).unwrap(); -} \ No newline at end of file +} diff --git a/relm-examples/examples/glade.rs b/relm-examples/examples/glade.rs index 410a35bb..edd14319 100644 --- a/relm-examples/examples/glade.rs +++ b/relm-examples/examples/glade.rs @@ -23,7 +23,6 @@ use gtk::{ prelude::BuilderExtManual, Builder, Button, - Inhibit, Label, Window, prelude::ButtonExt, @@ -32,6 +31,7 @@ use gtk::{ }; use relm_derive::Msg; use relm::{connect, Relm, Update, Widget, WidgetTest}; +use glib::Propagation; struct Model { counter: i32, @@ -112,7 +112,7 @@ impl Widget for Win { connect!(relm, plus_button, connect_clicked(_), Msg::Increment); connect!(relm, minus_button, connect_clicked(_), Msg::Decrement); - connect!(relm, window, connect_delete_event(_, _), return (Some(Msg::Quit), Inhibit(false))); + connect!(relm, window, connect_delete_event(_, _), return (Some(Msg::Quit), Propagation::Proceed)); Win { model, diff --git a/relm-examples/examples/headerbar.rs b/relm-examples/examples/headerbar.rs index 0cb30069..669db3a8 100644 --- a/relm-examples/examples/headerbar.rs +++ b/relm-examples/examples/headerbar.rs @@ -1,11 +1,11 @@ -use gtk::{Inhibit}; -use gtk::Orientation::{Vertical}; +use gtk::Orientation::Vertical; use gtk::prelude::*; use relm_derive::{Msg, widget}; use relm::{Component, Widget, init}; use self::HeaderMsg::*; use self::WinMsg::*; +use glib::Propagation; #[derive(Msg)] pub enum HeaderMsg { @@ -82,7 +82,7 @@ impl Widget for Win { orientation: Vertical }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/http/Cargo.toml b/relm-examples/examples/http/Cargo.toml index a7932810..aa5badd1 100644 --- a/relm-examples/examples/http/Cargo.toml +++ b/relm-examples/examples/http/Cargo.toml @@ -5,12 +5,12 @@ version = "0.1.0" edition = "2018" [dependencies] -gdk = "^0.16.0" -gdk-pixbuf = "^0.16.0" -gio = "^0.16.0" -glib = "^0.16.0" -glib-sys = "^0.16.0" -gtk = "^0.16.0" +gdk = "0.18" +gdk-pixbuf = "0.18" +gio = "0.18" +glib = "0.18" +glib-sys = "0.18" +gtk = "0.18" json = "0.12.4" simplelog = "0.12.0" uhttp_uri = "^0.5.1" diff --git a/relm-examples/examples/http/src/main.rs b/relm-examples/examples/http/src/main.rs index 88016a8c..e57c0646 100644 --- a/relm-examples/examples/http/src/main.rs +++ b/relm-examples/examples/http/src/main.rs @@ -33,10 +33,9 @@ use gio::{ prelude::SocketClientExt, prelude::{InputStreamExtManual, OutputStreamExtManual}, }; -use glib::Cast; -use glib::source::PRIORITY_DEFAULT; +use glib::{Cast, Propagation}; +use glib::source::Priority; use gtk::{ - Inhibit, prelude::ButtonExt, prelude::CssProviderExt, prelude::ImageExt, @@ -174,7 +173,7 @@ impl Widget for Win { clicked => FetchUrl, }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } @@ -262,7 +261,7 @@ impl Update for Http { let path = uri.resource.path; let query = uri.resource.query.unwrap_or_default(); let buffer = format!("GET {}?{} HTTP/1.1\r\nHost: {}\r\n\r\n", path, query, uri.authority); - connect_async!(writer, write_async(buffer.into_bytes(), PRIORITY_DEFAULT), self.model.relm, + connect_async!(writer, write_async(buffer.into_bytes(), Priority::DEFAULT), self.model.relm, |_| Wrote); } }, @@ -276,7 +275,7 @@ impl Update for Http { else { if let Some(ref stream) = self.model.stream { let reader = stream.input_stream(); - connect_async!(reader, read_async(vec![0; READ_SIZE], PRIORITY_DEFAULT), self.model.relm, Read); + connect_async!(reader, read_async(vec![0; READ_SIZE], Priority::DEFAULT), self.model.relm, Read); } } buffer.truncate(size); @@ -326,7 +325,7 @@ impl Update for Http { Wrote => { if let Some(ref stream) = self.model.stream { let reader = stream.input_stream(); - connect_async!(reader, read_async(vec![0; READ_SIZE], PRIORITY_DEFAULT), self.model.relm, Read); + connect_async!(reader, read_async(vec![0; READ_SIZE], Priority::DEFAULT), self.model.relm, Read); } }, } diff --git a/relm-examples/examples/menu.rs b/relm-examples/examples/menu.rs index d597d254..533feaf9 100644 --- a/relm-examples/examples/menu.rs +++ b/relm-examples/examples/menu.rs @@ -20,7 +20,6 @@ */ use gtk::{ - Inhibit, prelude::GtkMenuItemExt, prelude::MenuShellExt, prelude::OrientableExt, @@ -31,6 +30,7 @@ use relm::{Relm, Widget, connect}; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; pub struct Model { relm: Relm, @@ -75,7 +75,7 @@ impl Widget for Win { gtk::MenuBar { }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/multi-window.rs b/relm-examples/examples/multi-window.rs index a73e79ab..9ecad0ad 100644 --- a/relm-examples/examples/multi-window.rs +++ b/relm-examples/examples/multi-window.rs @@ -19,14 +19,12 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -use gtk::{ - Inhibit, - prelude::WidgetExt, -}; +use gtk::prelude::WidgetExt; use relm::{Component, Widget, init}; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; #[widget] impl Widget for SecondaryWin { @@ -38,7 +36,7 @@ impl Widget for SecondaryWin { view! { gtk::Window { - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } @@ -68,7 +66,7 @@ impl Widget for Win { view! { gtk::Window { - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/multithread.rs b/relm-examples/examples/multithread.rs index 962a3e86..d0cde565 100644 --- a/relm-examples/examples/multithread.rs +++ b/relm-examples/examples/multithread.rs @@ -23,7 +23,6 @@ use std::thread; use std::time::Duration; use gtk::{ - Inhibit, prelude::LabelExt, prelude::OrientableExt, prelude::WidgetExt, @@ -33,6 +32,7 @@ use relm::{Channel, Relm, Widget}; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; pub struct Model { _channel: Channel, @@ -82,7 +82,7 @@ impl Widget for Win { text: &self.model.text, }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/nested-view-attribute.rs b/relm-examples/examples/nested-view-attribute.rs index ba6ecb3d..8957c850 100644 --- a/relm-examples/examples/nested-view-attribute.rs +++ b/relm-examples/examples/nested-view-attribute.rs @@ -19,16 +19,14 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -use gtk::{ - prelude::*, - Inhibit, -}; +use gtk::prelude::*; use gtk::Orientation::{Horizontal, Vertical}; use relm::Widget; use relm_derive::{Msg, widget}; use self::Msg::*; use self::CounterMsg::SetIncrement; +use glib::Propagation; pub struct CounterModel { counter: i32, @@ -192,7 +190,7 @@ impl Widget for Win { }, }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/orphan-widgets-attribute.rs b/relm-examples/examples/orphan-widgets-attribute.rs index 0514378d..ca5bea8b 100644 --- a/relm-examples/examples/orphan-widgets-attribute.rs +++ b/relm-examples/examples/orphan-widgets-attribute.rs @@ -20,7 +20,6 @@ */ use gtk::{ - Inhibit, prelude::BoxExt, prelude::ButtonExt, prelude::GestureDragExt, @@ -33,6 +32,7 @@ use relm::Widget; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; pub struct Model { counter: i32, @@ -93,7 +93,7 @@ impl Widget for Win { label: "Second", }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } gtk::GestureDrag(&self.drawing_area) { diff --git a/relm-examples/examples/readme-attributes.rs b/relm-examples/examples/readme-attributes.rs index 346c48ea..ea0c1869 100644 --- a/relm-examples/examples/readme-attributes.rs +++ b/relm-examples/examples/readme-attributes.rs @@ -1,8 +1,8 @@ use relm_derive::{Msg, widget}; use relm::Widget; use gtk::prelude::*; -use gtk::Inhibit; use gtk::Orientation::Vertical; +use glib::Propagation; #[derive(Msg)] pub enum Msg { @@ -58,7 +58,7 @@ impl Widget for Win { }, // Use a tuple when you want to both send a message and return a value to // the GTK+ callback. - delete_event(_, _) => (Msg::Quit, Inhibit(false)), + delete_event(_, _) => (Msg::Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/readme.rs b/relm-examples/examples/readme.rs index 7c9dfbca..ebeb63f8 100644 --- a/relm-examples/examples/readme.rs +++ b/relm-examples/examples/readme.rs @@ -1,7 +1,8 @@ use relm_derive::Msg; use relm::{connect, Relm, Update, Widget}; use gtk::prelude::*; -use gtk::{Window, Inhibit, WindowType}; +use gtk::{Window, WindowType}; +use glib::Propagation; #[derive(Msg)] enum Msg { @@ -57,7 +58,7 @@ impl Widget for Win { let window = Window::new(WindowType::Toplevel); // Connect the signal `delete_event` to send the `Quit` message. - connect!(relm, window, connect_delete_event(_, _), return (Some(Msg::Quit), Inhibit(false))); + connect!(relm, window, connect_delete_event(_, _), return (Some(Msg::Quit), Propagation::Proceed)); // There is also a `connect!()` macro for GTK+ events that do not need a // value to be returned in the callback. diff --git a/relm-examples/examples/tabs.rs b/relm-examples/examples/tabs.rs index a1a7d2d1..2007017f 100644 --- a/relm-examples/examples/tabs.rs +++ b/relm-examples/examples/tabs.rs @@ -20,7 +20,6 @@ */ use gtk::{ - Inhibit, prelude::ButtonExt, prelude::LabelExt, prelude::NotebookExt, @@ -30,6 +29,7 @@ use relm_derive::{widget, Msg}; use relm::Widget; use self::Msg::*; +use glib::Propagation; #[derive(Msg)] pub enum Msg { @@ -71,7 +71,7 @@ impl Widget for Win { label: "Another Button", }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/text-fields-attribute.rs b/relm-examples/examples/text-fields-attribute.rs index f9b08199..8e6f999d 100644 --- a/relm-examples/examples/text-fields-attribute.rs +++ b/relm-examples/examples/text-fields-attribute.rs @@ -21,7 +21,6 @@ use gtk::{ EditableSignals, - Inhibit, prelude::EntryExt, prelude::LabelExt, prelude::OrientableExt, @@ -32,6 +31,7 @@ use relm::Widget; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; pub struct Model { content: String, @@ -79,7 +79,7 @@ impl Widget for Win { text: &self.model.content, }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/examples/text-fields.rs b/relm-examples/examples/text-fields.rs index f49f6253..02a4b5ed 100644 --- a/relm-examples/examples/text-fields.rs +++ b/relm-examples/examples/text-fields.rs @@ -22,7 +22,6 @@ use gtk::{ EditableSignals, Entry, - Inhibit, Label, Window, WindowType, @@ -36,6 +35,7 @@ use relm_derive::Msg; use relm::{connect, Relm, Update, Widget, WidgetTest}; use self::Msg::*; +use glib::Propagation; struct Model { content: String, @@ -107,7 +107,7 @@ impl Widget for Win { window.show_all(); connect!(relm, input, connect_changed(_), Change); - connect!(relm, window, connect_delete_event(_, _), return (Some(Quit), Inhibit(false))); + connect!(relm, window, connect_delete_event(_, _), return (Some(Quit), Propagation::Proceed)); Win { model, diff --git a/relm-examples/examples/tree-view.rs b/relm-examples/examples/tree-view.rs index c5671c57..be6885e1 100644 --- a/relm-examples/examples/tree-view.rs +++ b/relm-examples/examples/tree-view.rs @@ -23,9 +23,8 @@ use std::fs; use std::io; use std::path::{MAIN_SEPARATOR, PathBuf}; -use glib::StaticType; +use glib::{StaticType, Propagation}; use gtk::{ - Inhibit, TreeView, Window, WindowType, @@ -150,7 +149,7 @@ impl Widget for Win { window.show_all(); connect!(relm, tree_view, connect_cursor_changed(_), Msg::ItemSelect); - connect!(relm, window, connect_delete_event(_, _), return (Some(Msg::Quit), Inhibit(false))); + connect!(relm, window, connect_delete_event(_, _), return (Some(Msg::Quit), Propagation::Proceed)); Win { tree_view, diff --git a/relm-examples/examples/widget-list.rs b/relm-examples/examples/widget-list.rs index 2e3b0459..7b61a296 100644 --- a/relm-examples/examples/widget-list.rs +++ b/relm-examples/examples/widget-list.rs @@ -22,7 +22,6 @@ use std::sync::atomic::{AtomicUsize, Ordering}; use gtk::{ - Inhibit, prelude::ButtonExt, prelude::LabelExt, prelude::OrientableExt, @@ -34,6 +33,7 @@ use relm_derive::{Msg, widget}; use self::CounterMsg::*; use self::Msg::*; +use glib::Propagation; static COUNTER: AtomicUsize = AtomicUsize::new(0); @@ -143,7 +143,7 @@ impl Widget for Win { clicked => Remove, }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/tests/buttons-child-attribute.rs b/relm-examples/tests/buttons-child-attribute.rs index 23a0a9d0..aa707692 100644 --- a/relm-examples/tests/buttons-child-attribute.rs +++ b/relm-examples/tests/buttons-child-attribute.rs @@ -20,7 +20,6 @@ */ use gtk::{ - Inhibit, PackType, prelude::BoxExt, prelude::ButtonExt, @@ -34,6 +33,7 @@ use relm::Widget; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; pub struct Model { counter: i32, @@ -88,7 +88,7 @@ impl Widget for Win { label: "+", }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/tests/buttons-construct-prop-attribute.rs b/relm-examples/tests/buttons-construct-prop-attribute.rs index a082ac0c..47030005 100644 --- a/relm-examples/tests/buttons-construct-prop-attribute.rs +++ b/relm-examples/tests/buttons-construct-prop-attribute.rs @@ -20,7 +20,6 @@ */ use gtk::{ - Inhibit, prelude::ButtonExt, prelude::LabelExt, prelude::OrientableExt, @@ -31,6 +30,7 @@ use relm::Widget; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; // Define the structure of the model. pub struct Model { @@ -85,7 +85,7 @@ impl Widget for Win { label: "-", }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/tests/buttons-input.rs b/relm-examples/tests/buttons-input.rs index 0454654f..e5c1508e 100644 --- a/relm-examples/tests/buttons-input.rs +++ b/relm-examples/tests/buttons-input.rs @@ -21,7 +21,6 @@ use gtk::{ EditableSignals, - Inhibit, prelude::ButtonExt, prelude::EntryExt, prelude::LabelExt, @@ -33,6 +32,7 @@ use relm::{Relm, Widget}; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; pub struct Model { left_text: String, @@ -119,7 +119,7 @@ impl Widget for Win { label: &self.model.text, }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } @@ -136,11 +136,11 @@ mod tests { use gtk_test::{ assert_text, - focus, - }; - use relm_test::{ enter_key, enter_keys, + focus + }; + use relm_test::{ relm_observer_new, relm_observer_wait, }; diff --git a/relm-examples/tests/buttons-test.rs b/relm-examples/tests/buttons-test.rs index 90243dcc..2c350780 100644 --- a/relm-examples/tests/buttons-test.rs +++ b/relm-examples/tests/buttons-test.rs @@ -21,7 +21,6 @@ use gdk::EventType::DoubleButtonPress; use gtk::{ - Inhibit, Menu, MenuItem, prelude::ButtonExt, @@ -38,6 +37,7 @@ use relm_derive::{Msg, widget}; use self::Msg::*; use self::LabelMsg::*; +use glib::Propagation; pub struct LabelModel { text: String, @@ -76,7 +76,7 @@ impl Widget for ClickableLabel { else { Click } - }, Inhibit(false)), + }, Propagation::Proceed), #[name="label"] gtk::Label { widget_name: "label", @@ -202,7 +202,7 @@ impl Widget for Win { Text: self.model.inc_text.clone(), }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } @@ -220,12 +220,12 @@ mod tests { use gtk_test::{ assert_text, + click, + double_click, wait, }; use relm_test::{ Observer, - click, - double_click, relm_observer_new, relm_observer_wait, }; diff --git a/relm-examples/tests/buttons.relm b/relm-examples/tests/buttons.relm index 99762c0b..d2bf53b4 100644 --- a/relm-examples/tests/buttons.relm +++ b/relm-examples/tests/buttons.relm @@ -20,5 +20,5 @@ gtk::Window { label: "-", }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } diff --git a/relm-examples/tests/checkboxes.rs b/relm-examples/tests/checkboxes.rs index 99ad1f89..640a2e06 100644 --- a/relm-examples/tests/checkboxes.rs +++ b/relm-examples/tests/checkboxes.rs @@ -20,7 +20,6 @@ */ use gtk::{ - Inhibit, Window, WindowType, prelude::ButtonExt, @@ -42,6 +41,7 @@ use relm_derive::Msg; use self::CheckMsg::*; use self::Msg::*; +use glib::Propagation; struct CheckModel { check: bool, @@ -190,7 +190,7 @@ impl Widget for Win { connect!(plus_button@Toggle, relm, PlusToggle); connect!(minus_button@Toggle, relm, MinusToggle); - connect!(relm, window, connect_delete_event(_, _), return (Some(Quit), Inhibit(false))); + connect!(relm, window, connect_delete_event(_, _), return (Some(Quit), Propagation::Proceed)); Win { widgets: Widgets { @@ -226,8 +226,7 @@ fn main() { #[cfg(test)] mod tests { use gtk::prelude::ToggleButtonExt; - - use relm_test::click; + use gtk_test::click; use crate::Win; diff --git a/relm-examples/tests/child-event.rs b/relm-examples/tests/child-event.rs index 12ce5668..7f46cf0d 100644 --- a/relm-examples/tests/child-event.rs +++ b/relm-examples/tests/child-event.rs @@ -19,10 +19,9 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -use glib::{ToValue, types::Type}; +use glib::{ToValue, types::Type, Propagation}; use gtk::{ CellRendererText, - Inhibit, ListStore, TreeSelection, TreeViewColumn, @@ -125,7 +124,7 @@ impl Widget for Win { visible: self.model.visible, }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/tests/child-prop-attribute.rs b/relm-examples/tests/child-prop-attribute.rs index b0f7ea3f..e21df82a 100644 --- a/relm-examples/tests/child-prop-attribute.rs +++ b/relm-examples/tests/child-prop-attribute.rs @@ -20,7 +20,6 @@ */ use gtk::{ - Inhibit, PackType, prelude::BoxExt, prelude::ButtonExt, @@ -33,6 +32,7 @@ use relm::Widget; use relm_derive::{Msg, widget}; use self::Msg::*; +use glib::Propagation; #[derive(Msg)] pub enum ButtonMsg { @@ -105,7 +105,7 @@ impl Widget for Win { clicked => Increment, }, }, - delete_event(_, _) => (Quit, Inhibit(false)), + delete_event(_, _) => (Quit, Propagation::Proceed), } } } diff --git a/relm-examples/tests/child-prop.rs b/relm-examples/tests/child-prop.rs index 932a67a3..830f9f37 100644 --- a/relm-examples/tests/child-prop.rs +++ b/relm-examples/tests/child-prop.rs @@ -22,10 +22,9 @@ use glib::{ Cast, IsA, - Object, + Object, Propagation, }; use gtk::{ - Inhibit, PackType, prelude::BoxExt, prelude::ContainerExt, @@ -147,7 +146,7 @@ impl Widget for Win { let dec_button = gtk::Button::with_label("-"); vbox.add(&dec_button); let relm_button = vbox.add_widget::