comparison src/dialogs.c @ 1144:b1454d019277

[gaim-migrate @ 1154] yay. the UI for the permit/deny stuff is done. the rest should be easy. :-P committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 27 Nov 2000 12:45:03 +0000
parents 8f4ce8b74901
children 428372cc1e39
comparison
equal deleted inserted replaced
1143:403989ecc1cc 1144:b1454d019277
103 struct gaim_connection *gc; 103 struct gaim_connection *gc;
104 }; 104 };
105 105
106 struct addperm { 106 struct addperm {
107 GtkWidget *window; 107 GtkWidget *window;
108 GSList *buttons;
109 GtkWidget *entry; 108 GtkWidget *entry;
110 struct gaim_connection *gc; 109 struct gaim_connection *gc;
110 gboolean permit;
111 }; 111 };
112 112
113 struct addbp { 113 struct addbp {
114 GtkWidget *window; 114 GtkWidget *window;
115 GtkWidget *nameentry; 115 GtkWidget *nameentry;
1826 { 1826 {
1827 1827
1828 char *who; 1828 char *who;
1829 char *name; 1829 char *name;
1830 int d = 0; 1830 int d = 0;
1831 GSList *buttons = p->buttons;
1832 1831
1833 1832
1834 who = gtk_entry_get_text(GTK_ENTRY(p->entry)); 1833 who = gtk_entry_get_text(GTK_ENTRY(p->entry));
1835 1834
1836 name = g_malloc(strlen(who) + 2); 1835 name = g_malloc(strlen(who) + 2);
1837 g_snprintf(name, strlen(who) + 2, "%s", who); 1836 g_snprintf(name, strlen(who) + 2, "%s", who);
1838 1837
1839 while(buttons) { 1838 if (!p->permit) {
1840 if((int)gtk_object_get_user_data(GTK_OBJECT(buttons->data)) == 1) {
1841 if (GTK_TOGGLE_BUTTON(buttons->data)->active)
1842 d = 1;
1843 }
1844 buttons = buttons->next;
1845 }
1846
1847 if (d) {
1848 GSList *d = p->gc->deny; 1839 GSList *d = p->gc->deny;
1849 char *n; 1840 char *n;
1850 n = g_strdup(normalize(name)); 1841 n = g_strdup(normalize(name));
1851 while (d) { 1842 while (d) {
1852 if (!strcasecmp(n, normalize(d->data))) 1843 if (!strcasecmp(n, normalize(d->data)))
1883 destroy_dialog(NULL, p->window); 1874 destroy_dialog(NULL, p->window);
1884 } 1875 }
1885 1876
1886 1877
1887 1878
1888 void show_add_perm(struct gaim_connection *gc, char *who) 1879 void show_add_perm(struct gaim_connection *gc, char *who, gboolean permit)
1889 { 1880 {
1890 GtkWidget *cancel; 1881 GtkWidget *cancel;
1891 GtkWidget *add; 1882 GtkWidget *add;
1892 GtkWidget *label; 1883 GtkWidget *label;
1893 GtkWidget *bbox; 1884 GtkWidget *bbox;
1894 GtkWidget *vbox; 1885 GtkWidget *vbox;
1895 GtkWidget *rbox;
1896 GtkWidget *topbox; 1886 GtkWidget *topbox;
1897 GtkWidget *which;
1898 GtkWidget *frame; 1887 GtkWidget *frame;
1899 1888
1900 struct addperm *p = g_new0(struct addperm, 1); 1889 struct addperm *p = g_new0(struct addperm, 1);
1901 p->gc = gc; 1890 p->gc = gc;
1891 p->permit = permit;
1902 1892
1903 p->window = gtk_window_new(GTK_WINDOW_DIALOG); 1893 p->window = gtk_window_new(GTK_WINDOW_DIALOG);
1904 gtk_container_set_border_width(GTK_CONTAINER(p->window), 5); 1894 gtk_container_set_border_width(GTK_CONTAINER(p->window), 5);
1905 gtk_widget_set_usize(p->window, 310, 130);
1906 gtk_window_set_policy(GTK_WINDOW(p->window), FALSE, FALSE, TRUE); 1895 gtk_window_set_policy(GTK_WINDOW(p->window), FALSE, FALSE, TRUE);
1907 gtk_widget_show(p->window); 1896 gtk_widget_realize(p->window);
1908 1897
1909 dialogwindows = g_list_prepend(dialogwindows, p->window); 1898 dialogwindows = g_list_prepend(dialogwindows, p->window);
1910 1899
1911 bbox = gtk_hbox_new(TRUE, 10); 1900 bbox = gtk_hbox_new(TRUE, 10);
1912 topbox = gtk_hbox_new(FALSE, 5); 1901 topbox = gtk_hbox_new(FALSE, 5);
1913 vbox = gtk_vbox_new(FALSE, 5); 1902 vbox = gtk_vbox_new(FALSE, 5);
1914 rbox = gtk_vbox_new(FALSE, 5);
1915 p->entry = gtk_entry_new(); 1903 p->entry = gtk_entry_new();
1916 1904
1917 frame = gtk_frame_new(_("Permit / Deny")); 1905 if (permit)
1906 frame = gtk_frame_new(_("Permit"));
1907 else
1908 frame = gtk_frame_new(_("Deny"));
1918 1909
1919 /* Build Add Button */ 1910 /* Build Add Button */
1920 1911
1921 add = picture_button(p->window, _("Add"), add_xpm); 1912 if (permit)
1913 add = picture_button(p->window, _("Permit"), add_xpm);
1914 else
1915 add = picture_button(p->window, _("Deny"), add_xpm);
1922 cancel = picture_button(p->window, _("Cancel"), cancel_xpm); 1916 cancel = picture_button(p->window, _("Cancel"), cancel_xpm);
1923 1917
1924 /* End of Cancel Button */ 1918 /* End of Cancel Button */
1925 if (who != NULL) 1919 if (who != NULL)
1926 gtk_entry_set_text(GTK_ENTRY(p->entry), who); 1920 gtk_entry_set_text(GTK_ENTRY(p->entry), who);
1927 1921
1928 which = gtk_radio_button_new_with_label(NULL, _("Deny"));
1929 gtk_box_pack_start(GTK_BOX(rbox), which, FALSE, FALSE, 0);
1930 gtk_object_set_user_data(GTK_OBJECT(which), (int *)1);
1931 gtk_widget_show(which);
1932
1933 which = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(which)), _("Permit"));
1934 gtk_box_pack_start(GTK_BOX(rbox), which, FALSE, FALSE, 0);
1935 gtk_object_set_user_data(GTK_OBJECT(which), (int *)2);
1936 gtk_widget_show(which);
1937
1938 /* Put the buttons in the box */ 1922 /* Put the buttons in the box */
1939 1923
1940 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); 1924 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5);
1941 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); 1925 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5);
1942 1926
1943 label = gtk_label_new(_("Add")); 1927 label = gtk_label_new(_("Add"));
1944 gtk_widget_show(label); 1928 gtk_widget_show(label);
1945 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); 1929 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5);
1946 gtk_box_pack_start(GTK_BOX(topbox), p->entry, FALSE, FALSE, 5); 1930 gtk_box_pack_start(GTK_BOX(topbox), p->entry, FALSE, FALSE, 5);
1947 gtk_box_pack_start(GTK_BOX(topbox), rbox, FALSE, FALSE, 5);
1948 /* And the boxes in the box */ 1931 /* And the boxes in the box */
1949 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); 1932 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5);
1950 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); 1933 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5);
1951 gtk_container_add(GTK_CONTAINER(frame), vbox); 1934 gtk_container_add(GTK_CONTAINER(frame), vbox);
1952 1935
1953 1936
1954 p->buttons = gtk_radio_button_group(GTK_RADIO_BUTTON(which));
1955 /* Handle closes right */ 1937 /* Handle closes right */
1956 gtk_signal_connect(GTK_OBJECT(p->window), "destroy", 1938 gtk_signal_connect(GTK_OBJECT(p->window), "destroy",
1957 GTK_SIGNAL_FUNC(destroy_dialog), p->window); 1939 GTK_SIGNAL_FUNC(destroy_dialog), p->window);
1958 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", 1940 gtk_signal_connect(GTK_OBJECT(cancel), "clicked",
1959 GTK_SIGNAL_FUNC(destroy_dialog), p->window); 1941 GTK_SIGNAL_FUNC(destroy_dialog), p->window);
1967 gtk_widget_show(cancel); 1949 gtk_widget_show(cancel);
1968 gtk_widget_show(p->entry); 1950 gtk_widget_show(p->entry);
1969 gtk_widget_show(topbox); 1951 gtk_widget_show(topbox);
1970 gtk_widget_show(bbox); 1952 gtk_widget_show(bbox);
1971 gtk_widget_show(vbox); 1953 gtk_widget_show(vbox);
1972 gtk_widget_show(rbox);
1973 gtk_widget_show(frame); 1954 gtk_widget_show(frame);
1974 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Permit/Deny")); 1955 if (permit)
1956 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Permit"));
1957 else
1958 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Deny"));
1975 gtk_window_set_focus(GTK_WINDOW(p->window), p->entry); 1959 gtk_window_set_focus(GTK_WINDOW(p->window), p->entry);
1976 gtk_container_add(GTK_CONTAINER(p->window), frame); 1960 gtk_container_add(GTK_CONTAINER(p->window), frame);
1977 gtk_widget_realize(p->window); 1961 gtk_widget_realize(p->window);
1978 aol_icon(p->window->window); 1962 aol_icon(p->window->window);
1979 1963