display: ensure the display labels remain visible when dialogs are open
https://bugzilla.gnome.org/show_bug.cgi?id=707930
This commit is contained in:
parent
d934486542
commit
02930b74e0
1 changed files with 20 additions and 14 deletions
|
@ -1454,6 +1454,22 @@ apply_current_configuration (CcDisplayPanel *self)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
dialog_toplevel_focus_changed (GtkWindow *window,
|
||||
GParamSpec *pspec,
|
||||
CcDisplayPanel *self)
|
||||
{
|
||||
CcDisplayPanelPrivate *priv = self->priv;
|
||||
|
||||
if (priv->labeler == NULL)
|
||||
return;
|
||||
|
||||
if (gtk_window_has_toplevel_focus (window))
|
||||
cc_rr_labeler_show (priv->labeler);
|
||||
else
|
||||
cc_rr_labeler_hide (priv->labeler);
|
||||
}
|
||||
|
||||
static void
|
||||
show_arrange_displays_dialog (GtkButton *button,
|
||||
CcDisplayPanel *panel)
|
||||
|
@ -1463,6 +1479,8 @@ show_arrange_displays_dialog (GtkButton *button,
|
|||
gint response;
|
||||
|
||||
priv->dialog = gtk_dialog_new ();
|
||||
g_signal_connect (priv->dialog, "notify::has-toplevel-focus",
|
||||
G_CALLBACK (dialog_toplevel_focus_changed), panel);
|
||||
gtk_window_set_title (GTK_WINDOW (priv->dialog), _("Arrange Combined Displays"));
|
||||
gtk_window_set_transient_for (GTK_WINDOW (priv->dialog),
|
||||
GTK_WINDOW (cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel)))));
|
||||
|
@ -1731,20 +1749,6 @@ setup_listbox_row_activated (GtkListBox *list_box,
|
|||
update_apply_button (panel);
|
||||
}
|
||||
|
||||
static void
|
||||
dialog_toplevel_focus_changed (GtkWindow *window,
|
||||
GParamSpec *pspec,
|
||||
CcDisplayPanel *self)
|
||||
{
|
||||
if (self->priv->labeler == NULL)
|
||||
return;
|
||||
if (gtk_window_has_toplevel_focus (window))
|
||||
cc_rr_labeler_show (self->priv->labeler);
|
||||
else
|
||||
cc_rr_labeler_hide (self->priv->labeler);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
rotate_left_clicked (GtkButton *button,
|
||||
CcDisplayPanel *panel)
|
||||
|
@ -1878,6 +1882,8 @@ show_setup_dialog (CcDisplayPanel *panel)
|
|||
|
||||
|
||||
priv->dialog = gtk_dialog_new ();
|
||||
g_signal_connect (priv->dialog, "notify::has-toplevel-focus",
|
||||
G_CALLBACK (dialog_toplevel_focus_changed), panel);
|
||||
gtk_window_set_title (GTK_WINDOW (priv->dialog),
|
||||
gnome_rr_output_info_get_display_name (priv->current_output));
|
||||
gtk_window_set_transient_for (GTK_WINDOW (priv->dialog),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue