Move the menu trac to PidginBuddyListMenu

Tue, 07 Apr 2020 00:55:43 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Tue, 07 Apr 2020 00:55:43 -0500
changeset 40383
dbc5c2d601ab
parent 40382
c491e1f440dd
child 40384
8f6c0247f9f2

Move the menu trac to PidginBuddyListMenu

pidgin/gtkblist.c file | annotate | diff | comparison | revisions
pidgin/pidginbuddylistmenu.c file | annotate | diff | comparison | revisions
pidgin/pidginbuddylistmenu.h file | annotate | diff | comparison | revisions
pidgin/resources/BuddyList/menu.ui file | annotate | diff | comparison | revisions
--- a/pidgin/gtkblist.c	Tue Apr 07 00:16:27 2020 -0500
+++ b/pidgin/gtkblist.c	Tue Apr 07 00:55:43 2020 -0500
@@ -5520,9 +5520,6 @@
 	}
 
 	menu = gtk_ui_manager_get_widget(gtkblist->ui, "/BList");
-	gtkblist->menutray = pidgin_menu_tray_new();
-	gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtkblist->menutray);
-	gtk_widget_show(gtkblist->menutray);
 	gtk_widget_show(menu);
 	gtk_box_pack_start(GTK_BOX(gtkblist->main_vbox), menu, FALSE, FALSE, 0);
 
@@ -5530,6 +5527,8 @@
 	gtk_box_pack_start(GTK_BOX(gtkblist->main_vbox), gtkblist->menu, FALSE,
 	                   FALSE, 0);
 
+	gtkblist->menutray = pidgin_buddy_list_menu_get_menu_tray(gtkblist->menu);
+
 	/****************************** Notebook *************************************/
 	gtkblist->notebook = gtk_notebook_new();
 	gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gtkblist->notebook), FALSE);
--- a/pidgin/pidginbuddylistmenu.c	Tue Apr 07 00:16:27 2020 -0500
+++ b/pidgin/pidginbuddylistmenu.c	Tue Apr 07 00:55:43 2020 -0500
@@ -32,6 +32,8 @@
 
 	GtkWidget *plugins;
 	GtkWidget *plugins_menu;
+
+	GtkWidget *menu_tray;
 };
 
 /******************************************************************************
@@ -47,6 +49,8 @@
 	                          menu->accounts_menu);
 	gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu->plugins),
 	                          menu->plugins_menu);
+
+	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu->menu_tray);
 }
 
 static void
@@ -68,6 +72,8 @@
    	                                     plugins);
    	gtk_widget_class_bind_template_child(widget_class, PidginBuddyListMenu,
    	                                     plugins_menu);
+   	gtk_widget_class_bind_template_child(widget_class, PidginBuddyListMenu,
+   	                                     menu_tray);
 }
 
 /******************************************************************************
@@ -84,3 +90,10 @@
 
 	return menu->sort_buddies;
 }
+
+GtkWidget *
+pidgin_buddy_list_menu_get_menu_tray(PidginBuddyListMenu *menu) {
+	g_return_val_if_fail(PIDGIN_IS_BUDDY_LIST_MENU(menu), NULL);
+
+	return menu->menu_tray;
+}
--- a/pidgin/pidginbuddylistmenu.h	Tue Apr 07 00:16:27 2020 -0500
+++ b/pidgin/pidginbuddylistmenu.h	Tue Apr 07 00:55:43 2020 -0500
@@ -61,6 +61,14 @@
  */
 GtkWidget *pidgin_buddy_list_menu_get_sort_item(PidginBuddyListMenu *menu);
 
+/**
+ * pidgin_buddy_list_menu_get_menu_tray:
+ * @menu: The #PidginBuddyList instance.
+ *
+ * Gets the #PidginMenuTray instance from @menu.
+ */
+GtkWidget *pidgin_buddy_list_menu_get_menu_tray(PidginBuddyListMenu *menu);
+
 G_END_DECLS
 
 #endif /* PIDGIN_BUDDY_LIST_MENU_H */
--- a/pidgin/resources/BuddyList/menu.ui	Tue Apr 07 00:16:27 2020 -0500
+++ b/pidgin/resources/BuddyList/menu.ui	Tue Apr 07 00:55:43 2020 -0500
@@ -357,6 +357,11 @@
     <property name="visible">True</property>
     <property name="can_focus">False</property>
   </object>
+  <object class="PidginMenuTray" id="menu_tray">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="right_justified">True</property>
+  </object>
   <object class="PidginPluginsMenu" id="plugins_menu">
     <property name="visible">True</property>
     <property name="can_focus">False</property>

mercurial