pidgin/pidgin

Update to talkatu 0.2.0

15 months ago, Gary Kramlich
2707c81648a0
Parents 8929e5854422
Children 01e68f28576f
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',
- version: '>=0.1.0',
+ version: '>=0.2.0',
fallback: ['talkatu', 'talkatu_dep'])
endif # GTK
--- 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 @@
static GtkWidget *
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);
+ g_clear_object(&ag);
+
+ 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 @@
GtkWidget *sw;
GtkWidget *view;
GtkTextBuffer *buffer;
+ GSimpleActionGroup *ag = NULL;
char label_text[2048];
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);
+ g_clear_object(&ag);
+
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 @@
GtkWidget *editor;
GtkWidget *input;
GtkTextBuffer *buffer;
+ 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();
- } else {
- 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),
+ buffer);
+ }
+ g_clear_object(&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);
+ g_clear_object(&ag);
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 @@
GtkTextIter start;
GInputStream *istream = NULL;
GString *str = NULL;
- TalkatuMarkdownBuffer *md_buffer = NULL;
gchar buffer[8192];
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,
+ str->str, size);
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();
- } else {
- 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,
+ "action-group", ag,
+ "style", style,
+ NULL);
+ if(TALKATU_IS_ACTION_GROUP(ag)) {
+ talkatu_action_group_set_buffer(TALKATU_ACTION_GROUP(ag), buffer);
+ }
+ g_clear_object(&ag);
+
return 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 @@
-->
<interface>
<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>
+ </object>
+ </property>
+ </object>
<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 @@
<interface>
<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 @@
-->
<interface>
<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 @@
<widget name="label3"/>
</widgets>
</object>
- <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>
+ </object>
+ </property>
+ </object>
</interface>
--- 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 @@
[wrap-hg]
directory = talkatu
url = https://keep.imfreedom.org/talkatu/talkatu
-revision = v0.1.0
\ No newline at end of file
+revision = v0.2.0