--- a/pidgin/gtkrequest.c Thu Nov 02 22:44:16 2023 -0500
+++ b/pidgin/gtkrequest.c Thu Nov 02 22:46:31 2023 -0500
@@ -21,8 +21,6 @@
#include <glib/gi18n-lib.h>
@@ -32,6 +30,7 @@
#include "pidginaccountfilterconnected.h"
#include "pidginaccountrow.h"
+#include "pidgintextbuffer.h" #include <gdk/gdkkeysyms.h>
@@ -120,25 +119,25 @@
generic_response_start(data);
- if (data->u.input.multiline || purple_strequal(data->u.input.hint, "html")) {
- GtkTextBuffer *buffer =
- gtk_text_view_get_buffer(GTK_TEXT_VIEW(data->u.input.entry));
+ if(data->u.input.multiline || purple_strequal(data->u.input.hint, "html")) { + GtkTextBuffer *buffer = NULL; + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(data->u.input.entry)); if (purple_strequal(data->u.input.hint, "html")) {
- multiline_value = talkatu_markup_get_html(buffer, NULL);
+ multiline_value = pidgin_text_buffer_get_html(buffer); GtkTextIter start_iter, end_iter;
gtk_text_buffer_get_start_iter(buffer, &start_iter);
gtk_text_buffer_get_end_iter(buffer, &end_iter);
- multiline_value = gtk_text_buffer_get_text(buffer, &start_iter, &end_iter,
+ multiline_value = gtk_text_buffer_get_text(buffer, &start_iter,
value = gtk_editable_get_text(GTK_EDITABLE(data->u.input.entry));
@@ -494,37 +493,34 @@
data->u.input.hint = g_strdup(hint);
if(multiline || purple_strequal(data->u.input.hint, "html")) {
- GtkWidget *editor = talkatu_editor_new();
- GtkWidget *input = talkatu_editor_get_input(TALKATU_EDITOR(editor));
+ GtkWidget *view = NULL; GtkTextBuffer *buffer = NULL;
- gtk_widget_set_size_request(input, 320, 130);
- gtk_widget_set_name(input, "pidgin_request_input");
- gtk_widget_set_vexpand(editor, TRUE);
- gtk_box_append(GTK_BOX(vbox), editor);
- if (purple_strequal(data->u.input.hint, "html")) {
- GSimpleActionGroup *ag = NULL;
- ag = talkatu_action_group_new(TALKATU_FORMAT_HTML);
- buffer = talkatu_buffer_new(ag);
- talkatu_action_group_set_buffer(TALKATU_ACTION_GROUP(ag), buffer);
- if(default_value != NULL) {
- talkatu_markup_set_html(TALKATU_BUFFER(buffer), default_value, -1);
- buffer = gtk_text_buffer_new(NULL);
- if(default_value != NULL) {
+ sw = gtk_scrolled_window_new(); + gtk_widget_set_vexpand(sw, TRUE); + gtk_box_append(GTK_BOX(vbox), sw); + view = gtk_text_view_new(); + gtk_widget_set_size_request(view, 320, 130); + gtk_widget_set_name(view, "pidgin_request_input"); + gtk_scrolled_window_set_child(GTK_SCROLLED_WINDOW(sw), view); + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); + if(!purple_strempty(default_value)) { + if(purple_strequal(data->u.input.hint, "html")) { + gtk_text_buffer_get_start_iter(buffer, &start); + gtk_text_buffer_insert_markup(buffer, &start, default_value, gtk_text_buffer_set_text(buffer, default_value, -1);
- gtk_text_view_set_buffer(GTK_TEXT_VIEW(input), buffer);
- data->u.input.entry = input;
+ data->u.input.entry = view;