Skip to content

Commit

Permalink
Merge pull request #315 from pentamassiv/update_enigo
Browse files Browse the repository at this point in the history
Fix the CI
  • Loading branch information
antoyo committed Apr 19, 2024
2 parents 341cdc8 + becdf3c commit 66b0f18
Show file tree
Hide file tree
Showing 38 changed files with 126 additions and 142 deletions.
18 changes: 4 additions & 14 deletions .github/workflows/CI.yml
Expand Up @@ -9,23 +9,19 @@ name: CI
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:20.04
strategy:
fail-fast: false
matrix:
rust:
- stable
- beta
- nightly
- "1.65.0"
- "1.70.0"
env:
DISPLAY: ":99.0"
# Workaround to avoid getting stuck by apt about choosing a timezone.
DEBIAN_FRONTEND: noninteractive
TZ: America/New_York
steps:
- run: apt-get update -y
- run: apt-get install -y libgtk-3-dev libglib2.0-dev libgraphene-1.0-dev git xvfb curl libcairo-gobject2 libcairo2-dev libxdo-dev libwebkit2gtk-4.0-dev openbox
- run: sudo apt-get update -y
- run: sudo apt-get install -y libgtk-3-dev libglib2.0-dev libgraphene-1.0-dev git xvfb curl libcairo-gobject2 libcairo2-dev libxdo-dev libwebkit2gtk-4.0-dev openbox
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@master
with:
Expand All @@ -34,14 +30,8 @@ jobs:
- name: "clippy"
run: cargo clippy -- --deny warnings

# nightly
- name: "relm: build nightly"
run: cargo build
if: matrix.rust == 'nightly'
# not nightly
- name: "relm: build"
run: cargo build
if: matrix.rust != 'nightly'

- name: "relm: tests"
run: |
Expand Down
20 changes: 10 additions & 10 deletions relm-derive/src/gen/generator.rs
Expand Up @@ -301,7 +301,7 @@ impl<'a> Generator<'a> {
for (name, event) in &gtk_widget.events {
self.collect_event(quote! { #widget_name }, name, event);
}
for (&(ref child_name, ref name), event) in &widget.child_events {
for ((child_name, name), event) in &widget.child_events {
let child_ident = Ident::new(&format!("{}", child_name), child_name.span());
self.collect_event(quote! { #widget_name.#child_ident() }, name, event);
}
Expand Down Expand Up @@ -341,9 +341,9 @@ impl<'a> Generator<'a> {
for (name, event) in &relm_widget.gtk_events {
self.collect_event(quote! { #widget_name.widget() }, name, event);
}
for (&(ref child_name, ref name), event) in &widget.child_events {
for ((child_name, name), event) in &widget.child_events {
let child_ident = Ident::new(&format!("{}", child_name), child_name.span());
self.collect_event(quote! { #widget_name.widget().#child_ident() }, &name, event);
self.collect_event(quote! { #widget_name.widget().#child_ident() }, name, event);
}
}

Expand Down Expand Up @@ -521,7 +521,7 @@ fn gen_construct_widget(widget: &Widget, gtk_widget: &GtkWidget) -> TokenStream

let mut parameters = vec![];
for (key, value) in gtk_widget.construct_properties.iter() {
let key = key.to_string().replace("_", "-");
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() =>
Expand Down Expand Up @@ -631,7 +631,7 @@ fn gen_add_widget_method(container_names: &HashMap<Option<String>, (Ident, Path)
let span = container_names.values().next().expect("at least one container name").0.span();
let mut default_container = quote! {};
let mut other_containers = quote! {};
for (parent_id, &(ref name, _)) in container_names {
for (parent_id, (name, _)) in container_names {
if parent_id.is_none() {
default_container = quote_spanned! { span =>
::gtk::prelude::ContainerExt::add(&container.container, widget.widget());
Expand Down Expand Up @@ -690,17 +690,17 @@ fn gen_container_impl(generator: &Generator, widget: &Widget, generic_types: &Ge
}
else {
let mut container_type = None;
for (ident, &(_, ref typ)) in &generator.container_names {
for (ident, (_, typ)) in &generator.container_names {
if ident.is_none() {
container_type = Some(typ);
}
}
let typ = container_type.expect("container type");
let &(ref name, _) = generator.container_names.get(&None).expect("default container");
let (name, _) = generator.container_names.get(&None).expect("default container");
let add_widget_method = gen_add_widget_method(&generator.container_names);

let (widget_ident, widget_ident_span) = gen_widget_ident(widget);
let (containers, containers_type, other_containers_func) = gen_other_containers(&generator, &widget_ident,
let (containers, containers_type, other_containers_func) = gen_other_containers(generator, &widget_ident,
widget_ident_span);

quote_spanned! { widget.name.span() =>
Expand Down Expand Up @@ -730,7 +730,7 @@ fn gen_other_containers(generator: &Generator, widget_type: &TokenStream, widget
let mut names = vec![];
let mut types = vec![];
let mut values = vec![];
for &(ref name, ref typ) in generator.container_names.values() {
for (name, typ) in generator.container_names.values() {
names.push(name.clone());
let original_type = typ.clone();
let typ =
Expand Down Expand Up @@ -817,7 +817,7 @@ fn gen_set_child_prop_calls(widget: &Widget, parent: Option<&Ident>, parent_widg
let widget_name = &widget.name;
let mut child_properties = vec![];
if let Some(parent) = parent {
for (&(ref ident, ref key), value) in &widget.child_properties {
for ((ident, key), value) in &widget.child_properties {
let property_func = Ident::new(&format!("set_{}_{}", ident, key), key.span());
let parent =
if parent_widget_type == IsGtk {
Expand Down
33 changes: 14 additions & 19 deletions relm-derive/src/gen/mod.rs
Expand Up @@ -142,9 +142,9 @@ impl Driver {
}

fn collect_bindings(&mut self, widget: &Widget, msg_model_map: &mut MsgModelMap, properties_model_map: &mut PropertyModelMap) {
get_properties_model_map(&widget, properties_model_map);
get_msg_model_map(&widget, msg_model_map);
self.add_widgets(&widget, &properties_model_map);
get_properties_model_map(widget, properties_model_map);
get_msg_model_map(widget, msg_model_map);
self.add_widgets(widget, properties_model_map);

for nested_view in widget.nested_views.values() {
self.collect_bindings(nested_view, msg_model_map, properties_model_map);
Expand Down Expand Up @@ -182,9 +182,9 @@ impl Driver {
.map(|(ident, tokens)| (ident.clone(), tokens));
let (idents, types): (Vec<Ident>, Vec<_>) = widgets.unzip();
let widget_model_type = self.widget_model_type.as_ref().expect("missing model method");
let components_name = Ident::new(&format!("__{}Components", get_name(&typ)), Span::call_site());
let widgets_name = Ident::new(&format!("__{}Widgets", get_name(&typ)), Span::call_site());
let streams_name = Ident::new(&format!("__{}Streams", get_name(&typ)), Span::call_site());
let components_name = Ident::new(&format!("__{}Components", get_name(typ)), Span::call_site());
let widgets_name = Ident::new(&format!("__{}Widgets", get_name(typ)), Span::call_site());
let streams_name = Ident::new(&format!("__{}Streams", get_name(typ)), Span::call_site());
let components = {
let components = relm_components.iter()
.map(|(ident, tokens)| (ident.clone(), tokens));
Expand Down Expand Up @@ -345,16 +345,11 @@ impl Driver {

fn get_data_method(&mut self) -> Option<ImplItem> {
self.data_method.take().or_else(|| {
if let Some(ref parent_id) = self.widget_parent_id {
Some(block_to_impl_item(quote! {
self.widget_parent_id.as_ref().map(|parent_id| block_to_impl_item(quote! {
fn parent_id() -> Option<&'static str> {
Some(#parent_id)
}
}))
}
else {
None
}
})
}

Expand Down Expand Up @@ -487,8 +482,8 @@ impl Driver {
}

fn widget_test_impl(&self, typ: &Type, generics: &Generics) -> TokenStream {
let streams_name = Ident::new(&format!("__{}Streams", get_name(&typ)), Span::call_site());
let name = Ident::new(&format!("__{}Widgets", get_name(&typ)), Span::call_site());
let streams_name = Ident::new(&format!("__{}Streams", get_name(typ)), Span::call_site());
let name = Ident::new(&format!("__{}Widgets", get_name(typ)), Span::call_site());
let where_clause = gen_where_clause(generics);
quote_spanned! { typ.span() =>
#[cfg(test)]
Expand Down Expand Up @@ -569,10 +564,10 @@ fn get_msg_model_map(widget: &Widget, map: &mut MsgModelMap) {
Relm(ref relm_widget) => {
for (name, expr) in &relm_widget.messages {
let mut visitor = ModelVariableVisitor::new();
visitor.visit_expr(&expr);
visitor.visit_expr(expr);
let model_variables = visitor.idents;
for var in model_variables {
let set = map.entry(var).or_insert_with(HashSet::new);
let set = map.entry(var).or_default();
set.insert(Message {
expr: expr.clone(),
name: name.clone(),
Expand All @@ -597,10 +592,10 @@ fn get_properties_model_map(widget: &Widget, map: &mut PropertyModelMap) {
fn get_map(widget: &Widget, map: &mut PropertyModelMap, is_relm: bool) {
for (name, expr) in &widget.properties {
let mut visitor = ModelVariableVisitor::new();
visitor.visit_expr(&expr);
visitor.visit_expr(expr);
let model_variables = visitor.idents;
for var in model_variables {
let set = map.entry(var).or_insert_with(HashSet::new);
let set = map.entry(var).or_default();
set.insert(Property {
expr: expr.clone(),
is_relm_widget: is_relm,
Expand Down Expand Up @@ -635,7 +630,7 @@ fn get_second_param_type(sig: &Signature) -> Type {
fn gen_set_child_prop_calls(widget: &Widget) -> Option<ImplItem> {
let mut tokens = quote! {};
let widget_name = &widget.name;
for (&(ref ident, ref key), value) in &widget.child_properties {
for ((ident, key), value) in &widget.child_properties {
let property_func = Ident::new(&format!("set_{}_{}", ident, key), key.span());
tokens = quote_spanned! { widget_name.span() =>
#tokens
Expand Down
8 changes: 4 additions & 4 deletions relm-derive/src/gen/parser.rs
Expand Up @@ -376,7 +376,7 @@ impl Parse for NameValue {
fn parse(input: ParseStream) -> Result<Self> {
Ok(NameValue {
name: input.parse()?,
value: AttributeValue::parse(&input).ok(),
value: AttributeValue::parse(input).ok(),
})
}
}
Expand Down Expand Up @@ -500,7 +500,7 @@ struct ChildWidgetParser {
*/
impl ChildWidgetParser {
fn parse(root: SaveWidget, input: ParseStream) -> Result<Self> {
let attributes = Attributes::parse(&input)?;
let attributes = Attributes::parse(input)?;
let typ: WidgetPathParser = input.parse()?;
let typ = typ.widget_path;
let save = attributes.name_values.contains_key("name") || root == Save;
Expand Down Expand Up @@ -633,7 +633,7 @@ impl RelmWidgetParser {
Property(ident, value) => { let _ = properties.insert(ident, value.value); },
RelmMsg(ident, value) => { let _ = relm_widget.messages.insert(ident, value.value); },
RelmMsgEvent(ident, event) => {
let events = relm_widget.events.entry(ident).or_insert_with(Vec::new);
let events = relm_widget.events.entry(ident).or_default();
events.push(event);
},
}
Expand Down Expand Up @@ -1177,7 +1177,7 @@ pub fn respan_with(tokens: proc_macro::TokenStream, span: proc_macro::Span) -> p
}
}
}
FromIterator::from_iter(result.into_iter())
FromIterator::from_iter(result)
}

pub fn dummy_ident(ident: &str) -> Ident {
Expand Down
2 changes: 1 addition & 1 deletion relm-derive/src/gen/transformer.rs
Expand Up @@ -40,7 +40,7 @@ use syn::Member::Named;
use super::parser::dummy_ident;

thread_local! {
static COUNTER: AtomicUsize = AtomicUsize::new(0);
static COUNTER: AtomicUsize = const { AtomicUsize::new(0) };
}

pub struct Transformer {
Expand Down
2 changes: 1 addition & 1 deletion relm-examples/examples/buttons.rs
Expand Up @@ -130,7 +130,7 @@ impl Widget for Win {
counter_label,
minus_button,
plus_button,
window: window,
window,
},
}
}
Expand Down
8 changes: 4 additions & 4 deletions relm-examples/examples/clock.rs
Expand Up @@ -51,8 +51,8 @@ impl Update for Win {
type ModelParam = ();
type Msg = Msg;

fn model(_: &Relm<Self>, _: ()) -> () {
()
fn model(_: &Relm<Self>, _: ()) {

}

fn subscriptions(&mut self, relm: &Relm<Self>) {
Expand Down Expand Up @@ -89,8 +89,8 @@ impl Widget for Win {
connect!(relm, window, connect_delete_event(_, _), return (Some(Quit), Inhibit(false)));

let mut win = Win {
label: label,
window: window,
label,
window,
};

win.update(Tick);
Expand Down
4 changes: 2 additions & 2 deletions relm-examples/examples/core.rs
Expand Up @@ -83,8 +83,8 @@ fn main() {
// As mentioned above, this struct holds the labels that we're going
// to be updating.
let widgets = Widgets {
clock_label: clock_label,
counter_label: counter_label,
clock_label,
counter_label,
};

// Create a new window and add our layout container to it.
Expand Down
2 changes: 1 addition & 1 deletion relm-examples/examples/glade.rs
Expand Up @@ -120,7 +120,7 @@ impl Widget for Win {
counter_label,
minus_button,
plus_button,
window: window,
window,
},
}
}
Expand Down
2 changes: 1 addition & 1 deletion relm-examples/examples/headerbar.rs
Expand Up @@ -15,7 +15,7 @@ pub enum HeaderMsg {

#[widget]
impl Widget for Header {
fn model() -> () {
fn model() {

}

Expand Down
2 changes: 1 addition & 1 deletion relm-examples/examples/multi-window.rs
Expand Up @@ -30,7 +30,7 @@ use self::Msg::*;

#[widget]
impl Widget for SecondaryWin {
fn model() -> () {
fn model() {
}

fn update(&mut self, _msg: Msg) {
Expand Down
4 changes: 2 additions & 2 deletions relm-examples/examples/nested-view-attribute.rs
Expand Up @@ -79,8 +79,8 @@ impl Widget for Counter {

#[widget]
impl Widget for HBox {
fn model() -> () {
()
fn model() {

}

fn update(&mut self, _event: ()) {
Expand Down
2 changes: 1 addition & 1 deletion relm-examples/examples/readme.rs
Expand Up @@ -65,7 +65,7 @@ impl Widget for Win {

Win {
model,
window: window,
window,
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions relm-examples/examples/tabs.rs
Expand Up @@ -38,8 +38,8 @@ pub enum Msg {

#[widget]
impl Widget for Win {
fn model() -> () {
()
fn model() {

}

fn update(&mut self, event: Msg) {
Expand Down
4 changes: 2 additions & 2 deletions relm-examples/tests/checkboxes.rs
Expand Up @@ -145,7 +145,7 @@ impl Update for Win {
type ModelParam = ();
type Msg = Msg;

fn model(_: &Relm<Self>, _: ()) -> () {
fn model(_: &Relm<Self>, _: ()) {
}

fn update(&mut self, event: Msg) {
Expand Down Expand Up @@ -196,7 +196,7 @@ impl Widget for Win {
widgets: Widgets {
minus_button: minus_button.widget().clone(),
plus_button: plus_button.widget().clone(),
window: window,
window,
},
components: Components {
minus_button,
Expand Down
2 changes: 1 addition & 1 deletion relm-examples/tests/child-event.rs
Expand Up @@ -57,7 +57,7 @@ impl Widget for TreeView {
self.widgets.tree_view.set_model(Some(&model));
}

fn model() -> () {
fn model() {
}

fn update(&mut self, _event: Msg) {
Expand Down
2 changes: 1 addition & 1 deletion relm-examples/tests/child-prop-attribute.rs
Expand Up @@ -40,7 +40,7 @@ pub enum ButtonMsg {

#[widget]
impl Widget for Button {
fn model() -> () {
fn model() {
}

fn update(&mut self, _msg: ButtonMsg) {
Expand Down

0 comments on commit 66b0f18

Please sign in to comment.