src/toc.c

changeset 1806
097882303253
parent 1794
33dc9bab4716
child 1807
c75baa207eba
equal deleted inserted replaced
1805:c2aeee08d50e 1806:097882303253
116 #define USEROPT_AUTH 0 116 #define USEROPT_AUTH 0
117 #define USEROPT_AUTHPORT 1 117 #define USEROPT_AUTHPORT 1
118 #define USEROPT_SOCKSHOST 2 118 #define USEROPT_SOCKSHOST 2
119 #define USEROPT_SOCKSPORT 3 119 #define USEROPT_SOCKSPORT 3
120 #define USEROPT_PROXYTYPE 4 120 #define USEROPT_PROXYTYPE 4
121
122 static GtkWidget *join_chat_spin;
123 static GtkWidget *join_chat_entry;
121 124
122 static void toc_callback(gpointer, gint, GdkInputCondition); 125 static void toc_callback(gpointer, gint, GdkInputCondition);
123 static unsigned char *roast_password(char *); 126 static unsigned char *roast_password(char *);
124 static void accept_file_dialog(struct ft_request *); 127 static void accept_file_dialog(struct ft_request *);
125 128
827 } 830 }
828 831
829 static void toc_join_chat(struct gaim_connection *g, int exchange, char *name) 832 static void toc_join_chat(struct gaim_connection *g, int exchange, char *name)
830 { 833 {
831 char buf[BUF_LONG]; 834 char buf[BUF_LONG];
835 if (!name) {
836 if (!join_chat_entry || !join_chat_spin)
837 return;
838 name = gtk_entry_get_text(GTK_ENTRY(join_chat_entry));
839 exchange = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(join_chat_spin));
840 if (!name || !strlen(name))
841 return;
842 }
832 g_snprintf(buf, sizeof(buf) / 2, "toc_chat_join %d \"%s\"", exchange, name); 843 g_snprintf(buf, sizeof(buf) / 2, "toc_chat_join %d \"%s\"", exchange, name);
833 sflap_send(g, buf, -1, TYPE_DATA); 844 sflap_send(g, buf, -1, TYPE_DATA);
834 } 845 }
835 846
836 static void toc_chat_invite(struct gaim_connection *g, int id, char *message, char *name) 847 static void toc_chat_invite(struct gaim_connection *g, int id, char *message, char *name)
908 919
909 static void toc_dir_info(GtkObject * obj, char *who) 920 static void toc_dir_info(GtkObject * obj, char *who)
910 { 921 {
911 struct gaim_connection *gc = (struct gaim_connection *)gtk_object_get_user_data(obj); 922 struct gaim_connection *gc = (struct gaim_connection *)gtk_object_get_user_data(obj);
912 serv_get_dir(gc, who); 923 serv_get_dir(gc, who);
924 }
925
926 static void des_jc()
927 {
928 join_chat_entry = NULL;
929 join_chat_spin = NULL;
930 }
931
932 static void toc_draw_join_chat(struct gaim_connection *gc, GtkWidget *fbox) {
933 GtkWidget *label;
934 GtkWidget *rowbox;
935 GtkObject *adjust;
936
937 rowbox = gtk_hbox_new(FALSE, 5);
938 gtk_box_pack_start(GTK_BOX(fbox), rowbox, TRUE, TRUE, 0);
939 gtk_widget_show(rowbox);
940
941 label = gtk_label_new(_("Join what group:"));
942 gtk_box_pack_start(GTK_BOX(rowbox), label, FALSE, FALSE, 0);
943 gtk_signal_connect(GTK_OBJECT(label), "destroy", GTK_SIGNAL_CONNECT(des_jc), NULL);
944 gtk_widget_show(label);
945
946 join_chat_entry = gtk_entry_new();
947 gtk_box_pack_start(GTK_BOX(rowbox), join_chat_entry, TRUE, TRUE, 0);
948 gtk_widget_show(join_chat_entry);
949
950 rowbox = gtk_hbox_new(FALSE, 5);
951 gtk_box_pack_start(GTK_BOX(fbox), rowbox, TRUE, TRUE, 0);
952 gtk_widget_show(rowbox);
953
954 label = gtk_label_new(_("Community:"));
955 gtk_box_pack_start(GTK_BOX(rowbox), label, FALSE, FALSE, 0);
956 gtk_widget_show(label);
957
958 adjust = gtk_adjustment_new(4, 4, 20, 1, 10, 10);
959 join_chat_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0);
960 gtk_widget_set_usize(join_chat_spin, 50, -1);
961 gtk_box_pack_start(GTK_BOX(rowbox), join_chat_spin, FALSE, FALSE, 0);
962 gtk_widget_show(join_chat_spin);
913 } 963 }
914 964
915 static void toc_buddy_menu(GtkWidget *menu, struct gaim_connection *gc, char *who) 965 static void toc_buddy_menu(GtkWidget *menu, struct gaim_connection *gc, char *who)
916 { 966 {
917 GtkWidget *button; 967 GtkWidget *button;
1264 ret->add_deny = toc_add_deny; 1314 ret->add_deny = toc_add_deny;
1265 ret->rem_permit = toc_rem_permit; 1315 ret->rem_permit = toc_rem_permit;
1266 ret->rem_deny = toc_rem_deny; 1316 ret->rem_deny = toc_rem_deny;
1267 ret->set_permit_deny = toc_set_permit_deny; 1317 ret->set_permit_deny = toc_set_permit_deny;
1268 ret->warn = toc_warn; 1318 ret->warn = toc_warn;
1319 ret->draw_join_chat = toc_draw_join_chat;
1269 ret->accept_chat = toc_accept_chat; 1320 ret->accept_chat = toc_accept_chat;
1270 ret->join_chat = toc_join_chat; 1321 ret->join_chat = toc_join_chat;
1271 ret->chat_invite = toc_chat_invite; 1322 ret->chat_invite = toc_chat_invite;
1272 ret->chat_leave = toc_chat_leave; 1323 ret->chat_leave = toc_chat_leave;
1273 ret->chat_whisper = toc_chat_whisper; 1324 ret->chat_whisper = toc_chat_whisper;

mercurial