diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml index 5e203cdeb..2b05ff677 100644 --- a/.github/workflows/flatpak.yml +++ b/.github/workflows/flatpak.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 600 container: - image: bilelmoussaoui/flatpak-github-actions:gnome-45 + image: bilelmoussaoui/flatpak-github-actions:gnome-46 options: --privileged strategy: matrix: diff --git a/meson.build b/meson.build index e63689c00..2d4cabe3d 100644 --- a/meson.build +++ b/meson.build @@ -11,7 +11,7 @@ project('clapper', 'c', glib_req = '>= 2.76.0' gst_req = '>= 1.20.0' gtk4_req = '>= 4.10.0' -adw_req = '>= 1.4.0' +adw_req = '>= 1.5.0' clapper_version = meson.project_version().split('-')[0] version_array = clapper_version.split('.') diff --git a/pkgs/flatpak/com.github.rafostar.Clapper.json b/pkgs/flatpak/com.github.rafostar.Clapper.json index cd8aac690..2999b337c 100644 --- a/pkgs/flatpak/com.github.rafostar.Clapper.json +++ b/pkgs/flatpak/com.github.rafostar.Clapper.json @@ -1,7 +1,7 @@ { "app-id": "com.github.rafostar.Clapper", "runtime": "org.gnome.Platform", - "runtime-version": "45", + "runtime-version": "46", "sdk": "org.gnome.Sdk", "add-extensions": { "org.freedesktop.Platform.ffmpeg-full": { diff --git a/src/bin/clapper-app/clapper-app-about-window.c b/src/bin/clapper-app/clapper-app-about-dialog.c similarity index 76% rename from src/bin/clapper-app/clapper-app-about-window.c rename to src/bin/clapper-app/clapper-app-about-dialog.c index 8362576c4..1e4b69013 100644 --- a/src/bin/clapper-app/clapper-app-about-window.c +++ b/src/bin/clapper-app/clapper-app-about-dialog.c @@ -22,29 +22,24 @@ #include #include -#include "clapper-app-about-window.h" +#include "clapper-app-about-dialog.h" GtkWidget * -clapper_app_about_window_new (GtkApplication *gtk_app) +clapper_app_about_dialog_new (void) { - AdwAboutWindow *about; - GtkWindow *window; + AdwAboutDialog *about; GString *string; gchar *gst_ver, *debug_info; - about = ADW_ABOUT_WINDOW (adw_about_window_new_from_appdata ( + about = ADW_ABOUT_DIALOG (adw_about_dialog_new_from_appdata ( CLAPPER_APP_RESOURCE_PREFIX "/data/metainfo/" CLAPPER_APP_ID ".metainfo.xml", NULL)); - window = gtk_application_get_active_window (gtk_app); - - gtk_window_set_modal (GTK_WINDOW (about), TRUE); - gtk_window_set_transient_for (GTK_WINDOW (about), window); /* Also show development versions */ - adw_about_window_set_version (about, CLAPPER_VERSION_S); + adw_about_dialog_set_version (about, CLAPPER_VERSION_S); /* TRANSLATORS: Put your name(s) here for credits or leave untranslated */ - adw_about_window_set_translator_credits (about, _("translator-credits")); + adw_about_dialog_set_translator_credits (about, _("translator-credits")); string = g_string_new (NULL); @@ -66,7 +61,7 @@ clapper_app_about_window_new (GtkApplication *gtk_app) g_free (gst_ver); debug_info = g_string_free_and_steal (string); - adw_about_window_set_debug_info (about, debug_info); + adw_about_dialog_set_debug_info (about, debug_info); g_free (debug_info); return GTK_WIDGET (about); diff --git a/src/bin/clapper-app/clapper-app-about-window.h b/src/bin/clapper-app/clapper-app-about-dialog.h similarity index 92% rename from src/bin/clapper-app/clapper-app-about-window.h rename to src/bin/clapper-app/clapper-app-about-dialog.h index 2051d0ffd..4658c8f4e 100644 --- a/src/bin/clapper-app/clapper-app-about-window.h +++ b/src/bin/clapper-app/clapper-app-about-dialog.h @@ -24,6 +24,6 @@ G_BEGIN_DECLS G_GNUC_INTERNAL -GtkWidget * clapper_app_about_window_new (GtkApplication *gtk_app); +GtkWidget * clapper_app_about_dialog_new (void); G_END_DECLS diff --git a/src/bin/clapper-app/clapper-app-application.c b/src/bin/clapper-app/clapper-app-application.c index 57acbfa45..d40ee22a0 100644 --- a/src/bin/clapper-app/clapper-app-application.c +++ b/src/bin/clapper-app/clapper-app-application.c @@ -28,7 +28,7 @@ #include "clapper-app-uri-dialog.h" #include "clapper-app-info-window.h" #include "clapper-app-preferences-window.h" -#include "clapper-app-about-window.h" +#include "clapper-app-about-dialog.h" #include "clapper-app-utils.h" #define PERCENTAGE_ROUND(a) (round ((gdouble) a / 0.01) * 0.01) @@ -378,10 +378,12 @@ static void show_about (GSimpleAction *action, GVariant *param, gpointer user_data) { GtkApplication *gtk_app = GTK_APPLICATION (user_data); - GtkWidget *about_window; + GtkWindow *window; + GtkWidget *about_dialog; - about_window = clapper_app_about_window_new (gtk_app); - gtk_window_present (GTK_WINDOW (about_window)); + window = gtk_application_get_active_window (gtk_app); + about_dialog = clapper_app_about_dialog_new (); + adw_dialog_present (ADW_DIALOG (about_dialog), GTK_WIDGET (window)); } GApplication * diff --git a/src/bin/clapper-app/clapper-app-uri-dialog.c b/src/bin/clapper-app/clapper-app-uri-dialog.c index a452f1e79..16078b24c 100644 --- a/src/bin/clapper-app/clapper-app-uri-dialog.c +++ b/src/bin/clapper-app/clapper-app-uri-dialog.c @@ -25,30 +25,28 @@ #include "clapper-app-utils.h" static void -_entry_text_changed_cb (GtkEntry *entry, - GParamSpec *pspec G_GNUC_UNUSED, AdwMessageDialog *dialog) +_entry_text_changed_cb (AdwEntryRow *entry, + GParamSpec *pspec G_GNUC_UNUSED, AdwAlertDialog *dialog) { - GtkEntryBuffer *buffer = gtk_entry_get_buffer (entry); - guint text_length = gtk_entry_buffer_get_length (buffer); + const gchar *text = gtk_editable_get_text (GTK_EDITABLE (entry)); gboolean enabled = FALSE; - if (text_length > 0) { - const gchar *text = gtk_entry_buffer_get_text (buffer); - enabled = (text && gst_uri_is_valid (text)); + if (text && *text != '\0') { + enabled = gst_uri_is_valid (text); } - adw_message_dialog_set_response_enabled (dialog, "add", enabled); + adw_alert_dialog_set_response_enabled (dialog, "add", enabled); } static void -_open_uri_cb (AdwMessageDialog *dialog, GAsyncResult *result, GtkApplication *gtk_app) +_open_uri_cb (AdwAlertDialog *dialog, GAsyncResult *result, GtkApplication *gtk_app) { - const gchar *response = adw_message_dialog_choose_finish (dialog, result); + const gchar *response = adw_alert_dialog_choose_finish (dialog, result); if (strcmp (response, "add") == 0) { - GtkWidget *extra_child = adw_message_dialog_get_extra_child (dialog); - GtkEntryBuffer *buffer = gtk_entry_get_buffer (GTK_ENTRY (extra_child)); - const gchar *text = gtk_entry_buffer_get_text (buffer); + GtkWidget *extra_child = adw_alert_dialog_get_extra_child (dialog); + AdwEntryRow *entry_row = ADW_ENTRY_ROW (gtk_list_box_get_row_at_index (GTK_LIST_BOX (extra_child), 0)); + const gchar *text = gtk_editable_get_text (GTK_EDITABLE (entry_row)); GFile **files = NULL; gint n_files = 0; @@ -60,16 +58,15 @@ _open_uri_cb (AdwMessageDialog *dialog, GAsyncResult *result, GtkApplication *gt } static void -_read_text_cb (GdkClipboard *clipboard, GAsyncResult *result, GtkWidget *extra_child) +_read_text_cb (GdkClipboard *clipboard, GAsyncResult *result, GtkWidget *entry_row) { - GtkEntry *entry = GTK_ENTRY (extra_child); GError *error = NULL; gchar *text = gdk_clipboard_read_text_finish (clipboard, result, &error); if (G_LIKELY (error == NULL)) { if (gst_uri_is_valid (text)) { - gtk_editable_set_text (GTK_EDITABLE (entry), text); - gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1); + gtk_editable_set_text (GTK_EDITABLE (entry_row), text); + gtk_editable_select_region (GTK_EDITABLE (entry_row), 0, -1); } } else { /* Common error when clipboard is empty or has unsupported content. @@ -89,30 +86,28 @@ clapper_app_uri_dialog_open_uri (GtkApplication *gtk_app) { GtkWindow *window = gtk_application_get_active_window (gtk_app); GtkBuilder *builder; - AdwMessageDialog *dialog; - GtkWidget *extra_child; + AdwAlertDialog *dialog; + GtkWidget *entry_row; GdkDisplay *display; builder = gtk_builder_new_from_resource ( CLAPPER_APP_RESOURCE_PREFIX "/ui/clapper-app-uri-dialog.ui"); - dialog = ADW_MESSAGE_DIALOG (gtk_builder_get_object (builder, "dialog")); - gtk_window_set_transient_for (GTK_WINDOW (dialog), window); + dialog = ADW_ALERT_DIALOG (gtk_builder_get_object (builder, "dialog")); + entry_row = GTK_WIDGET (gtk_builder_get_object (builder, "entry_row")); - extra_child = adw_message_dialog_get_extra_child (dialog); - - g_signal_connect (GTK_ENTRY (extra_child), "notify::text", + g_signal_connect (GTK_EDITABLE (entry_row), "notify::text", G_CALLBACK (_entry_text_changed_cb), dialog); if ((display = gdk_display_get_default ())) { GdkClipboard *clipboard = gdk_display_get_clipboard (display); gdk_clipboard_read_text_async (clipboard, NULL, - (GAsyncReadyCallback) _read_text_cb, extra_child); + (GAsyncReadyCallback) _read_text_cb, entry_row); } /* NOTE: Dialog will automatically unref itself after response */ - adw_message_dialog_choose (dialog, NULL, + adw_alert_dialog_choose (dialog, GTK_WIDGET (window), NULL, (GAsyncReadyCallback) _open_uri_cb, gtk_app); diff --git a/src/bin/clapper-app/meson.build b/src/bin/clapper-app/meson.build index 515e83cc2..01ccb3219 100644 --- a/src/bin/clapper-app/meson.build +++ b/src/bin/clapper-app/meson.build @@ -54,7 +54,7 @@ configure_file( ) clapperapp_sources = [ - 'clapper-app-about-window.c', + 'clapper-app-about-dialog.c', 'clapper-app-application.c', 'clapper-app-file-dialog.c', 'clapper-app-headerbar.c', diff --git a/src/bin/clapper-app/ui/clapper-app-uri-dialog.ui b/src/bin/clapper-app/ui/clapper-app-uri-dialog.ui index 4ab5b3e65..faa10cb95 100644 --- a/src/bin/clapper-app/ui/clapper-app-uri-dialog.ui +++ b/src/bin/clapper-app/ui/clapper-app-uri-dialog.ui @@ -1,21 +1,27 @@ - - true - 420 + Add URI Insert an URI to be added to playback queue cancel add + false - - fill - center - true - true - true - url - Enter or drop URI here + + none + + + + fill + center + true + true + url + Enter or drop URI here + +