--- a/pidgin/gtkblist.c Thu Mar 26 22:55:20 2020 -0500
+++ b/pidgin/gtkblist.c Fri Mar 27 00:45:04 2020 -0500
@@ -45,18 +45,15 @@
#include "gtkstatusbox.h"
#include "gtkscrollbook.h"
-#include "gtksmiley-manager.h"
#include "gtkblist-theme.h"
#include "gtkblist-theme-loader.h"
#include "pidgin/minidialog.h"
-#include "pidgin/pidginabout.h"
#include "pidgin/pidginaccountchooser.h"
#include "pidgin/pidginactiongroup.h"
#include "pidgin/pidginbuddylistmenu.h"
@@ -64,7 +61,6 @@
#include "pidgin/pidgingdkpixbuf.h"
#include "pidgin/pidginlog.h"
#include "pidgin/pidginplugininfo.h"
-#include "pidgin/pidginpluginsdialog.h"
#include "pidgin/pidgintooltip.h"
#include "pidginmenutray.h"
@@ -794,11 +790,6 @@
-static void gtk_blist_show_systemlog_cb(void)
static void gtk_blist_show_onlinehelp_cb(void)
purple_notify_uri(NULL, PURPLE_WEBSITE "documentation");
@@ -2023,11 +2014,6 @@
-static void gtk_blist_show_xfer_dialog_cb(GtkAction *item, gpointer data)
- pidgin_xfer_dialog_show(NULL);
static void pidgin_blist_buddy_details_cb(GtkToggleAction *item, gpointer data)
pidgin_set_cursor(gtkblist->window, GDK_WATCH);
@@ -3345,13 +3331,6 @@
- purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/enabled",
- !purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/enabled"));
static char *get_mood_icon_path(const char *mood)
@@ -3618,24 +3597,6 @@
/***************************************************
***************************************************/
-pidgin_blist_plugins_dialog_cb(GtkAction *action, GtkWidget *window) {
- GtkWidget *dialog = pidgin_plugins_dialog_new();
- gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(window));
- gtk_widget_show_all(dialog);
-_pidgin_about_cb(GtkAction *action, GtkWidget *window) {
- GtkWidget *about = pidgin_about_dialog_new();
- gtk_window_set_transient_for(GTK_WINDOW(about), GTK_WINDOW(window));
- gtk_widget_show_all(about);
/* TODO: fill out tooltips... */
static const GtkActionEntry blist_menu_entries[] = {
/* NOTE: Do not set any accelerator to Control+O. It is mapped by
@@ -3643,35 +3604,17 @@
{ "BuddiesMenu", NULL, N_("_Buddies"), NULL, NULL, NULL },
{ "JoinAChat", PIDGIN_STOCK_CHAT, N_("Join a _Chat..."), "<control>C", NULL, pidgin_blist_joinchat_show },
- { "GetUserInfo", PIDGIN_STOCK_TOOLBAR_USER_INFO, N_("Get User _Info..."), "<control>I", NULL, pidgin_dialogs_info },
- { "ViewUserLog", NULL, N_("View User _Log..."), "<control>L", NULL, pidgin_dialogs_log },
{ "ShowMenu", NULL, N_("Sh_ow"), NULL, NULL, NULL },
{ "SortMenu", NULL, N_("_Sort Buddies"), NULL, NULL, NULL },
{ "AddBuddy", GTK_STOCK_ADD, N_("_Add Buddy..."), "<control>B", NULL, pidgin_blist_add_buddy_cb },
{ "AddChat", GTK_STOCK_ADD, N_("Add C_hat..."), NULL, NULL, pidgin_blist_add_chat_cb },
- { "AddGroup", GTK_STOCK_ADD, N_("Add _Group..."), NULL, NULL, purple_blist_request_add_group },
- { "Quit", GTK_STOCK_QUIT, N_("_Quit"), "<control>Q", NULL, purple_core_quit },
{ "AccountsMenu", NULL, N_("_Accounts"), NULL, NULL, NULL },
- { "ManageAccounts", NULL, N_("Manage Accounts"), "<control>A", NULL, pidgin_accounts_window_show },
{ "ToolsMenu", NULL, N_("_Tools"), NULL, NULL, NULL },
- { "BuddyPounces", NULL, N_("Buddy _Pounces"), NULL, NULL, pidgin_pounces_manager_show },
- { "CustomSmileys", PIDGIN_STOCK_TOOLBAR_SMILEY, N_("Custom Smile_ys"), "<control>Y", NULL, pidgin_smiley_manager_show },
- { "Plugins", PIDGIN_STOCK_TOOLBAR_PLUGINS, N_("Plu_gins"), "<control>U", NULL, pidgin_blist_plugins_dialog_cb },
- { "Preferences", GTK_STOCK_PREFERENCES, N_("Pr_eferences"), "<control>P", NULL, pidgin_prefs_show },
- { "Privacy", NULL, N_("Pr_ivacy"), NULL, NULL, pidgin_privacy_dialog_show },
{ "SetMood", NULL, N_("Set _Mood"), "<control>D", NULL, set_mood_show },
- { "FileTransfers", PIDGIN_STOCK_TOOLBAR_TRANSFER, N_("_File Transfers"), "<control>T", NULL, G_CALLBACK(gtk_blist_show_xfer_dialog_cb) },
- { "RoomList", NULL, N_("R_oom List"), NULL, NULL, pidgin_roomlist_dialog_show },
- { "SystemLog", NULL, N_("System _Log"), NULL, NULL, gtk_blist_show_systemlog_cb },
- { "HelpMenu", NULL, N_("_Help"), NULL, NULL, NULL },
- { "DebugWindow", NULL, N_("_Debug Window"), NULL, NULL, toggle_debug },
- { "About", GTK_STOCK_ABOUT, N_("_About"), NULL, NULL, G_CALLBACK(_pidgin_about_cb) },
@@ -3692,8 +3635,6 @@
"<menu action='BuddiesMenu'>"
"<menuitem action='JoinAChat'/>"
- "<menuitem action='GetUserInfo'/>"
- "<menuitem action='ViewUserLog'/>"
"<menu action='ShowMenu'>"
"<menuitem action='ShowOffline'/>"
@@ -3706,33 +3647,16 @@
"<menuitem action='AddBuddy'/>"
"<menuitem action='AddChat'/>"
- "<menuitem action='AddGroup'/>"
- "<menuitem action='Quit'/>"
"<menu action='AccountsMenu'>"
- "<menuitem action='ManageAccounts'/>"
"<menu action='ToolsMenu'>"
- "<menuitem action='BuddyPounces'/>"
- "<menuitem action='CustomSmileys'/>"
- "<menuitem action='Plugins'/>"
- "<menuitem action='Preferences'/>"
- "<menuitem action='Privacy'/>"
"<menuitem action='SetMood'/>"
- "<menuitem action='FileTransfers'/>"
- "<menuitem action='RoomList'/>"
- "<menuitem action='SystemLog'/>"
"<menuitem action='MuteSounds'/>"
"<placeholder name='PluginActions'/>"
- "<menu action='HelpMenu'>"
- "<menuitem action='DebugWindow'/>"
- "<menuitem action='About'/>"
--- a/pidgin/pidginactiongroup.c Thu Mar 26 22:55:20 2020 -0500
+++ b/pidgin/pidginactiongroup.c Fri Mar 27 00:45:04 2020 -0500
@@ -22,8 +22,21 @@
#include "pidginactiongroup.h"
+#include "pidgin/gtkaccount.h" +#include "pidgin/gtkdialogs.h" +#include "pidgin/gtkpounce.h" +#include "pidgin/gtkprefs.h" +#include "pidgin/gtkprivacy.h" +#include "pidgin/gtkroomlist.h" +#include "pidgin/gtksmiley-manager.h" +#include "pidgin/gtkxfer.h" +#include "pidgin/pidginabout.h" +#include "pidgin/pidginlog.h" +#include "pidgin/pidginpluginsdialog.h" struct _PidginActionGroup {
GSimpleActionGroup parent;
@@ -33,6 +46,70 @@
*****************************************************************************/
+pidgin_action_group_about(GSimpleAction *simple, GVariant *parameter, + GtkWidget *about = pidgin_about_dialog_new(); + gtk_window_set_transient_for(GTK_WINDOW(about), GTK_WINDOW(window)); + gtk_widget_show_all(about); +pidgin_action_group_add_group(GSimpleAction *simple, GVariant *parameter, + purple_blist_request_add_group(); +pidgin_action_group_buddy_pounces(GSimpleAction *simple, GVariant *parameter, + pidgin_pounces_manager_show(); +pidgin_action_group_custom_smiley(GSimpleAction *simple, GVariant *parameter, + pidgin_smiley_manager_show(); +pidgin_action_group_debug(GSimpleAction *simple, GVariant *parameter, + gboolean old = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/enabled"); + purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/enabled", !old); +pidgin_action_group_file_transfers(GSimpleAction *simple, GVariant *parameter, + pidgin_xfer_dialog_show(NULL); +pidgin_action_group_get_user_info(GSimpleAction *simple, GVariant *parameter, +pidgin_action_group_manage_accounts(GSimpleAction *simple, GVariant *parameter, + pidgin_accounts_window_show(); pidgin_action_group_new_message(GSimpleAction *simple, GVariant *parameter,
@@ -46,6 +123,62 @@
purple_notify_uri(NULL, PURPLE_WEBSITE "documentation");
+pidgin_action_group_plugins(GSimpleAction *simple, GVariant *parameter, + GtkWidget *dialog = pidgin_plugins_dialog_new(); + gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(window)); + gtk_widget_show_all(dialog); +pidgin_action_group_preferences(GSimpleAction *simple, GVariant *parameter, +pidgin_action_group_privacy(GSimpleAction *simple, GVariant *parameter, + pidgin_privacy_dialog_show(); +pidgin_action_group_quit(GSimpleAction *simple, GVariant *parameter, +pidgin_action_group_room_list(GSimpleAction *simple, GVariant *parameter, + pidgin_roomlist_dialog_show(); +pidgin_action_group_system_log(GSimpleAction *simple, GVariant *parameter, +pidgin_action_group_view_user_log(GSimpleAction *simple, GVariant *parameter, /******************************************************************************
*****************************************************************************/
@@ -56,11 +189,56 @@
pidgin_action_group_init(PidginActionGroup *group) {
GActionEntry entries[] = {
+ .name = PIDGIN_ACTION_ABOUT, + .activate = pidgin_action_group_about, + .name = PIDGIN_ACTION_ADD_GROUP, + .activate = pidgin_action_group_add_group, + .name = PIDGIN_ACTION_BUDDY_POUNCES, + .activate = pidgin_action_group_buddy_pounces, + .name = PIDGIN_ACTION_CUSTOM_SMILEY, + .activate = pidgin_action_group_custom_smiley, + .name = PIDGIN_ACTION_DEBUG, + .activate = pidgin_action_group_debug, + .name = PIDGIN_ACTION_FILE_TRANSFERS, + .activate = pidgin_action_group_file_transfers, + .name = PIDGIN_ACTION_GET_USER_INFO, + .activate = pidgin_action_group_get_user_info, + .name = PIDGIN_ACTION_MANAGE_ACCOUNTS, + .activate = pidgin_action_group_manage_accounts, .name = PIDGIN_ACTION_NEW_MESSAGE,
.activate = pidgin_action_group_new_message,
.name = PIDGIN_ACTION_ONLINE_HELP,
.activate = pidgin_action_group_online_help,
+ .name = PIDGIN_ACTION_PLUGINS, + .activate = pidgin_action_group_plugins, + .name = PIDGIN_ACTION_PREFERENCES, + .activate = pidgin_action_group_preferences, + .name = PIDGIN_ACTION_PRIVACY, + .activate = pidgin_action_group_privacy, + .name = PIDGIN_ACTION_QUIT, + .activate = pidgin_action_group_quit, + .name = PIDGIN_ACTION_ROOM_LIST, + .activate = pidgin_action_group_room_list, + .name = PIDGIN_ACTION_SYSTEM_LOG, + .activate = pidgin_action_group_system_log, + .name = PIDGIN_ACTION_VIEW_USER_LOG, + .activate = pidgin_action_group_view_user_log, --- a/pidgin/resources/BuddyList/menu.ui Thu Mar 26 22:55:20 2020 -0500
+++ b/pidgin/resources/BuddyList/menu.ui Fri Mar 27 00:45:04 2020 -0500
@@ -25,6 +25,108 @@
<accelerator key="m" signal="activate" modifiers="GDK_CONTROL_MASK"/>
+ <object class="GtkMenuItem" id="join_chat"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.join-chat</property> + <property name="label" translatable="yes">Join a _Chat...</property> + <property name="use_underline">True</property> + <accelerator key="c" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <object class="GtkMenuItem" id="get_user_info"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.get-user-info</property> + <property name="label" translatable="yes">Get User _Info...</property> + <property name="use_underline">True</property> + <accelerator key="i" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <object class="GtkMenuItem" id="view_user_log"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.view-user-log</property> + <property name="label" translatable="yes">View User _Log...</property> + <property name="use_underline">True</property> + <accelerator key="l" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <object class="GtkSeparatorMenuItem"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <object class="GtkMenuItem"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Sh_ow</property> + <property name="use_underline">True</property> + <object class="GtkMenuItem"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">_Sort Buddies</property> + <property name="use_underline">True</property> + <object class="GtkSeparatorMenuItem"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <object class="GtkMenuItem" id="add_buddy"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.add-buddy</property> + <property name="label" translatable="yes">_Add Buddy...</property> + <property name="use_underline">True</property> + <accelerator key="b" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <object class="GtkMenuItem" id="add_chat"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.add-chat</property> + <property name="label" translatable="yes">Add C_hat...</property> + <property name="use_underline">True</property> + <object class="GtkMenuItem" id="add_group"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.add-group</property> + <property name="label" translatable="yes">Add _Group...</property> + <property name="use_underline">True</property> + <object class="GtkSeparatorMenuItem"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <object class="GtkMenuItem" id="quit"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.quit</property> + <property name="label" translatable="yes">_Quit</property> + <property name="use_underline">True</property> + <accelerator key="q" signal="activate" modifiers="GDK_CONTROL_MASK"/> @@ -35,6 +137,22 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Accounts</property>
<property name="use_underline">True</property>
+ <object class="GtkMenu"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <object class="GtkMenuItem" id="manage_accounts"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.manage-accounts</property> + <property name="label" translatable="yes">Manage Accounts</property> + <property name="use_underline">True</property> + <accelerator key="a" signal="activate" modifiers="GDK_CONTROL_MASK"/> @@ -43,6 +161,110 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Tools</property>
<property name="use_underline">True</property>
+ <object class="GtkMenu"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <object class="GtkMenuItem" id="buddy_pounces"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.buddy-pounces</property> + <property name="label" translatable="yes">Buddy _Pounces</property> + <property name="use_underline">True</property> + <object class="GtkMenuItem" id="custom_smileys"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.custom-smiley</property> + <property name="label" translatable="yes">Custom Smile_ys</property> + <property name="use_underline">True</property> + <accelerator key="y" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <object class="GtkMenuItem" id="plugins"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.plugins</property> + <property name="label" translatable="yes">Plu_gins</property> + <property name="use_underline">True</property> + <accelerator key="u" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <object class="GtkMenuItem" id="preferences"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.preferences</property> + <property name="label" translatable="yes">Pr_eferences</property> + <property name="use_underline">True</property> + <accelerator key="p" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <object class="GtkMenuItem" id="privacy"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.privacy</property> + <property name="label" translatable="yes">Pr_ivacy</property> + <property name="use_underline">True</property> + <object class="GtkMenuItem" id="set_mood"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.set-mood</property> + <property name="label" translatable="yes">Set _Mood</property> + <property name="use_underline">True</property> + <accelerator key="d" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <object class="GtkSeparatorMenuItem"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <object class="GtkMenuItem" id="file_transfers"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.file-transfers</property> + <property name="label" translatable="yes">_File Transfers</property> + <property name="use_underline">True</property> + <accelerator key="t" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <object class="GtkMenuItem" id="room_list"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.room-list</property> + <property name="label" translatable="yes">R_oom List</property> + <property name="use_underline">True</property> + <object class="GtkMenuItem" id="system_log"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.system-log</property> + <property name="label" translatable="yes">System _Log</property> + <property name="use_underline">True</property> + <object class="GtkSeparatorMenuItem"> + <property name="visible">True</property> + <property name="can_focus">False</property> @@ -56,7 +278,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
- <object class="GtkMenuItem">
+ <object class="GtkMenuItem" id="online_help"> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="action_name">blist.online-help</property>
@@ -65,6 +287,24 @@
<accelerator key="F1" signal="activate"/>
+ <object class="GtkMenuItem" id="debug"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.debug</property> + <property name="label" translatable="yes">_Debug Window</property> + <property name="use_underline">True</property> + <object class="GtkMenuItem" id="about"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="action_name">blist.about</property> + <property name="label" translatable="yes">_About</property> + <property name="use_underline">True</property>