[fractal/wip/christopherdavis/port-to-libhandy-1.0: 5/6] fractal-gtk: Port to libhandy-1




commit 438e846ba2b46e4f33b62cd1d958cadb146fd625
Author: Christopher Davis <brainblasted disroot org>
Date:   Sat Sep 5 19:44:29 2020 -0700

    fractal-gtk: Port to libhandy-1
    
    Ports our UI to the now-stable libhandy-1. libhandy-1 comes
    with a few improvements, but also some API breakages
    that needed to be fixed up.

 Cargo.lock                                  | 10 ++++++----
 flatpak/org.gnome.Fractal.json              |  3 +--
 fractal-gtk/Cargo.toml                      |  3 +--
 fractal-gtk/res/ui/direct_chat.ui           |  2 +-
 fractal-gtk/res/ui/invite_user.ui           |  2 +-
 fractal-gtk/res/ui/join_room.ui             |  2 +-
 fractal-gtk/res/ui/main_window.ui           | 12 +++---------
 fractal-gtk/res/ui/new_room.ui              |  2 +-
 fractal-gtk/res/ui/room_settings.ui         |  6 +++---
 fractal-gtk/src/app/connect/direct.rs       |  2 +-
 fractal-gtk/src/app/connect/directory.rs    | 24 ++++++++++++------------
 fractal-gtk/src/app/connect/invite.rs       |  2 +-
 fractal-gtk/src/app/connect/join_room.rs    |  2 +-
 fractal-gtk/src/app/connect/new_room.rs     |  2 +-
 fractal-gtk/src/app/mod.rs                  | 20 ++++++++------------
 fractal-gtk/src/appop/directory.rs          | 17 ++++++++---------
 fractal-gtk/src/appop/invite.rs             |  6 +++---
 fractal-gtk/src/appop/room.rs               |  4 ++--
 fractal-gtk/src/appop/start_chat.rs         |  4 ++--
 fractal-gtk/src/uibuilder.rs                |  2 +-
 fractal-gtk/src/widgets/scroll_widget.rs    | 18 +++++++++---------
 fractal-gtk/src/widgets/sourceview_entry.rs | 18 +++++++++---------
 meson.build                                 |  2 +-
 subprojects/libhandy.wrap                   | 10 ++++------
 24 files changed, 81 insertions(+), 94 deletions(-)
---
diff --git a/Cargo.lock b/Cargo.lock
index 456130b6..1b7f638e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1441,9 +1441,9 @@ checksum = "755456fae044e6fa1ebbbd1b3e902ae19e73097ed4ed87bb79934a867c007bc3"
 
 [[package]]
 name = "libhandy"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0d2aae364d9dc15598dbf1b3b5c1ac7857034bad622f8817002439125c9869a7"
+checksum = "ce64d9c1f9e9444fb1175cf65cb6db9b55e7ae5f9a44140202da05784a7cdf33"
 dependencies = [
  "bitflags",
  "gdk",
@@ -1463,11 +1463,12 @@ dependencies = [
 
 [[package]]
 name = "libhandy-sys"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "01bb81849945cacdf8f8f0db8e4be16d5bd72a8d673d9b9691cbe0b7c5364412"
+checksum = "0017044b92ade6704a301212feea9e754be62f58d39d01aae8fcf2c1a982e3d9"
 dependencies = [
  "gdk",
+ "gdk-pixbuf-sys",
  "gdk-sys",
  "gio",
  "gio-sys",
@@ -1477,6 +1478,7 @@ dependencies = [
  "libc",
  "pango-sys",
  "pkg-config",
+ "system-deps",
 ]
 
 [[package]]
diff --git a/flatpak/org.gnome.Fractal.json b/flatpak/org.gnome.Fractal.json
index 46391468..ed53bcc5 100644
--- a/flatpak/org.gnome.Fractal.json
+++ b/flatpak/org.gnome.Fractal.json
@@ -59,8 +59,7 @@
             "sources" : [
                 {
                     "type" : "git",
-                    "url" : "https://source.puri.sm/Librem5/libhandy.git";,
-                    "tag" : "v0.0.13"
+                    "url" : "https://gitlab.gnome.org/GNOME/libhandy.git";
                 }
             ]
         },
diff --git a/fractal-gtk/Cargo.toml b/fractal-gtk/Cargo.toml
index f91c1796..16d1302e 100644
--- a/fractal-gtk/Cargo.toml
+++ b/fractal-gtk/Cargo.toml
@@ -53,8 +53,7 @@ path = "../fractal-matrix-api"
 package = "fractal-matrix-api"
 
 [dependencies.libhandy]
-version = "0.6.0"
-features = ["v0_0_10"]
+version = "0.7.0"
 
 [dependencies.gettext-rs]
 git = "https://github.com/danigm/gettext-rs";
diff --git a/fractal-gtk/res/ui/direct_chat.ui b/fractal-gtk/res/ui/direct_chat.ui
index a4fabf46..84f77587 100644
--- a/fractal-gtk/res/ui/direct_chat.ui
+++ b/fractal-gtk/res/ui/direct_chat.ui
@@ -3,7 +3,7 @@
 <interface>
   <requires lib="gtk+" version="3.20"/>
 
-  <object class="HdyDialog" id="direct_chat_dialog">
+  <object class="GtkDialog" id="direct_chat_dialog">
     <property name="default_width">400</property>
     <property name="height_request">300</property>
     <property name="can_focus">False</property>
diff --git a/fractal-gtk/res/ui/invite_user.ui b/fractal-gtk/res/ui/invite_user.ui
index 4c92e06b..d7ce2db4 100644
--- a/fractal-gtk/res/ui/invite_user.ui
+++ b/fractal-gtk/res/ui/invite_user.ui
@@ -3,7 +3,7 @@
 <interface>
   <requires lib="gtk+" version="3.20"/>
 
-  <object class="HdyDialog" id="invite_user_dialog">
+  <object class="GtkDialog" id="invite_user_dialog">
     <property name="default_width">400</property>
     <property name="height_request">300</property>
     <property name="can_focus">False</property>
diff --git a/fractal-gtk/res/ui/join_room.ui b/fractal-gtk/res/ui/join_room.ui
index 9d2fdce9..87db4288 100644
--- a/fractal-gtk/res/ui/join_room.ui
+++ b/fractal-gtk/res/ui/join_room.ui
@@ -3,7 +3,7 @@
 <interface>
   <requires lib="gtk+" version="3.20"/>
 
-  <object class="HdyDialog" id="join_room_dialog">
+  <object class="GtkDialog" id="join_room_dialog">
     <property name="can_focus">False</property>
     <property name="modal">True</property>
     <property name="window_position">center</property>
diff --git a/fractal-gtk/res/ui/main_window.ui b/fractal-gtk/res/ui/main_window.ui
index eb898ade..4762cd2f 100644
--- a/fractal-gtk/res/ui/main_window.ui
+++ b/fractal-gtk/res/ui/main_window.ui
@@ -97,9 +97,6 @@
                     <class name="sidebar"/>
                 </style>
               </object>
-              <packing>
-                <property name="allow-visible">False</property>
-              </packing>
             </child>
             <child>
               <object class="GtkOverlay" id="inapp">
@@ -485,9 +482,6 @@
                       <class name="sidebar"/>
                     </style>
                   </object>
-                  <packing>
-                    <property name="allow-visible">False</property>
-                  </packing>
                 </child>
                 <child>
                   <object class="GtkHeaderBar" id="room_header_bar"> <!--right titlebar-->
@@ -665,11 +659,11 @@
                       </object>
                     </child>
                     <child type="title">
-                      <object class="HdyColumn">
+                      <object class="HdyClamp">
                         <property name="can_focus">False</property>
                         <property name="visible">True</property>
-                        <property name="maximum_width">288</property>
-                        <property name="linear_growth_width">288</property>
+                        <property name="maximum_size">288</property>
+                        <property name="tightening_threshold">288</property>
                         <child>
                           <object class="GtkSearchEntry" id="directory_search_entry">
                             <property name="visible">True</property>
diff --git a/fractal-gtk/res/ui/new_room.ui b/fractal-gtk/res/ui/new_room.ui
index bbcb72af..8d000daa 100644
--- a/fractal-gtk/res/ui/new_room.ui
+++ b/fractal-gtk/res/ui/new_room.ui
@@ -20,7 +20,7 @@
       </row>
     </data>
   </object>
-  <object class="HdyDialog" id="new_room_dialog">
+  <object class="GtkDialog" id="new_room_dialog">
     <property name="can_focus">False</property>
     <property name="modal">True</property>
     <property name="window_position">center</property>
diff --git a/fractal-gtk/res/ui/room_settings.ui b/fractal-gtk/res/ui/room_settings.ui
index 17b9e635..5d91404b 100644
--- a/fractal-gtk/res/ui/room_settings.ui
+++ b/fractal-gtk/res/ui/room_settings.ui
@@ -21,10 +21,10 @@
                 <property name="can_focus">False</property>
                 <property name="margin">18</property>
                 <child>
-                  <object class="HdyColumn">
+                  <object class="HdyClamp">
                     <property name="visible">True</property>
-                    <property name="maximum-width">600</property>
-                    <property name="linear-growth-width">600</property>
+                    <property name="maximum_size">600</property>
+                    <property name="tightening_threshold">600</property>
                     <child>
                       <object class="GtkBox">
                         <property name="visible">True</property>
diff --git a/fractal-gtk/src/app/connect/direct.rs b/fractal-gtk/src/app/connect/direct.rs
index 2a3d9b8f..fe7acd57 100644
--- a/fractal-gtk/src/app/connect/direct.rs
+++ b/fractal-gtk/src/app/connect/direct.rs
@@ -33,7 +33,7 @@ impl App {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("direct_chat_dialog")
+            .get_object::<gtk::Dialog>("direct_chat_dialog")
             .expect("Can't find direct_chat_dialog in ui file.");
 
         if let Some(buffer) = to_chat_entry.get_buffer() {
diff --git a/fractal-gtk/src/app/connect/directory.rs b/fractal-gtk/src/app/connect/directory.rs
index 232cce21..a648b652 100644
--- a/fractal-gtk/src/app/connect/directory.rs
+++ b/fractal-gtk/src/app/connect/directory.rs
@@ -3,7 +3,7 @@ use glib::clone;
 use crate::util::i18n::i18n;
 
 use gtk::prelude::*;
-use libhandy::{Column, ColumnExt};
+use libhandy::prelude::*;
 
 use crate::app::App;
 use crate::appop::RoomSearchPagination;
@@ -22,32 +22,32 @@ impl App {
             .get_object::<gtk::Stack>("directory_stack")
             .expect("Can't find directory_stack in ui file.");
 
-        let column = Column::new();
+        let clamp = libhandy::Clamp::new();
         let listbox = gtk::ListBox::new();
 
-        column.set_maximum_width(800);
-        column.set_hexpand(true);
-        column.set_vexpand(true);
-        column.set_margin_top(24);
-        column.set_margin_start(12);
-        column.set_margin_end(12);
+        clamp.set_maximum_size(800);
+        clamp.set_hexpand(true);
+        clamp.set_vexpand(true);
+        clamp.set_margin_top(24);
+        clamp.set_margin_start(12);
+        clamp.set_margin_end(12);
 
         let frame = gtk::Frame::new(None);
         frame.set_shadow_type(gtk::ShadowType::In);
         frame.add(&listbox);
         frame.get_style_context().add_class("room-directory");
-        column.add(&frame);
+        clamp.add(&frame);
         listbox.show();
         frame.show();
-        column.show();
-        directory_stack.add_named(&column, "directory_column");
+        clamp.show();
+        directory_stack.add_named(&clamp, "directory_clamp");
 
         self.ui
             .builder
             .expose_object::<gtk::ListBox>("directory_room_list", &listbox);
         self.ui
             .builder
-            .expose_object::<Column>("directory_column", &column);
+            .expose_object::<libhandy::Clamp>("directory_clamp", &clamp);
 
         let directory_choice_label = self
             .ui
diff --git a/fractal-gtk/src/app/connect/invite.rs b/fractal-gtk/src/app/connect/invite.rs
index 10d6c5bd..e4206718 100644
--- a/fractal-gtk/src/app/connect/invite.rs
+++ b/fractal-gtk/src/app/connect/invite.rs
@@ -67,7 +67,7 @@ impl App {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("invite_user_dialog")
+            .get_object::<gtk::Dialog>("invite_user_dialog")
             .expect("Can't find invite_user_dialog in ui file.");
 
         if let Some(buffer) = invite_entry.get_buffer() {
diff --git a/fractal-gtk/src/app/connect/join_room.rs b/fractal-gtk/src/app/connect/join_room.rs
index e4894b71..2a96c419 100644
--- a/fractal-gtk/src/app/connect/join_room.rs
+++ b/fractal-gtk/src/app/connect/join_room.rs
@@ -8,7 +8,7 @@ impl App {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("join_room_dialog")
+            .get_object::<gtk::Dialog>("join_room_dialog")
             .expect("Can't find join_room_dialog in ui file.");
         let cancel = self
             .ui
diff --git a/fractal-gtk/src/app/connect/new_room.rs b/fractal-gtk/src/app/connect/new_room.rs
index 3783c832..862b39d6 100644
--- a/fractal-gtk/src/app/connect/new_room.rs
+++ b/fractal-gtk/src/app/connect/new_room.rs
@@ -8,7 +8,7 @@ impl App {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("new_room_dialog")
+            .get_object::<gtk::Dialog>("new_room_dialog")
             .expect("Can't find new_room_dialog in ui file.");
         let cancel = self
             .ui
diff --git a/fractal-gtk/src/app/mod.rs b/fractal-gtk/src/app/mod.rs
index fcb77123..68b7a983 100644
--- a/fractal-gtk/src/app/mod.rs
+++ b/fractal-gtk/src/app/mod.rs
@@ -109,22 +109,18 @@ impl App {
             .get_object::<gtk::Popover>("autocomplete_popover")
             .expect("Can't find autocomplete_popover in ui file.");
 
-        if let libhandy::Fold::Folded = leaflet.get_fold() {
+        if leaflet.get_folded() {
             container.get_style_context().add_class("folded-history");
             popover.get_style_context().add_class("narrow");
         }
 
-        leaflet.connect_property_fold_notify(clone!(@weak container => move |leaflet| {
-            match leaflet.get_fold() {
-                libhandy::Fold::Folded => {
-                    container.get_style_context().add_class("folded-history");
-                    popover.get_style_context().add_class("narrow");
-                }
-                libhandy::Fold::Unfolded => {
-                    container.get_style_context().remove_class("folded-history");
-                    popover.get_style_context().remove_class("narrow");
-                }
-                _ => (),
+        leaflet.connect_property_folded_notify(clone!(@weak container => move |leaflet| {
+            if leaflet.get_folded() {
+                container.get_style_context().add_class("folded-history");
+                popover.get_style_context().add_class("narrow");
+            } else {
+                container.get_style_context().remove_class("folded-history");
+                popover.get_style_context().remove_class("narrow");
             }
         }));
 
diff --git a/fractal-gtk/src/appop/directory.rs b/fractal-gtk/src/appop/directory.rs
index 76fdc33c..90b6d32b 100644
--- a/fractal-gtk/src/appop/directory.rs
+++ b/fractal-gtk/src/appop/directory.rs
@@ -1,5 +1,4 @@
 use gtk::prelude::*;
-use libhandy::Column;
 use std::thread;
 
 use crate::backend::{directory, HandleError};
@@ -178,12 +177,12 @@ impl AppOp {
             .builder
             .get_object::<gtk::Stack>("directory_stack")
             .expect("Can't find directory_stack in ui file.");
-        let directory_column = self
+        let directory_clamp = self
             .ui
             .builder
-            .get_object::<Column>("directory_column")
-            .expect("Can't find directory_column in ui file.");
-        directory_stack.set_visible_child(&directory_column);
+            .get_object::<libhandy::Clamp>("directory_clamp")
+            .expect("Can't find directory_clamp in ui file.");
+        directory_stack.set_visible_child(&directory_clamp);
 
         let mut sorted_rooms = rooms;
         sorted_rooms.sort_by_key(|a| -a.n_members);
@@ -216,11 +215,11 @@ impl AppOp {
             .builder
             .get_object::<gtk::Stack>("directory_stack")
             .expect("Can't find directory_stack in ui file.");
-        let directory_column = self
+        let directory_clamp = self
             .ui
             .builder
-            .get_object::<Column>("directory_column")
-            .expect("Can't find directory_column in ui file.");
-        directory_stack.set_visible_child(&directory_column);
+            .get_object::<libhandy::Clamp>("directory_clamp")
+            .expect("Can't find directory_clamp in ui file.");
+        directory_stack.set_visible_child(&directory_clamp);
     }
 }
diff --git a/fractal-gtk/src/appop/invite.rs b/fractal-gtk/src/appop/invite.rs
index be6fb079..bbed6cd1 100644
--- a/fractal-gtk/src/appop/invite.rs
+++ b/fractal-gtk/src/appop/invite.rs
@@ -111,7 +111,7 @@ impl AppOp {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>(dialogid)
+            .get_object::<gtk::Dialog>(dialogid)
             .expect("Can’t find invite_user_dialog in ui file.");
 
         dialog.resize(300, 200);
@@ -130,7 +130,7 @@ impl AppOp {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("invite_user_dialog")
+            .get_object::<gtk::Dialog>("invite_user_dialog")
             .expect("Can't find invite_user_dialog in ui file.");
         let scroll = self
             .ui
@@ -199,7 +199,7 @@ impl AppOp {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("invite_user_dialog")
+            .get_object::<gtk::Dialog>("invite_user_dialog")
             .expect("Can't find invite_user_dialog in ui file.");
 
         self.invite_list = vec![];
diff --git a/fractal-gtk/src/appop/room.rs b/fractal-gtk/src/appop/room.rs
index cac931a7..9576dbc4 100644
--- a/fractal-gtk/src/appop/room.rs
+++ b/fractal-gtk/src/appop/room.rs
@@ -506,7 +506,7 @@ impl AppOp {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("new_room_dialog")
+            .get_object::<gtk::Dialog>("new_room_dialog")
             .expect("Can't find new_room_dialog in ui file.");
         let btn = self
             .ui
@@ -521,7 +521,7 @@ impl AppOp {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("join_room_dialog")
+            .get_object::<gtk::Dialog>("join_room_dialog")
             .expect("Can't find join_room_dialog in ui file.");
         if let Some(btn) = self
             .ui
diff --git a/fractal-gtk/src/appop/start_chat.rs b/fractal-gtk/src/appop/start_chat.rs
index c19a861a..ea169725 100644
--- a/fractal-gtk/src/appop/start_chat.rs
+++ b/fractal-gtk/src/appop/start_chat.rs
@@ -40,7 +40,7 @@ impl AppOp {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("direct_chat_dialog")
+            .get_object::<gtk::Dialog>("direct_chat_dialog")
             .expect("Can't find direct_chat_dialog in ui file.");
         let scroll = self
             .ui
@@ -83,7 +83,7 @@ impl AppOp {
         let dialog = self
             .ui
             .builder
-            .get_object::<libhandy::Dialog>("direct_chat_dialog")
+            .get_object::<gtk::Dialog>("direct_chat_dialog")
             .expect("Can't find direct_chat_dialog in ui file.");
 
         self.invite_list = vec![];
diff --git a/fractal-gtk/src/uibuilder.rs b/fractal-gtk/src/uibuilder.rs
index 6f520ad2..1c9c3955 100644
--- a/fractal-gtk/src/uibuilder.rs
+++ b/fractal-gtk/src/uibuilder.rs
@@ -47,7 +47,7 @@ impl UI {
         let sventry_stack = gtk::Stack::new();
 
         let sventry = SVEntry::default();
-        sventry_stack.add_named(&sventry.column, "Text Entry");
+        sventry_stack.add_named(&sventry.clamp, "Text Entry");
         let sventry_disabled = gtk::Label::new(Some(&i18n(
             "You don’t have permission to post to this room",
         )));
diff --git a/fractal-gtk/src/widgets/scroll_widget.rs b/fractal-gtk/src/widgets/scroll_widget.rs
index 8bf6d37c..bd8a224b 100644
--- a/fractal-gtk/src/widgets/scroll_widget.rs
+++ b/fractal-gtk/src/widgets/scroll_widget.rs
@@ -8,7 +8,7 @@ use glib::clone;
 use glib::source::Continue;
 use gtk::prelude::*;
 
-use libhandy::ColumnExt;
+use libhandy::prelude::*;
 
 // This really requires to opt-out of the lint
 #[allow(dead_code)]
@@ -58,11 +58,11 @@ impl Widgets {
         // Create the listbox insteate of the following line
         //let messages = self.op.lock().unwrap().message_box.clone();
         let messages = gtk::ListBox::new();
-        let column = libhandy::Column::new();
-        column.set_maximum_width(800);
-        column.set_linear_growth_width(600);
-        column.set_hexpand(true);
-        column.set_vexpand(true);
+        let clamp = libhandy::Clamp::new();
+        clamp.set_maximum_size(800);
+        clamp.set_tightening_threshold(600);
+        clamp.set_hexpand(true);
+        clamp.set_vexpand(true);
 
         let typing_label = gtk::Label::new(None);
         typing_label.show();
@@ -79,14 +79,14 @@ impl Widgets {
         column_box.add(&messages);
         column_box.add(&typing_label);
         column_box.show();
-        column.add(&column_box);
-        column.show();
+        clamp.add(&column_box);
+        clamp.show();
 
         messages.get_style_context().add_class("messages-history");
         messages.show();
 
         container.get_style_context().add_class("messages-box");
-        container.add(&column);
+        container.add(&clamp);
 
         if let Some(adj) = view.get_vadjustment() {
             if let Some(child) = view.get_child() {
diff --git a/fractal-gtk/src/widgets/sourceview_entry.rs b/fractal-gtk/src/widgets/sourceview_entry.rs
index acbb5f86..1611522c 100644
--- a/fractal-gtk/src/widgets/sourceview_entry.rs
+++ b/fractal-gtk/src/widgets/sourceview_entry.rs
@@ -1,12 +1,12 @@
 use gtk::prelude::*;
-use libhandy::{Column, ColumnExt};
+use libhandy::prelude::*;
 use sourceview4::ViewExt;
 // This alias is necessary to avoid conflict with gtk's TextViewExt
 use gspell::TextViewExt as GspellTextViewExt;
 
 #[derive(Debug, Clone)]
 pub struct SVEntry {
-    pub column: Column,
+    pub clamp: libhandy::Clamp,
     pub container: gtk::Box,
     pub attach: gtk::Button,
     pub markdown: gtk::MenuButton,
@@ -20,10 +20,10 @@ pub struct SVEntry {
 
 impl Default for SVEntry {
     fn default() -> Self {
-        let column = Column::new();
-        column.set_maximum_width(800);
-        column.set_linear_growth_width(600);
-        column.set_vexpand(false);
+        let clamp = libhandy::Clamp::new();
+        clamp.set_maximum_size(800);
+        clamp.set_tightening_threshold(600);
+        clamp.set_vexpand(false);
 
         let container = gtk::Box::new(gtk::Orientation::Horizontal, 6);
         container.set_vexpand(false);
@@ -92,11 +92,11 @@ impl Default for SVEntry {
         container.pack_start(&entry_box, false, true, 0);
         container.pack_start(&send, false, false, 0);
 
-        column.add(&container);
-        column.show_all();
+        clamp.add(&container);
+        clamp.show_all();
 
         SVEntry {
-            column,
+            clamp,
             container,
             attach,
             markdown,
diff --git a/meson.build b/meson.build
index b867680d..4b6420c3 100644
--- a/meson.build
+++ b/meson.build
@@ -12,7 +12,7 @@ dependency('gio-2.0', version: '>= 2.56')
 dependency('cairo', version: '>= 1.16')
 dependency('gdk-pixbuf-2.0')
 dependency('gtk+-3.0', version: '>= 3.24.7')
-dependency('libhandy-0.0', version: '>= 0.0.13', fallback: ['libhandy', 'libhandy_dep'])
+dependency('libhandy-1', version: '>= 1.0.0', fallback: ['libhandy', 'libhandy_dep'])
 dependency('gtksourceview-4', version: '>= 4.0')
 dependency('gspell-1', version: '>= 1.8')
 
diff --git a/subprojects/libhandy.wrap b/subprojects/libhandy.wrap
index 9408ec3b..59ec491b 100644
--- a/subprojects/libhandy.wrap
+++ b/subprojects/libhandy.wrap
@@ -1,6 +1,4 @@
-[wrap-file]
-directory = libhandy-v0.0.13
-
-source_url = https://source.puri.sm/Librem5/libhandy/-/archive/v0.0.13/libhandy-v0.0.13.tar.bz2
-source_filename = libhandy-v0.0.13.tar.bz2
-source_hash = 507f92e173a6ab9c07f612d2758de434f1feeb72ca4a9dd7de16d9a2b533d60b
+[wrap-git]
+directory = libhandy
+url=https://gitlab.gnome.org/GNOME/libhandy.git
+revision=origin/master


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]