diff options
| author | Po Lu | 2021-11-10 14:19:15 +0800 |
|---|---|---|
| committer | Po Lu | 2021-11-10 14:19:15 +0800 |
| commit | 9653cbf3558df7c7318cac551e8e5d7ac8e669e2 (patch) | |
| tree | 6fbf6bff295ded1eaedd85a444d5aa24f9dd0a52 | |
| parent | 1e5eb566cc33ae8b38b7d500c17e6912956e947c (diff) | |
| download | emacs-9653cbf3558df7c7318cac551e8e5d7ac8e669e2.tar.gz emacs-9653cbf3558df7c7318cac551e8e5d7ac8e669e2.zip | |
Fix invisible content in WebKit dialogs
* src/xwidget.c (webkit_script_dialog_cb): Use custom label instead of
dialog box title to display message.
| -rw-r--r-- | src/xwidget.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/xwidget.c b/src/xwidget.c index 278dc963231..4da53187068 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -1375,6 +1375,8 @@ webkit_script_dialog_cb (WebKitWebView *webview, | |||
| 1375 | GtkWidget *dialog; | 1375 | GtkWidget *dialog; |
| 1376 | GtkWidget *entry; | 1376 | GtkWidget *entry; |
| 1377 | GtkWidget *content_area; | 1377 | GtkWidget *content_area; |
| 1378 | GtkWidget *box; | ||
| 1379 | GtkWidget *label; | ||
| 1378 | const gchar *content; | 1380 | const gchar *content; |
| 1379 | const gchar *message; | 1381 | const gchar *message; |
| 1380 | gint result; | 1382 | gint result; |
| @@ -1390,23 +1392,32 @@ webkit_script_dialog_cb (WebKitWebView *webview, | |||
| 1390 | content = webkit_script_dialog_get_message (script_dialog); | 1392 | content = webkit_script_dialog_get_message (script_dialog); |
| 1391 | 1393 | ||
| 1392 | if (type == WEBKIT_SCRIPT_DIALOG_ALERT) | 1394 | if (type == WEBKIT_SCRIPT_DIALOG_ALERT) |
| 1393 | dialog = gtk_dialog_new_with_buttons (content, GTK_WINDOW (widget), | 1395 | dialog = gtk_dialog_new_with_buttons ("Alert", GTK_WINDOW (widget), |
| 1394 | GTK_DIALOG_MODAL, | 1396 | GTK_DIALOG_MODAL, |
| 1395 | "Dismiss", 1, NULL); | 1397 | "Dismiss", 1, NULL); |
| 1396 | else | 1398 | else |
| 1397 | dialog = gtk_dialog_new_with_buttons (content, GTK_WINDOW (widget), | 1399 | dialog = gtk_dialog_new_with_buttons ("Question", GTK_WINDOW (widget), |
| 1398 | GTK_DIALOG_MODAL, | 1400 | GTK_DIALOG_MODAL, |
| 1399 | "OK", 0, "Cancel", 1, NULL); | 1401 | "OK", 0, "Cancel", 1, NULL); |
| 1400 | 1402 | ||
| 1403 | box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); | ||
| 1404 | label = gtk_label_new (content); | ||
| 1405 | content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); | ||
| 1406 | gtk_container_add (GTK_CONTAINER (content_area), box); | ||
| 1407 | |||
| 1408 | gtk_widget_show (box); | ||
| 1409 | gtk_widget_show (label); | ||
| 1410 | |||
| 1411 | gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); | ||
| 1412 | |||
| 1401 | if (type == WEBKIT_SCRIPT_DIALOG_PROMPT) | 1413 | if (type == WEBKIT_SCRIPT_DIALOG_PROMPT) |
| 1402 | { | 1414 | { |
| 1403 | entry = gtk_entry_new (); | 1415 | entry = gtk_entry_new (); |
| 1404 | message = webkit_script_dialog_prompt_get_default_text (script_dialog); | 1416 | message = webkit_script_dialog_prompt_get_default_text (script_dialog); |
| 1405 | content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); | ||
| 1406 | 1417 | ||
| 1407 | gtk_widget_show (entry); | 1418 | gtk_widget_show (entry); |
| 1408 | gtk_entry_set_text (GTK_ENTRY (entry), message); | 1419 | gtk_entry_set_text (GTK_ENTRY (entry), message); |
| 1409 | gtk_container_add (GTK_CONTAINER (content_area), entry); | 1420 | gtk_box_pack_end (GTK_BOX (box), entry, TRUE, TRUE, 0); |
| 1410 | } | 1421 | } |
| 1411 | 1422 | ||
| 1412 | result = gtk_dialog_run (GTK_DIALOG (dialog)); | 1423 | result = gtk_dialog_run (GTK_DIALOG (dialog)); |