From 839bbad77fd378496f8ab597624421a7df796232 Mon Sep 17 00:00:00 2001 From: Dominic Date: Thu, 14 Dec 2023 14:56:59 +0100 Subject: [PATCH 1/3] Update to gtk 0.18 --- Cargo.toml | 14 +- relm-derive/src/gen/generator.rs | 26 +-- relm-examples/Cargo.toml | 10 +- relm-examples/examples/buttons-attribute.rs | 4 +- relm-examples/examples/buttons.rs | 4 +- relm-examples/examples/clock-attribute.rs | 4 +- relm-examples/examples/clock.rs | 4 +- relm-examples/examples/core.rs | 4 +- .../direct-communication-attribute.rs | 4 +- relm-examples/examples/draw.rs | 12 +- relm-examples/examples/drawing.rs | 10 +- relm-examples/examples/glade.rs | 4 +- relm-examples/examples/headerbar.rs | 6 +- relm-examples/examples/menu.rs | 4 +- relm-examples/examples/multi-window.rs | 10 +- relm-examples/examples/multithread.rs | 4 +- .../examples/nested-view-attribute.rs | 8 +- .../examples/orphan-widgets-attribute.rs | 4 +- relm-examples/examples/readme-attributes.rs | 4 +- relm-examples/examples/readme.rs | 5 +- relm-examples/examples/tabs.rs | 4 +- .../examples/text-fields-attribute.rs | 4 +- relm-examples/examples/text-fields.rs | 4 +- relm-examples/examples/tree-view.rs | 5 +- relm-examples/examples/widget-list.rs | 4 +- .../tests/buttons-child-attribute.rs | 4 +- .../tests/buttons-construct-prop-attribute.rs | 4 +- relm-examples/tests/buttons-input.rs | 10 +- relm-examples/tests/buttons-test.rs | 10 +- relm-examples/tests/buttons.relm | 2 +- relm-examples/tests/checkboxes.rs | 7 +- relm-examples/tests/child-event.rs | 5 +- relm-examples/tests/child-prop-attribute.rs | 4 +- relm-examples/tests/child-prop.rs | 5 +- .../tests/communication-attribute.rs | 7 +- relm-examples/tests/communication.rs | 7 +- relm-examples/tests/container-attribute.rs | 4 +- relm-examples/tests/container.rs | 4 +- .../tests/generic-widget-attribute.rs | 7 +- relm-examples/tests/generic-widget.rs | 7 +- relm-examples/tests/grid-attributes.rs | 4 +- relm-examples/tests/include.rs | 7 +- relm-examples/tests/input-test.rs | 8 +- relm-examples/tests/key-events-attribute.rs | 23 +-- relm-examples/tests/key-events.rs | 19 +- relm-examples/tests/model-param-attribute.rs | 7 +- .../tests/model-param-widget-attribute.rs | 4 +- relm-examples/tests/model-param.rs | 7 +- relm-examples/tests/model-params-attribute.rs | 7 +- .../tests/multi-container-attribute.rs | 4 +- relm-examples/tests/multi-container.rs | 4 +- .../tests/multi-generic-widget-attribute.rs | 4 +- relm-examples/tests/multi-generic-widget.rs | 4 +- .../tests/multiple-widgets-attribute.rs | 7 +- relm-examples/tests/multiple-widgets.rs | 7 +- relm-examples/tests/references.rs | 2 +- relm-examples/tests/references2.rs | 9 +- relm-examples/tests/relm-root-attribute.rs | 4 +- relm-examples/tests/relm-root.rs | 4 +- relm-examples/tests/simple.rs | 5 +- .../tests/text-fields-prop-attribute.rs | 7 +- relm-test/Cargo.toml | 9 +- relm-test/src/lib.rs | 178 +----------------- src/drawing.rs | 8 +- src/lib.rs | 6 +- 65 files changed, 206 insertions(+), 395 deletions(-) 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/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.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/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::