From 7931fa48e8ec31d5ce4595aa985e24c0880c9295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Wed, 26 Feb 2025 13:11:30 -0800 Subject: [PATCH 1/4] Update deps --- .github/workflows/main.yml | 2 +- README.md | 4 ++-- meson.build | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4ec4d5d..fec90d0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,7 +23,7 @@ jobs: - name: Install Dependencies run: | apt update - apt install -y libgranite-dev meson valac + apt install -y libgranite-7-dev meson valac - name: Build env: DESTDIR: out diff --git a/README.md b/README.md index 969f993..0080f2f 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ Send and receive files via Bluetooth You'll need the following dependencies: - libgranite-dev >= 6.0.0 - libgtk3-dev + libgranite-7-dev + libgtk4-dev meson valac diff --git a/meson.build b/meson.build index 5142ead..67d540f 100644 --- a/meson.build +++ b/meson.build @@ -10,8 +10,8 @@ add_global_arguments('-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()), lan gnome = import('gnome') i18n = import('i18n') -granite_dep = dependency ('granite') -gtk_dep = dependency ('gtk+-3.0') +granite_dep = dependency ('granite-7') +gtk_dep = dependency ('gtk4') subdir('data') subdir('po') From 67bc34ad457b1e54995a22c5bc048a560fad1818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Fri, 17 Apr 2026 13:35:53 -0700 Subject: [PATCH 2/4] More minor syntax --- src/Dialog/ReceiverDialog.vala | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Dialog/ReceiverDialog.vala b/src/Dialog/ReceiverDialog.vala index 6d05164..31a4cbb 100644 --- a/src/Dialog/ReceiverDialog.vala +++ b/src/Dialog/ReceiverDialog.vala @@ -32,7 +32,8 @@ public class ReceiverDialog : Granite.Dialog { notification = new GLib.Notification ("bluetooth"); notification.set_priority (NotificationPriority.NORMAL); - var icon_image = new Gtk.Image.from_icon_name ("io.elementary.bluetooth", Gtk.IconSize.DIALOG) { + var icon_image = new Gtk.Image.from_icon_name ("io.elementary.bluetooth") { + pixel_size = 48, valign = END, halign = END }; @@ -54,7 +55,7 @@ public class ReceiverDialog : Granite.Dialog { wrap = true, xalign = 0 }; - device_label.get_style_context ().add_class ("primary"); + device_label.add_css_class ("primary"); directory_label = new Gtk.Label (null) { max_width_chars = 45, @@ -102,12 +103,12 @@ public class ReceiverDialog : Granite.Dialog { message_grid.attach (progressbar, 1, 4); message_grid.attach (progress_label, 1, 5); - get_content_area ().add (message_grid); + get_content_area ().append (message_grid); add_button (_("Close"), Gtk.ResponseType.CLOSE); var suggested_button = add_button (_("Reject"), Gtk.ResponseType.ACCEPT); - suggested_button.get_style_context ().add_class (Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION); + suggested_button.add_css_class (Granite.CssClass.DESTRUCTIVE); response.connect ((response_id) => { if (response_id == Gtk.ResponseType.ACCEPT) { From 211fbfbc58239012ba5510465ee70e760f1df6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Fri, 17 Apr 2026 15:16:44 -0700 Subject: [PATCH 3/4] No more show_all --- src/Dialog/ReceiverDialog.vala | 1 - src/Dialog/SenderDialog.vala | 1 - 2 files changed, 2 deletions(-) diff --git a/src/Dialog/ReceiverDialog.vala b/src/Dialog/ReceiverDialog.vala index bd6ca1d..31a4cbb 100644 --- a/src/Dialog/ReceiverDialog.vala +++ b/src/Dialog/ReceiverDialog.vala @@ -102,7 +102,6 @@ public class ReceiverDialog : Granite.Dialog { message_grid.attach (rate_label, 1, 3); message_grid.attach (progressbar, 1, 4); message_grid.attach (progress_label, 1, 5); - message_grid.show_all (); get_content_area ().append (message_grid); diff --git a/src/Dialog/SenderDialog.vala b/src/Dialog/SenderDialog.vala index 153468d..73bcb2d 100644 --- a/src/Dialog/SenderDialog.vala +++ b/src/Dialog/SenderDialog.vala @@ -107,7 +107,6 @@ public class SenderDialog : Granite.Dialog { message_grid.attach (rate_label, 1, 3); message_grid.attach (progressbar, 1, 4); message_grid.attach (progress_label, 1, 5); - message_grid.show_all (); get_content_area ().append (message_grid); From 2dd506449876fbca54198c371edfad74891166bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Fri, 17 Apr 2026 15:25:18 -0700 Subject: [PATCH 4/4] destroy connect --- src/Application.vala | 6 +++--- src/Dialog/DeviceRow.vala | 2 +- src/Dialog/ReceiverDialog.vala | 4 ++-- src/Dialog/ScanDialog.vala | 2 +- src/Dialog/SenderDialog.vala | 12 ++++++------ 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/Application.vala b/src/Application.vala index 577984d..977751e 100644 --- a/src/Application.vala +++ b/src/Application.vala @@ -48,7 +48,7 @@ public class BluetoothApp : Gtk.Application { if (bt_scan == null) { bt_scan = new ScanDialog (this, object_manager); - bt_scan.destroy.connect (() => { + ((Gtk.Widget) bt_scan).destroy.connect (() => { bt_scan = null; }); @@ -58,7 +58,7 @@ public class BluetoothApp : Gtk.Application { bt_sender.add_files (files, device); bt_senders.append (bt_sender); bt_sender.present (); - bt_sender.destroy.connect (() => { + ((Gtk.Widget) bt_sender).destroy.connect (() => { bt_senders.foreach ((sender) => { if (sender.device == bt_sender.device) { bt_senders.remove_link (bt_senders.find (sender)); @@ -234,7 +234,7 @@ public class BluetoothApp : Gtk.Application { bt_receiver = new ReceiverDialog (this); bt_receivers.append (bt_receiver); - bt_receiver.destroy.connect (() => { + ((Gtk.Widget) bt_receiver).destroy.connect (() => { bt_receivers.foreach ((receiver) => { if (receiver.transfer.session == bt_receiver.session) { bt_receivers.remove_link (bt_receivers.find (receiver)); diff --git a/src/Dialog/DeviceRow.vala b/src/Dialog/DeviceRow.vala index a02a351..792b088 100644 --- a/src/Dialog/DeviceRow.vala +++ b/src/Dialog/DeviceRow.vala @@ -40,7 +40,7 @@ public class DeviceRow : Gtk.ListBoxRow { var state_label = new Gtk.Label (null) { xalign = 0 }; - state_label.add_css_class (Granite.STYLE_CLASS_SMALL_LABEL); + state_label.add_css_class (Granite.CssClass.SMALL); var overlay = new Gtk.Overlay () { child = image, diff --git a/src/Dialog/ReceiverDialog.vala b/src/Dialog/ReceiverDialog.vala index 31a4cbb..f4ecd68 100644 --- a/src/Dialog/ReceiverDialog.vala +++ b/src/Dialog/ReceiverDialog.vala @@ -119,11 +119,11 @@ public class ReceiverDialog : Granite.Dialog { } destroy (); } else { - hide_on_delete (); + hide (); } }); - delete_event.connect (() => { + close_request.connect (() => { if (transfer.status == "active") { return hide_on_delete (); } else { diff --git a/src/Dialog/ScanDialog.vala b/src/Dialog/ScanDialog.vala index a56e66d..2c3182d 100644 --- a/src/Dialog/ScanDialog.vala +++ b/src/Dialog/ScanDialog.vala @@ -45,7 +45,7 @@ public class ScanDialog : Granite.Dialog { }; var empty_alert = new Granite.Placeholder (_("No Devices Found")) { - secondary_text = _("Please ensure that your devices are visible and ready for pairing.") + description = _("Please ensure that your devices are visible and ready for pairing.") }; list_box = new Gtk.ListBox () { diff --git a/src/Dialog/SenderDialog.vala b/src/Dialog/SenderDialog.vala index 73bcb2d..8c80b8c 100644 --- a/src/Dialog/SenderDialog.vala +++ b/src/Dialog/SenderDialog.vala @@ -113,7 +113,7 @@ public class SenderDialog : Granite.Dialog { add_button (_("Close"), Gtk.ResponseType.CLOSE); var reject_transfer = add_button (_("Cancel"), Gtk.ResponseType.CANCEL); - reject_transfer.add_css_class (Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION); + reject_transfer.add_css_class (Granite.CssClass.DESTRUCTIVE); response.connect ((response_id) => { if (response_id == Gtk.ResponseType.CANCEL) { @@ -127,17 +127,17 @@ public class SenderDialog : Granite.Dialog { remove_session.begin (); } } - destroy (); + } else { if (transfer.status == "active") { - hide_on_delete (); + hide (); } else { destroy (); } } }); - delete_event.connect (() => { + close_request.connect (() => { if (transfer.status == "active") { return hide_on_delete (); } else { @@ -241,7 +241,7 @@ public class SenderDialog : Granite.Dialog { ); send_file.begin (); } catch (Error e) { - hide_on_delete (); + hide (); var bt_retry = new Granite.MessageDialog ( _("Connecting to '%s' failed.").printf (device.alias), "%s\n%s".printf ( @@ -308,7 +308,7 @@ public class SenderDialog : Granite.Dialog { private void tranfer_progress () { switch (transfer.status) { case "error": - hide_on_delete (); + hide (); var bt_retry = new Granite.MessageDialog ( _("The transfer of '%s' failed.").printf (file_path.get_basename ()), "%s\n%s".printf (