--- a/pidgin/pidginaccountactionsmenu.c Tue Apr 07 00:55:43 2020 -0500
+++ b/pidgin/pidginaccountactionsmenu.c Tue Apr 07 01:20:01 2020 -0500
@@ -33,6 +33,7 @@
@@ -62,6 +63,11 @@
+pidgin_account_actions_menu_set_mood_cb(GtkMenuItem *item, gpointer data) { + g_warning("open the mood dialog"); pidgin_account_actions_menu_action(GtkMenuItem *item, gpointer data) {
PurpleProtocolAction *action = (PurpleProtocolAction *)data;
@@ -80,7 +86,7 @@
PurpleConnection *connection = NULL;
PurpleProtocol *protocol = NULL;
GList *children = NULL, *l = NULL;
- gboolean items_added = FALSE;
+ gboolean show_separator = FALSE; g_clear_object(&menu->account);
@@ -106,11 +112,11 @@
children = gtk_container_get_children(GTK_CONTAINER(menu));
for(l = children, position = 0; l != NULL; l = l->next, position++) {
- /* check if the widget is our separator and if so, bail out of the
+ /* check if the widget is the `set_mood` item and if so, bail out of the - if(l->data == menu->separator) {
- /* and push position past the separator */
+ if(l->data == menu->set_mood) { + /* and push position past the set_mood item */ @@ -119,6 +125,13 @@
protocol = purple_connection_get_protocol(connection);
+ if(PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT, get_moods)) { + gtk_widget_show(menu->set_mood); if(PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT, get_actions)) {
GList *actions = NULL, *l = NULL;
@@ -154,14 +167,14 @@
/* since we added an item, make sure items_added is true */
/* if we added any items, make our separator visible. */
gtk_widget_show(menu->separator);
@@ -253,11 +266,15 @@
gtk_widget_class_bind_template_child(widget_class, PidginAccountActionsMenu,
+ gtk_widget_class_bind_template_child(widget_class, PidginAccountActionsMenu, gtk_widget_class_bind_template_callback(widget_class,
pidgin_account_actions_menu_edit_cb);
gtk_widget_class_bind_template_callback(widget_class,
pidgin_account_actions_menu_disable_cb);
+ gtk_widget_class_bind_template_callback(widget_class, + pidgin_account_actions_menu_set_mood_cb); /******************************************************************************
--- a/pidgin/resources/Accounts/actionsmenu.ui Tue Apr 07 00:55:43 2020 -0500
+++ b/pidgin/resources/Accounts/actionsmenu.ui Tue Apr 07 01:20:01 2020 -0500
@@ -43,6 +43,14 @@
+ <object class="GtkMenuItem" id="set_mood"> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Set _Mood...</property> + <property name="use_underline">True</property> + <signal name="activate" handler="pidgin_account_actions_menu_set_mood_cb" object="PidginAccountActionsMenu" swapped="no"/> <object class="GtkSeparatorMenuItem">
<property name="visible">True</property>
<property name="can_focus">False</property>