gnome-extra/extension-manager: Add patch to prepare for upstream v0.5.0

Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
This commit is contained in:
Yuan Liao 2024-03-14 10:49:19 -04:00
parent 4eeb7dd2e7
commit 489fea3cad
No known key found for this signature in database
GPG Key ID: 5A088BB1563212A9
2 changed files with 440 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# Copyright 2022-2023 Gentoo Authors
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -39,6 +39,10 @@ DEPEND="
${RDEPEND}
"
PATCHES=(
"${FILESDIR}/${PN}-0.5.0-libadwaita-1.4.patch"
)
src_configure() {
local emesonargs=(
-Dpackage="ebuild"

View File

@ -0,0 +1,435 @@
From 8d03f63f9c825d3f486e55c26eb2efd6a2e57711 Mon Sep 17 00:00:00 2001
From: Yuan Liao <liaoyuan@gmail.com>
Date: Thu, 14 Mar 2024 10:44:40 -0400
Subject: [PATCH 1/4] Revert "upgrade-assistant: Port AdwWindow to AdwDialog"
This reverts commit 9e394c18722d18d4273083f4fd5aa152c20b57b7.
The reverted commit migrates the application to libadwaita 1.5; this
should not have been done because libadwaita 1.5 has not been released.
Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
---
src/exm-upgrade-assistant.blp | 10 +++++-----
src/exm-upgrade-assistant.c | 6 ++++--
src/exm-upgrade-assistant.h | 2 +-
src/exm-window.c | 4 +++-
4 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/src/exm-upgrade-assistant.blp b/src/exm-upgrade-assistant.blp
index a0c1ebe..e822598 100644
--- a/src/exm-upgrade-assistant.blp
+++ b/src/exm-upgrade-assistant.blp
@@ -1,13 +1,13 @@
using Gtk 4.0;
using Adw 1;
-template $ExmUpgradeAssistant : Adw.Dialog {
- content-width: 400;
- content-height: 600;
+template $ExmUpgradeAssistant : Adw.Window {
+ default-width: 400;
+ default-height: 550;
title: _("Upgrade Assistant");
notify::manager => $on_bind_manager();
- child: Adw.ToolbarView {
+ Adw.ToolbarView {
[top]
Adw.HeaderBar {}
@@ -136,5 +136,5 @@ template $ExmUpgradeAssistant : Adw.Dialog {
};
}
};
- };
+ }
}
diff --git a/src/exm-upgrade-assistant.c b/src/exm-upgrade-assistant.c
index 6eca4c7..a93b5e1 100644
--- a/src/exm-upgrade-assistant.c
+++ b/src/exm-upgrade-assistant.c
@@ -28,7 +28,7 @@
struct _ExmUpgradeAssistant
{
- AdwDialog parent_instance;
+ AdwWindow parent_instance;
// Auxiliary Classes
ExmManager *manager;
@@ -66,7 +66,7 @@ struct _ExmUpgradeAssistant
GtkButton *copy_details;
};
-G_DEFINE_FINAL_TYPE (ExmUpgradeAssistant, exm_upgrade_assistant, ADW_TYPE_DIALOG)
+G_DEFINE_FINAL_TYPE (ExmUpgradeAssistant, exm_upgrade_assistant, ADW_TYPE_WINDOW)
enum {
PROP_0,
@@ -657,6 +657,8 @@ exm_upgrade_assistant_class_init (ExmUpgradeAssistantClass *klass)
gtk_widget_class_bind_template_callback (widget_class, do_compatibility_check);
gtk_widget_class_bind_template_callback (widget_class, copy_to_clipboard);
gtk_widget_class_bind_template_callback (widget_class, on_bind_manager);
+
+ gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
}
static void
diff --git a/src/exm-upgrade-assistant.h b/src/exm-upgrade-assistant.h
index 11322d5..d0c58ff 100644
--- a/src/exm-upgrade-assistant.h
+++ b/src/exm-upgrade-assistant.h
@@ -28,7 +28,7 @@
#define EXM_TYPE_UPGRADE_ASSISTANT (exm_upgrade_assistant_get_type())
- G_DECLARE_FINAL_TYPE (ExmUpgradeAssistant, exm_upgrade_assistant, EXM, UPGRADE_ASSISTANT, AdwDialog)
+ G_DECLARE_FINAL_TYPE (ExmUpgradeAssistant, exm_upgrade_assistant, EXM, UPGRADE_ASSISTANT, AdwWindow)
ExmUpgradeAssistant *exm_upgrade_assistant_new (ExmManager *manager);
diff --git a/src/exm-window.c b/src/exm-window.c
index 5c81c82..96c91b9 100644
--- a/src/exm-window.c
+++ b/src/exm-window.c
@@ -308,7 +308,9 @@ show_upgrade_assistant (GtkWidget *widget,
self = EXM_WINDOW (widget);
ExmUpgradeAssistant *assistant = exm_upgrade_assistant_new (self->manager);
- adw_dialog_present (ADW_DIALOG (assistant), widget);
+ gtk_window_set_modal (GTK_WINDOW (assistant), TRUE);
+ gtk_window_set_transient_for (GTK_WINDOW (assistant), GTK_WINDOW (self));
+ gtk_window_present (GTK_WINDOW (assistant));
}
static void
--
2.43.0
From 945c2e3b1b454d16f84a46bcbcb227256886bb68 Mon Sep 17 00:00:00 2001
From: Yuan Liao <liaoyuan@gmail.com>
Date: Thu, 14 Mar 2024 10:44:51 -0400
Subject: [PATCH 2/4] Revert "comment-dialog: Port AdwWindow to AdwDialog"
This reverts commit e79dd0771243646a8062a413fc58f61102d5a4f1.
The reverted commit migrates the application to libadwaita 1.5; this
should not have been done because libadwaita 1.5 has not been released.
Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
---
src/exm-comment-dialog.blp | 10 +++++-----
src/exm-comment-dialog.c | 6 ++++--
src/exm-comment-dialog.h | 2 +-
src/exm-detail-view.c | 5 ++++-
4 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/src/exm-comment-dialog.blp b/src/exm-comment-dialog.blp
index 50853a6..1fbde6b 100644
--- a/src/exm-comment-dialog.blp
+++ b/src/exm-comment-dialog.blp
@@ -1,14 +1,14 @@
using Gtk 4.0;
using Adw 1;
-template $ExmCommentDialog : Adw.Dialog {
- content-width: 600;
- content-height: 600;
+template $ExmCommentDialog : Adw.Window {
+ default-width: 600;
+ default-height: 500;
width-request: 360;
height-request: 294;
title: _("Comments");
- child: Adw.ToolbarView {
+ Adw.ToolbarView {
[top]
Adw.HeaderBar {}
@@ -61,5 +61,5 @@ template $ExmCommentDialog : Adw.Dialog {
}
}
};
- };
+ }
}
diff --git a/src/exm-comment-dialog.c b/src/exm-comment-dialog.c
index 3404a2f..621c5f7 100644
--- a/src/exm-comment-dialog.c
+++ b/src/exm-comment-dialog.c
@@ -7,7 +7,7 @@
struct _ExmCommentDialog
{
- AdwDialog parent_instance;
+ AdwWindow parent_instance;
ExmCommentProvider *comment_provider;
@@ -17,7 +17,7 @@ struct _ExmCommentDialog
int web_id;
};
-G_DEFINE_FINAL_TYPE (ExmCommentDialog, exm_comment_dialog, ADW_TYPE_DIALOG)
+G_DEFINE_FINAL_TYPE (ExmCommentDialog, exm_comment_dialog, ADW_TYPE_WINDOW)
enum {
PROP_0,
@@ -106,6 +106,8 @@ exm_comment_dialog_class_init (ExmCommentDialogClass *klass)
gtk_widget_class_bind_template_child (widget_class, ExmCommentDialog, list_box);
gtk_widget_class_bind_template_child (widget_class, ExmCommentDialog, stack);
+
+ gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
}
static GtkWidget *
diff --git a/src/exm-comment-dialog.h b/src/exm-comment-dialog.h
index 1abd584..4d99a35 100644
--- a/src/exm-comment-dialog.h
+++ b/src/exm-comment-dialog.h
@@ -8,7 +8,7 @@ G_BEGIN_DECLS
#define EXM_TYPE_COMMENT_DIALOG (exm_comment_dialog_get_type())
-G_DECLARE_FINAL_TYPE (ExmCommentDialog, exm_comment_dialog, EXM, COMMENT_DIALOG, AdwDialog)
+G_DECLARE_FINAL_TYPE (ExmCommentDialog, exm_comment_dialog, EXM, COMMENT_DIALOG, AdwWindow)
ExmCommentDialog *exm_comment_dialog_new (int web_id);
diff --git a/src/exm-detail-view.c b/src/exm-detail-view.c
index 2c9f4f0..f687fed 100644
--- a/src/exm-detail-view.c
+++ b/src/exm-detail-view.c
@@ -273,7 +273,10 @@ show_more_comments (GtkButton *button,
dlg = exm_comment_dialog_new (self->pk);
toplevel = gtk_widget_get_root (GTK_WIDGET (self));
- adw_dialog_present (ADW_DIALOG (dlg), GTK_WIDGET (toplevel));
+ gtk_window_set_transient_for (GTK_WINDOW (dlg), GTK_WINDOW (toplevel));
+ gtk_window_set_modal (GTK_WINDOW (dlg), TRUE);
+
+ gtk_window_present (GTK_WINDOW (dlg));
}
static void
--
2.43.0
From 27ff5664e5f5f6c7401db436f188edcdf8d46b54 Mon Sep 17 00:00:00 2001
From: Yuan Liao <liaoyuan@gmail.com>
Date: Thu, 14 Mar 2024 10:44:58 -0400
Subject: [PATCH 3/4] Revert "window: Port AdwMessageDialog to AdwAlertDialog"
This reverts commit 3808e70cd75fe410d9a2e06ef54da024a7c29b2c.
The reverted commit migrates the application to libadwaita 1.5; this
should not have been done because libadwaita 1.5 has not been released.
Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
---
src/exm-window.c | 56 +++++++++++++++++++++++++-----------------------
1 file changed, 29 insertions(+), 27 deletions(-)
diff --git a/src/exm-window.c b/src/exm-window.c
index 96c91b9..5921247 100644
--- a/src/exm-window.c
+++ b/src/exm-window.c
@@ -123,11 +123,11 @@ typedef struct
} RemoveDialogData;
static void
-extension_remove_dialog_response (AdwDialog *dialog,
+extension_remove_dialog_response (GtkDialog *dialog,
const char *response,
RemoveDialogData *data)
{
- adw_dialog_force_close (dialog);
+ gtk_window_destroy (GTK_WINDOW (dialog));
if (strcmp(response, "yes") == 0)
{
@@ -153,27 +153,28 @@ extension_remove (GtkWidget *widget,
extension = exm_manager_get_by_uuid (self->manager, uuid);
- AdwDialog *dlg;
+ GtkWidget *dlg;
- dlg = adw_alert_dialog_new (_("Uninstall Extension?"),
- _("The extension's features and functionality will no longer be accessible. Are you sure you want to uninstall?"));
+ dlg = adw_message_dialog_new (GTK_WINDOW (self),
+ _("Uninstall Extension?"),
+ _("The extension's features and functionality will no longer be accessible. Are you sure you want to uninstall?"));
- adw_alert_dialog_add_responses (ADW_ALERT_DIALOG (dlg),
- "no", _("_No"),
- "yes", _("_Yes"),
- NULL);
+ adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dlg),
+ "no", _("_No"),
+ "yes", _("_Yes"),
+ NULL);
- adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dlg), "yes", ADW_RESPONSE_DESTRUCTIVE);
+ adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dlg), "yes", ADW_RESPONSE_DESTRUCTIVE);
- adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dlg), "no");
- adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (dlg), "no");
+ adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dlg), "no");
+ adw_message_dialog_set_close_response (ADW_MESSAGE_DIALOG (dlg), "no");
RemoveDialogData *data = g_new0 (RemoveDialogData, 1);
data->manager = g_object_ref (self->manager);
data->extension = g_object_ref (extension);
g_signal_connect (dlg, "response", G_CALLBACK (extension_remove_dialog_response), data);
- adw_dialog_present (dlg, GTK_WIDGET (self));
+ gtk_window_present (GTK_WINDOW (dlg));
}
static void
@@ -195,11 +196,11 @@ typedef struct
} UnsupportedDialogData;
static void
-extension_unsupported_dialog_response (AdwDialog *dialog,
+extension_unsupported_dialog_response (GtkDialog *dialog,
const char *response,
UnsupportedDialogData *data)
{
- adw_dialog_force_close (dialog);
+ gtk_window_destroy (GTK_WINDOW (dialog));
if (strcmp(response, "yes") == 0)
{
@@ -227,28 +228,29 @@ extension_install (GtkWidget *widget,
if (warn)
{
- AdwDialog *dlg;
+ GtkWidget *dlg;
- dlg = adw_alert_dialog_new (_("Unsupported Extension"),
- _("This extension does not support your GNOME Shell version. It may cause errors if installed."));
+ dlg = adw_message_dialog_new (GTK_WINDOW (self),
+ _("Unsupported Extension"),
+ _("This extension does not support your GNOME Shell version. It may cause errors if installed."));
- adw_alert_dialog_add_responses (ADW_ALERT_DIALOG (dlg),
- "yes", _("_Install Anyway"),
- "no", _("_Go Back"),
- NULL);
+ adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dlg),
+ "yes", _("_Install Anyway"),
+ "no", _("_Go Back"),
+ NULL);
- adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dlg), "yes", ADW_RESPONSE_DESTRUCTIVE);
- adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dlg), "no", ADW_RESPONSE_SUGGESTED);
+ adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dlg), "yes", ADW_RESPONSE_DESTRUCTIVE);
+ adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dlg), "no", ADW_RESPONSE_SUGGESTED);
- adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dlg), "no");
- adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (dlg), "no");
+ adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dlg), "no");
+ adw_message_dialog_set_close_response (ADW_MESSAGE_DIALOG (dlg), "no");
UnsupportedDialogData *data = g_new0 (UnsupportedDialogData, 1);
data->manager = g_object_ref (self->manager);
data->uuid = g_strdup (uuid);
g_signal_connect (dlg, "response", G_CALLBACK (extension_unsupported_dialog_response), data);
- adw_dialog_present (dlg, GTK_WIDGET (self));
+ gtk_window_present (GTK_WINDOW (dlg));
return;
}
--
2.43.0
From e2aedc3f7e8aaa214404d4dacf614186fc07e1be Mon Sep 17 00:00:00 2001
From: Yuan Liao <liaoyuan@gmail.com>
Date: Thu, 14 Mar 2024 10:45:05 -0400
Subject: [PATCH 4/4] Revert "application: Port AdwAboutWindow to
AdwAboutDialog"
This reverts commit 49ecc2b364e532d72fca090ba2b5b7f61f82195f.
The reverted commit migrates the application to libadwaita 1.5; this
should not have been done because libadwaita 1.5 has not been released.
Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
---
src/exm-application.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/src/exm-application.c b/src/exm-application.c
index 1cd80b5..03c1995 100644
--- a/src/exm-application.c
+++ b/src/exm-application.c
@@ -177,43 +177,45 @@ exm_application_show_about (GSimpleAction *action,
GtkWindow *window = NULL;
const gchar *authors[] = {"Matthew Jakeman", NULL};
- AdwDialog *about_dialog;
+ GtkWidget *about_window;
g_return_if_fail (EXM_IS_APPLICATION (self));
window = gtk_application_get_active_window (GTK_APPLICATION (self));
- about_dialog = adw_about_dialog_new_from_appdata ("/com/mattjakeman/ExtensionManager/com.mattjakeman.ExtensionManager.metainfo.xml",
+ about_window = adw_about_window_new_from_appdata ("/com/mattjakeman/ExtensionManager/com.mattjakeman.ExtensionManager.metainfo.xml",
strstr (APP_ID, ".Devel") == NULL ? APP_VERSION : NULL);
+ gtk_window_set_modal (GTK_WINDOW (about_window), TRUE);
+ gtk_window_set_transient_for (GTK_WINDOW (about_window), window);
- adw_about_dialog_set_version (ADW_ABOUT_DIALOG (about_dialog), APP_VERSION);
- adw_about_dialog_set_comments (ADW_ABOUT_DIALOG (about_dialog), _("Browse, install, and manage GNOME Shell Extensions."));
- adw_about_dialog_set_developers (ADW_ABOUT_DIALOG (about_dialog), authors);
- adw_about_dialog_set_translator_credits (ADW_ABOUT_DIALOG (about_dialog), _("translator-credits"));
- adw_about_dialog_set_copyright (ADW_ABOUT_DIALOG (about_dialog), "© 2022 Matthew Jakeman");
+ adw_about_window_set_version (ADW_ABOUT_WINDOW (about_window), APP_VERSION);
+ adw_about_window_set_comments (ADW_ABOUT_WINDOW (about_window), _("Browse, install, and manage GNOME Shell Extensions."));
+ adw_about_window_set_developers (ADW_ABOUT_WINDOW (about_window), authors);
+ adw_about_window_set_translator_credits (ADW_ABOUT_WINDOW (about_window), _("translator-credits"));
+ adw_about_window_set_copyright (ADW_ABOUT_WINDOW (about_window), "© 2022 Matthew Jakeman");
// Dependency Attribution
- adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about_dialog),
+ adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about_window),
"text-engine",
"Copyright (C) 2022 Matthew Jakeman",
GTK_LICENSE_MPL_2_0,
NULL);
#if WITH_BACKTRACE
- adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about_dialog),
+ adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about_window),
"libbacktrace",
"Copyright (C) 2012-2016 Free Software Foundation, Inc.",
GTK_LICENSE_BSD_3,
NULL);
#endif
- adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about_dialog),
+ adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about_window),
"blueprint",
"Copyright (C) 2021 James Westman",
GTK_LICENSE_LGPL_3_0,
NULL);
- adw_dialog_present (about_dialog, GTK_WIDGET (window));
+ gtk_window_present (GTK_WINDOW (about_window));
}
static void
--
2.43.0