SHA256
1
0
forked from pool/gdm

checked in (request 29925)

OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=113
This commit is contained in:
OBS User autobuild
2010-01-18 14:27:13 +00:00
committed by Git OBS Bridge
parent c1cb311d64
commit 463990edb7
13 changed files with 1979 additions and 1172 deletions

View File

@@ -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