Mercurial > pidgin
comparison src/dialogs.c @ 7949:b356e2a9d7fc
[gaim-migrate @ 8623]
Add scrollbars to the text input widgets for away messages and conversations.
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Mon, 29 Dec 2003 05:14:16 +0000 |
| parents | 3e268e113bf1 |
| children | 1b8261f374ea |
comparison
equal
deleted
inserted
replaced
| 7948:68c3dcba7310 | 7949:b356e2a9d7fc |
|---|---|
| 1215 g_free(ca); | 1215 g_free(ca); |
| 1216 } | 1216 } |
| 1217 | 1217 |
| 1218 void create_away_mess(GtkWidget *widget, void *dummy) | 1218 void create_away_mess(GtkWidget *widget, void *dummy) |
| 1219 { | 1219 { |
| 1220 GtkWidget *hbox; | 1220 GtkWidget *vbox, *hbox; |
| 1221 GtkWidget *titlebox; | |
| 1222 GtkWidget *tbox; | |
| 1223 GtkWidget *label; | 1221 GtkWidget *label; |
| 1224 GtkWidget *frame; | 1222 GtkWidget *sw; |
| 1225 GtkWidget *fbox; | |
| 1226 GtkWidget *button; | 1223 GtkWidget *button; |
| 1227 | 1224 |
| 1228 struct create_away *ca = g_new0(struct create_away, 1); | 1225 struct create_away *ca = g_new0(struct create_away, 1); |
| 1229 | 1226 |
| 1230 /* Set up window */ | 1227 /* Set up window */ |
| 1231 GAIM_DIALOG(ca->window); | 1228 GAIM_DIALOG(ca->window); |
| 1232 gtk_widget_set_size_request(ca->window, -1, 250); | 1229 gtk_widget_set_size_request(ca->window, -1, 250); |
| 1233 gtk_container_set_border_width(GTK_CONTAINER(ca->window), 5); | 1230 gtk_container_set_border_width(GTK_CONTAINER(ca->window), 6); |
| 1234 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess"); | 1231 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess"); |
| 1235 gtk_window_set_title(GTK_WINDOW(ca->window), _("New away message")); | 1232 gtk_window_set_title(GTK_WINDOW(ca->window), _("New away message")); |
| 1236 g_signal_connect(G_OBJECT(ca->window), "delete_event", | 1233 g_signal_connect(G_OBJECT(ca->window), "delete_event", |
| 1237 G_CALLBACK(destroy_dialog), ca->window); | 1234 G_CALLBACK(destroy_dialog), ca->window); |
| 1238 | 1235 |
| 1239 tbox = gtk_vbox_new(FALSE, 5); | 1236 /* |
| 1240 gtk_container_add(GTK_CONTAINER(ca->window), tbox); | 1237 * This would be higgy... but I think it's pretty ugly --Mark |
| 1241 | 1238 * If you want to use this, make sure you add the vbox to the hbox below |
| 1242 frame = gtk_frame_new(_("New away message")); | 1239 */ |
| 1243 gtk_box_pack_start(GTK_BOX(tbox), frame, TRUE, TRUE, 0); | 1240 /* |
| 1244 | 1241 hbox = gtk_hbox_new(FALSE, 12); |
| 1245 fbox = gtk_vbox_new(FALSE, 5); | 1242 gtk_container_set_border_width(GTK_CONTAINER(hbox), 12); |
| 1246 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); | 1243 gtk_container_add(GTK_CONTAINER(ca->window), hbox); |
| 1247 gtk_container_add(GTK_CONTAINER(frame), fbox); | 1244 */ |
| 1248 | 1245 |
| 1249 titlebox = gtk_hbox_new(FALSE, 5); | 1246 vbox = gtk_vbox_new(FALSE, 12); |
| 1250 gtk_box_pack_start(GTK_BOX(fbox), titlebox, FALSE, FALSE, 0); | 1247 gtk_container_add(GTK_CONTAINER(ca->window), vbox); |
| 1248 | |
| 1249 /* Away message title */ | |
| 1250 hbox = gtk_hbox_new(FALSE, 0); | |
| 1251 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 1251 | 1252 |
| 1252 label = gtk_label_new(_("Away title: ")); | 1253 label = gtk_label_new(_("Away title: ")); |
| 1253 gtk_box_pack_start(GTK_BOX(titlebox), label, FALSE, FALSE, 0); | 1254 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1254 | 1255 |
| 1255 ca->entry = gtk_entry_new(); | 1256 ca->entry = gtk_entry_new(); |
| 1256 gtk_box_pack_start(GTK_BOX(titlebox), ca->entry, TRUE, TRUE, 0); | 1257 gtk_box_pack_start(GTK_BOX(hbox), ca->entry, TRUE, TRUE, 0); |
| 1257 gtk_widget_grab_focus(ca->entry); | 1258 gtk_widget_grab_focus(ca->entry); |
| 1258 | 1259 |
| 1259 frame = gtk_frame_new(NULL); | 1260 /* Away message text */ |
| 1260 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); | 1261 sw = gtk_scrolled_window_new(NULL, NULL); |
| 1261 gtk_box_pack_start(GTK_BOX(fbox), frame, TRUE, TRUE, 0); | 1262 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
| 1263 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
| 1264 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); | |
| 1265 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); | |
| 1262 | 1266 |
| 1263 ca->text = gtk_text_view_new(); | 1267 ca->text = gtk_text_view_new(); |
| 1264 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(ca->text), GTK_WRAP_WORD_CHAR); | 1268 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(ca->text), GTK_WRAP_WORD_CHAR); |
| 1265 | 1269 |
| 1266 if (gaim_prefs_get_bool("/gaim/gtk/conversations/spellcheck")) | 1270 if (gaim_prefs_get_bool("/gaim/gtk/conversations/spellcheck")) |
| 1267 gaim_gtk_setup_gtkspell(GTK_TEXT_VIEW(ca->text)); | 1271 gaim_gtk_setup_gtkspell(GTK_TEXT_VIEW(ca->text)); |
| 1268 | 1272 |
| 1269 gtk_container_add(GTK_CONTAINER(frame), ca->text); | 1273 gtk_container_add(GTK_CONTAINER(sw), ca->text); |
| 1270 | 1274 |
| 1271 if (dummy) { | 1275 if (dummy) { |
| 1272 struct away_message *amt; | 1276 struct away_message *amt; |
| 1273 GtkTreeIter iter; | 1277 GtkTreeIter iter; |
| 1274 int pos = 0; | 1278 int pos = 0; |
| 1289 | 1293 |
| 1290 ca->mess = amt; | 1294 ca->mess = amt; |
| 1291 } | 1295 } |
| 1292 | 1296 |
| 1293 hbox = gtk_hbox_new(FALSE, 5); | 1297 hbox = gtk_hbox_new(FALSE, 5); |
| 1294 gtk_box_pack_start(GTK_BOX(tbox), hbox, FALSE, FALSE, 0); | 1298 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 1295 | 1299 |
| 1296 button = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); | 1300 button = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); |
| 1297 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(save_away_mess), ca); | 1301 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(save_away_mess), ca); |
| 1298 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | 1302 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
| 1299 | 1303 |
