comparison src/dialogs.c @ 608:e33dfed611c9

[gaim-migrate @ 618] removed modality from the remaining im-window dialogs, and kept -Wall nice and clean while i was at it! :) committer: Tailor Script <tailor@pidgin.im>
author Todd Kulesza <fflewddur>
date Fri, 04 Aug 2000 21:56:18 +0000
parents 01a9c6998719
children 1301715fc119
comparison
equal deleted inserted replaced
607:01a9c6998719 608:e33dfed611c9
69 char *fontname; 69 char *fontname;
70 int smiley_array[FACE_TOTAL]; 70 int smiley_array[FACE_TOTAL];
71 71
72 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */ 72 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */
73 static GList *dialogwindows = NULL; 73 static GList *dialogwindows = NULL;
74 static GtkWidget *linkdialog, *exportdialog, *importdialog, *logdialog; 74 static GtkWidget *exportdialog, *importdialog;
75 75
76 struct create_away { 76 struct create_away {
77 GtkWidget *window; 77 GtkWidget *window;
78 GtkWidget *entry; 78 GtkWidget *entry;
79 GtkWidget *text; 79 GtkWidget *text;
297 set_state_lock(1); 297 set_state_lock(1);
298 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE); 298 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE);
299 set_state_lock(0); 299 set_state_lock(0);
300 c->smiley_dialog = NULL; 300 c->smiley_dialog = NULL;
301 } 301 }
302 else if (!g_strcasecmp(object_data, "log dialog"))
303 {
304 set_state_lock(1);
305 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->wood), FALSE);
306 set_state_lock(0);
307 c->log_dialog = NULL;
308 }
302 309
303 return FALSE; 310 return FALSE;
304 } 311 }
305 312
306 static void destroy_dialog(GtkWidget *w, GtkWidget *w2) 313 static void destroy_dialog(GtkWidget *w, GtkWidget *w2)
318 if (dest == exportdialog) 325 if (dest == exportdialog)
319 exportdialog = NULL; 326 exportdialog = NULL;
320 327
321 if (dest == importdialog) 328 if (dest == importdialog)
322 importdialog = NULL; 329 importdialog = NULL;
323
324 if (dest == logdialog)
325 logdialog = NULL;
326
327 /* if (GTK_COLOR_SELECTION_DIALOG(dest))
328 color_dialog = NULL;*/
329
330 if (dest == linkdialog)
331 linkdialog = NULL;
332
333 /* if (dest == fontdialog)
334 fontdialog = NULL;*/
335 330
336 dialogwindows = g_list_remove(dialogwindows, dest); 331 dialogwindows = g_list_remove(dialogwindows, dest);
337 gtk_widget_destroy(dest); 332 gtk_widget_destroy(dest);
338 333
339 } 334 }
357 if (imdialog) { 352 if (imdialog) {
358 destroy_dialog(NULL, imdialog); 353 destroy_dialog(NULL, imdialog);
359 imdialog = NULL; 354 imdialog = NULL;
360 } 355 }
361 356
362 if (linkdialog) {
363 destroy_dialog(NULL, linkdialog);
364 linkdialog = NULL;
365 }
366 /* is this needed? */
367 /* if (colordialog) {
368 destroy_dialog(NULL, colordialog);
369 colordialog = NULL;
370 }*/
371
372 if (exportdialog) { 357 if (exportdialog) {
373 destroy_dialog(NULL, exportdialog); 358 destroy_dialog(NULL, exportdialog);
374 exportdialog = NULL; 359 exportdialog = NULL;
375 } 360 }
376 361
377 if (importdialog) { 362 if (importdialog) {
378 destroy_dialog(NULL, importdialog); 363 destroy_dialog(NULL, importdialog);
379 importdialog = NULL; 364 importdialog = NULL;
380 } 365 }
381
382 if (logdialog) {
383 destroy_dialog(NULL, logdialog);
384 logdialog = NULL;
385 }
386 /* is this needed? */
387 /* if (fontdialog) {
388 destroy_dialog(NULL, fontdialog);
389 fontdialog = NULL;
390 }*/
391 } 366 }
392 367
393 static void do_warn(GtkWidget *widget, struct warning *w) 368 static void do_warn(GtkWidget *widget, struct warning *w)
394 { 369 {
395 serv_warn(w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ? 370 serv_warn(w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ?
1847 gtk_widget_show(p->window); 1822 gtk_widget_show(p->window);
1848 } 1823 }
1849 1824
1850 1825
1851 /*------------------------------------------------------------------------*/ 1826 /*------------------------------------------------------------------------*/
1852 /* Function Called To Add A Log */ 1827 /* Functions Called To Add A Log */
1853 /*------------------------------------------------------------------------*/ 1828 /*------------------------------------------------------------------------*/
1854 1829
1855 void do_log(GtkWidget *w, char *name) 1830 void cancel_log(GtkWidget *widget, struct conversation *c)
1831 {
1832 if (c->wood)
1833 {
1834 set_state_lock(1);
1835 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->wood), FALSE);
1836 set_state_lock(0);
1837 }
1838 dialogwindows = g_list_remove(dialogwindows, c->log_dialog);
1839 gtk_widget_destroy(c->log_dialog);
1840 c->log_dialog = NULL;
1841 }
1842
1843 void do_log(GtkWidget *w, struct conversation *c)
1856 { 1844 {
1857 struct log_conversation *l; 1845 struct log_conversation *l;
1858 struct conversation *c;
1859 char buf[128]; 1846 char buf[128];
1860 1847
1861 c = find_conversation(name); 1848 if (!find_log_info(c->name)) {
1862 if (!find_log_info(name)) {
1863 l = (struct log_conversation *)g_new0(struct log_conversation, 1); 1849 l = (struct log_conversation *)g_new0(struct log_conversation, 1);
1864 strcpy(l->name, name); 1850 strcpy(l->name, c->name);
1865 strcpy(l->filename, gtk_file_selection_get_filename(GTK_FILE_SELECTION(logdialog))); 1851 strcpy(l->filename, gtk_file_selection_get_filename(GTK_FILE_SELECTION(c->log_dialog)));
1866 log_conversations = g_list_append(log_conversations, l); 1852 log_conversations = g_list_append(log_conversations, l);
1867 1853
1868 if (c != NULL) 1854 if (c != NULL)
1869 { 1855 {
1870 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, c->name); 1856 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, c->name);
1871 gtk_window_set_title(GTK_WINDOW(c->window), buf); 1857 gtk_window_set_title(GTK_WINDOW(c->window), buf);
1872 } 1858 }
1873 } 1859 }
1874 1860
1875 save_prefs(); 1861 save_prefs();
1876 1862 cancel_log(NULL, c);
1877 destroy_dialog(NULL, logdialog);
1878 logdialog = NULL;
1879 } 1863 }
1880 1864
1865 /*
1881 static void cancel_log(GtkWidget *w, char *name) 1866 static void cancel_log(GtkWidget *w, char *name)
1882 { 1867 {
1883 1868
1884 struct conversation *c = gtk_object_get_user_data(GTK_OBJECT(logdialog)); 1869 struct conversation *c = gtk_object_get_user_data(GTK_OBJECT(logdialog));
1885 1870
1889 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->log_button), FALSE); 1874 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->log_button), FALSE);
1890 set_state_lock(0); 1875 set_state_lock(0);
1891 } 1876 }
1892 destroy_dialog(NULL, logdialog); 1877 destroy_dialog(NULL, logdialog);
1893 } 1878 }
1894 1879 */
1895 void show_log_dialog(char *bname) 1880
1881 void show_log_dialog(struct conversation *c)
1896 { 1882 {
1897 char *buf = g_malloc(BUF_LEN); 1883 char *buf = g_malloc(BUF_LEN);
1898 struct conversation *c = find_conversation(bname); 1884
1899 1885 if (!c->log_dialog) {
1900 1886 c->log_dialog = gtk_file_selection_new(_("Gaim - Log Conversation"));
1901 if (!logdialog) {
1902 logdialog = gtk_file_selection_new(_("Gaim - Log Conversation"));
1903 1887
1904 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(logdialog)); 1888 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(c->log_dialog));
1905
1906 gtk_object_set_user_data(GTK_OBJECT(logdialog), c);
1907 1889
1908 g_snprintf(buf, BUF_LEN - 1, "%s/%s.log", getenv("HOME"), bname); 1890 g_snprintf(buf, BUF_LEN - 1, "%s/%s.log", getenv("HOME"), c->name);
1909 1891 gtk_object_set_user_data(GTK_OBJECT(c->log_dialog), "log dialog");
1910 gtk_file_selection_set_filename(GTK_FILE_SELECTION(logdialog), buf); 1892 gtk_file_selection_set_filename(GTK_FILE_SELECTION(c->log_dialog), buf);
1911 gtk_signal_connect(GTK_OBJECT(logdialog), "delete_event", GTK_SIGNAL_FUNC(cancel_log), c); 1893 gtk_signal_connect(GTK_OBJECT(c->log_dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_dialog), c);
1912 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(logdialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_log), bname); 1894 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_log), c);
1913 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(logdialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(cancel_log), bname); 1895 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(cancel_log), c);
1914 } 1896 }
1915 1897
1916 g_free(buf); 1898 g_free(buf);
1917 1899
1918 gtk_widget_show(logdialog); 1900 gtk_widget_show(c->log_dialog);
1919 gdk_window_raise(logdialog->window); 1901 gdk_window_raise(c->log_dialog->window);
1920 } 1902 }
1921 1903
1922 /*------------------------------------------------------*/ 1904 /*------------------------------------------------------*/
1923 /* Find Buddy By Email */ 1905 /* Find Buddy By Email */
1924 /*------------------------------------------------------*/ 1906 /*------------------------------------------------------*/
2183 2165
2184 /*------------------------------------------------------*/ 2166 /*------------------------------------------------------*/
2185 /* Link Dialog */ 2167 /* Link Dialog */
2186 /*------------------------------------------------------*/ 2168 /*------------------------------------------------------*/
2187 2169
2188 void cancel_link(GtkWidget *widget, struct linkdlg *b) 2170 void cancel_link(GtkWidget *widget, struct conversation *c)
2189 { 2171 {
2190 if (b->toggle) { 2172 if (c->link) {
2191 set_state_lock(1); 2173 set_state_lock(1);
2192 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->toggle), FALSE); 2174 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->link), FALSE);
2193 set_state_lock(0); 2175 set_state_lock(0);
2194 } 2176 }
2195 destroy_dialog(NULL, b->window); 2177 destroy_dialog(NULL, c->link_dialog);
2178 c->link_dialog = NULL;
2196 } 2179 }
2197 2180
2198 void do_add_link(GtkWidget *widget, struct linkdlg *b) 2181 void do_add_link(GtkWidget *widget, struct linkdlg *b)
2199 { 2182 {
2200 char *open_tag; 2183 char *open_tag;
2211 g_free(open_tag); 2194 g_free(open_tag);
2212 destroy_dialog(NULL, b->window); 2195 destroy_dialog(NULL, b->window);
2213 } 2196 }
2214 2197
2215 2198
2216 void show_add_link(GtkWidget *entry, GtkWidget *link) 2199 void show_add_link(GtkWidget *linky, struct conversation *c)
2217 { 2200 {
2218 GtkWidget *vbox; 2201 GtkWidget *vbox;
2219 GtkWidget *bbox; 2202 GtkWidget *bbox;
2220 GtkWidget *hbox; 2203 GtkWidget *hbox;
2221 GtkWidget *label; 2204 GtkWidget *label;
2222 GtkWidget *frame; 2205 GtkWidget *frame;
2223 GtkWidget *fbox; 2206 GtkWidget *fbox;
2224 2207
2225 if (!linkdialog) { 2208 if (!c->link_dialog) {
2226 struct linkdlg *b = g_new0(struct linkdlg, 1); 2209 struct linkdlg *b = g_new0(struct linkdlg, 1);
2227 linkdialog = gtk_window_new(GTK_WINDOW_DIALOG); 2210 c->link_dialog = gtk_window_new(GTK_WINDOW_DIALOG);
2228 dialogwindows = g_list_prepend(dialogwindows, linkdialog); 2211 dialogwindows = g_list_prepend(dialogwindows, c->link_dialog);
2229 2212
2230 gtk_widget_set_usize(linkdialog, 270, 165); 2213 gtk_widget_set_usize(c->link_dialog, 270, 165);
2231 gtk_window_set_policy(GTK_WINDOW(linkdialog), FALSE, FALSE, TRUE); 2214 gtk_window_set_policy(GTK_WINDOW(c->link_dialog), FALSE, FALSE, TRUE);
2232 gtk_widget_show(linkdialog); 2215 gtk_widget_show(c->link_dialog);
2233 2216
2234 vbox = gtk_vbox_new(FALSE, 10); 2217 vbox = gtk_vbox_new(FALSE, 10);
2235 bbox = gtk_hbox_new(TRUE, 10); 2218 bbox = gtk_hbox_new(TRUE, 10);
2236 frame = gtk_frame_new(_("Insert Link")); 2219 frame = gtk_frame_new(_("Insert Link"));
2237 fbox = gtk_vbox_new(FALSE, 5); 2220 fbox = gtk_vbox_new(FALSE, 5);
2238 2221
2239 /* Build OK Button */ 2222 /* Build OK Button */
2240 2223
2241 b->ok = picture_button(linkdialog, _("OK"), ok_xpm); 2224 b->ok = picture_button(c->link_dialog, _("OK"), ok_xpm);
2242 b->cancel = picture_button(linkdialog, _("Cancel"), cancel_xpm); 2225 b->cancel = picture_button(c->link_dialog, _("Cancel"), cancel_xpm);
2243 2226
2244 gtk_box_pack_start(GTK_BOX(bbox), b->ok, FALSE, FALSE, 10); 2227 gtk_box_pack_start(GTK_BOX(bbox), b->ok, FALSE, FALSE, 10);
2245 gtk_box_pack_end(GTK_BOX(bbox), b->cancel, FALSE, FALSE, 10); 2228 gtk_box_pack_end(GTK_BOX(bbox), b->cancel, FALSE, FALSE, 10);
2246 gtk_widget_show(bbox); 2229 gtk_widget_show(bbox);
2247 2230
2272 gtk_container_add(GTK_CONTAINER(frame), vbox); 2255 gtk_container_add(GTK_CONTAINER(frame), vbox);
2273 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5); 2256 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5);
2274 gtk_box_pack_start(GTK_BOX(fbox), bbox, TRUE, TRUE, 5); 2257 gtk_box_pack_start(GTK_BOX(fbox), bbox, TRUE, TRUE, 5);
2275 gtk_widget_show(vbox); 2258 gtk_widget_show(vbox);
2276 2259
2277 gtk_signal_connect(GTK_OBJECT(linkdialog), "destroy", 2260 gtk_signal_connect(GTK_OBJECT(c->link_dialog), "destroy",
2278 GTK_SIGNAL_FUNC(cancel_link), b); 2261 GTK_SIGNAL_FUNC(cancel_link), c);
2279 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", 2262 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked",
2280 GTK_SIGNAL_FUNC(cancel_link), b); 2263 GTK_SIGNAL_FUNC(cancel_link), c);
2281 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", 2264 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked",
2282 GTK_SIGNAL_FUNC(do_add_link), b); 2265 GTK_SIGNAL_FUNC(do_add_link), b);
2283 2266
2284 gtk_container_add(GTK_CONTAINER(linkdialog ), fbox); 2267 gtk_container_add(GTK_CONTAINER(c->link_dialog ), fbox);
2285 gtk_container_border_width(GTK_CONTAINER(linkdialog ), 10); 2268 gtk_container_border_width(GTK_CONTAINER(c->link_dialog ), 10);
2286 gtk_window_set_title(GTK_WINDOW(linkdialog ), _("GAIM - Add URL")); 2269 gtk_window_set_title(GTK_WINDOW(c->link_dialog ), _("GAIM - Add URL"));
2287 gtk_window_set_focus(GTK_WINDOW(linkdialog ), b->url); 2270 gtk_window_set_focus(GTK_WINDOW(c->link_dialog ), b->url);
2288 b->window = linkdialog; 2271 b->window = c->link_dialog;
2289 b->toggle = link; 2272 b->toggle = linky;
2290 b->entry = entry; 2273 b->entry = c->entry;
2291 gtk_widget_realize(linkdialog); 2274 gtk_widget_realize(c->link_dialog);
2292 aol_icon(linkdialog->window); 2275 aol_icon(c->link_dialog->window);
2293 2276
2294 } 2277 }
2295 2278
2296 gtk_widget_show(linkdialog); 2279 gtk_widget_show(c->link_dialog);
2297 gdk_window_raise(linkdialog->window); 2280 gdk_window_raise(c->link_dialog->window);
2298 } 2281 }
2299 2282
2300 2283
2301 /*------------------------------------------------------*/ 2284 /*------------------------------------------------------*/
2302 /* Color Selection Dialog */ 2285 /* Color Selection Dialog */