pidgin/plugins/xmppconsole/xmppconsole.c

changeset 41471
00f6072095a3
parent 41410
3c68dae90dc5
child 41531
2b86501d13fe
--- a/pidgin/plugins/xmppconsole/xmppconsole.c	Sun Jul 31 00:53:12 2022 -0500
+++ b/pidgin/plugins/xmppconsole/xmppconsole.c	Sun Jul 31 00:54:01 2022 -0500
@@ -583,7 +583,8 @@
  * Plugin implementation
  *****************************************************************************/
 static void
-create_console(PurplePluginAction *action)
+create_console(G_GNUC_UNUSED GSimpleAction *action,
+               G_GNUC_UNUSED GVariant *parameter, G_GNUC_UNUSED gpointer data)
 {
 	if (console == NULL) {
 		console = g_object_new(PIDGIN_TYPE_XMPP_CONSOLE, NULL);
@@ -593,26 +594,29 @@
 	gtk_window_present(GTK_WINDOW(console));
 }
 
-static GList *
-actions(PurplePlugin *plugin)
-{
-	GList *l = NULL;
-	PurplePluginAction *act = NULL;
-
-	act = purple_plugin_action_new(_("XMPP Console"), create_console);
-	l = g_list_append(l, act);
-
-	return l;
-}
-
 static GPluginPluginInfo *
 xmpp_console_query(GError **error)
 {
+	GActionEntry entries[] = {
+		{
+			.name = "console",
+			.activate = create_console,
+		}
+	};
+	GMenu *menu = NULL;
+	GSimpleActionGroup *group = NULL;
 	const gchar * const authors[] = {
 		"Sean Egan <seanegan@gmail.com>",
 		NULL
 	};
 
+	group = g_simple_action_group_new();
+	g_action_map_add_action_entries(G_ACTION_MAP(group), entries,
+	                                G_N_ELEMENTS(entries), NULL);
+
+	menu = g_menu_new();
+	g_menu_append(menu, _("XMPP Console"), "console");
+
 	return pidgin_plugin_info_new(
 		"id",           PLUGIN_ID,
 		"name",         N_("XMPP Console"),
@@ -624,7 +628,8 @@
 		"authors",      authors,
 		"website",      PURPLE_WEBSITE,
 		"abi-version",  PURPLE_ABI_VERSION,
-		"actions-cb",   actions,
+		"action-group", group,
+		"action-menu",  menu,
 		NULL
 	);
 }

mercurial