--- a/pidgin/pidgindisplaywindow.c Thu Feb 22 06:03:16 2024 -0600
+++ b/pidgin/pidgindisplaywindow.c Thu Feb 22 06:05:56 2024 -0600
@@ -24,6 +24,9 @@
+#include <gplugin-gtk.h> #include "pidgindisplaywindow.h"
@@ -44,6 +47,8 @@
+ GtkWidget *plugin_list; GListModel *selection_model;
@@ -327,6 +332,8 @@
pidgin_display_window_init(PidginDisplayWindow *window) {
GtkEventController *key = NULL;
GtkTreeListModel *tree_model = NULL;
+ GPluginManager *plugin_manager = NULL; + gpointer settings_backend = NULL; gtk_widget_init_template(GTK_WIDGET(window));
@@ -360,6 +367,15 @@
G_CALLBACK(pidgin_display_window_key_pressed_cb),
gtk_widget_add_controller(GTK_WIDGET(window), key);
+ /* Set up the plugin list. */ + plugin_manager = gplugin_manager_get_default(); + gplugin_gtk_view_set_manager(GPLUGIN_GTK_VIEW(window->plugin_list), + settings_backend = purple_core_get_settings_backend(); + gplugin_gtk_view_set_settings_backend(GPLUGIN_GTK_VIEW(window->plugin_list), @@ -399,6 +415,8 @@
gtk_widget_class_bind_template_child(widget_class, PidginDisplayWindow,
gtk_widget_class_bind_template_child(widget_class, PidginDisplayWindow,
+ gtk_widget_class_bind_template_child(widget_class, PidginDisplayWindow, gtk_widget_class_bind_template_child(widget_class, PidginDisplayWindow,
--- a/pidgin/resources/Display/window.ui Thu Feb 22 06:03:16 2024 -0600
+++ b/pidgin/resources/Display/window.ui Thu Feb 22 06:05:56 2024 -0600
@@ -56,6 +56,47 @@
<object class="PidginDisplayItem">
+ <property name="id">__plugins__</property> + <property name="title" translatable="1">Plugins</property> + <property name="widget"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <object class="PidginInfoPane"> + <property name="title" translatable="yes">Plugins</property> + <object class="GtkBox"> + <property name="margin-end">6</property> + <property name="orientation">horizontal</property> + <property name="spacing">6</property> + <property name="valign">center</property> + <object class="GtkButton"> + <property name="tooltip-text" translatable="yes">Refresh</property> + <!-- we can't actually refresh the gplugin pluging list right now, so we just show an insensitive button to remind us to fix it later. --> + <property name="sensitive">false</property> + <object class="GtkImage"> + <property name="icon-name">view-refresh-symbolic</property> + <object class="GPluginGtkView" id="plugin_list"> + <property name="orientation">vertical</property> + <object class="PidginDisplayItem"> <property name="id">__conversations__</property>
<property name="title" translatable="1">Conversations</property>