misc: Enable GTK 4.10 APIs
This commit is contained in:
parent
4e1d40d7f2
commit
4ad6907767
4 changed files with 18 additions and 3 deletions
|
@ -73,7 +73,7 @@ features = ["v1_3"]
|
||||||
[dependencies.gtk]
|
[dependencies.gtk]
|
||||||
package = "gtk4"
|
package = "gtk4"
|
||||||
version = "0.6"
|
version = "0.6"
|
||||||
features = ["v4_6"]
|
features = ["v4_10"]
|
||||||
|
|
||||||
[dependencies.matrix-sdk]
|
[dependencies.matrix-sdk]
|
||||||
git = "https://github.com/matrix-org/matrix-rust-sdk.git"
|
git = "https://github.com/matrix-org/matrix-rust-sdk.git"
|
||||||
|
|
|
@ -11,9 +11,9 @@ base_id = 'org.gnome.Fractal'
|
||||||
|
|
||||||
dependency('glib-2.0', version: '>= 2.66')
|
dependency('glib-2.0', version: '>= 2.66')
|
||||||
dependency('gio-2.0', version: '>= 2.66')
|
dependency('gio-2.0', version: '>= 2.66')
|
||||||
dependency('gtk4', version: '>= 4.6.0')
|
dependency('gtk4', version: '>= 4.10.0')
|
||||||
dependency(
|
dependency(
|
||||||
'libadwaita-1', version: '>= 1.2.0',
|
'libadwaita-1', version: '>= 1.3.0',
|
||||||
fallback: ['libadwaita', 'libadwaita_dep'],
|
fallback: ['libadwaita', 'libadwaita_dep'],
|
||||||
default_options: ['tests=false', 'examples=false', 'vapi=false']
|
default_options: ['tests=false', 'examples=false', 'vapi=false']
|
||||||
)
|
)
|
||||||
|
|
|
@ -310,6 +310,13 @@ mod imp {
|
||||||
|
|
||||||
let factory = gtk::SignalListItemFactory::new();
|
let factory = gtk::SignalListItemFactory::new();
|
||||||
factory.connect_setup(clone!(@weak obj => move |_, item| {
|
factory.connect_setup(clone!(@weak obj => move |_, item| {
|
||||||
|
let item = match item.downcast_ref::<gtk::ListItem>() {
|
||||||
|
Some(item) => item,
|
||||||
|
None => {
|
||||||
|
error!("List item factory did not receive a list item: {item:?}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
};
|
||||||
let row = ItemRow::new(&obj);
|
let row = ItemRow::new(&obj);
|
||||||
item.set_child(Some(&row));
|
item.set_child(Some(&row));
|
||||||
item.bind_property("item", &row, "item").build();
|
item.bind_property("item", &row, "item").build();
|
||||||
|
|
|
@ -17,6 +17,7 @@ use gtk::{
|
||||||
glib::{clone, closure},
|
glib::{clone, closure},
|
||||||
CompositeTemplate,
|
CompositeTemplate,
|
||||||
};
|
};
|
||||||
|
use log::error;
|
||||||
|
|
||||||
pub use self::{
|
pub use self::{
|
||||||
category::Category,
|
category::Category,
|
||||||
|
@ -187,6 +188,13 @@ mod imp {
|
||||||
|
|
||||||
let factory = gtk::SignalListItemFactory::new();
|
let factory = gtk::SignalListItemFactory::new();
|
||||||
factory.connect_setup(clone!(@weak obj => move |_, item| {
|
factory.connect_setup(clone!(@weak obj => move |_, item| {
|
||||||
|
let item = match item.downcast_ref::<gtk::ListItem>() {
|
||||||
|
Some(item) => item,
|
||||||
|
None => {
|
||||||
|
error!("List item factory did not receive a list item: {item:?}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
};
|
||||||
let row = Row::new(&obj);
|
let row = Row::new(&obj);
|
||||||
item.set_child(Some(&row));
|
item.set_child(Some(&row));
|
||||||
item.bind_property("item", &row, "list-row").build();
|
item.bind_property("item", &row, "list-row").build();
|
||||||
|
|
Loading…
Reference in a new issue