diff --git a/meson.build b/meson.build index 03fe3bae09d60d2c1452e081db5af40518c8ba62..53c9f8747e5fd544aeeaca4fd0029945f5ea4db1 100644 --- a/meson.build +++ b/meson.build @@ -106,7 +106,7 @@ src_dir = join_paths(meson.project_source_root(), 'src') glib_dep = dependency('glib-2.0', version: '>= 2.71.3') gtk_dep = dependency('gtk4', version: '>= 4.12.0') -libadwaita_dep = dependency('libadwaita-1', version: '>= 1.4.0') +libadwaita_dep = dependency('libadwaita-1', version: '>= 1.5.alpha') libspell_dep = dependency('libspelling-1', required: false) # if not libspell, we disable it diff --git a/src/codeview/gtr-viewer.c b/src/codeview/gtr-viewer.c index 69e1f73930072ef06131b76924fea97ffde20ffb..0e06f0dc12b4b4165efe53ad546cb561ef8c90cc 100644 --- a/src/codeview/gtr-viewer.c +++ b/src/codeview/gtr-viewer.c @@ -171,7 +171,7 @@ gtr_viewer_class_init (GtrViewerClass *klass) static void error_dialog (GtkWindow *parent, const gchar *msg, ...) { - g_autoptr (GtkAlertDialog) dialog = NULL; + AdwDialog *dialog; va_list ap; g_autofree char *tmp = NULL; @@ -179,9 +179,10 @@ error_dialog (GtkWindow *parent, const gchar *msg, ...) tmp = g_strdup_vprintf (msg, ap); va_end (ap); - dialog = gtk_alert_dialog_new ("%s", tmp); - - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (parent)); + dialog = adw_alert_dialog_new (NULL, tmp); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (parent)); } static gboolean diff --git a/src/gtr-actions-app.c b/src/gtr-actions-app.c index 0b27e2d570a11bd7d668d63ee9e090b82c20f3ee..e3543ec2a1a5383ed0e5e84569cfbfd64c9b5ceb 100644 --- a/src/gtr-actions-app.c +++ b/src/gtr-actions-app.c @@ -85,7 +85,7 @@ gtr_about_dialog (GtrWindow *window) static const gchar comments[] = N_("Translation file editing suite for localization of applications and libraries."); - adw_show_about_window (GTK_WINDOW (window), + adw_show_about_dialog (GTK_WIDGET (window), "application-name", _("Translation Editor"), "application-icon", PACKAGE_APPID, "version", get_version (), diff --git a/src/gtr-actions-file.c b/src/gtr-actions-file.c index 8b5b8cc1f15ff4ca759a35cbcd825e86c85cace2..90877e43a2255ea797cb2feee6ee374ce6378c70 100644 --- a/src/gtr-actions-file.c +++ b/src/gtr-actions-file.c @@ -49,15 +49,15 @@ static void load_file_list (GtrWindow * window, const GSList * uris); static GList * get_modified_documents (GtrWindow * window); typedef struct { - SoupMessage *msg; - GtkWidget *dialog; + SoupMessage *msg; + GtrUploadDialog *dialog; } UserData; static void user_data_free (UserData *ud) { g_object_unref (ud->msg); - gtk_window_destroy (GTK_WINDOW (ud->dialog)); + adw_dialog_close (ADW_DIALOG (ud->dialog)); g_free (ud); } @@ -171,7 +171,7 @@ gtr_po_parse_files_from_dialog (GObject *source, GAsyncResult *res, void *user_d } static void -handle_save_current_dialog_response (AdwMessageDialog *dialog, +handle_save_current_dialog_response (AdwAlertDialog *dialog, char *response, void (*callback)(GtrWindow *)) { @@ -184,7 +184,7 @@ handle_save_current_dialog_response (AdwMessageDialog *dialog, if (g_strcmp0 ("cancel", response) != 0) callback (window); - gtk_window_destroy (GTK_WINDOW (dialog)); + adw_dialog_force_close (ADW_DIALOG (dialog)); } void @@ -193,7 +193,7 @@ gtr_want_to_save_current_dialog (GtrWindow * window, void (*callback)(GtrWindow GtrTab *tab; GtrPo *po; - GtkWidget *dialog; + AdwDialog *dialog; g_autoptr (GFile) location = NULL; g_autofree gchar *basename = NULL; @@ -202,27 +202,26 @@ gtr_want_to_save_current_dialog (GtrWindow * window, void (*callback)(GtrWindow location = gtr_po_get_location (po); basename = g_file_get_basename (location); - dialog = adw_message_dialog_new (GTK_WINDOW (window), _("Unsaved Changes"), NULL); + dialog = adw_alert_dialog_new (_("Unsaved Changes"), NULL); + adw_alert_dialog_set_body_use_markup (ADW_ALERT_DIALOG (dialog), TRUE); - adw_message_dialog_set_body_use_markup (ADW_MESSAGE_DIALOG (dialog), TRUE); + adw_alert_dialog_format_body (ADW_ALERT_DIALOG (dialog), + _("Do you want to write all the changes done to %s?"), + basename); - adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog), - _("Do you want to write all the changes done to %s?"), - basename); - - adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dialog), - "cancel", _("Cancel"), - "no", _("Continue Without Saving"), - "save", _("Save and Open"), - NULL); - adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dialog), + adw_alert_dialog_add_responses (ADW_ALERT_DIALOG (dialog), + "cancel", _("Cancel"), + "no", _("Continue Without Saving"), + "save", _("Save and Open"), + NULL); + adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dialog), "no", ADW_RESPONSE_DESTRUCTIVE); - adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dialog), + adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dialog), "save", ADW_RESPONSE_SUGGESTED); - adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dialog), "save"); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "save"); g_signal_connect (dialog, "response", G_CALLBACK (handle_save_current_dialog_response), callback); - gtk_window_present (GTK_WINDOW (dialog)); + adw_dialog_present (dialog, GTK_WIDGET (window)); } /* @@ -282,10 +281,10 @@ save_dialog_response_cb (GObject *source, GAsyncResult *res, void *user_data) if (error) { - g_autoptr (GtkAlertDialog) dialog = NULL; - dialog = gtk_alert_dialog_new ("%s", error->message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), - GTK_WINDOW (window)); + AdwDialog *dialog = adw_alert_dialog_new (NULL, error->message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (window)); return; } @@ -305,11 +304,11 @@ _upload_file_callback (GObject *object, { UserData *ud = user_data; g_autoptr(GInputStream) stream = NULL; - g_autoptr (GtkAlertDialog) dialog = NULL; + AdwDialog *dialog = NULL; GtrTab *active_tab; - GtkWidget *upload_dialog = ud->dialog; - GtkWidget *window = gtr_upload_dialog_get_parent (GTR_UPLOAD_DIALOG (upload_dialog)); + GtrUploadDialog *upload_dialog = ud->dialog; + GtkWidget *window = gtr_upload_dialog_get_parent (upload_dialog); SoupSession *session = SOUP_SESSION (object); SoupStatus status_code = soup_message_get_status (ud->msg); @@ -323,7 +322,7 @@ _upload_file_callback (GObject *object, { if (status_code == SOUP_STATUS_FORBIDDEN) { - dialog = gtk_alert_dialog_new (_("This file has already been uploaded")); + dialog = adw_alert_dialog_new (_("This file has already been uploaded"), NULL); gtr_tab_enable_upload (active_tab, FALSE); goto end; } @@ -335,9 +334,10 @@ _upload_file_callback (GObject *object, else message = g_strdup (soup_status_get_phrase (status_code)); - dialog = gtk_alert_dialog_new ( + dialog = adw_alert_dialog_new (_("Couldn't upload the file"), NULL); + adw_alert_dialog_format_body_markup (ADW_ALERT_DIALOG (dialog), _( - "An error occurred while uploading the file: %s\n" + "%s\n" "Maybe you've not configured your l10n.gnome.org " "token correctly in your profile or you don't have " "permissions to upload this module." @@ -346,11 +346,13 @@ _upload_file_callback (GObject *object, goto end; } - dialog = gtk_alert_dialog_new (_("The file has been uploaded!")); + dialog = adw_alert_dialog_new (_("The file has been uploaded!"), NULL); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); gtr_tab_enable_upload (active_tab, FALSE); end: - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (window)); + adw_dialog_present (dialog, GTK_WIDGET (window)); user_data_free (ud); } @@ -453,7 +455,7 @@ gtr_upload_file (GtkWidget *upload_dialog, UserData *ud; ud = g_new0 (UserData, 1); - ud->dialog = upload_dialog; + ud->dialog = GTR_UPLOAD_DIALOG (upload_dialog); ud->msg = msg; soup_session_send_async (session, msg, G_PRIORITY_DEFAULT, NULL, _upload_file_callback, ud); } @@ -472,7 +474,7 @@ gtr_upload_file_dialog (GtrWindow * window) G_CALLBACK (gtr_upload_file), window); - gtk_window_present (GTK_WINDOW (dialog)); + adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (window)); } /* @@ -518,9 +520,10 @@ load_file_list (GtrWindow * window, const GSList * locations) */ if (error != NULL) { - g_autoptr (GtkAlertDialog) dialog - = gtk_alert_dialog_new ("%s", error->message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (window)); + AdwDialog *dialog = adw_alert_dialog_new (NULL, error->message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (dialog, GTK_WIDGET (window)); } g_slist_free ((GSList *) locations_to_load); @@ -560,9 +563,10 @@ save_and_close_all_documents (GList * unsaved_documents, GtrWindow * window) if(error) { - g_autoptr (GtkAlertDialog) dialog; - dialog = gtk_alert_dialog_new ("%s", error->message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (window)); + AdwDialog *dialog = adw_alert_dialog_new (NULL, error->message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (window)); return; } @@ -582,7 +586,7 @@ close_confirmation_dialog_response_handler (GtrCloseConfirmationDialog *dlg, selected_documents = gtr_close_confirmation_dialog_get_selected_documents (dlg); if (selected_documents == NULL) { - gtk_window_destroy (GTK_WINDOW (dlg)); + adw_dialog_close (ADW_DIALOG (dlg)); close_all_tabs (window); return; } @@ -594,12 +598,12 @@ close_confirmation_dialog_response_handler (GtrCloseConfirmationDialog *dlg, } else if (g_strcmp0 (response, "no") == 0) { - gtk_window_destroy (GTK_WINDOW (dlg)); + adw_dialog_close (ADW_DIALOG (dlg)); close_all_tabs (window); return; } - gtk_window_destroy (GTK_WINDOW (dlg)); + adw_dialog_close (ADW_DIALOG (dlg)); } void @@ -610,8 +614,7 @@ gtr_close_tab (GtrTab * tab, GtrWindow * window) GtkWidget *dlg; dlg = - gtr_close_confirmation_dialog_new_single (GTK_WINDOW (window), - gtr_tab_get_po + gtr_close_confirmation_dialog_new_single (gtr_tab_get_po (tab), FALSE); g_signal_connect (dlg, @@ -619,7 +622,7 @@ gtr_close_tab (GtrTab * tab, GtrWindow * window) G_CALLBACK (close_confirmation_dialog_response_handler), window); - gtk_window_present (GTK_WINDOW (dlg)); + adw_dialog_present (ADW_DIALOG (dlg), GTK_WIDGET (window)); } else //_gtr_window_close_tab (window, tab); @@ -679,8 +682,7 @@ close_all_documents (GtrWindow * window, gboolean logout_mode) { GtkWidget *dlg; - dlg = gtr_close_confirmation_dialog_new (GTK_WINDOW (window), - list, logout_mode); + dlg = gtr_close_confirmation_dialog_new (list, logout_mode); g_signal_connect (dlg, "response", @@ -689,7 +691,7 @@ close_all_documents (GtrWindow * window, gboolean logout_mode) g_list_free (list); - gtk_window_present (GTK_WINDOW (dlg)); + adw_dialog_present (ADW_DIALOG (dlg), GTK_WIDGET (window)); } else { @@ -729,10 +731,10 @@ _gtr_actions_file_save_all (GtrWindow * window) if (error) { - g_autoptr (GtkAlertDialog) dialog = NULL; - dialog = gtk_alert_dialog_new ("%s", error->message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), - GTK_WINDOW (window)); + AdwDialog *dialog = adw_alert_dialog_new (NULL, error->message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (window)); return; } diff --git a/src/gtr-actions-search.c b/src/gtr-actions-search.c index c5efc8ddef918d2edfc9569238e189eb200dd31f..78cc508869dbe1b02cccb9299a846a3685e89c45 100644 --- a/src/gtr-actions-search.c +++ b/src/gtr-actions-search.c @@ -504,24 +504,3 @@ do_replace_all (GtrSearchBar *searchbar, GtrWindow * window) restore_last_searched_data (searchbar, tab); gtr_tab_find_replace (tab, FALSE); } - -void -search_bar_response_cb (GtrSearchBar *dialog, - gint response_id, - GtrWindow *window) -{ - switch (response_id) - { - case GTR_SEARCH_BAR_FIND_RESPONSE: - do_find (dialog, window, FALSE); - break; - case GTR_SEARCH_BAR_REPLACE_RESPONSE: - do_replace (dialog, window); - break; - case GTR_SEARCH_BAR_REPLACE_ALL_RESPONSE: - do_replace_all (dialog, window); - break; - default: - gtk_window_destroy (GTK_WINDOW (dialog)); - } -} diff --git a/src/gtr-actions.h b/src/gtr-actions.h index 636b9d242c8ef62a6247c0b75955416b9a1095f1..f073aeedb8909e35a7586acc0f51c0191a921044 100644 --- a/src/gtr-actions.h +++ b/src/gtr-actions.h @@ -146,10 +146,6 @@ void do_replace (GtrSearchBar * dialog, void do_replace_all (GtrSearchBar * dialog, GtrWindow * window); -void search_bar_response_cb (GtrSearchBar * dialog, - gint response_id, - GtrWindow * window); - /*Documents*/ //void gtr_actions_documents_next_document (GtrWindow * window); diff --git a/src/gtr-close-confirmation-dialog.c b/src/gtr-close-confirmation-dialog.c index 5cc7c8e4c1c27bb6c94de5418c22c7ee39a35f39..7ef58ab23c2db6c86947b790fa8784adfaf85f93 100644 --- a/src/gtr-close-confirmation-dialog.c +++ b/src/gtr-close-confirmation-dialog.c @@ -60,12 +60,12 @@ enum struct _GtrCloseConfirmationDialog { - AdwMessageDialog parent; + AdwAlertDialog parent; }; struct _GtrCloseConfirmationDialogClass { - AdwMessageDialogClass parent_class; + AdwAlertDialogClass parent_class; }; typedef struct @@ -83,7 +83,7 @@ typedef struct G_DEFINE_TYPE_WITH_PRIVATE (GtrCloseConfirmationDialog, gtr_close_confirmation_dialog, - ADW_TYPE_MESSAGE_DIALOG) + ADW_TYPE_ALERT_DIALOG) static void set_unsaved_document (GtrCloseConfirmationDialog *dlg, const GList * list); @@ -116,30 +116,27 @@ static void set_logout_mode (GtrCloseConfirmationDialog * dlg, gboolean logout_mode) { - adw_message_dialog_set_close_response (ADW_MESSAGE_DIALOG (dlg), "cancel"); - adw_message_dialog_add_responses ( - ADW_MESSAGE_DIALOG (dlg), + adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (dlg), "cancel"); + adw_alert_dialog_add_responses ( + ADW_ALERT_DIALOG (dlg), "cancel", _("_Cancel"), "no", _("Close _Without Saving"), "yes", _("_Save"), NULL ); - adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dlg), + adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dlg), "no", ADW_RESPONSE_DESTRUCTIVE); - adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dlg), + adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dlg), "yes", ADW_RESPONSE_SUGGESTED); - adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dlg), "yes"); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dlg), "yes"); } static void gtr_close_confirmation_dialog_init (GtrCloseConfirmationDialog * dlg) { - gtk_window_set_modal (GTK_WINDOW (dlg), TRUE); - gtk_window_set_destroy_with_parent (GTK_WINDOW (dlg), TRUE); - g_signal_connect (dlg, "response", G_CALLBACK (response_cb), NULL); - adw_message_dialog_set_body_use_markup (ADW_MESSAGE_DIALOG (dlg), TRUE); + adw_alert_dialog_set_body_use_markup (ADW_ALERT_DIALOG (dlg), TRUE); } static void @@ -249,8 +246,7 @@ GList *gtr_close_confirmation_dialog_get_selected_documents } GtkWidget * -gtr_close_confirmation_dialog_new (GtkWindow * parent, - GList * unsaved_documents, +gtr_close_confirmation_dialog_new (GList * unsaved_documents, gboolean logout_mode) { GtkWidget *dlg; @@ -260,16 +256,11 @@ gtr_close_confirmation_dialog_new (GtkWindow * parent, "unsaved_documents", unsaved_documents, "logout_mode", logout_mode, NULL)); g_return_val_if_fail (dlg != NULL, NULL); - - if (parent != NULL) - gtk_window_set_transient_for (GTK_WINDOW (dlg), parent); - return dlg; } GtkWidget * -gtr_close_confirmation_dialog_new_single (GtkWindow * parent, - GtrPo * doc, gboolean logout_mode) +gtr_close_confirmation_dialog_new_single (GtrPo * doc, gboolean logout_mode) { GtkWidget *dlg; GList *unsaved_documents; @@ -277,8 +268,7 @@ gtr_close_confirmation_dialog_new_single (GtkWindow * parent, unsaved_documents = g_list_prepend (NULL, doc); - dlg = gtr_close_confirmation_dialog_new (parent, - unsaved_documents, logout_mode); + dlg = gtr_close_confirmation_dialog_new (unsaved_documents, logout_mode); g_list_free (unsaved_documents); @@ -301,7 +291,7 @@ build_single_doc_dialog (GtrCloseConfirmationDialog * dlg) location = gtr_po_get_location (doc); doc_name = g_file_get_basename (location); - adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dlg), + adw_alert_dialog_format_body (ADW_ALERT_DIALOG (dlg), _("Save the changes to document ā€œ%sā€ before closing?"), doc_name); } @@ -330,7 +320,7 @@ build_multiple_docs_dialog (GtrCloseConfirmationDialog * dlg) g_list_length (priv->unsaved_documents)), g_list_length (priv->unsaved_documents)); - adw_message_dialog_set_body (ADW_MESSAGE_DIALOG (dlg), str); + adw_alert_dialog_set_body (ADW_ALERT_DIALOG (dlg), str); } static void @@ -345,7 +335,7 @@ set_unsaved_document (GtrCloseConfirmationDialog * dlg, const GList * list) priv->unsaved_documents = g_list_copy ((GList *) list); - adw_message_dialog_set_heading (ADW_MESSAGE_DIALOG (dlg), _("Unsaved Changes")); + adw_alert_dialog_set_heading (ADW_ALERT_DIALOG (dlg), _("Unsaved Changes")); if (GET_MODE (priv) == SINGLE_DOC_MODE) { build_single_doc_dialog (dlg); diff --git a/src/gtr-close-confirmation-dialog.h b/src/gtr-close-confirmation-dialog.h index 44bfb01fc7c57d5ddf8d99be7dea5296dde6796b..52fd687b91e117716ca57772fa421d6e5a1de7d5 100644 --- a/src/gtr-close-confirmation-dialog.h +++ b/src/gtr-close-confirmation-dialog.h @@ -35,10 +35,10 @@ G_BEGIN_DECLS #define GTR_TYPE_CLOSE_CONFIRMATION_DIALOG (gtr_close_confirmation_dialog_get_type ()) -G_DECLARE_FINAL_TYPE (GtrCloseConfirmationDialog, gtr_close_confirmation_dialog, GTR, CLOSE_CONFIRMATION_DIALOG, AdwMessageDialog) +G_DECLARE_FINAL_TYPE (GtrCloseConfirmationDialog, gtr_close_confirmation_dialog, GTR, CLOSE_CONFIRMATION_DIALOG, AdwAlertDialog) -GtkWidget *gtr_close_confirmation_dialog_new (GtkWindow * parent, GList * unsaved_documents, gboolean logout_mode); -GtkWidget *gtr_close_confirmation_dialog_new_single (GtkWindow * parent, GtrPo * doc, gboolean logout_mode); +GtkWidget *gtr_close_confirmation_dialog_new (GList * unsaved_documents, gboolean logout_mode); +GtkWidget *gtr_close_confirmation_dialog_new_single (GtrPo * doc, gboolean logout_mode); const GList * gtr_close_confirmation_dialog_get_unsaved_documents (GtrCloseConfirmationDialog * dlg); GList * gtr_close_confirmation_dialog_get_selected_documents (GtrCloseConfirmationDialog * dlg); diff --git a/src/gtr-context.c b/src/gtr-context.c index c37043c081638ca1f0da1baaa163a238301a29e4..3d627cdb6c64342817e9bd445c5a9732d3527e27 100644 --- a/src/gtr-context.c +++ b/src/gtr-context.c @@ -96,13 +96,13 @@ static void showed_message_cb (GtrTab *tab, GtrMsg *msg, GtrContextPanel *panel) typedef struct { GtrContextPanel *panel; GtkTextBuffer *text_buffer; - GtkWidget *dialog; + AdwDialog *dialog; } DialogData; static void dialog_data_free (DialogData *data) { - gtk_window_destroy (GTK_WINDOW (data->dialog)); + adw_dialog_close (data->dialog); g_free (data); } @@ -138,9 +138,9 @@ static void setup_notes_edition (GtkWidget *button, GtrContextPanel *panel) { GtrContextPanelPrivate *priv; - GtkWidget *dialog; + AdwDialog *dialog; GtkWidget *scrolled_window; - GtkBox *dialog_area; + GtkWidget *toolbar_view; GtkWidget *text_view; GtkWidget *headerbar; @@ -149,7 +149,6 @@ setup_notes_edition (GtkWidget *button, GtrContextPanel *panel) GtkTextBuffer *text_buffer = gtk_text_buffer_new (NULL);; DialogData *dd; - GtkWidget *toplevel = gtk_widget_get_ancestor (GTK_WIDGET (panel), GTK_TYPE_WINDOW); priv = gtr_context_panel_get_instance_private (panel); @@ -160,14 +159,12 @@ setup_notes_edition (GtkWidget *button, GtrContextPanel *panel) gtk_header_bar_pack_start (GTK_HEADER_BAR (headerbar), cancel); gtk_header_bar_pack_end (GTK_HEADER_BAR (headerbar), save); - dialog = gtk_window_new (); - gtk_window_set_title (GTK_WINDOW (dialog), _("Notes")); - gtk_window_set_titlebar (GTK_WINDOW (dialog), headerbar); - gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); - gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE); - gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (toplevel)); + dialog = adw_dialog_new (); + toolbar_view = adw_toolbar_view_new (); + adw_dialog_set_title (dialog, _("Notes")); + adw_dialog_set_child (dialog, toolbar_view); + adw_toolbar_view_add_top_bar (ADW_TOOLBAR_VIEW (toolbar_view), headerbar); - dialog_area = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 6)); text_view = gtk_text_view_new_with_buffer (text_buffer); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (text_view),10); @@ -187,15 +184,13 @@ setup_notes_edition (GtkWidget *button, GtrContextPanel *panel) gtk_widget_set_margin_bottom (scrolled_window, 6); gtk_widget_set_vexpand (scrolled_window, TRUE); - gtk_box_append (dialog_area, scrolled_window); - gtk_window_set_child (GTK_WINDOW (dialog), GTK_WIDGET (dialog_area)); + adw_toolbar_view_set_content (ADW_TOOLBAR_VIEW (toolbar_view), scrolled_window); text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)); gtk_text_buffer_set_text (text_buffer, gtr_msg_get_comment (priv->current_msg), -1); - gtk_widget_set_size_request (dialog, 400, 300); - gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); - gtk_window_set_deletable (GTK_WINDOW (dialog), FALSE); + adw_dialog_set_content_height (dialog, 300); + adw_dialog_set_content_width (dialog, 400); dd = g_new0 (DialogData, 1); dd->panel = panel; @@ -205,7 +200,7 @@ setup_notes_edition (GtkWidget *button, GtrContextPanel *panel) g_signal_connect (cancel, "clicked", G_CALLBACK (close_notes), dd); g_signal_connect (save, "clicked", G_CALLBACK (save_notes), dd); - gtk_window_present (GTK_WINDOW (dialog)); + adw_dialog_present (dialog, GTK_WIDGET (panel)); } static void diff --git a/src/gtr-dl-teams.c b/src/gtr-dl-teams.c index 318ca5f2f42e46a99da9c429a15e2fb83a553095..838091345ed69d7927cee862374f76ea1159ddc9 100644 --- a/src/gtr-dl-teams.c +++ b/src/gtr-dl-teams.c @@ -146,15 +146,17 @@ gtr_dl_teams_parse_teams_json (GObject *object, GtrDlTeams *widget = GTR_DL_TEAMS (user_data); GtrDlTeamsPrivate *priv = gtr_dl_teams_get_instance_private (widget); - g_autoptr (GtkAlertDialog) dialog = NULL; + AdwDialog *dialog; /* Parse JSON */ stream = soup_session_send_finish (SOUP_SESSION (object), result, &error); if (error) { - dialog = gtk_alert_dialog_new ("%s", error->message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (priv->main_window)); + dialog = adw_alert_dialog_new (NULL, error->message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (priv->main_window)); return; } @@ -202,7 +204,7 @@ gtr_dl_teams_load_module_details_json (GtkWidget *widget, JsonObject *object; JsonNode *branchesNode; JsonNode *domainsNode; - g_autoptr (GtkAlertDialog) dialog = NULL; + AdwDialog *dialog; SoupStatus status_code; g_autoptr(GInputStream) stream = NULL; @@ -244,8 +246,10 @@ gtr_dl_teams_load_module_details_json (GtkWidget *widget, message = g_strdup (soup_message_get_reason_phrase (msg)); } - dialog = gtk_alert_dialog_new (_("Error loading module info: %s"), message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (priv->main_window)); + dialog = adw_alert_dialog_new (_("Error loading module info"), message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (dialog, GTK_WIDGET (priv->main_window)); return; } @@ -322,14 +326,16 @@ gtr_dl_teams_parse_modules_json (GObject *object, GtrDlTeams *widget = GTR_DL_TEAMS (user_data); GtrDlTeamsPrivate *priv = gtr_dl_teams_get_instance_private (widget); - g_autoptr (GtkAlertDialog) dialog = NULL; + AdwDialog *dialog; /* Parse JSON */ stream = soup_session_send_finish (SOUP_SESSION (object), result, &error); if (error) { - dialog = gtk_alert_dialog_new ("%s", error->message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (priv->main_window)); + dialog = adw_alert_dialog_new (NULL, error->message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (priv->main_window)); return; } @@ -400,7 +406,7 @@ gtr_dl_teams_get_file_info (GtrDlTeams *self) JsonObject *stats_object; const char *format; char *markup; - g_autoptr (GtkAlertDialog) dialog = NULL; + AdwDialog *dialog; SoupStatus status_code; g_autoptr(GInputStream) stream = NULL; @@ -434,8 +440,10 @@ gtr_dl_teams_get_file_info (GtrDlTeams *self) message = g_strdup (soup_message_get_reason_phrase (msg)); } - dialog = gtk_alert_dialog_new (_("Error loading file info: %s"), message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (priv->main_window)); + dialog = adw_alert_dialog_new (_("Error loading file info"), message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (dialog, GTK_WIDGET (priv->main_window)); return; } @@ -509,7 +517,7 @@ gtr_dl_teams_load_po_file (GtkButton *button, GtrDlTeams *self) g_autoptr (GFile) tmp_file = NULL; GFileIOStream *iostream = NULL; GOutputStream *output = NULL; - GtkAlertDialog *dialog; + AdwDialog *dialog; gboolean ret = FALSE; int file_index = 0; const char *dest_dir = g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD); @@ -557,8 +565,10 @@ gtr_dl_teams_load_po_file (GtkButton *button, GtrDlTeams *self) message = g_strdup (soup_message_get_reason_phrase (msg)); } - dialog = gtk_alert_dialog_new (_("Error loading file: %s"), message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (priv->main_window)); + dialog = adw_alert_dialog_new (_("Error loading file"), message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (dialog, GTK_WIDGET (priv->main_window)); return; } @@ -566,8 +576,11 @@ gtr_dl_teams_load_po_file (GtkButton *button, GtrDlTeams *self) if (error != NULL) { - dialog = gtk_alert_dialog_new (_("Error creating tmp file: %s"), error->message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (priv->main_window)); + dialog = adw_alert_dialog_new (_("Error creating tmp file"), + error->message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (dialog, GTK_WIDGET (priv->main_window)); g_error_free (error); return; } @@ -577,8 +590,10 @@ gtr_dl_teams_load_po_file (GtkButton *button, GtrDlTeams *self) if (error != NULL) { - dialog = gtk_alert_dialog_new (_("Error writing stream: %s"), error->message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (priv->main_window)); + dialog = adw_alert_dialog_new (_("Error writing stream"), error->message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (dialog, GTK_WIDGET (priv->main_window)); g_error_free (error); return; } @@ -607,8 +622,10 @@ gtr_dl_teams_load_po_file (GtkButton *button, GtrDlTeams *self) if (error != NULL) { - dialog = gtk_alert_dialog_new (_("Error creating tmp file: %s"), error->message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (priv->main_window)); + dialog = adw_alert_dialog_new (_("Error creating tmp file"), error->message); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_dialog_present (dialog, GTK_WIDGET (priv->main_window)); g_error_free (error); return; } @@ -636,7 +653,7 @@ gtr_dl_teams_reserve_for_translation (GtkWidget *button, GtrDlTeams *self) GtrDlTeamsPrivate *priv = gtr_dl_teams_get_instance_private (self); GtrProfileManager *pmanager = NULL; GtrProfile *profile = NULL; - g_autoptr (GtkAlertDialog) dialog = NULL; + AdwDialog *dialog; const char *auth_token = NULL; SoupStatus status_code; g_autoptr (GError) error = NULL; @@ -674,15 +691,18 @@ gtr_dl_teams_reserve_for_translation (GtkWidget *button, GtrDlTeams *self) else message = g_strdup (soup_message_get_reason_phrase (msg)); - dialog = gtk_alert_dialog_new ( + dialog = adw_alert_dialog_new (_("Could not reserve module"), NULL); + adw_alert_dialog_add_response (ADW_ALERT_DIALOG (dialog), "ok", _("OK")); + adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "ok"); + adw_alert_dialog_format_body (ADW_ALERT_DIALOG (dialog), _( - "An error occurred while reserving this module: %s\n" + "%s\n" "Maybe you've not configured your l10n.gnome.org " "token correctly in your profile or you don't have " "permissions to reserve this module." ), message); - gtk_alert_dialog_show (GTK_ALERT_DIALOG (dialog), GTK_WINDOW (priv->main_window)); + adw_dialog_present (dialog, GTK_WIDGET (priv->main_window)); return FALSE; } diff --git a/src/gtr-header-dialog.c b/src/gtr-header-dialog.c index ee4a93dd4dfe718afef2fc10464473558d18381c..c02a23887af9a9748ac8daf9a8e2dd8741e64b0e 100644 --- a/src/gtr-header-dialog.c +++ b/src/gtr-header-dialog.c @@ -64,10 +64,10 @@ typedef struct struct _GtrHeaderDialog { - AdwPreferencesWindow parent_instance; + AdwPreferencesDialog parent_instance; }; -G_DEFINE_TYPE_WITH_PRIVATE (GtrHeaderDialog, gtr_header_dialog, ADW_TYPE_PREFERENCES_WINDOW) +G_DEFINE_TYPE_WITH_PRIVATE (GtrHeaderDialog, gtr_header_dialog, ADW_TYPE_PREFERENCES_DIALOG) static void gtr_header_dialog_dispose (GObject * object) @@ -342,9 +342,7 @@ gtr_header_dialog_init (GtrHeaderDialog * dlg) priv->settings = g_settings_new ("org.gnome.gtranslator.preferences.files"); - gtk_window_set_title (GTK_WINDOW (dlg), _("Edit Header")); - gtk_window_set_destroy_with_parent (GTK_WINDOW (dlg), TRUE); - gtk_window_set_modal (GTK_WINDOW (dlg), TRUE); + adw_dialog_set_title (ADW_DIALOG (dlg), _("Edit Header")); gtk_widget_init_template (GTK_WIDGET (dlg)); @@ -388,8 +386,6 @@ set_default_values (GtrHeaderDialog * dlg, GtrWindow * window) priv->po = gtr_tab_get_po (tab); gtr_header_dialog_fill_from_header (GTR_HEADER_DIALOG (dlg)); - gtk_window_set_transient_for (GTK_WINDOW (dlg), GTK_WINDOW (window)); - /*Connect signals */ g_signal_connect (priv->take_my_options, "notify::active", G_CALLBACK (take_my_options_checkbutton_toggled), dlg); @@ -446,7 +442,5 @@ gtr_show_header_dialog (GtrWindow * window) dlg = GTK_WIDGET (g_object_new (GTR_TYPE_HEADER_DIALOG, NULL)); set_default_values (GTR_HEADER_DIALOG (dlg), window); - gtk_window_set_transient_for (GTK_WINDOW (dlg), GTK_WINDOW (window)); - gtk_window_set_modal (GTK_WINDOW (dlg), TRUE); - gtk_window_present (GTK_WINDOW (dlg)); + adw_dialog_present (ADW_DIALOG (dlg), GTK_WIDGET (window)); } diff --git a/src/gtr-header-dialog.h b/src/gtr-header-dialog.h index 88e00332a6884cd108f3b4010f8b71f80a8d3e9a..09329eb66a0d7f41b08dd9d386fc9f594fcdc964 100644 --- a/src/gtr-header-dialog.h +++ b/src/gtr-header-dialog.h @@ -28,7 +28,7 @@ G_BEGIN_DECLS #define GTR_TYPE_HEADER_DIALOG (gtr_header_dialog_get_type ()) -G_DECLARE_FINAL_TYPE (GtrHeaderDialog, gtr_header_dialog, GTR, HEADER_DIALOG, AdwPreferencesWindow) +G_DECLARE_FINAL_TYPE (GtrHeaderDialog, gtr_header_dialog, GTR, HEADER_DIALOG, AdwPreferencesDialog) /* * Public methods diff --git a/src/gtr-header-dialog.ui b/src/gtr-header-dialog.ui index e853346e2534e7878f6b66d2f40c5ef73c589d9d..a48c3a15455b816363fcf2d4f60d0b884ff879f2 100644 --- a/src/gtr-header-dialog.ui +++ b/src/gtr-header-dialog.ui @@ -2,7 +2,7 @@ -