--- a/demo/talkatudemo.c Thu Jun 15 02:53:41 2023 -0500
+++ b/demo/talkatudemo.c Thu Jul 20 00:25:47 2023 -0500
@@ -86,11 +86,7 @@
textdomain(GETTEXT_PACKAGE);
app = gtk_application_new("org.imfreedom.keep.talkatu.TalkatuDemo",
-#if GLIB_CHECK_VERSION(2,74,0)
G_APPLICATION_DEFAULT_FLAGS);
- G_APPLICATION_FLAGS_NONE);
g_application_add_main_option_entries(G_APPLICATION(app), entries);
g_signal_connect(app, "handle-local-options",
--- a/demo/talkatudemowindow.c Thu Jun 15 02:53:41 2023 -0500
+++ b/demo/talkatudemowindow.c Thu Jul 20 00:25:47 2023 -0500
@@ -47,7 +47,6 @@
G_DEFINE_TYPE(TalkatuDemoWindow, talkatu_demo_window, GTK_TYPE_APPLICATION_WINDOW);
-#if GTK_CHECK_VERSION(4, 10, 0)
talkatu_demo_window_insert_html_response_cb(GObject *obj, GAsyncResult *result,
@@ -84,45 +83,12 @@
-talkatu_demo_window_insert_html_response_cb(GtkNativeDialog *dialog,
- gint response, gpointer data)
- TalkatuDemoWindow *window = TALKATU_DEMO_WINDOW(data);
- if(response == GTK_RESPONSE_ACCEPT) {
- GFile *file = gtk_file_chooser_get_file(GTK_FILE_CHOOSER(dialog));
- gchar *contents = NULL;
- if(g_file_load_contents(file, NULL, &contents, &len, NULL, NULL)) {
- GtkTextMark *mark = NULL;
- mark = gtk_text_buffer_get_insert(GTK_TEXT_BUFFER(window->buffer_html));
- gtk_text_buffer_get_iter_at_mark(GTK_TEXT_BUFFER(window->buffer_html),
- talkatu_markup_insert_html(TALKATU_BUFFER(window->buffer_html),
- gtk_native_dialog_destroy(dialog);
- g_object_unref(dialog);
talkatu_demo_window_insert_html_cb(G_GNUC_UNUSED GtkButton *toggle,
TalkatuDemoWindow *window = TALKATU_DEMO_WINDOW(data);
GtkFileFilter *filter = NULL;
-#if GTK_CHECK_VERSION(4, 10, 0)
GtkFileDialog *dialog = NULL;
GListStore *store = NULL;
@@ -141,31 +107,8 @@
talkatu_demo_window_insert_html_response_cb,
- GtkFileChooserNative *dialog = NULL;
- dialog = gtk_file_chooser_native_new(
- GTK_FILE_CHOOSER_ACTION_OPEN,
- filter = gtk_file_filter_new();
- gtk_file_filter_set_name(filter, "HTML files");
- gtk_file_filter_add_pattern(filter, "*.html");
- gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
- g_signal_connect(dialog, "response",
- G_CALLBACK(talkatu_demo_window_insert_html_response_cb),
- gtk_native_dialog_set_modal(GTK_NATIVE_DIALOG(dialog), TRUE);
- gtk_native_dialog_show(GTK_NATIVE_DIALOG(dialog));
-#if GTK_CHECK_VERSION(4, 10, 0)
talkatu_demo_window_insert_markdown_response_cb(GObject *obj,
@@ -203,45 +146,12 @@
-talkatu_demo_window_insert_markdown_response_cb(GtkNativeDialog *dialog,
- gint response, gpointer data)
- TalkatuDemoWindow *window = TALKATU_DEMO_WINDOW(data);
- if(response == GTK_RESPONSE_ACCEPT) {
- GFile *file = gtk_file_chooser_get_file(GTK_FILE_CHOOSER(dialog));
- gchar *contents = NULL;
- if(g_file_load_contents(file, NULL, &contents, &len, NULL, NULL)) {
- GtkTextMark *mark = NULL;
- mark = gtk_text_buffer_get_insert(GTK_TEXT_BUFFER(window->buffer_markdown));
- gtk_text_buffer_get_iter_at_mark(GTK_TEXT_BUFFER(window->buffer_markdown),
- talkatu_markdown_insert(TALKATU_BUFFER(window->buffer_markdown),
- gtk_native_dialog_destroy(dialog);
- g_object_unref(dialog);
talkatu_demo_window_insert_markdown_cb(G_GNUC_UNUSED GtkButton *toggle,
TalkatuDemoWindow *window = TALKATU_DEMO_WINDOW(data);
GtkFileFilter *filter = NULL;
-#if GTK_CHECK_VERSION(4, 10, 0)
GtkFileDialog *dialog = NULL;
GListStore *store = NULL;
@@ -259,28 +169,6 @@
gtk_file_dialog_open(dialog, GTK_WINDOW(window), NULL,
talkatu_demo_window_insert_markdown_response_cb,
- GtkFileChooserNative *dialog = NULL;
- dialog = gtk_file_chooser_native_new(
- _("Insert markdown..."),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- filter = gtk_file_filter_new();
- gtk_file_filter_set_name(filter, "Markdown files");
- gtk_file_filter_add_pattern(filter, "*.md");
- gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
- g_signal_connect(dialog, "response",
- G_CALLBACK(talkatu_demo_window_insert_markdown_response_cb),
- gtk_native_dialog_set_modal(GTK_NATIVE_DIALOG(dialog), TRUE);
- gtk_native_dialog_show(GTK_NATIVE_DIALOG(dialog));
@@ -327,15 +215,11 @@
talkatu_demo_window_view_open_url_cb(G_GNUC_UNUSED TalkatuView *view,
const gchar *url, gpointer data)
-#if GTK_CHECK_VERSION(4, 10, 0)
GtkUriLauncher *launcher = NULL;
launcher = gtk_uri_launcher_new(url);
gtk_uri_launcher_launch(launcher, GTK_WINDOW(data), NULL, NULL, NULL);
g_object_unref(launcher);
- gtk_show_uri(GTK_WINDOW(data), url, GDK_CURRENT_TIME);
--- a/meson.build Thu Jun 15 02:53:41 2023 -0500
+++ b/meson.build Thu Jul 20 00:25:47 2023 -0500
@@ -34,10 +34,10 @@
pkgconfig = import('pkgconfig')
-GLIB = dependency('glib-2.0', version : '>=2.52.0')
+GLIB = dependency('glib-2.0', version : '>=2.76.0') GOBJECT = dependency('gobject-2.0')
-GTK4 = dependency('gtk4', version : '>=4.6.0')
+GTK4 = dependency('gtk4', version : '>=4.10.0') GUMBO = dependency('gumbo', version : '>=0.10')
--- a/talkatu/talkatuactiongroup.c Thu Jun 15 02:53:41 2023 -0500
+++ b/talkatu/talkatuactiongroup.c Thu Jul 20 00:25:47 2023 -0500
@@ -394,7 +394,6 @@
-#if GTK_CHECK_VERSION(4, 10, 0)
talkatu_action_attach_file_response_cb(GObject *obj, GAsyncResult *result,
@@ -440,47 +439,6 @@
gtk_window_present(GTK_WINDOW(attach_dialog));
-talkatu_action_attach_file_response_cb(GtkDialog *dialog, gint response,
- if(response == GTK_RESPONSE_ACCEPT) {
- TalkatuActionGroup *ag = TALKATU_ACTION_GROUP(data);
- TalkatuActionGroupPrivate *priv = NULL;
- TalkatuAttachment *attachment = NULL;
- GtkWidget *attach_dialog = NULL;
- gchar *filename = NULL, *content_type = NULL, *comment = NULL;
- priv = talkatu_action_group_get_instance_private(ag);
- file = gtk_file_chooser_get_file(GTK_FILE_CHOOSER(dialog));
- filename = g_file_get_path(file);
- content_type = g_content_type_guess(filename, NULL, 0, NULL);
- attachment = talkatu_simple_attachment_new(G_GUINT64_CONSTANT(0),
- talkatu_attachment_set_local_uri(attachment, filename);
- comment = talkatu_markup_get_html(priv->buffer, NULL);
- attach_dialog = talkatu_attachment_dialog_new(attachment, comment);
- g_signal_connect(G_OBJECT(attach_dialog), "response",
- G_CALLBACK(talkatu_action_attach_file_attach_response_cb),
- gtk_widget_show(attach_dialog);
- gtk_native_dialog_destroy(GTK_NATIVE_DIALOG(dialog));
- g_object_unref(dialog);
talkatu_action_attach_file(G_GNUC_UNUSED GSimpleAction *action,
@@ -489,32 +447,16 @@
TalkatuActionGroup *ag = TALKATU_ACTION_GROUP(data);
TalkatuActionGroupPrivate *priv = NULL;
-#if GTK_CHECK_VERSION(4, 10, 0)
GtkFileDialog *dialog = NULL;
- GtkFileChooserNative *dialog = NULL;
priv = talkatu_action_group_get_instance_private(ag);
g_return_if_fail(TALKATU_IS_INPUT(priv->input));
-#if GTK_CHECK_VERSION(4, 10, 0)
dialog = gtk_file_dialog_new();
gtk_file_dialog_set_title(dialog, _("Attach file..."));
gtk_file_dialog_open(dialog, NULL, NULL,
talkatu_action_attach_file_response_cb,
- dialog = gtk_file_chooser_native_new(_("Attach file..."),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- g_signal_connect(G_OBJECT(dialog), "response",
- G_CALLBACK(talkatu_action_attach_file_response_cb),
- gtk_native_dialog_show(GTK_NATIVE_DIALOG(dialog));