comparison finch/gntaccount.c @ 18511:7ee0e0597a26

Add utility function to trigger some button when some key is pressed with some other widget in focus. So now, pressing Insert in the accounts, status, pounce dialog will activate the 'Add' button, pressing Delete will activate the 'Delete' button. This can probably be used in some other places.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 13 Jul 2007 01:42:29 +0000
parents f5a17e7e4bfa
children 15f0c935e699
comparison
equal deleted inserted replaced
18510:f104e1d45d85 18511:7ee0e0597a26
29 #include <gntcombobox.h> 29 #include <gntcombobox.h>
30 #include <gntentry.h> 30 #include <gntentry.h>
31 #include <gntlabel.h> 31 #include <gntlabel.h>
32 #include <gntline.h> 32 #include <gntline.h>
33 #include <gnttree.h> 33 #include <gnttree.h>
34 #include <gntutils.h>
34 #include <gntwindow.h> 35 #include <gntwindow.h>
35 36
36 #include "finch.h" 37 #include "finch.h"
37 38
38 #include <account.h> 39 #include <account.h>
688 689
689 box = gnt_hbox_new(FALSE); 690 box = gnt_hbox_new(FALSE);
690 691
691 button = gnt_button_new(_("Add")); 692 button = gnt_button_new(_("Add"));
692 gnt_box_add_widget(GNT_BOX(box), button); 693 gnt_box_add_widget(GNT_BOX(box), button);
694 gnt_util_set_trigger_widget(GNT_WIDGET(accounts.tree), GNT_KEY_INS, button);
693 g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(add_account_cb), NULL); 695 g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(add_account_cb), NULL);
694 696
695 button = gnt_button_new(_("Modify")); 697 button = gnt_button_new(_("Modify"));
696 gnt_box_add_widget(GNT_BOX(box), button); 698 gnt_box_add_widget(GNT_BOX(box), button);
697 g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(modify_account_cb), accounts.tree); 699 g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(modify_account_cb), accounts.tree);
698 700
699 button = gnt_button_new(_("Delete")); 701 button = gnt_button_new(_("Delete"));
700 gnt_box_add_widget(GNT_BOX(box), button); 702 gnt_box_add_widget(GNT_BOX(box), button);
703 gnt_util_set_trigger_widget(GNT_WIDGET(accounts.tree), GNT_KEY_DEL, button);
701 g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(delete_account_cb), accounts.tree); 704 g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(delete_account_cb), accounts.tree);
702 705
703 gnt_box_add_widget(GNT_BOX(accounts.window), box); 706 gnt_box_add_widget(GNT_BOX(accounts.window), box);
704 707
705 g_signal_connect(G_OBJECT(accounts.window), "destroy", G_CALLBACK(reset_accounts_win), NULL); 708 g_signal_connect(G_OBJECT(accounts.window), "destroy", G_CALLBACK(reset_accounts_win), NULL);
919 922
920 gc = purple_account_get_connection(account); 923 gc = purple_account_get_connection(account);
921 if (message != NULL && *message == '\0') 924 if (message != NULL && *message == '\0')
922 message = NULL; 925 message = NULL;
923 926
924 buffer = g_strdup_printf(_("%s%s%s%s wants to add %s to his or her buddy list%s%s"), 927 buffer = g_strdup_printf(_("%s%s%s%s wants to add %s%s%s%s to his or her buddy list%s%s"),
925 remote_user, 928 remote_user,
926 (alias != NULL ? " (" : ""), 929 (alias != NULL ? " (" : ""),
927 (alias != NULL ? alias : ""), 930 (alias != NULL ? alias : ""),
928 (alias != NULL ? ")" : ""), 931 (alias != NULL ? ")" : ""),
929 (id != NULL 932 (id != NULL
930 ? id 933 ? id
931 : (purple_connection_get_display_name(gc) != NULL 934 : (purple_connection_get_display_name(gc) != NULL
932 ? purple_connection_get_display_name(gc) 935 ? purple_connection_get_display_name(gc)
933 : purple_account_get_username(account))), 936 : purple_account_get_username(account))),
934 (message != NULL ? ": " : "."), 937 id ? " (" : "",
938 id ? purple_account_get_username(account) : "",
939 id ? ")" : "",
940 (message != NULL ? ":\n" : "."),
935 (message != NULL ? message : "")); 941 (message != NULL ? message : ""));
936 if (!on_list) { 942 if (!on_list) {
937 GntWidget *widget; 943 GntWidget *widget;
938 GList *iter; 944 GList *iter;
939 auth_and_add *aa = g_new(auth_and_add, 1); 945 auth_and_add *aa = g_new(auth_and_add, 1);