[gtk/wip/matthiasc/popup2: 47/51] more toplevel cleanups
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/matthiasc/popup2: 47/51] more toplevel cleanups
- Date: Mon, 18 Mar 2019 12:49:08 +0000 (UTC)
commit 381e558b5a6fb7d1526dfd226ea4f3140617f58e
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Mar 17 21:45:54 2019 -0400
more toplevel cleanups
gtk/a11y/gtkmenuitemaccessible.c | 9 ++++-----
gtk/gtkappchooserbutton.c | 12 +++++-------
gtk/gtkcellrendereraccel.c | 2 +-
gtk/gtkcolorbutton.c | 2 +-
gtk/gtkcoloreditor.c | 6 +++---
gtk/gtkdnd.c | 17 ++++++++---------
gtk/gtklabel.c | 29 +++++++++++++++--------------
gtk/gtkpopup.c | 3 ++-
gtk/gtkwindow.c | 2 +-
9 files changed, 40 insertions(+), 42 deletions(-)
---
diff --git a/gtk/a11y/gtkmenuitemaccessible.c b/gtk/a11y/gtkmenuitemaccessible.c
index 41cf7417b5..01b13aeed4 100644
--- a/gtk/a11y/gtkmenuitemaccessible.c
+++ b/gtk/a11y/gtkmenuitemaccessible.c
@@ -534,12 +534,11 @@ gtk_menu_item_accessible_get_keybinding (AtkAction *action,
if (GTK_IS_MENU_BAR (parent))
{
- GtkWidget *toplevel;
+ GtkRoot *root;
- toplevel = gtk_widget_get_toplevel (parent);
- if (toplevel && GTK_IS_WINDOW (toplevel))
- mnemonic_modifier =
- gtk_window_get_mnemonic_modifier (GTK_WINDOW (toplevel));
+ root = gtk_widget_get_root (parent);
+ if (root && GTK_IS_WINDOW (root))
+ mnemonic_modifier = gtk_window_get_mnemonic_modifier (GTK_WINDOW (root));
}
child = find_item_label (temp_item);
diff --git a/gtk/gtkappchooserbutton.c b/gtk/gtkappchooserbutton.c
index f8721a0720..a222f17f77 100644
--- a/gtk/gtkappchooserbutton.c
+++ b/gtk/gtkappchooserbutton.c
@@ -259,16 +259,14 @@ other_application_item_activated_cb (GtkAppChooserButton *self)
{
GtkAppChooserButtonPrivate *priv = gtk_app_chooser_button_get_instance_private (self);
GtkWidget *dialog, *widget;
- GtkWindow *toplevel;
+ GtkRoot *root;
- toplevel = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self)));
- dialog = gtk_app_chooser_dialog_new_for_content_type (toplevel,
+ root = gtk_widget_get_root (GTK_WIDGET (self));
+ dialog = gtk_app_chooser_dialog_new_for_content_type (GTK_WINDOW (root),
GTK_DIALOG_DESTROY_WITH_PARENT,
priv->content_type);
-
- gtk_window_set_modal (GTK_WINDOW (dialog), gtk_window_get_modal (toplevel));
- gtk_app_chooser_dialog_set_heading (GTK_APP_CHOOSER_DIALOG (dialog),
- priv->heading);
+ gtk_window_set_modal (GTK_WINDOW (dialog), gtk_window_get_modal (GTK_WINDOW (root)));
+ gtk_app_chooser_dialog_set_heading (GTK_APP_CHOOSER_DIALOG (dialog), priv->heading);
widget = gtk_app_chooser_dialog_get_widget (GTK_APP_CHOOSER_DIALOG (dialog));
g_object_set (widget,
diff --git a/gtk/gtkcellrendereraccel.c b/gtk/gtkcellrendereraccel.c
index 14a669b431..201656df17 100644
--- a/gtk/gtkcellrendereraccel.c
+++ b/gtk/gtkcellrendereraccel.c
@@ -452,7 +452,7 @@ gtk_cell_renderer_accel_start_editing (GtkCellRenderer *cell,
if (!is_editable)
return NULL;
- surface = gtk_widget_get_surface (gtk_widget_get_toplevel (widget));
+ surface = gtk_widget_get_surface (widget);
if (event)
seat = gdk_event_get_seat (event);
diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c
index 0c8abded61..fa6c882753 100644
--- a/gtk/gtkcolorbutton.c
+++ b/gtk/gtkcolorbutton.c
@@ -523,7 +523,7 @@ ensure_dialog (GtkColorButton *button)
priv->cs_dialog = dialog = gtk_color_chooser_dialog_new (priv->title, NULL);
gtk_window_set_hide_on_close (GTK_WINDOW (dialog), TRUE);
- if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent))
+ if (GTK_IS_WINDOW (parent))
{
if (GTK_WINDOW (parent) != gtk_window_get_transient_for (GTK_WINDOW (dialog)))
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent));
diff --git a/gtk/gtkcoloreditor.c b/gtk/gtkcoloreditor.c
index 8670027631..b5aaf6d855 100644
--- a/gtk/gtkcoloreditor.c
+++ b/gtk/gtkcoloreditor.c
@@ -193,7 +193,7 @@ popup_edit (GtkWidget *widget,
GtkColorEditor *editor)
{
GtkWidget *popup = NULL;
- GtkWidget *toplevel;
+ GtkRoot *root;
GtkWidget *focus;
gint position;
gint s, e;
@@ -224,8 +224,8 @@ popup_edit (GtkWidget *widget,
else if (popup)
{
dismiss_current_popup (editor);
- toplevel = gtk_widget_get_toplevel (GTK_WIDGET (editor));
- g_set_object (&editor->priv->popdown_focus, gtk_root_get_focus (GTK_ROOT (toplevel)));
+ root = gtk_widget_get_root (GTK_WIDGET (editor));
+ g_set_object (&editor->priv->popdown_focus, gtk_root_get_focus (root));
editor->priv->current_popup = popup;
editor->priv->popup_position = position;
gtk_widget_show (popup);
diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
index 0313566573..83976746d3 100644
--- a/gtk/gtkdnd.c
+++ b/gtk/gtkdnd.c
@@ -883,7 +883,7 @@ gtk_drag_begin_internal (GtkWidget *widget,
int y)
{
GtkDragSourceInfo *info;
- GtkWidget *toplevel;
+ GtkRoot *root;
GdkDrag *drag;
int dx, dy;
GtkDragContent *content;
@@ -891,13 +891,12 @@ gtk_drag_begin_internal (GtkWidget *widget,
if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
device = gdk_device_get_associated_device (device);
- toplevel = gtk_widget_get_toplevel (widget);
- gtk_widget_translate_coordinates (widget, toplevel,
- x, y, &x, &y);
- gdk_surface_get_device_position (gtk_widget_get_surface (toplevel),
- device,
- &dx, &dy,
- NULL);
+ root = gtk_widget_get_root (widget);
+ gtk_widget_translate_coordinates (widget, root, x, y, &x, &y);
+ gdk_surface_get_device_position (gtk_widget_get_surface (GTK_WIDGET (root)),
+ device,
+ &dx, &dy,
+ NULL);
dx -= x;
dy -= y;
@@ -905,7 +904,7 @@ gtk_drag_begin_internal (GtkWidget *widget,
content->widget = g_object_ref (widget);
content->formats = gdk_content_formats_ref (target_list);
- drag = gdk_drag_begin (gtk_widget_get_surface (toplevel), device, GDK_CONTENT_PROVIDER (content), actions,
dx, dy);
+ drag = gdk_drag_begin (gtk_widget_get_surface (GTK_WIDGET (root)), device, GDK_CONTENT_PROVIDER (content),
actions, dx, dy);
if (drag == NULL)
{
g_object_unref (content);
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 90c1e6b3db..8a90684ee7 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -4557,28 +4557,28 @@ static void
connect_mnemonics_visible_notify (GtkLabel *label)
{
GtkLabelPrivate *priv = gtk_label_get_instance_private (label);
- GtkWidget *toplevel;
+ GtkRoot *root;
gboolean connected;
- toplevel = gtk_widget_get_toplevel (GTK_WIDGET (label));
+ root = gtk_widget_get_root (GTK_WIDGET (label));
- if (!GTK_IS_WINDOW (toplevel))
+ if (!GTK_IS_WINDOW (root))
return;
/* always set up this widgets initial value */
priv->mnemonics_visible =
- gtk_window_get_mnemonics_visible (GTK_WINDOW (toplevel));
+ gtk_window_get_mnemonics_visible (GTK_WINDOW (root));
connected =
- GPOINTER_TO_INT (g_object_get_qdata (G_OBJECT (toplevel), quark_mnemonics_visible_connected));
+ GPOINTER_TO_INT (g_object_get_qdata (G_OBJECT (root), quark_mnemonics_visible_connected));
if (!connected)
{
- g_signal_connect (toplevel,
+ g_signal_connect (root,
"notify::mnemonics-visible",
G_CALLBACK (label_mnemonics_visible_changed),
label);
- g_object_set_qdata (G_OBJECT (toplevel),
+ g_object_set_qdata (G_OBJECT (root),
quark_mnemonics_visible_connected,
GINT_TO_POINTER (1));
}
@@ -5867,12 +5867,10 @@ gtk_label_move_cursor (GtkLabel *label,
count > 0 ?
GTK_DIR_RIGHT : GTK_DIR_LEFT))
{
- GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (label));
+ GtkRoot *root = gtk_widget_get_root (GTK_WIDGET (label));
- if (toplevel)
- gtk_widget_child_focus (toplevel,
- count > 0 ?
- GTK_DIR_RIGHT : GTK_DIR_LEFT);
+ if (root)
+ gtk_widget_child_focus (root, count > 0 ? GTK_DIR_RIGHT : GTK_DIR_LEFT);
}
}
else
@@ -6154,11 +6152,14 @@ gtk_label_activate_link (GtkLabel *label,
const gchar *uri)
{
GtkWidget *widget = GTK_WIDGET (label);
- GtkWidget *top_level = gtk_widget_get_toplevel (widget);
+ GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
guint32 timestamp = gtk_get_current_event_time ();
GError *error = NULL;
- if (!gtk_show_uri_on_window (GTK_WINDOW (top_level), uri, timestamp, &error))
+ if (!GTK_IS_WINDOW (toplevel))
+ return;
+
+ if (!gtk_show_uri_on_window (GTK_WINDOW (toplevel), uri, timestamp, &error))
{
g_warning ("Unable to show '%s': %s", uri, error->message);
g_error_free (error);
diff --git a/gtk/gtkpopup.c b/gtk/gtkpopup.c
index 83bd34ddec..a24c1270d3 100644
--- a/gtk/gtkpopup.c
+++ b/gtk/gtkpopup.c
@@ -113,7 +113,8 @@ gtk_popup_move_resize (GtkPopup *popup)
rect.y = 0;
rect.width = gtk_widget_get_width (priv->relative_to);
rect.height = gtk_widget_get_height (priv->relative_to);
- gtk_widget_translate_coordinates (priv->relative_to, gtk_widget_get_toplevel (priv->relative_to),
+ gtk_widget_translate_coordinates (priv->relative_to,
+ GTK_WIDGET (gtk_widget_get_root (priv->relative_to)),
rect.x, rect.y, &rect.x, &rect.y);
gdk_surface_move_to_rect (priv->surface,
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index d680dffebb..647a7e1db5 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -6944,7 +6944,7 @@ gtk_window_propagate_key_event (GtkWindow *window,
while (!handled &&
focus && focus != widget &&
- gtk_widget_get_toplevel (focus) == widget)
+ gtk_widget_get_root (focus) == GTK_ROOT (widget))
{
GtkWidget *parent;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]