[epiphany] preferences: Don't cast pages to a GtkWindow
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] preferences: Don't cast pages to a GtkWindow
- Date: Thu, 21 May 2020 13:03:09 +0000 (UTC)
commit db73d21779c282c203225a39a49018df8626ef6c
Author: Yetizone <andreii lisita gmail com>
Date: Wed May 20 22:49:58 2020 +0300
preferences: Don't cast pages to a GtkWindow
Fetch a reference to the prefs_dialog and use that instead
src/preferences/prefs-general-page.c | 17 +++++++++++++----
src/preferences/prefs-privacy-page.c | 13 ++++++++++---
2 files changed, 23 insertions(+), 7 deletions(-)
---
diff --git a/src/preferences/prefs-general-page.c b/src/preferences/prefs-general-page.c
index 1d457b87d..54ad5468e 100644
--- a/src/preferences/prefs-general-page.c
+++ b/src/preferences/prefs-general-page.c
@@ -316,10 +316,12 @@ language_editor_add_button_release_event (GtkWidget *button,
PrefsGeneralPage *general_page)
{
if (general_page->add_lang_dialog == NULL) {
+ GtkWindow *prefs_dialog;
GtkDialog **add_lang_dialog;
+ prefs_dialog = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (general_page)));
general_page->add_lang_dialog = setup_add_language_dialog (general_page);
- gtk_window_set_transient_for (GTK_WINDOW (general_page->add_lang_dialog), GTK_WINDOW (general_page));
+ gtk_window_set_transient_for (GTK_WINDOW (general_page->add_lang_dialog), prefs_dialog);
add_lang_dialog = &general_page->add_lang_dialog;
@@ -599,9 +601,11 @@ setup_add_language_dialog (PrefsGeneralPage *general_page)
GtkTreeIter iter;
guint i, n;
GtkBuilder *builder;
+ GtkWidget *prefs_dialog;
g_auto (GStrv) locales;
builder = gtk_builder_new_from_resource ("/org/gnome/epiphany/gtk/prefs-lang-dialog.ui");
+ prefs_dialog = gtk_widget_get_toplevel (GTK_WIDGET (general_page));
ad = GTK_WIDGET (gtk_builder_get_object (builder, "add_language_dialog"));
add_button = GTK_WIDGET (gtk_builder_get_object (builder, "add_button"));
treeview = GTK_TREE_VIEW (gtk_builder_get_object (builder, "languages_treeview"));
@@ -645,7 +649,7 @@ setup_add_language_dialog (PrefsGeneralPage *general_page)
gtk_tree_sortable_set_sort_column_id
(GTK_TREE_SORTABLE (sortmodel), COL_LANG_NAME, GTK_SORT_ASCENDING);
- gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (general_page)),
+ gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (prefs_dialog)),
GTK_WINDOW (ad));
gtk_window_set_modal (GTK_WINDOW (ad), TRUE);
@@ -1079,10 +1083,12 @@ on_search_engine_dialog_button_clicked (GtkWidget *button,
PrefsGeneralPage *general_page)
{
GtkWindow *search_engine_dialog;
+ GtkWindow *prefs_dialog;
search_engine_dialog = GTK_WINDOW (ephy_search_engine_dialog_new ());
+ prefs_dialog = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (general_page)));
- gtk_window_set_transient_for (search_engine_dialog, GTK_WINDOW (general_page));
+ gtk_window_set_transient_for (search_engine_dialog, prefs_dialog);
gtk_window_set_modal (search_engine_dialog, TRUE);
gtk_window_present_with_time (search_engine_dialog, gtk_get_current_event_time ());
}
@@ -1092,9 +1098,12 @@ on_manage_webapp_additional_urls_button_clicked (GtkWidget *button,
PrefsGeneralPage *general_page)
{
EphyWebappAdditionalURLsDialog *urls_dialog;
+ GtkWindow *prefs_dialog;
urls_dialog = ephy_webapp_additional_urls_dialog_new ();
- gtk_window_set_transient_for (GTK_WINDOW (urls_dialog), GTK_WINDOW (general_page));
+ prefs_dialog = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (general_page)));
+
+ gtk_window_set_transient_for (GTK_WINDOW (urls_dialog), prefs_dialog);
gtk_window_set_modal (GTK_WINDOW (urls_dialog), TRUE);
gtk_window_present_with_time (GTK_WINDOW (urls_dialog), gtk_get_current_event_time ());
}
diff --git a/src/preferences/prefs-privacy-page.c b/src/preferences/prefs-privacy-page.c
index 6561dcaa7..5b0989c24 100644
--- a/src/preferences/prefs-privacy-page.c
+++ b/src/preferences/prefs-privacy-page.c
@@ -55,10 +55,12 @@ on_manage_cookies_button_clicked (GtkWidget *button,
PrefsPrivacyPage *privacy_page)
{
EphyCookiesDialog *cookies_dialog;
+ GtkWindow *prefs_dialog;
cookies_dialog = ephy_cookies_dialog_new ();
+ prefs_dialog = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (privacy_page)));
- gtk_window_set_transient_for (GTK_WINDOW (cookies_dialog), GTK_WINDOW (privacy_page));
+ gtk_window_set_transient_for (GTK_WINDOW (cookies_dialog), prefs_dialog);
gtk_window_set_modal (GTK_WINDOW (cookies_dialog), TRUE);
gtk_window_present_with_time (GTK_WINDOW (cookies_dialog), gtk_get_current_event_time ());
}
@@ -69,11 +71,13 @@ on_manage_passwords_button_clicked (GtkWidget *button,
{
EphyPasswordsDialog *passwords_dialog;
EphyPasswordManager *password_manager;
+ GtkWindow *prefs_dialog;
password_manager = ephy_embed_shell_get_password_manager (EPHY_EMBED_SHELL (ephy_shell_get_default ()));
passwords_dialog = ephy_passwords_dialog_new (password_manager);
+ prefs_dialog = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (privacy_page)));
- gtk_window_set_transient_for (GTK_WINDOW (passwords_dialog), GTK_WINDOW (privacy_page));
+ gtk_window_set_transient_for (GTK_WINDOW (passwords_dialog), prefs_dialog);
gtk_window_set_modal (GTK_WINDOW (passwords_dialog), TRUE);
gtk_window_present_with_time (GTK_WINDOW (passwords_dialog), gtk_get_current_event_time ());
}
@@ -125,9 +129,12 @@ clear_personal_data_button_clicked_cb (GtkWidget *button,
PrefsPrivacyPage *privacy_page)
{
ClearDataDialog *clear_dialog;
+ GtkWindow *prefs_dialog;
clear_dialog = g_object_new (EPHY_TYPE_CLEAR_DATA_DIALOG, NULL);
- gtk_window_set_transient_for (GTK_WINDOW (clear_dialog), GTK_WINDOW (privacy_page));
+ prefs_dialog = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (privacy_page)));
+
+ gtk_window_set_transient_for (GTK_WINDOW (clear_dialog), prefs_dialog);
gtk_window_set_modal (GTK_WINDOW (clear_dialog), TRUE);
gtk_window_present_with_time (GTK_WINDOW (clear_dialog), gtk_get_current_event_time ());
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]