Commit 8d0ad447 authored by Bilal Elmoussaoui's avatar Bilal Elmoussaoui

Switch to gtk3

Would love to keep using gtk4, but we can't get it into 3.36 otherwise.
parent 894dbdbf
......@@ -9,30 +9,25 @@ dependencies = [
]
[[package]]
name = "anyhow"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "atk"
version = "0.8.0"
source = "git+https://github.com/gtk-rs/atk#b56689dea48ac579b53041d89544ff18a72ec08b"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"atk-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"atk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "atk-sys"
version = "0.9.1"
source = "git+https://github.com/gtk-rs/sys#bac293d7ce7547bd238a7f5e3e130c4f66c8df3d"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
......@@ -45,22 +40,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cairo-rs"
version = "0.8.0"
source = "git+https://github.com/gtk-rs/cairo#b555469778becf3ae547dbf08f2ddc8ffd1c0617"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-sys-rs 0.9.2 (git+https://github.com/gtk-rs/cairo)",
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "cairo-sys-rs"
version = "0.9.2"
source = "git+https://github.com/gtk-rs/cairo#b555469778becf3ae547dbf08f2ddc8ffd1c0617"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
......@@ -76,11 +71,6 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "either"
version = "1.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "futures-channel"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
......@@ -139,62 +129,62 @@ dependencies = [
]
[[package]]
name = "gdk-pixbuf"
version = "0.8.0"
source = "git+https://github.com/gtk-rs/gdk-pixbuf#060b57509cc106904ce1d9ff142bbfcde224a463"
dependencies = [
"gdk-pixbuf-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gio 0.8.0 (git+https://github.com/gtk-rs/gio.git)",
"gio-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
name = "gdk"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pango 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gdk-pixbuf-sys"
version = "0.9.1"
source = "git+https://github.com/gtk-rs/sys#bac293d7ce7547bd238a7f5e3e130c4f66c8df3d"
name = "gdk-pixbuf"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"gio-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gdk4"
version = "0.1.0"
source = "git+https://github.com/gtk-rs/gdk4#b8ee04761cf5f93f1bb7c075cd19b49d11742503"
name = "gdk-pixbuf-sys"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-rs 0.8.0 (git+https://github.com/gtk-rs/cairo)",
"cairo-sys-rs 0.9.2 (git+https://github.com/gtk-rs/cairo)",
"gdk-pixbuf 0.8.0 (git+https://github.com/gtk-rs/gdk-pixbuf)",
"gdk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)",
"gio 0.8.0 (git+https://github.com/gtk-rs/gio.git)",
"gio-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pango 0.8.0 (git+https://github.com/gtk-rs/pango)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gdk4-sys"
version = "0.1.0"
source = "git+https://github.com/gtk-rs/sys#bac293d7ce7547bd238a7f5e3e130c4f66c8df3d"
name = "gdk-sys"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cairo-sys-rs 0.9.2 (git+https://github.com/gtk-rs/cairo)",
"gdk-pixbuf-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gio-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pango-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
......@@ -217,37 +207,37 @@ dependencies = [
[[package]]
name = "gio"
version = "0.8.0"
source = "git+https://github.com/gtk-rs/gio.git#06558414d906c77c540d8b3caf44a8409f9730f8"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"once_cell 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gio-sys"
version = "0.9.1"
source = "git+https://github.com/gtk-rs/sys#bac293d7ce7547bd238a7f5e3e130c4f66c8df3d"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "glib"
version = "0.9.1"
source = "git+https://github.com/gtk-rs/glib.git#78d6fb9162d20f62047e5fe42865ec06b830c9d7"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
......@@ -255,31 +245,16 @@ dependencies = [
"futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-macros 0.9.0 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"once_cell 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "glib-macros"
version = "0.9.0"
source = "git+https://github.com/gtk-rs/glib.git#78d6fb9162d20f62047e5fe42865ec06b830c9d7"
dependencies = [
"anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
"heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro-error 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "glib-sys"
version = "0.9.1"
source = "git+https://github.com/gtk-rs/sys#bac293d7ce7547bd238a7f5e3e130c4f66c8df3d"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
......@@ -289,148 +264,68 @@ dependencies = [
name = "gnome-tour"
version = "0.0.1"
dependencies = [
"gdk4 0.1.0 (git+https://github.com/gtk-rs/gdk4)",
"gdk 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gettext-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio 0.8.0 (git+https://github.com/gtk-rs/gio.git)",
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"gtk4 0.1.0 (git+https://github.com/gtk-rs/gtk4.git)",
"gio 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gtk 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gobject-sys"
version = "0.9.1"
source = "git+https://github.com/gtk-rs/sys#bac293d7ce7547bd238a7f5e3e130c4f66c8df3d"
dependencies = [
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "graphene-rs"
version = "0.1.0"
source = "git+https://github.com/gtk-rs/graphene#329c92234c4d5b1d503a43d73990c9f3e657fdc3"
dependencies = [
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"graphene-sys 0.1.0 (git+https://github.com/gtk-rs/graphene)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "graphene-sys"
version = "0.1.0"
source = "git+https://github.com/gtk-rs/graphene#329c92234c4d5b1d503a43d73990c9f3e657fdc3"
dependencies = [
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gsk4"
version = "0.1.0"
source = "git+https://github.com/gtk-rs/gsk4#3cea3d3013a51bee6de2b4d208795197db0fbb31"
dependencies = [
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-rs 0.8.0 (git+https://github.com/gtk-rs/cairo)",
"cairo-sys-rs 0.9.2 (git+https://github.com/gtk-rs/cairo)",
"gdk4 0.1.0 (git+https://github.com/gtk-rs/gdk4)",
"gdk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)",
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"graphene-rs 0.1.0 (git+https://github.com/gtk-rs/graphene)",
"graphene-sys 0.1.0 (git+https://github.com/gtk-rs/graphene)",
"gsk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pango 0.8.0 (git+https://github.com/gtk-rs/pango)",
]
[[package]]
name = "gsk4-sys"
version = "0.1.0"
source = "git+https://github.com/gtk-rs/sys#bac293d7ce7547bd238a7f5e3e130c4f66c8df3d"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cairo-sys-rs 0.9.2 (git+https://github.com/gtk-rs/cairo)",
"gdk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"graphene-sys 0.1.0 (git+https://github.com/gtk-rs/graphene)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pango-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gtk4"
version = "0.1.0"
source = "git+https://github.com/gtk-rs/gtk4.git#499933877d595448c6cd10642e4a3f1e5f07ace1"
name = "gtk"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"atk 0.8.0 (git+https://github.com/gtk-rs/atk)",
"atk-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"atk 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-rs 0.8.0 (git+https://github.com/gtk-rs/cairo)",
"cairo-sys-rs 0.9.2 (git+https://github.com/gtk-rs/cairo)",
"gdk-pixbuf 0.8.0 (git+https://github.com/gtk-rs/gdk-pixbuf)",
"gdk-pixbuf-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gdk4 0.1.0 (git+https://github.com/gtk-rs/gdk4)",
"gdk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)",
"gio 0.8.0 (git+https://github.com/gtk-rs/gio.git)",
"gio-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"graphene-rs 0.1.0 (git+https://github.com/gtk-rs/graphene)",
"graphene-sys 0.1.0 (git+https://github.com/gtk-rs/graphene)",
"gsk4 0.1.0 (git+https://github.com/gtk-rs/gsk4)",
"gsk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)",
"gtk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)",
"cairo-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gtk-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"once_cell 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"pango 0.8.0 (git+https://github.com/gtk-rs/pango)",
"pango-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"pango 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gtk4-sys"
version = "0.1.0"
source = "git+https://github.com/gtk-rs/sys#bac293d7ce7547bd238a7f5e3e130c4f66c8df3d"
name = "gtk-sys"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"atk-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"cairo-sys-rs 0.9.2 (git+https://github.com/gtk-rs/cairo)",
"gdk-pixbuf-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gdk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)",
"gio-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"graphene-sys 0.1.0 (git+https://github.com/gtk-rs/graphene)",
"gsk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)",
"atk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pango-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "heck"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "itertools"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "lazy_static"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
......@@ -464,31 +359,26 @@ version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "once_cell"
version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "pango"
version = "0.8.0"
source = "git+https://github.com/gtk-rs/pango#377c7d1e4a9a58749be9cb81df71b84ac65a05e1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)",
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"once_cell 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"pango-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "pango-sys"
version = "0.9.1"
source = "git+https://github.com/gtk-rs/sys#bac293d7ce7547bd238a7f5e3e130c4f66c8df3d"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)",
"glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
......@@ -504,30 +394,6 @@ version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "proc-macro-error"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro-error-attr 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"rustversion 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "proc-macro-error-attr"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"rustversion 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
"syn-mid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "proc-macro-hack"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
......@@ -579,16 +445,6 @@ dependencies = [
]
[[package]]
name = "rustversion"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "slab"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
......@@ -604,16 +460,6 @@ dependencies = [
]
[[package]]
name = "syn-mid"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "thread_local"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
......@@ -627,11 +473,6 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "unicode-segmentation"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "unicode-xid"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
......@@ -662,15 +503,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[metadata]
"checksum aho-corasick 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "36b7aa1ccb7d7ea3f437cf025a2ab1c47cc6c1bc9fc84918ff449def12f5e282"
"checksum anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)" = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c"
"checksum atk 0.8.0 (git+https://github.com/gtk-rs/atk)" = "<none>"
"checksum atk-sys 0.9.1 (git+https://github.com/gtk-rs/sys)" = "<none>"
"checksum atk 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "444daefa55f229af145ea58d77efd23725024ee1f6f3102743709aa6b18c663e"
"checksum atk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e552c1776737a4c80110d06b36d099f47c727335f9aaa5d942a72b6863a8ec6f"
"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
"checksum cairo-rs 0.8.0 (git+https://github.com/gtk-rs/cairo)" = "<none>"
"checksum cairo-sys-rs 0.9.2 (git+https://github.com/gtk-rs/cairo)" = "<none>"
"checksum cairo-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0b528aca2ef1026235d0122495dbaee0b09479f77c51f6df8d9bb9cb1c6d6f87"
"checksum cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ff65ba02cac715be836f63429ab00a767d48336efc5497c5637afb53b4f14d63"
"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86"
"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866"
"checksum futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e274736563f686a837a0568b478bdabfeaec2dca794b5649b04e2fe1627c231"
......@@ -678,51 +517,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
"checksum futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "52e7c56c15537adb4f76d0b7a76ad131cb4d2f4f32d3b0bcabcbe1c7c5e87764"
"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9"
"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76"
"checksum gdk-pixbuf 0.8.0 (git+https://github.com/gtk-rs/gdk-pixbuf)" = "<none>"
"checksum gdk-pixbuf-sys 0.9.1 (git+https://github.com/gtk-rs/sys)" = "<none>"
"checksum gdk4 0.1.0 (git+https://github.com/gtk-rs/gdk4)" = "<none>"
"checksum gdk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)" = "<none>"
"checksum gdk 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fbe5e8772fc0865c52460cdd7a59d7d47700f44d9809d1dd00eecceb769a7589"
"checksum gdk-pixbuf 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e248220c46b329b097d4b158d2717f8c688f16dd76d0399ace82b3e98062bdd7"
"checksum gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d8991b060a9e9161bafd09bf4a202e6fd404f5b4dd1a08d53a1e84256fb34ab0"
"checksum gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6adf679e91d1bff0c06860287f80403e7db54c2d2424dce0a470023b56c88fbb"
"checksum gettext-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b2502071e088651bd5fec87a896be2a5b908e817070d350a534a305abc9c6048"
"checksum gettext-sys 0.19.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62c644c0b8b73706fb8c7420533fd30abf6f41c2703994bc6f0826fceb7fb3d6"
"checksum gio 0.8.0 (git+https://github.com/gtk-rs/gio.git)" = "<none>"
"checksum gio-sys 0.9.1 (git+https://github.com/gtk-rs/sys)" = "<none>"
"checksum glib 0.9.1 (git+https://github.com/gtk-rs/glib.git)" = "<none>"
"checksum glib-macros 0.9.0 (git+https://github.com/gtk-rs/glib.git)" = "<none>"
"checksum glib-sys 0.9.1 (git+https://github.com/gtk-rs/sys)" = "<none>"
"checksum gobject-sys 0.9.1 (git+https://github.com/gtk-rs/sys)" = "<none>"
"checksum graphene-rs 0.1.0 (git+https://github.com/gtk-rs/graphene)" = "<none>"
"checksum graphene-sys 0.1.0 (git+https://github.com/gtk-rs/graphene)" = "<none>"
"checksum gsk4 0.1.0 (git+https://github.com/gtk-rs/gsk4)" = "<none>"
"checksum gsk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)" = "<none>"
"checksum gtk4 0.1.0 (git+https://github.com/gtk-rs/gtk4.git)" = "<none>"
"checksum gtk4-sys 0.1.0 (git+https://github.com/gtk-rs/sys)" = "<none>"
"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
"checksum itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"
"checksum gio 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0cd10f9415cce39b53f8024bf39a21f84f8157afa52da53837b102e585a296a5"
"checksum gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4fad225242b9eae7ec8a063bb86974aca56885014672375e5775dc0ea3533911"
"checksum glib 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "58477df5a255eed01e1a627d4933ed77c5d43a1c3502b22749a51bf6091c7017"
"checksum glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "95856f3802f446c05feffa5e24859fe6a183a7cb849c8449afc35c86b1e316e2"
"checksum gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31d1a804f62034eccf370006ccaef3708a71c31d561fee88564abe71177553d9"
"checksum gtk 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "87e1e8d70290239c668594002d1b174fcc7d7ef5d26670ee141490ede8facf8f"
"checksum gtk-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53def660c7b48b00b510c81ef2d2fbd3c570f1527081d8d7947f471513e1a4c1"
"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
"checksum libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)" = "3262021842bf00fe07dbd6cf34ff25c99d7a7ebef8deea84db72be3ea3bb0aff"
"checksum locale_config 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "73ac19ebe45489e5d53b4346d8b90bb3dd03275c5fdf2ce22a982516d86b535c"
"checksum log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c275b6ad54070ac2d665eef9197db647b32239c9d244bfb6f041a766d00da5b3"
"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
"checksum once_cell 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1c601810575c99596d4afc46f78a678c80105117c379eb3650cf99b8a21ce5b"
"checksum pango 0.8.0 (git+https://github.com/gtk-rs/pango)" = "<none>"
"checksum pango-sys 0.9.1 (git+https://github.com/gtk-rs/sys)" = "<none>"
"checksum pango 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9c6b728f1be8edb5f9f981420b651d5ea30bdb9de89f1f1262d0084a020577"
"checksum pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "86b93d84907b3cf0819bff8f13598ba72843bee579d5ebc2502e4b0367b4be7d"
"checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
"checksum proc-macro-error 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1b79a464461615532fcc8a6ed8296fa66cc12350c18460ab3f4594a6cee0fcb6"
"checksum proc-macro-error-attr 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "23832e5eae6bac56bbac190500eef1aaede63776b5cd131eaa4ee7fe120cd892"
"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
"checksum proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
"checksum proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0319972dcae462681daf4da1adeeaa066e3ebd29c69be96c6abb1259d2ee2bcc"
"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
"checksum regex 1.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "d9d8297cc20bbb6184f8b45ff61c8ee6a9ac56c156cec8e38c3e5084773c44ad"
"checksum regex-syntax 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "9b01330cce219c1c6b2e209e5ed64ccd587ae5c67bed91c0b49eecf02ae40e21"
"checksum rustversion 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0538bd897e17257b0128d2fd95c2ed6df939374073a36166051a79e2eb7986"
"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
"checksum syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1e4ff033220a41d1a57d8125eab57bf5263783dfdcc18688b1dacc6ce9651ef8"
"checksum syn-mid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9fd3937748a7eccff61ba5b90af1a20dbf610858923a9192ea0ecb0cb77db1d0"
"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
"checksum utf8-ranges 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9d50aa7650df78abf942826607c62468ce18d9019673d4a2ebe1865dbb96ffde"
"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
......
......@@ -5,17 +5,10 @@ authors = ["Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>"]
edition = "2018"
[dependencies]
glib = { git = "https://github.com/gtk-rs/glib.git" }
gio = { git = "https://github.com/gtk-rs/gio.git" }
glib = "0.9"
gdk = "0.12"
gtk = { version = "0.8", features= ["v3_16"] }
gio = "0.8"
log = "0.4"
gettext-rs= { version = "0.4", features = ["gettext-system"] }
[dependencies.gdk]
package = "gdk4"
git = "https://github.com/gtk-rs/gdk4"
[dependencies.gtk]
package = "gtk4"
git = "https://github.com/gtk-rs/gtk4.git"
......@@ -4,27 +4,27 @@ use crate::widgets::Window;
use gio::prelude::*;
use gtk::prelude::*;
use std::env;
use std::rc::Rc;
use std::{cell::RefCell, rc::Rc};
pub struct Application {
app: gtk::Application,
window: Rc<Window>,
window: RefCell<Rc<Option<Window>>>,
}
impl Application {
pub fn new() -> Self {
pub fn new() -> Rc<Self> {
let app = gtk::Application::new(Some(config::APP_ID), gio::ApplicationFlags::FLAGS_NONE).unwrap();
let window = Rc::new(Window::new(&app));
let application = Self { app, window };
let application = Rc::new(Self {
app,
window: RefCell::new(Rc::new(None)),
});
application.setup_gactions();
application.setup_signals();
application.setup_css();
application.setup_signals(application.clone());
application
}
fn setup_gactions(&self) {
fn setup_gactions(&self, application: Rc<Self>) {
// Quit
utils::action(
&self.app,
......@@ -37,8 +37,10 @@ impl Application {
utils::action(
&self.app,
"start-tour",
clone!(@strong self.window as window => move |_, _| {
clone!(@strong application => move |_, _| {
if let Some(window) = &*application.window.borrow().clone() {
window.start_tour();
}
}),
);
......@@ -54,32 +56,43 @@ impl Application {
utils::action(
&self.app,
"next-page",
clone!(@strong self.window as window => move |_, _| {
clone!(@strong application => move |_, _| {
if let Some(window) = &*application.window.borrow().clone() {
window.next_page();
}
}),
);
utils::action(
&self.app,
"previous-page",
clone!(@strong self.window as window => move |_, _| {
clone!(@strong application => move |_, _| {
if let Some(window) = &*application.window.borrow().clone() {
window.previous_page();
}
}),
);
self.app.set_accels_for_action("app.quit", &["<primary>q"]);
}
fn setup_signals(&self) {
self.app.connect_activate(clone!(@weak self.window.widget as window => move |app| {
app.add_window(&window);
window.present();
fn setup_signals(&self, app: Rc<Self>) {
self.app.connect_startup(clone!(@weak app => move |_| {
app.setup_css();
app.setup_gactions(app.clone());
}));
self.app.connect_activate(clone!(@weak app => move |gtk_app| {
let window = Window::new(&gtk_app);
gtk_app.add_window(&window.widget);
window.widget.present();
window.widget.show_all();
app.window.replace(Rc::new(Some(window)));
}));
}
fn setup_css(&self) {
let p = gtk::CssProvider::new();
gtk::CssProvider::load_from_resource(&p, "/org/gnome/Tour/style.css");
if let Some(display) = gdk::Display::get_default() {
gtk::StyleContext::add_provider_for_display(&display, &p, 500);
if let Some(screen) = gdk::Screen::get_default() {
gtk::StyleContext::add_provider_for_screen(&screen, &p, 500);
}
}
......
pub static APP_ID: &'static str = @APP_ID@;
pub static PKGDATADIR: &'static str = @PKGDATADIR@;
pub static PROFILE: &'static str = @PROFILE@;
pub static NAME_SUFFIX: &'static str = @NAME_SUFFIX@;
pub static VERSION: &'static str = @VERSION@;
pub static GETTEXT_PACKAGE: &'static str = @GETTEXT_PACKAGE@;
pub static LOCALEDIR: &'static str = @LOCALEDIR@;
pub static DISTRO_NAME: &'static str = @DISTRO_NAME@;
pub static DISTRO_VERSION: &'static str = @DISTRO_VERSION@;
pub static DISTRO_ICON_NAME: &'static str = @DISTRO_ICON_NAME@;
pub static APP_ID: &str = @APP_ID@;
pub static PKGDATADIR: &str = @PKGDATADIR@;
pub static PROFILE: &str = @PROFILE@;
pub static NAME_SUFFIX: &str = @NAME_SUFFIX@;
pub static VERSION: &str = @VERSION@;
pub static GETTEXT_PACKAGE: &str = @GETTEXT_PACKAGE@;
pub static LOCALEDIR: &str = @LOCALEDIR@;
pub static DISTRO_NAME: &str = @DISTRO_NAME@;
pub static DISTRO_VERSION: &str = @DISTRO_VERSION@;
pub static DISTRO_ICON_NAME: &str = @DISTRO_ICON_NAME@;
......@@ -4,6 +4,7 @@ use gtk::prelude::*;
pub struct HeaderBar {
pub widget: gtk::Stack,
headerbar: gtk::HeaderBar,
title: gtk::Label,
next_btn: gtk::Button,
}
......@@ -11,16 +12,17 @@ impl HeaderBar {
pub fn new() -> Self {
let widget = gtk::Stack::new();
let headerbar = gtk::HeaderBar::new();
let title = gtk::Label::new(None);
let next_btn = gtk::Button::new();
let headerbar = Self { widget, headerbar, next_btn };
let headerbar = Self { widget, headerbar, title, next_btn };
headerbar.init();
headerbar
}
pub fn start_tour(&self) {
self.widget.set_visible_child_name("pages");
self.headerbar.set_show_title_buttons(false);
self.headerbar.set_show_close_button(false);
}
pub fn set_page_nr(&self, page_nr: i32, total_pages: i32) {
......@@ -32,23 +34,26 @@ impl HeaderBar {
}
pub fn set_page_title(&self, title: &str) {
self.headerbar.set_title(Some(title));
self.title.set_label(title);
}
pub fn end_tour(&self) {
self.widget.set_visible_child_name("welcome");
self.headerbar.set_show_title_buttons(true);
self.headerbar.set_show_close_button(true);
}
fn init(&self) {
self.headerbar.set_show_title_buttons(true);
self.headerbar.set_show_close_button(true);
self.headerbar.set_custom_title(Some(&self.title));
self.title.get_style_context().add_class("title");
self.widget.set_hexpand(true);
self.widget.set_transition_type(gtk::StackTransitionType::SlideLeftRight);
self.widget.set_transition_duration(300);
self.widget.get_style_context().add_class("titlebar");
let container = gtk::HeaderBar::new();
container.set_show_title_buttons(true);
container.set_show_close_button(true);
container.set_title(Some(&gettext("Welcome Tour")));
self.widget.add_named(&container, "welcome");
......
......@@ -52,7 +52,7 @@ impl ImagePageWidget {
container.set_valign(gtk::Align::Center);
container.set_property_margin(48);
let image = gtk::Picture::new_for_resource(Some(&self.resource_uri));
let image = gtk::Image::new_from_resource(&self.resource_uri);
image.set_valign(gtk::Align::Start);
container.add(&image);
......
......@@ -22,7 +22,7 @@ impl WelcomePageWidget {
self.widget.set_margin_top(24);
self.widget.set_margin_bottom(24);
let logo = gtk::Image::new_from_icon_name(Some(config::DISTRO_ICON_NAME));
let logo = gtk::Image::new_from_icon_name(Some(config::DISTRO_ICON_NAME), gtk::IconSize::Dialog);
logo.set_pixel_size(196);
self.widget.add(&logo);
......
......@@ -28,7 +28,7 @@ impl PaginatorWidget {
}
pub fn get_current_page_nr(&self) -> i32 {
self.current_page.borrow().clone()
*self.current_page.borrow()
}
pub fn get_current_page(&self) -> Option<&Box<dyn Pageable>> {
......@@ -37,12 +37,12 @@ impl PaginatorWidget {
}
pub fn next(&self) {
let next_page = self.current_page.borrow().clone() + 1;
let next_page = *self.current_page.borrow() + 1;
self.go_to(next_page);
}
pub fn previous(&self) {
let previous_page = self.current_page.borrow().clone() - 1;
let previous_page = *self.current_page.borrow() - 1;
self.go_to(previous_page);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment