checked in (request 29925)
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=113
This commit is contained in:
committed by
Git OBS Bridge
parent
c1cb311d64
commit
463990edb7
@@ -1,8 +1,8 @@
|
||||
Index: gdm-2.29.5/gui/simple-greeter/Makefile.am
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/gui/simple-greeter/Makefile.am
|
||||
+++ gdm-2.29.5/gui/simple-greeter/Makefile.am
|
||||
@@ -134,6 +134,14 @@ test_greeter_panel_SOURCES = \
|
||||
diff --git a/gui/simple-greeter/Makefile.am b/gui/simple-greeter/Makefile.am
|
||||
index bba7a4a..d652961 100644
|
||||
--- a/gui/simple-greeter/Makefile.am
|
||||
+++ b/gui/simple-greeter/Makefile.am
|
||||
@@ -136,6 +136,14 @@ test_greeter_panel_SOURCES = \
|
||||
gdm-sessions.c \
|
||||
gdm-session-option-widget.h \
|
||||
gdm-session-option-widget.c \
|
||||
@@ -17,7 +17,7 @@ Index: gdm-2.29.5/gui/simple-greeter/Makefile.am
|
||||
$(NULL)
|
||||
|
||||
test_greeter_panel_LDADD = \
|
||||
@@ -312,12 +320,20 @@ gdm_simple_greeter_SOURCES = \
|
||||
@@ -313,12 +321,20 @@ gdm_simple_greeter_SOURCES = \
|
||||
gdm-language-chooser-dialog.c \
|
||||
gdm-language-option-widget.h \
|
||||
gdm-language-option-widget.c \
|
||||
@@ -38,12 +38,12 @@ Index: gdm-2.29.5/gui/simple-greeter/Makefile.am
|
||||
$(NULL)
|
||||
|
||||
gdm_simple_greeter_LDADD = \
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-chooser-widget.c
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/gui/simple-greeter/gdm-chooser-widget.c
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-chooser-widget.c
|
||||
@@ -2121,6 +2121,21 @@ gdm_chooser_widget_remove_item (GdmChoos
|
||||
update_chooser_visibility (widget);
|
||||
diff --git a/gui/simple-greeter/gdm-chooser-widget.c b/gui/simple-greeter/gdm-chooser-widget.c
|
||||
index f0298c6..4894eee 100644
|
||||
--- a/gui/simple-greeter/gdm-chooser-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-chooser-widget.c
|
||||
@@ -2105,6 +2105,20 @@ gdm_chooser_widget_remove_item (GdmChooserWidget *widget,
|
||||
move_cursor_to_top (widget);
|
||||
}
|
||||
|
||||
+void
|
||||
@@ -58,17 +58,16 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-chooser-widget.c
|
||||
+
|
||||
+ update_separator_visibility (widget);
|
||||
+ move_cursor_to_top (widget);
|
||||
+ update_chooser_visibility (widget);
|
||||
+}
|
||||
+
|
||||
gboolean
|
||||
gdm_chooser_widget_lookup_item (GdmChooserWidget *widget,
|
||||
const char *id,
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-chooser-widget.h
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/gui/simple-greeter/gdm-chooser-widget.h
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-chooser-widget.h
|
||||
@@ -96,6 +96,8 @@ void gdm_chooser_widget_update_i
|
||||
diff --git a/gui/simple-greeter/gdm-chooser-widget.h b/gui/simple-greeter/gdm-chooser-widget.h
|
||||
index b73d1bb..b70016c 100644
|
||||
--- a/gui/simple-greeter/gdm-chooser-widget.h
|
||||
+++ b/gui/simple-greeter/gdm-chooser-widget.h
|
||||
@@ -96,6 +96,8 @@ void gdm_chooser_widget_update_item (GdmChooserWidget *
|
||||
void gdm_chooser_widget_remove_item (GdmChooserWidget *widget,
|
||||
const char *id);
|
||||
|
||||
@@ -77,10 +76,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-chooser-widget.h
|
||||
gboolean gdm_chooser_widget_lookup_item (GdmChooserWidget *widget,
|
||||
const char *id,
|
||||
GdkPixbuf **image,
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-dialog.c
|
||||
===================================================================
|
||||
diff --git a/gui/simple-greeter/gdm-domain-chooser-dialog.c b/gui/simple-greeter/gdm-domain-chooser-dialog.c
|
||||
new file mode 100644
|
||||
index 0000000..f577b65
|
||||
--- /dev/null
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-dialog.c
|
||||
+++ b/gui/simple-greeter/gdm-domain-chooser-dialog.c
|
||||
@@ -0,0 +1,207 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -289,10 +289,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-dialog.c
|
||||
+
|
||||
+ return GTK_WIDGET (object);
|
||||
+}
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-dialog.h
|
||||
===================================================================
|
||||
diff --git a/gui/simple-greeter/gdm-domain-chooser-dialog.h b/gui/simple-greeter/gdm-domain-chooser-dialog.h
|
||||
new file mode 100644
|
||||
index 0000000..f11f183
|
||||
--- /dev/null
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-dialog.h
|
||||
+++ b/gui/simple-greeter/gdm-domain-chooser-dialog.h
|
||||
@@ -0,0 +1,60 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -354,10 +355,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-dialog.h
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GDM_DOMAIN_CHOOSER_DIALOG_H */
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-widget.c
|
||||
===================================================================
|
||||
diff --git a/gui/simple-greeter/gdm-domain-chooser-widget.c b/gui/simple-greeter/gdm-domain-chooser-widget.c
|
||||
new file mode 100644
|
||||
index 0000000..1d8b113
|
||||
--- /dev/null
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-domain-chooser-widget.c
|
||||
@@ -0,0 +1,237 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -596,10 +598,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-widget.c
|
||||
+
|
||||
+ return GTK_WIDGET (object);
|
||||
+}
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-widget.h
|
||||
===================================================================
|
||||
diff --git a/gui/simple-greeter/gdm-domain-chooser-widget.h b/gui/simple-greeter/gdm-domain-chooser-widget.h
|
||||
new file mode 100644
|
||||
index 0000000..4ba9d18
|
||||
--- /dev/null
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-widget.h
|
||||
+++ b/gui/simple-greeter/gdm-domain-chooser-widget.h
|
||||
@@ -0,0 +1,59 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -660,10 +663,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-chooser-widget.h
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GDM_DOMAIN_CHOOSER_WIDGET_H */
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-option-widget.c
|
||||
===================================================================
|
||||
diff --git a/gui/simple-greeter/gdm-domain-option-widget.c b/gui/simple-greeter/gdm-domain-option-widget.c
|
||||
new file mode 100644
|
||||
index 0000000..31e76e2
|
||||
--- /dev/null
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-domain-option-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-domain-option-widget.c
|
||||
@@ -0,0 +1,379 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -1044,10 +1048,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-option-widget.c
|
||||
+
|
||||
+ gdm_option_widget_set_active_item (GDM_OPTION_WIDGET (widget), domain_name);
|
||||
+}
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-option-widget.h
|
||||
===================================================================
|
||||
diff --git a/gui/simple-greeter/gdm-domain-option-widget.h b/gui/simple-greeter/gdm-domain-option-widget.h
|
||||
new file mode 100644
|
||||
index 0000000..4913ede
|
||||
--- /dev/null
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-domain-option-widget.h
|
||||
+++ b/gui/simple-greeter/gdm-domain-option-widget.h
|
||||
@@ -0,0 +1,59 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -1108,10 +1113,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-option-widget.h
|
||||
+ const char *domain_name);
|
||||
+
|
||||
+#endif /* __GDM_DOMAIN_OPTION_WIDGET_H */
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-provider.c
|
||||
===================================================================
|
||||
diff --git a/gui/simple-greeter/gdm-domain-provider.c b/gui/simple-greeter/gdm-domain-provider.c
|
||||
new file mode 100644
|
||||
index 0000000..2924291
|
||||
--- /dev/null
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-domain-provider.c
|
||||
+++ b/gui/simple-greeter/gdm-domain-provider.c
|
||||
@@ -0,0 +1,536 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -1649,10 +1655,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-provider.c
|
||||
+
|
||||
+ return priv->domains;
|
||||
+}
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-provider.h
|
||||
===================================================================
|
||||
diff --git a/gui/simple-greeter/gdm-domain-provider.h b/gui/simple-greeter/gdm-domain-provider.h
|
||||
new file mode 100644
|
||||
index 0000000..6a318ff
|
||||
--- /dev/null
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-domain-provider.h
|
||||
+++ b/gui/simple-greeter/gdm-domain-provider.h
|
||||
@@ -0,0 +1,61 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -1715,40 +1722,35 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-domain-provider.h
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GDM_DOMAIN_PROVIDER_H */
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.c
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/gui/simple-greeter/gdm-greeter-panel.c
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.c
|
||||
@@ -52,7 +52,10 @@
|
||||
diff --git a/gui/simple-greeter/gdm-greeter-panel.c b/gui/simple-greeter/gdm-greeter-panel.c
|
||||
index 50478c5..825f0c5 100644
|
||||
--- a/gui/simple-greeter/gdm-greeter-panel.c
|
||||
+++ b/gui/simple-greeter/gdm-greeter-panel.c
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "gdm-layout-option-widget.h"
|
||||
#include "gdm-session-option-widget.h"
|
||||
#include "gdm-timer.h"
|
||||
+#include "gdm-domain-option-widget.h"
|
||||
#include "gdm-profile.h"
|
||||
+#include "gdm-settings-client.h"
|
||||
+#include "gdm-settings-keys.h"
|
||||
|
||||
#include "na-tray.h"
|
||||
|
||||
@@ -83,6 +86,9 @@ struct GdmGreeterPanelPrivate
|
||||
@@ -58,6 +59,7 @@ struct GdmGreeterPanelPrivate
|
||||
GtkWidget *language_option_widget;
|
||||
GtkWidget *layout_option_widget;
|
||||
GtkWidget *session_option_widget;
|
||||
+ GtkWidget *domain_option_widget;
|
||||
+
|
||||
+ gboolean show_domain;
|
||||
|
||||
GdmTimer *animation_timer;
|
||||
double progress;
|
||||
@@ -104,6 +110,7 @@ enum {
|
||||
@@ -72,6 +74,7 @@ enum {
|
||||
LANGUAGE_SELECTED,
|
||||
LAYOUT_SELECTED,
|
||||
SESSION_SELECTED,
|
||||
+ DOMAIN_SELECTED,
|
||||
DIALOG_HIDDEN,
|
||||
NUMBER_OF_SIGNALS
|
||||
};
|
||||
@@ -497,6 +504,17 @@ gdm_greeter_panel_class_init (GdmGreeter
|
||||
|
||||
@@ -451,6 +454,17 @@ gdm_greeter_panel_class_init (GdmGreeterPanelClass *klass)
|
||||
G_TYPE_NONE,
|
||||
1, G_TYPE_STRING);
|
||||
|
||||
@@ -1763,10 +1765,10 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.c
|
||||
+ G_TYPE_NONE,
|
||||
+ 1, G_TYPE_STRING);
|
||||
+
|
||||
signals[DIALOG_HIDDEN] =
|
||||
g_signal_new ("dialog-hidden",
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
@@ -832,6 +850,32 @@ on_shutdown_menu_deactivate (GdmGreeterP
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_MONITOR,
|
||||
g_param_spec_int ("monitor",
|
||||
@@ -521,6 +535,24 @@ on_session_activated (GdmSessionOptionWidget *widget,
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1787,31 +1789,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.c
|
||||
+ g_free (domain);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+on_domain_dialog_hidden (GdmLanguageOptionWidget *widget,
|
||||
+ GdmGreeterPanel *panel)
|
||||
+{
|
||||
+
|
||||
+ g_signal_emit (panel, signals[DIALOG_HIDDEN], 0);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
gdm_greeter_panel_init (GdmGreeterPanel *panel)
|
||||
{
|
||||
NaTray *tray;
|
||||
@@ -849,6 +893,11 @@ gdm_greeter_panel_init (GdmGreeterPanel
|
||||
panel->priv->geometry.width = -1;
|
||||
panel->priv->geometry.height = -1;
|
||||
|
||||
+ if (!gdm_settings_client_get_boolean (GDM_KEY_SHOW_DOMAIN,
|
||||
+ &panel->priv->show_domain)) {
|
||||
+ panel->priv->show_domain = FALSE;
|
||||
+ }
|
||||
+
|
||||
gtk_window_set_title (GTK_WINDOW (panel), _("Panel"));
|
||||
gtk_window_set_decorated (GTK_WINDOW (panel), FALSE);
|
||||
|
||||
@@ -901,6 +950,15 @@ gdm_greeter_panel_init (GdmGreeterPanel
|
||||
@@ -581,6 +613,12 @@ gdm_greeter_panel_init (GdmGreeterPanel *panel)
|
||||
G_CALLBACK (on_session_activated), panel);
|
||||
gtk_box_pack_start (GTK_BOX (panel->priv->option_hbox), panel->priv->session_option_widget, FALSE, FALSE, 6);
|
||||
|
||||
@@ -1819,35 +1801,24 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.c
|
||||
+ g_signal_connect (G_OBJECT (panel->priv->domain_option_widget),
|
||||
+ "domain-activated",
|
||||
+ G_CALLBACK (on_domain_activated), panel);
|
||||
+ g_signal_connect (G_OBJECT (panel->priv->domain_option_widget),
|
||||
+ "dialog-hidden",
|
||||
+ G_CALLBACK (on_domain_dialog_hidden), panel);
|
||||
+ gtk_box_pack_start (GTK_BOX (panel->priv->option_hbox), panel->priv->domain_option_widget, FALSE, FALSE, 6);
|
||||
+
|
||||
spacer = gtk_label_new ("");
|
||||
gtk_box_pack_start (GTK_BOX (panel->priv->option_hbox), spacer, TRUE, TRUE, 6);
|
||||
gtk_widget_show (spacer);
|
||||
@@ -1025,6 +1083,11 @@ gdm_greeter_panel_show_user_options (Gdm
|
||||
@@ -643,6 +681,7 @@ gdm_greeter_panel_show_user_options (GdmGreeterPanel *panel)
|
||||
gtk_widget_show (panel->priv->session_option_widget);
|
||||
gtk_widget_show (panel->priv->language_option_widget);
|
||||
gtk_widget_show (panel->priv->layout_option_widget);
|
||||
+ if (panel->priv->show_domain) {
|
||||
+ gtk_widget_show (panel->priv->domain_option_widget);
|
||||
+ } else {
|
||||
+ gtk_widget_hide (panel->priv->domain_option_widget);
|
||||
+ }
|
||||
+ gtk_widget_show (panel->priv->domain_option_widget);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -1033,18 +1096,30 @@ gdm_greeter_panel_hide_user_options (Gdm
|
||||
@@ -651,18 +690,26 @@ gdm_greeter_panel_hide_user_options (GdmGreeterPanel *panel)
|
||||
gtk_widget_hide (panel->priv->session_option_widget);
|
||||
gtk_widget_hide (panel->priv->language_option_widget);
|
||||
gtk_widget_hide (panel->priv->layout_option_widget);
|
||||
+ if (panel->priv->show_domain) {
|
||||
+ gtk_widget_show (panel->priv->domain_option_widget);
|
||||
+ } else {
|
||||
+ gtk_widget_hide (panel->priv->domain_option_widget);
|
||||
+ }
|
||||
+ gtk_widget_show (panel->priv->domain_option_widget);
|
||||
|
||||
g_debug ("GdmGreeterPanel: activating default layout");
|
||||
gdm_layout_activate (NULL);
|
||||
@@ -1870,7 +1841,7 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.c
|
||||
}
|
||||
|
||||
void
|
||||
@@ -1126,3 +1201,20 @@ gdm_greeter_panel_set_default_session_na
|
||||
@@ -730,3 +777,20 @@ gdm_greeter_panel_set_default_session_name (GdmGreeterPanel *panel,
|
||||
gdm_option_widget_set_default_item (GDM_OPTION_WIDGET (panel->priv->session_option_widget),
|
||||
session_name);
|
||||
}
|
||||
@@ -1891,21 +1862,21 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.c
|
||||
+ gdm_option_widget_set_default_item (GDM_OPTION_WIDGET (panel->priv->domain_option_widget),
|
||||
+ domain_name);
|
||||
+}
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.h
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/gui/simple-greeter/gdm-greeter-panel.h
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.h
|
||||
@@ -54,6 +54,9 @@ typedef struct
|
||||
diff --git a/gui/simple-greeter/gdm-greeter-panel.h b/gui/simple-greeter/gdm-greeter-panel.h
|
||||
index 07cca3f..6079569 100644
|
||||
--- a/gui/simple-greeter/gdm-greeter-panel.h
|
||||
+++ b/gui/simple-greeter/gdm-greeter-panel.h
|
||||
@@ -53,6 +53,9 @@ typedef struct
|
||||
|
||||
void (* session_selected) (GdmGreeterPanel *panel,
|
||||
const char *text);
|
||||
|
||||
+
|
||||
+ void (* domain_selected) (GdmGreeterPanel *panel,
|
||||
+ const char *text);
|
||||
+
|
||||
void (* dialog_hidden) (GdmGreeterPanel *panel);
|
||||
} GdmGreeterPanelClass;
|
||||
|
||||
@@ -67,12 +70,16 @@ void gdm_greeter_panel
|
||||
GType gdm_greeter_panel_get_type (void);
|
||||
@@ -64,12 +67,16 @@ void gdm_greeter_panel_show_user_options (GdmGree
|
||||
void gdm_greeter_panel_hide_user_options (GdmGreeterPanel *panel);
|
||||
void gdm_greeter_panel_reset (GdmGreeterPanel *panel);
|
||||
|
||||
@@ -1922,20 +1893,20 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.h
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GDM_GREETER_PANEL_H */
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/gui/simple-greeter/gdm-greeter-session.c
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
@@ -39,6 +39,8 @@
|
||||
diff --git a/gui/simple-greeter/gdm-greeter-session.c b/gui/simple-greeter/gdm-greeter-session.c
|
||||
index 83375b2..251e7c8 100644
|
||||
--- a/gui/simple-greeter/gdm-greeter-session.c
|
||||
+++ b/gui/simple-greeter/gdm-greeter-session.c
|
||||
@@ -38,6 +38,8 @@
|
||||
#include "gdm-greeter-panel.h"
|
||||
#include "gdm-greeter-login-window.h"
|
||||
#include "gdm-user-chooser-widget.h"
|
||||
|
||||
+#include "gdm-domain-provider.h"
|
||||
+
|
||||
#include "gdm-profile.h"
|
||||
|
||||
#define GDM_GREETER_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_GREETER_SESSION, GdmGreeterSessionPrivate))
|
||||
@@ -49,6 +51,11 @@ struct GdmGreeterSessionPrivate
|
||||
@@ -48,6 +50,11 @@ struct GdmGreeterSessionPrivate
|
||||
|
||||
GtkWidget *login_window;
|
||||
GtkWidget *panel;
|
||||
@@ -1947,7 +1918,7 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -63,6 +70,33 @@ G_DEFINE_TYPE (GdmGreeterSession, gdm_gr
|
||||
@@ -62,6 +69,33 @@ G_DEFINE_TYPE (GdmGreeterSession, gdm_greeter_session, G_TYPE_OBJECT)
|
||||
|
||||
static gpointer session_object = NULL;
|
||||
|
||||
@@ -1981,7 +1952,7 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
static void
|
||||
on_info (GdmGreeterClient *client,
|
||||
const char *text,
|
||||
@@ -100,6 +134,10 @@ on_reset (GdmGreeterClient *client,
|
||||
@@ -99,6 +133,10 @@ on_reset (GdmGreeterClient *client,
|
||||
|
||||
gdm_greeter_panel_reset (GDM_GREETER_PANEL (session->priv->panel));
|
||||
gdm_greeter_login_window_reset (GDM_GREETER_LOGIN_WINDOW (session->priv->login_window));
|
||||
@@ -1992,7 +1963,7 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -187,6 +225,9 @@ on_secret_info_query (GdmGreeterClient
|
||||
@@ -174,6 +212,9 @@ on_secret_info_query (GdmGreeterClient *client,
|
||||
{
|
||||
g_debug ("GdmGreeterSession: Secret info query: %s", text);
|
||||
|
||||
@@ -2002,7 +1973,7 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
gdm_greeter_login_window_secret_info_query (GDM_GREETER_LOGIN_WINDOW (session->priv->login_window), text);
|
||||
}
|
||||
|
||||
@@ -211,8 +252,14 @@ on_begin_verification_for_user (GdmGreet
|
||||
@@ -198,8 +239,14 @@ on_begin_verification_for_user (GdmGreeterLoginWindow *login_window,
|
||||
const char *username,
|
||||
GdmGreeterSession *session)
|
||||
{
|
||||
@@ -2018,7 +1989,7 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -220,8 +267,21 @@ on_query_answer (GdmGreeterLoginWindow *
|
||||
@@ -207,8 +254,21 @@ on_query_answer (GdmGreeterLoginWindow *login_window,
|
||||
const char *text,
|
||||
GdmGreeterSession *session)
|
||||
{
|
||||
@@ -2041,13 +2012,15 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -249,6 +309,17 @@ on_select_layout (GdmGreeterSession
|
||||
@@ -236,13 +296,39 @@ on_select_layout (GdmGreeterSession *session,
|
||||
}
|
||||
|
||||
static void
|
||||
+on_select_domain (GdmGreeterSession *session,
|
||||
+ const char *text)
|
||||
+{
|
||||
+ char *domain_and_user;
|
||||
+
|
||||
+ g_free (session->priv->domain);
|
||||
+ session->priv->domain = NULL;
|
||||
+
|
||||
@@ -2056,15 +2029,13 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
on_dialog_hidden (GdmGreeterSession *session)
|
||||
{
|
||||
gtk_window_present (GTK_WINDOW (session->priv->login_window));
|
||||
@@ -259,9 +330,21 @@ on_select_user (GdmGreeterLoginWindow *l
|
||||
on_select_user (GdmGreeterLoginWindow *login_window,
|
||||
const char *text,
|
||||
GdmGreeterSession *session)
|
||||
{
|
||||
- show_or_hide_user_options (session, text);
|
||||
+ char *domain_and_user;
|
||||
+
|
||||
gdm_greeter_panel_show_user_options (GDM_GREETER_PANEL (session->priv->panel));
|
||||
+
|
||||
+ g_free (session->priv->user);
|
||||
+ session->priv->user = NULL;
|
||||
@@ -2074,7 +2045,6 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
+
|
||||
+ domain_and_user = maybe_prepend_domain_to_user (session, text);
|
||||
+
|
||||
+ show_or_hide_user_options (session, domain_and_user);
|
||||
gdm_greeter_client_call_select_user (session->priv->client,
|
||||
- text);
|
||||
+ domain_and_user);
|
||||
@@ -2083,7 +2053,7 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -270,6 +353,10 @@ on_cancelled (GdmGreeterLoginWindow *log
|
||||
@@ -251,6 +337,10 @@ on_cancelled (GdmGreeterLoginWindow *login_window,
|
||||
{
|
||||
gdm_greeter_panel_hide_user_options (GDM_GREETER_PANEL (session->priv->panel));
|
||||
gdm_greeter_client_call_cancel (session->priv->client);
|
||||
@@ -2094,19 +2064,19 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -358,6 +445,11 @@ toggle_panel (GdmGreeterSession *session
|
||||
@@ -300,6 +390,11 @@ toggle_panel (GdmGreeterSession *session,
|
||||
G_CALLBACK (on_select_session),
|
||||
session);
|
||||
|
||||
g_signal_connect_swapped (session->priv->panel,
|
||||
+ g_signal_connect_swapped (session->priv->panel,
|
||||
+ "domain-selected",
|
||||
+ G_CALLBACK (on_select_domain),
|
||||
+ session);
|
||||
+
|
||||
+ g_signal_connect_swapped (session->priv->panel,
|
||||
"dialog-hidden",
|
||||
G_CALLBACK (on_dialog_hidden),
|
||||
session);
|
||||
@@ -604,6 +696,8 @@ gdm_greeter_session_init (GdmGreeterSess
|
||||
gtk_widget_show (session->priv->panel);
|
||||
} else {
|
||||
gtk_widget_destroy (session->priv->panel);
|
||||
@@ -542,6 +637,8 @@ gdm_greeter_session_init (GdmGreeterSession *session)
|
||||
G_CALLBACK (on_user_authorized),
|
||||
session);
|
||||
|
||||
@@ -2115,7 +2085,7 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
/* We want to listen for panel mnemonics even if the
|
||||
* login window is focused, so we intercept them here.
|
||||
*/
|
||||
@@ -625,6 +719,9 @@ gdm_greeter_session_finalize (GObject *o
|
||||
@@ -563,6 +660,9 @@ gdm_greeter_session_finalize (GObject *object)
|
||||
|
||||
g_return_if_fail (greeter_session->priv != NULL);
|
||||
|
||||
@@ -2125,11 +2095,11 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-session.c
|
||||
G_OBJECT_CLASS (gdm_greeter_session_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
Index: gdm-2.29.5/gui/simple-greeter/gdm-simple-greeter.schemas.in
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/gui/simple-greeter/gdm-simple-greeter.schemas.in
|
||||
+++ gdm-2.29.5/gui/simple-greeter/gdm-simple-greeter.schemas.in
|
||||
@@ -91,6 +91,18 @@
|
||||
diff --git a/gui/simple-greeter/gdm-simple-greeter.schemas.in b/gui/simple-greeter/gdm-simple-greeter.schemas.in
|
||||
index 55b441f..450cb22 100644
|
||||
--- a/gui/simple-greeter/gdm-simple-greeter.schemas.in
|
||||
+++ b/gui/simple-greeter/gdm-simple-greeter.schemas.in
|
||||
@@ -92,6 +92,18 @@
|
||||
</locale>
|
||||
</schema>
|
||||
<schema>
|
||||
@@ -2148,11 +2118,9 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-simple-greeter.schemas.in
|
||||
<key>/schemas/apps/gdm/simple-greeter/wm_use_compiz</key>
|
||||
<applyto>/apps/gdm/simple-greeter/wm_use_compiz</applyto>
|
||||
<owner>gdm-simple-greeter</owner>
|
||||
Index: gdm-2.29.5/po/POTFILES.in
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/po/POTFILES.in
|
||||
+++ gdm-2.29.5/po/POTFILES.in
|
||||
@@ -64,6 +64,9 @@ gui/simple-chooser/gdm-host-chooser-widg
|
||||
--- gdm-2.24.0/po/POTFILES.in
|
||||
+++ gdm-2.24.0/po/POTFILES.in
|
||||
@@ -63,6 +63,9 @@
|
||||
gui/simple-greeter/gdm-cell-renderer-timer.c
|
||||
gui/simple-greeter/gdm-chooser-widget.c
|
||||
gui/simple-greeter/gdm-clock-widget.c
|
||||
@@ -2161,112 +2129,4 @@ Index: gdm-2.29.5/po/POTFILES.in
|
||||
+gui/simple-greeter/gdm-domain-option-widget.c
|
||||
gui/simple-greeter/gdm-greeter-login-window.c
|
||||
gui/simple-greeter/gdm-greeter-login-window.c
|
||||
[type: gettext/glade]gui/simple-greeter/gdm-greeter-login-window.ui
|
||||
Index: gdm-2.29.5/common/gdm-settings-keys.h
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/common/gdm-settings-keys.h
|
||||
+++ gdm-2.29.5/common/gdm-settings-keys.h
|
||||
@@ -35,6 +35,7 @@ G_BEGIN_DECLS
|
||||
|
||||
#define GDM_KEY_DEBUG "debug/Enable"
|
||||
|
||||
+#define GDM_KEY_SHOW_DOMAIN "greeter/ShowDomain"
|
||||
#define GDM_KEY_INCLUDE "greeter/Include"
|
||||
#define GDM_KEY_EXCLUDE "greeter/Exclude"
|
||||
#define GDM_KEY_INCLUDE_ALL "greeter/IncludeAll"
|
||||
Index: gdm-2.29.5/common/gdm-settings-system-backend.c
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/common/gdm-settings-system-backend.c
|
||||
+++ gdm-2.29.5/common/gdm-settings-system-backend.c
|
||||
@@ -44,11 +44,11 @@
|
||||
#define SYSCONFIG_AUTOLOGIN_KEY "DISPLAYMANAGER_AUTOLOGIN"
|
||||
#define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN"
|
||||
#define SYSCONFIG_XDMCP_KEY "DISPLAYMANAGER_REMOTE_ACCESS"
|
||||
+#define SYSCONFIG_AD_KEY "DISPLAYMANAGER_AD_INTEGRATION"
|
||||
/* Keys from sysconfig that have no equivalent in GDM:
|
||||
* - DISPLAYMANAGER_ROOT_LOGIN_REMOTE
|
||||
* - DISPLAYMANAGER_STARTS_XSERVER (we always have a local display manager,
|
||||
* see gdm_manager_constructor())
|
||||
- * - DISPLAYMANAGER_AD_INTEGRATION
|
||||
* - DISPLAYMANAGER_SHUTDOWN (handled by ConsoleKit)
|
||||
*/
|
||||
|
||||
@@ -65,12 +65,14 @@ struct GdmSettingsSystemBackendPrivate
|
||||
gboolean dirty_autologin_user;
|
||||
gboolean dirty_tcp_open;
|
||||
gboolean dirty_xdmcp;
|
||||
+ gboolean dirty_show_domain;
|
||||
|
||||
gchar *set_autologin_user;
|
||||
gboolean set_autologin_enabled;
|
||||
|
||||
gboolean set_tcp_open;
|
||||
gboolean set_xdmcp;
|
||||
+ gboolean set_show_domain;
|
||||
};
|
||||
|
||||
static void gdm_settings_system_backend_class_init (GdmSettingsSystemBackendClass *klass);
|
||||
@@ -140,6 +142,16 @@ gdm_settings_system_backend_get_value (G
|
||||
val = g_strdup (xdmcp ? "true" : "false");
|
||||
}
|
||||
}
|
||||
+ } else if (!strcasecmp (key, GDM_KEY_SHOW_DOMAIN)) {
|
||||
+ if (priv->dirty_show_domain) {
|
||||
+ val = g_strdup (priv->set_show_domain ? "true" : "false");
|
||||
+ } else {
|
||||
+ gboolean show_domain;
|
||||
+
|
||||
+ if (gdm_sysconfig_get_value_boolean ((const gchar **) priv->lines, SYSCONFIG_AD_KEY, &show_domain)) {
|
||||
+ val = g_strdup (show_domain ? "true" : "false");
|
||||
+ }
|
||||
+ }
|
||||
} else {
|
||||
g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found");
|
||||
goto out;
|
||||
@@ -200,6 +212,12 @@ save_settings (GdmSettingsSystemBackend
|
||||
backend->priv->set_xdmcp ? "yes" : "no");
|
||||
}
|
||||
|
||||
+ if (backend->priv->dirty_show_domain) {
|
||||
+ if (!gdm_sysconfig_set_value_boolean (backend->priv->lines, SYSCONFIG_AD_KEY, backend->priv->set_show_domain))
|
||||
+ g_warning ("Unable to set key %s to '%s'.", SYSCONFIG_AD_KEY,
|
||||
+ backend->priv->set_show_domain ? "yes" : "no");
|
||||
+ }
|
||||
+
|
||||
if (!gdm_sysconfig_save_file (backend->priv->filename, backend->priv->lines))
|
||||
g_warning ("Unable to save settings to %s.", backend->priv->filename);
|
||||
|
||||
@@ -208,6 +226,7 @@ save_settings (GdmSettingsSystemBackend
|
||||
backend->priv->dirty_autologin_user = FALSE;
|
||||
backend->priv->dirty_tcp_open = FALSE;
|
||||
backend->priv->dirty_xdmcp = FALSE;
|
||||
+ backend->priv->dirty_show_domain = FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -275,6 +294,9 @@ gdm_settings_system_backend_set_value (G
|
||||
} else if (!strcasecmp (key, GDM_KEY_XDMCP_ENABLE)) {
|
||||
priv->set_xdmcp = value_to_boolean (value);
|
||||
GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_xdmcp = TRUE;
|
||||
+ } else if (!strcasecmp (key, GDM_KEY_SHOW_DOMAIN)) {
|
||||
+ priv->set_show_domain = value_to_boolean (value);
|
||||
+ GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_show_domain = TRUE;
|
||||
} else {
|
||||
g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found");
|
||||
return FALSE;
|
||||
Index: gdm-2.29.5/data/gdm.schemas.in.in
|
||||
===================================================================
|
||||
--- gdm-2.29.5.orig/data/gdm.schemas.in.in
|
||||
+++ gdm-2.29.5/data/gdm.schemas.in.in
|
||||
@@ -61,6 +61,11 @@
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
+ <key>greeter/ShowDomain</key>
|
||||
+ <signature>b</signature>
|
||||
+ <default>false</default>
|
||||
+ </schema>
|
||||
+ <schema>
|
||||
<key>greeter/Include</key>
|
||||
<signature>s</signature>
|
||||
<default></default>
|
||||
gui/simple-greeter/gdm-greeter-login-window.glade
|
||||
|
Reference in New Issue
Block a user