Update to talkatu 0.2.0
Testing Done:
Compiled, ran, and veried the status editor and about dialogs worked as expected.
Reviewed at https://reviews.imfreedom.org/r/2279/
--- a/meson.build Fri Feb 24 01:06:20 2023 -0600
+++ b/meson.build Fri Feb 24 03:38:40 2023 -0600
@@ -240,7 +240,7 @@
libadwaita = dependency('libadwaita-1', version : '>= 1.2')
talkatu_dep = dependency('talkatu',
fallback: ['talkatu', 'talkatu_dep'])
--- a/pidgin/gtkconv.c Fri Feb 24 01:06:20 2023 -0600
+++ b/pidgin/gtkconv.c Fri Feb 24 03:38:40 2023 -0600
@@ -440,6 +440,8 @@
setup_common_pane(PidginConversation *gtkconv)
+ GSimpleActionGroup *ag = NULL; + GtkTextBuffer *buffer = NULL; GtkWidget *vbox, *input, *hpaned, *sw;
GtkEventController *key = NULL;
PurpleConversation *conv = gtkconv->active_conv;
@@ -482,7 +484,13 @@
/* Setup the entry widget and all signals */
gtkconv->editor = talkatu_editor_new();
- talkatu_editor_set_buffer(TALKATU_EDITOR(gtkconv->editor), talkatu_html_buffer_new());
+ ag = talkatu_action_group_new(TALKATU_FORMAT_HTML); + buffer = talkatu_buffer_new(ag); + talkatu_action_group_set_buffer(TALKATU_ACTION_GROUP(ag), buffer); + talkatu_editor_set_buffer(TALKATU_EDITOR(gtkconv->editor), buffer); + g_clear_object(&buffer); gtk_box_append(GTK_BOX(vbox), gtkconv->editor);
input = talkatu_editor_get_input(TALKATU_EDITOR(gtkconv->editor));
--- a/pidgin/gtknotify.c Fri Feb 24 01:06:20 2023 -0600
+++ b/pidgin/gtknotify.c Fri Feb 24 03:38:40 2023 -0600
@@ -254,6 +254,7 @@
+ GSimpleActionGroup *ag = NULL; char *linked_text, *primary_esc, *secondary_esc;
@@ -291,7 +292,11 @@
gtk_box_append(GTK_BOX(vbox), sw);
gtk_widget_set_vexpand(sw, TRUE);
- buffer = talkatu_html_buffer_new();
+ ag = talkatu_action_group_new(TALKATU_FORMAT_HTML); + buffer = talkatu_buffer_new(ag); + talkatu_action_group_set_buffer(TALKATU_ACTION_GROUP(ag), buffer); view = talkatu_view_new_with_buffer(buffer);
gtk_scrolled_window_set_child(GTK_SCROLLED_WINDOW(sw), view);
gtk_widget_set_name(view, "pidgin_notify_view");
--- a/pidgin/gtkpluginpref.c Fri Feb 24 01:06:20 2023 -0600
+++ b/pidgin/gtkpluginpref.c Fri Feb 24 03:38:40 2023 -0600
@@ -94,6 +94,7 @@
+ GSimpleActionGroup *ag = NULL; box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
@@ -120,11 +121,16 @@
input = talkatu_editor_get_input(TALKATU_EDITOR(editor));
if ((format & PURPLE_STRING_FORMAT_TYPE_HTML) != 0) {
- buffer = talkatu_html_buffer_new();
- buffer = talkatu_buffer_new(NULL);
+ ag = talkatu_action_group_new(TALKATU_FORMAT_HTML); + buffer = talkatu_buffer_new(ag); + if(TALKATU_IS_ACTION_GROUP(ag)) { + talkatu_action_group_set_buffer(TALKATU_ACTION_GROUP(ag), gtk_text_view_set_buffer(GTK_TEXT_VIEW(input), buffer);
if (format & PURPLE_STRING_FORMAT_TYPE_MULTILINE) {
--- a/pidgin/gtkrequest.c Fri Feb 24 01:06:20 2023 -0600
+++ b/pidgin/gtkrequest.c Fri Feb 24 03:38:40 2023 -0600
@@ -632,7 +632,12 @@
gtk_box_append(GTK_BOX(vbox), editor);
if (purple_strequal(data->u.input.hint, "html")) {
- buffer = talkatu_html_buffer_new();
+ 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);
--- a/pidgin/pidginabout.c Fri Feb 24 01:06:20 2023 -0600
+++ b/pidgin/pidginabout.c Fri Feb 24 03:38:40 2023 -0600
@@ -80,7 +80,6 @@
GInputStream *istream = NULL;
- TalkatuMarkdownBuffer *md_buffer = NULL;
gssize read = 0, size = 0;
@@ -98,8 +97,8 @@
gtk_text_buffer_get_start_iter(about->main_buffer, &start);
- md_buffer = TALKATU_MARKDOWN_BUFFER(about->main_buffer);
- talkatu_markdown_buffer_insert_markdown(md_buffer, &start, str->str, size);
+ talkatu_markdown_insert(TALKATU_BUFFER(about->main_buffer), &start, g_string_free(str, TRUE);
--- a/pidgin/pidgintalkatu.c Fri Feb 24 01:06:20 2023 -0600
+++ b/pidgin/pidgintalkatu.c Fri Feb 24 03:38:40 2023 -0600
@@ -43,18 +43,29 @@
pidgin_talkatu_buffer_new_for_connection(PurpleConnection *pc) {
PurpleConnectionFlags flags = 0;
GtkTextBuffer *buffer = NULL;
+ GSimpleActionGroup *ag = NULL; + TalkatuBufferStyle style = TALKATU_BUFFER_STYLE_RICH; g_return_val_if_fail(pc != NULL, NULL);
flags = purple_connection_get_flags(pc);
if(flags & PURPLE_CONNECTION_FLAG_HTML) {
- buffer = talkatu_html_buffer_new();
- } else if(flags & PURPLE_CONNECTION_FLAG_FORMATTING_WBFO) {
- buffer = talkatu_whole_buffer_new();
- buffer = talkatu_buffer_new(NULL);
+ ag = talkatu_action_group_new(TALKATU_FORMAT_HTML); + if(flags & PURPLE_CONNECTION_FLAG_FORMATTING_WBFO) { + style = TALKATU_BUFFER_STYLE_WHOLE; + buffer = g_object_new(TALKATU_TYPE_BUFFER, + if(TALKATU_IS_ACTION_GROUP(ag)) { + talkatu_action_group_set_buffer(TALKATU_ACTION_GROUP(ag), buffer); --- a/pidgin/resources/About/about.ui Fri Feb 24 01:06:20 2023 -0600
+++ b/pidgin/resources/About/about.ui Fri Feb 24 03:38:40 2023 -0600
@@ -21,12 +21,19 @@
<requires lib="gtk" version="4.0"/>
- <requires lib="Talkatu" version="0.0"/>
+ <requires lib="Talkatu" version="0.2.0"/> <!-- interface-license-type gplv2 -->
<!-- interface-name Pidgin -->
<!-- interface-description Internet Messenger -->
<!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
- <object class="TalkatuMarkdownBuffer" id="main_buffer"/>
+ <object class="TalkatuBuffer" id="main_buffer"> + <property name="action-group"> + <object class="TalkatuActionGroup"> + <property name="format">markdown</property> + <property name="buffer">main_buffer</property> <template class="PidginAboutDialog" parent="GtkDialog">
<property name="default-height">600</property>
<signal name="response" handler="pidgin_about_dialog_response_cb" swapped="no"/>
--- a/pidgin/resources/Prefs/conversation.ui Fri Feb 24 01:06:20 2023 -0600
+++ b/pidgin/resources/Prefs/conversation.ui Fri Feb 24 03:38:40 2023 -0600
@@ -19,7 +19,6 @@
<requires lib="gtk" version="4.0"/>
<requires lib="Adw" version="1.0"/>
- <requires lib="Talkatu" version="0.0"/>
<!-- interface-license-type gplv2 -->
<!-- interface-name Pidgin -->
<!-- interface-description Internet Messenger -->
--- a/pidgin/resources/Status/editor.ui Fri Feb 24 01:06:20 2023 -0600
+++ b/pidgin/resources/Status/editor.ui Fri Feb 24 03:38:40 2023 -0600
@@ -18,7 +18,7 @@
<requires lib="gtk" version="4.0"/>
- <requires lib="Talkatu" version="0.1"/>
+ <requires lib="Talkatu" version="0.2.0"/> <requires lib="pidgin" version="3.0"/>
<!-- interface-license-type gplv2 -->
<!-- interface-name Pidgin -->
@@ -157,5 +157,12 @@
- <object class="TalkatuHtmlBuffer" id="buffer"/>
+ <object class="TalkatuBuffer" id="buffer"> + <property name="action-group"> + <object class="TalkatuActionGroup"> + <property name="format">html</property> + <property name="buffer">buffer</property> --- a/subprojects/talkatu.wrap Fri Feb 24 01:06:20 2023 -0600
+++ b/subprojects/talkatu.wrap Fri Feb 24 03:38:40 2023 -0600
@@ -1,4 +1,4 @@
url = https://keep.imfreedom.org/talkatu/talkatu
\ No newline at end of file