Mercurial > pidgin.yaz
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 */ |