diff --git a/Cargo.lock b/Cargo.lock
index a70c7f6..203a9ac 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
+version = 3
+
[[package]]
name = "aes"
version = "0.6.0"
@@ -194,6 +196,15 @@ dependencies = [
"smallvec",
]
+[[package]]
+name = "cfg-expr"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edae0b9625d1fce32f7d64b71784d9b1bf8469ec1a9c417e44aaf16a9cbd7571"
+dependencies = [
+ "smallvec",
+]
+
[[package]]
name = "cfg-if"
version = "0.1.10"
@@ -565,9 +576,9 @@ dependencies = [
[[package]]
name = "gdk4"
-version = "0.1.0"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c03132f21de5fe15ded4f950328fb44e007037aea7c6bbbc3f082493d5d3c164"
+checksum = "4c0f7f98ad25b81ac9462f74a091b0e4c0983ed1e74d19a38230c772b4dcef81"
dependencies = [
"bitflags",
"cairo-rs",
@@ -581,9 +592,9 @@ dependencies = [
[[package]]
name = "gdk4-sys"
-version = "0.1.0"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3453f8dc11a6167a7269355fcfbd6b96d10625395e87f77199e7dbba9077b58c"
+checksum = "262a79666b42e1884577f11a050439a964b95dec55343ac6ace7930e1415fa18"
dependencies = [
"cairo-sys-rs",
"gdk-pixbuf-sys",
@@ -593,7 +604,7 @@ dependencies = [
"graphene-sys",
"libc",
"pango-sys",
- "system-deps 3.1.1",
+ "system-deps 4.0.0",
]
[[package]]
@@ -813,9 +824,9 @@ dependencies = [
[[package]]
name = "gsk4"
-version = "0.1.0"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2699e9ff7ba3ca3582043bfd45ea3af3c45fa461fea75a369bcc6ab77eacde2"
+checksum = "20b71f2e2cc699c2e0fbfa22899eeaffd84f9c1dc01e9263deac8664eec22dc0"
dependencies = [
"bitflags",
"cairo-rs",
@@ -829,9 +840,9 @@ dependencies = [
[[package]]
name = "gsk4-sys"
-version = "0.1.0"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27cf692f33ec2f438a89cb57018f57260b73193929da9d37b873e47a7662a7e0"
+checksum = "30468aff80e4faadf22f9ba164ea17511a69a9995d7a13827a13424ef47b2472"
dependencies = [
"cairo-sys-rs",
"gdk4-sys",
@@ -840,7 +851,7 @@ dependencies = [
"graphene-sys",
"libc",
"pango-sys",
- "system-deps 3.1.1",
+ "system-deps 4.0.0",
]
[[package]]
@@ -1016,9 +1027,9 @@ checksum = "da5bf7748fd4cd0b2490df8debcc911809dbcbee4ece9531b96c29a9c729de5a"
[[package]]
name = "gtk4"
-version = "0.1.0"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be8801459abe49508a914c591d0cf355a6aea9762058334ba6efe63bdf40e479"
+checksum = "906f9308d15789d96a736881582181d710ae0937197119df459f3d2b46ef6776"
dependencies = [
"bitflags",
"cairo-rs",
@@ -1039,9 +1050,9 @@ dependencies = [
[[package]]
name = "gtk4-macros"
-version = "0.1.0"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca4260cbbdad77f91c57b4836ff63c6c51dc79b2feadc83c0869e4d379dcbee5"
+checksum = "4d0d008cdf23214c697482415dd20f666bdf3cc9f5e803b017223c17c5b59a6e"
dependencies = [
"anyhow",
"heck",
@@ -1055,9 +1066,9 @@ dependencies = [
[[package]]
name = "gtk4-sys"
-version = "0.1.0"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "580a7215a4d681e068cb1ea93e7293ca0d84b738d9b0c82b630199f21d3c82ef"
+checksum = "d06be0a6322aa77dd372f726e97efbcbb192d9a824a414a8874f238effd7747c"
dependencies = [
"cairo-sys-rs",
"gdk-pixbuf-sys",
@@ -1069,7 +1080,7 @@ dependencies = [
"gsk4-sys",
"libc",
"pango-sys",
- "system-deps 3.1.1",
+ "system-deps 4.0.0",
]
[[package]]
@@ -1190,9 +1201,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libadwaita"
-version = "0.1.0-alpha"
+version = "0.1.0-alpha-6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52d8221b476b16ee55b18bf4209e0fb5457c66375b9af8f8cef91ff930e82da6"
+checksum = "d8d01ba5036df1c3e09be88b4b8e0906af977bb7ec28d5faec81a1de94bc775c"
dependencies = [
"gdk-pixbuf",
"gdk4",
@@ -1201,14 +1212,15 @@ dependencies = [
"gtk4",
"libadwaita-sys",
"libc",
+ "once_cell",
"pango",
]
[[package]]
name = "libadwaita-sys"
-version = "0.1.0-alpha"
+version = "0.1.0-alpha-6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80594e5894e4145639c75164ee33cf607f42c667318475cb1d5db8132b77eab4"
+checksum = "3127d83c55f64c466925b9d1e27a964187f193e94c7c8820ad6b29d6e5f487d8"
dependencies = [
"gdk-pixbuf-sys",
"gdk4-sys",
@@ -1218,7 +1230,7 @@ dependencies = [
"gtk4-sys",
"libc",
"pango-sys",
- "system-deps 3.1.1",
+ "system-deps 4.0.0",
]
[[package]]
@@ -2151,7 +2163,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c248107ad7bc1ac07066a4d003cae9e9a7bc2e27d3418f7a9cdcdc8699dbea70"
dependencies = [
"anyhow",
- "cfg-expr",
+ "cfg-expr 0.7.4",
"heck",
"itertools 0.10.1",
"pkg-config",
@@ -2162,6 +2174,19 @@ dependencies = [
"version-compare 0.0.11",
]
+[[package]]
+name = "system-deps"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c1889ab44c2a423ba9ba4d64cd04989b25c0280ca7ade813f05368418722a04"
+dependencies = [
+ "cfg-expr 0.9.0",
+ "heck",
+ "pkg-config",
+ "toml",
+ "version-compare 0.0.11",
+]
+
[[package]]
name = "thiserror"
version = "1.0.25"
diff --git a/musicus/Cargo.toml b/musicus/Cargo.toml
index 8b09281..f1a3bc0 100644
--- a/musicus/Cargo.toml
+++ b/musicus/Cargo.toml
@@ -5,15 +5,15 @@ edition = "2018"
[dependencies]
anyhow = "1.0.33"
-adw = { package = "libadwaita", version = "0.1.0-alpha" }
+adw = { package = "libadwaita", version = "0.1.0-alpha-6" }
async-trait = "0.1.42"
futures-channel = "0.3.5"
-gdk = { package = "gdk4", version = "0.1.0" }
+gdk = { package = "gdk4", version = "0.3.0" }
gettext-rs = { version = "0.5.0", features = ["gettext-system"] }
gio = "0.14.0"
glib = "0.14.0"
gstreamer = "0.17.0"
-gtk = { package = "gtk4", version = "0.1.0" }
+gtk = { package = "gtk4", version = "0.3.0" }
gtk-macros = "0.3.0"
log = "0.4.14"
musicus_backend = { version = "0.1.0", path = "../backend" }
diff --git a/musicus/src/editors/performance.rs b/musicus/src/editors/performance.rs
index b500985..55154ec 100644
--- a/musicus/src/editors/performance.rs
+++ b/musicus/src/editors/performance.rs
@@ -4,7 +4,6 @@ use crate::widgets::{ButtonRow, Editor, Section, Widget};
use adw::prelude::*;
use gettextrs::gettext;
use glib::clone;
-use gtk::prelude::*;
use log::error;
use musicus_backend::db::{Ensemble, Instrument, Performance, Person, PersonOrEnsemble};
use std::cell::RefCell;
@@ -165,30 +164,30 @@ impl PerformanceEditor {
/// Update the UI according to person.
fn show_person(&self, person: Option<&Person>) {
if let Some(person) = person {
- self.person_row.set_subtitle(Some(&person.name_fl()));
+ self.person_row.set_subtitle(&person.name_fl());
self.editor.set_may_save(true);
} else {
- self.person_row.set_subtitle(None);
+ self.person_row.set_subtitle("");
}
}
/// Update the UI according to ensemble.
fn show_ensemble(&self, ensemble: Option<&Ensemble>) {
if let Some(ensemble) = ensemble {
- self.ensemble_row.set_subtitle(Some(&ensemble.name));
+ self.ensemble_row.set_subtitle(&ensemble.name);
self.editor.set_may_save(true);
} else {
- self.ensemble_row.set_subtitle(None);
+ self.ensemble_row.set_subtitle("");
}
}
/// Update the UI according to role.
fn show_role(&self, role: Option<&Instrument>) {
if let Some(role) = role {
- self.role_row.set_subtitle(Some(&role.name));
+ self.role_row.set_subtitle(&role.name);
self.reset_role_button.show();
} else {
- self.role_row.set_subtitle(None);
+ self.role_row.set_subtitle("");
self.reset_role_button.hide();
}
}
diff --git a/musicus/src/editors/recording.rs b/musicus/src/editors/recording.rs
index 421c6a9..8a893e3 100644
--- a/musicus/src/editors/recording.rs
+++ b/musicus/src/editors/recording.rs
@@ -6,7 +6,6 @@ use adw::prelude::*;
use anyhow::Result;
use gettextrs::gettext;
use glib::clone;
-use gtk::prelude::*;
use gtk_macros::get_widget;
use musicus_backend::db::{generate_id, Performance, Recording, Work};
use std::cell::RefCell;
@@ -139,7 +138,7 @@ impl Screen