| 30 GtkWidget *accounts; |
30 GtkWidget *accounts; |
| 31 GtkWidget *accounts_menu; |
31 GtkWidget *accounts_menu; |
| 32 |
32 |
| 33 GtkWidget *plugins; |
33 GtkWidget *plugins; |
| 34 GtkWidget *plugins_menu; |
34 GtkWidget *plugins_menu; |
| |
35 |
| |
36 GtkWidget *menu_tray; |
| 35 }; |
37 }; |
| 36 |
38 |
| 37 /****************************************************************************** |
39 /****************************************************************************** |
| 38 * GObject Implementation |
40 * GObject Implementation |
| 39 *****************************************************************************/ |
41 *****************************************************************************/ |
| 45 |
47 |
| 46 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu->accounts), |
48 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu->accounts), |
| 47 menu->accounts_menu); |
49 menu->accounts_menu); |
| 48 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu->plugins), |
50 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu->plugins), |
| 49 menu->plugins_menu); |
51 menu->plugins_menu); |
| |
52 |
| |
53 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu->menu_tray); |
| 50 } |
54 } |
| 51 |
55 |
| 52 static void |
56 static void |
| 53 pidgin_buddy_list_menu_class_init(PidginBuddyListMenuClass *klass) { |
57 pidgin_buddy_list_menu_class_init(PidginBuddyListMenuClass *klass) { |
| 54 GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); |
58 GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); |
| 66 accounts_menu); |
70 accounts_menu); |
| 67 gtk_widget_class_bind_template_child(widget_class, PidginBuddyListMenu, |
71 gtk_widget_class_bind_template_child(widget_class, PidginBuddyListMenu, |
| 68 plugins); |
72 plugins); |
| 69 gtk_widget_class_bind_template_child(widget_class, PidginBuddyListMenu, |
73 gtk_widget_class_bind_template_child(widget_class, PidginBuddyListMenu, |
| 70 plugins_menu); |
74 plugins_menu); |
| |
75 gtk_widget_class_bind_template_child(widget_class, PidginBuddyListMenu, |
| |
76 menu_tray); |
| 71 } |
77 } |
| 72 |
78 |
| 73 /****************************************************************************** |
79 /****************************************************************************** |
| 74 * Public API |
80 * Public API |
| 75 *****************************************************************************/ |
81 *****************************************************************************/ |
| 82 pidgin_buddy_list_menu_get_sort_item(PidginBuddyListMenu *menu) { |
88 pidgin_buddy_list_menu_get_sort_item(PidginBuddyListMenu *menu) { |
| 83 g_return_val_if_fail(PIDGIN_IS_BUDDY_LIST_MENU(menu), NULL); |
89 g_return_val_if_fail(PIDGIN_IS_BUDDY_LIST_MENU(menu), NULL); |
| 84 |
90 |
| 85 return menu->sort_buddies; |
91 return menu->sort_buddies; |
| 86 } |
92 } |
| |
93 |
| |
94 GtkWidget * |
| |
95 pidgin_buddy_list_menu_get_menu_tray(PidginBuddyListMenu *menu) { |
| |
96 g_return_val_if_fail(PIDGIN_IS_BUDDY_LIST_MENU(menu), NULL); |
| |
97 |
| |
98 return menu->menu_tray; |
| |
99 } |