diff src/dialogs.c @ 577:aa9a8bcddd80

[gaim-migrate @ 587] add group button. need pixmaps. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Wed, 02 Aug 2000 02:28:28 +0000
parents 93c65fbaa622
children 7b501c39a6ee
line wrap: on
line diff
--- a/src/dialogs.c	Wed Aug 02 00:19:28 2000 +0000
+++ b/src/dialogs.c	Wed Aug 02 02:28:28 2000 +0000
@@ -928,6 +928,25 @@
         destroy_dialog(NULL, a->window);
 }
 
+void do_add_group(GtkWidget *w, struct addbuddy *a)
+{
+	char *grp;
+
+	grp = gtk_entry_get_text(GTK_ENTRY(a->entry));
+
+	add_group(grp);
+
+	build_edit_tree();
+
+	serv_save_config();
+
+	do_export( (GtkWidget *) NULL, 0 );
+
+	update_num_groups();
+
+	destroy_dialog(NULL, a->window);
+}
+
 
 static GList *groups_tree()
 {
@@ -951,6 +970,130 @@
 }
 
 
+void show_add_group()
+{
+	GtkWidget *cancel;
+	GtkWidget *add;
+	GtkWidget *label;
+	GtkWidget *bbox;
+	GtkWidget *vbox;
+        GtkWidget *topbox;
+	GtkWidget *frame;
+	GtkWidget *icon_i;
+	GdkBitmap *mask;
+	GdkPixmap *icon;
+	GtkWidget *button_box;
+
+        struct addbuddy *a = g_new0(struct addbuddy, 1);
+        
+        a->window = gtk_window_new(GTK_WINDOW_DIALOG);
+	gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE);
+	gtk_widget_show(a->window);
+	dialogwindows = g_list_prepend(dialogwindows, a->window);
+
+	bbox = gtk_hbox_new(TRUE, 10);
+        topbox = gtk_hbox_new(FALSE, 5);
+        vbox = gtk_vbox_new(FALSE, 5);
+
+        a->entry = gtk_entry_new();
+        /* Put the buttons in the box */
+
+	/* Build Add Button */
+
+	add = gtk_button_new();
+
+	if (display_options & OPT_DISP_COOL_LOOK)
+		gtk_button_set_relief(GTK_BUTTON(add), GTK_RELIEF_NONE);
+		
+	button_box = gtk_hbox_new(FALSE, 5);
+	icon = gdk_pixmap_create_from_xpm_d ( a->window->window, &mask, NULL, add_xpm);
+	icon_i = gtk_pixmap_new(icon, mask);
+	
+	label = gtk_label_new(_("Add"));
+
+	gtk_box_pack_start(GTK_BOX(button_box), icon_i, FALSE, FALSE, 2);
+	gtk_box_pack_end(GTK_BOX(button_box), label, FALSE, FALSE, 2);
+
+	gtk_widget_show(label);
+	gtk_widget_show(icon_i);
+
+	gtk_widget_show(button_box);
+
+	gtk_container_add(GTK_CONTAINER(add), button_box);
+
+	/* End of OK Button */
+	
+	/* Build Cancel Button */
+
+	cancel = gtk_button_new();
+
+	if (display_options & OPT_DISP_COOL_LOOK)
+		gtk_button_set_relief(GTK_BUTTON(cancel), GTK_RELIEF_NONE);
+		
+	button_box = gtk_hbox_new(FALSE, 5);
+	icon = gdk_pixmap_create_from_xpm_d ( a->window->window, &mask, NULL, cancel_xpm);
+	icon_i = gtk_pixmap_new(icon, mask);
+	
+	label = gtk_label_new(_("Cancel"));
+
+	gtk_box_pack_start(GTK_BOX(button_box), icon_i, FALSE, FALSE, 2);
+	gtk_box_pack_end(GTK_BOX(button_box), label, FALSE, FALSE, 2);
+
+	gtk_widget_show(label);
+	gtk_widget_show(icon_i);
+
+	gtk_widget_show(button_box);
+
+	gtk_container_add(GTK_CONTAINER(cancel), button_box);
+	
+	/* End of Cancel Button */
+
+	gtk_widget_set_usize(add, 75, 30);
+	gtk_widget_set_usize(cancel, 75, 30);
+	
+        gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5);
+        gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5);
+
+	frame = gtk_frame_new(NULL);
+	gtk_frame_set_label(GTK_FRAME(frame), _("Add Group"));
+
+        label = gtk_label_new(_("Group"));
+        gtk_widget_show(label);
+        gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5);
+        gtk_box_pack_start(GTK_BOX(topbox), a->entry, FALSE, FALSE, 5);
+
+        /* And the boxes in the box */
+        gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5);
+        gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5);
+
+        /* Handle closes right */
+        gtk_signal_connect(GTK_OBJECT(a->window), "destroy",
+                           GTK_SIGNAL_FUNC(destroy_dialog), a->window);
+        gtk_signal_connect(GTK_OBJECT(cancel), "clicked",
+                           GTK_SIGNAL_FUNC(destroy_dialog), a->window);
+        gtk_signal_connect(GTK_OBJECT(add), "clicked",
+                           GTK_SIGNAL_FUNC(do_add_group), a);
+        gtk_signal_connect(GTK_OBJECT(a->entry), "activate",
+                           GTK_SIGNAL_FUNC(do_add_group), a);
+        /* Finish up */
+        gtk_widget_show(add);
+        gtk_widget_show(cancel);
+        gtk_widget_show(a->entry);
+        gtk_widget_show(topbox);
+        gtk_widget_show(bbox);
+        gtk_widget_show(vbox);
+	gtk_widget_show(frame);
+        gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Buddy"));
+        gtk_window_set_focus(GTK_WINDOW(a->window), a->entry);
+	gtk_container_add(GTK_CONTAINER(frame), vbox);
+        gtk_container_add(GTK_CONTAINER(a->window), frame);
+	gtk_container_set_border_width(GTK_CONTAINER(a->window), 5);
+        gtk_widget_realize(a->window);
+        aol_icon(a->window->window);
+
+	gtk_widget_show(a->window);
+}
+
 void show_add_buddy(char *buddy, char *group)
 {
 	GtkWidget *cancel;