GtkTreeModel *model;
GtkTreeIter iter;
GtkCellRenderer *renderer;
- gchar *theme_dir, *rc_file, *background_image;
+ gchar *rc_file, *background_image;
GError *error = NULL;
display = gdk_display_get_default ();
screen_height = gdk_screen_get_height (screen);
g_object_get (gtk_settings_get_default (), "gtk-theme-name", &theme_name, NULL);
- theme_dir = g_path_get_dirname (ldm_greeter_get_theme (greeter));
- rc_file = ldm_greeter_get_string_property (greeter, "gtkrc");
+ rc_file = NULL; // FIXME
if (rc_file)
{
- gchar *path = g_build_filename (theme_dir, rc_file, NULL);
+ gchar *path = g_build_filename (GREETER_DATA_DIR, rc_file, NULL);
g_free (rc_file);
gtk_rc_add_default_file (path);
g_free (path);
}
builder = gtk_builder_new ();
- if (!gtk_builder_add_from_file (builder, UI_DIR "/greeter.ui", &error))
+ if (!gtk_builder_add_from_file (builder, GREETER_DATA_DIR "/greeter.ui", &error))
{
g_warning ("Error loading UI: %s", error->message);
return;
gtk_label_set_text (GTK_LABEL (gtk_builder_get_object (builder, "hostname_label")), ldm_greeter_get_hostname (greeter));
- background_image = ldm_greeter_get_string_property (greeter, "background-image");
+ background_image = NULL; // FIXME
if (background_image)
{
gchar *path;
GdkPixbuf *pixbuf;
GError *error = NULL;
- path = g_build_filename (theme_dir, background_image, NULL);
+ path = g_build_filename (GREETER_DATA_DIR, background_image, NULL);
g_free (background_image);
pixbuf = gdk_pixbuf_new_from_file (path, &error);
if (!pixbuf)
gchar *hostname;
- gchar *theme;
- GKeyFile *theme_file;
-
/* File monitor for password file */
GFileMonitor *passwd_monitor;
static void
handle_connected (LdmGreeter *greeter, gsize *offset)
{
- greeter->priv->theme = read_string (greeter, offset);
+ gchar *version;
+
+ version = read_string (greeter, offset);
greeter->priv->default_session = read_string (greeter, offset);
greeter->priv->selected_user = read_string (greeter, offset);
greeter->priv->login_delay = read_int (greeter, offset);
greeter->priv->guest_account_supported = read_int (greeter, offset) != 0;
- g_debug ("Connected theme=%s default-session=%s timed-user=%s login-delay=%d guest-account-supported=%s",
- greeter->priv->theme,
+ g_debug ("Connected version=%s default-session=%s timed-user=%s login-delay=%d guest-account-supported=%s",
+ version,
greeter->priv->default_session,
greeter->priv->selected_user, greeter->priv->login_delay,
greeter->priv->guest_account_supported ? "true" : "false");
+ g_free (version);
if (greeter->priv->selected_user[0] == '\0')
greeter->priv->selected_user = NULL;
return greeter->priv->hostname;
}
-/**
- * ldm_greeter_get_theme:
- * @greeter: a #LdmGreeter
- *
- * Return value: The theme this greeter is using
- **/
-const gchar *
-ldm_greeter_get_theme (LdmGreeter *greeter)
-{
- g_return_val_if_fail (LDM_IS_GREETER (greeter), NULL);
- return greeter->priv->theme;
-}
-
-static void
-load_theme (LdmGreeter *greeter)
-{
- GError *error = NULL;
-
- if (greeter->priv->theme_file)
- return;
-
- greeter->priv->theme_file = g_key_file_new ();
- if (!g_key_file_load_from_file (greeter->priv->theme_file, greeter->priv->theme, G_KEY_FILE_NONE, &error))
- g_warning ("Failed to read theme file: %s", error->message);
- g_clear_error (&error);
-}
-
-/**
- * ldm_greeter_get_string_property:
- * @greeter: a #LdmGreeter
- * @name: the name of the property to get
- *
- * Return value: The value of this property or NULL if it is not defined
- **/
-gchar *
-ldm_greeter_get_string_property (LdmGreeter *greeter, const gchar *name)
-{
- GError *error = NULL;
- gchar *result;
-
- g_return_val_if_fail (LDM_IS_GREETER (greeter), NULL);
- g_return_val_if_fail (name != NULL, NULL);
-
- load_theme (greeter);
-
- result = g_key_file_get_string (greeter->priv->theme_file, "theme", name, &error);
- if (!result)
- g_warning ("Error reading theme property: %s", error->message); // FIXME: Can handle G_KEY_FILE_ERROR_KEY_NOT_FOUND and G_KEY_FILE_ERROR_GROUP_NOT_FOUND
- g_clear_error (&error);
-
- return result;
-}
-
-/**
- * ldm_greeter_get_integer_property:
- * @greeter: a #LdmGreeter
- * @name: the name of the property to get
- *
- * Return value: The value of this property or 0 if it is not defined
- **/
-gint
-ldm_greeter_get_integer_property (LdmGreeter *greeter, const gchar *name)
-{
- GError *error = NULL;
- gint result;
-
- g_return_val_if_fail (LDM_IS_GREETER (greeter), 0);
- g_return_val_if_fail (name != NULL, 0);
-
- load_theme (greeter);
-
- result = g_key_file_get_integer (greeter->priv->theme_file, "theme", name, &error);
- if (!result)
- g_warning ("Error reading theme property: %s", error->message); // FIXME: Can handle G_KEY_FILE_ERROR_KEY_NOT_FOUND and G_KEY_FILE_ERROR_GROUP_NOT_FOUND
- g_clear_error (&error);
-
- return result;
-}
-
-/**
- * ldm_greeter_get_boolean_property:
- * @greeter: a #LdmGreeter
- * @name: the name of the property to get
- *
- * Return value: The value of this property or FALSE if it is not defined
- **/
-gboolean
-ldm_greeter_get_boolean_property (LdmGreeter *greeter, const gchar *name)
-{
- GError *error = NULL;
- gboolean result;
-
- g_return_val_if_fail (LDM_IS_GREETER (greeter), FALSE);
- g_return_val_if_fail (name != NULL, FALSE);
-
- load_theme (greeter);
-
- result = g_key_file_get_boolean (greeter->priv->theme_file, "theme", name, &error);
- if (!result)
- g_warning ("Error reading theme property: %s", error->message); // FIXME: Can handle G_KEY_FILE_ERROR_KEY_NOT_FOUND and G_KEY_FILE_ERROR_GROUP_NOT_FOUND
- g_clear_error (&error);
-
- return result;
-}
-
static LdmUser *
get_user_by_name (LdmGreeter *greeter, const gchar *username)
{
class GreeterPrivate
{
public:
- QString theme;
QString defaultSession;
QString timedUser;
int loginDelay;
int id = readInt(&offset);
readInt(&offset);
int nMessages, sequenceNumber, returnCode;
- QString username;
+ QString version, username;
switch(id)
{
case GREETER_MESSAGE_CONNECTED:
- d->theme = readString(&offset);
+ version = readString(&offset);
d->defaultSession = readString(&offset);
d->timedUser = readString(&offset);
d->loginDelay = readInt(&offset);
d->guestAccountSupported = readInt(&offset) != 0;
- qDebug() << "Connected theme=" << d->theme << " default-session=" << d->defaultSession << " timed-user=" << d->timedUser << " login-delay" << d->loginDelay << " guestAccountSupported" << d->guestAccountSupported;
+ qDebug() << "Connected version=" << version << " default-session=" << d->defaultSession << " timed-user=" << d->timedUser << " login-delay" << d->loginDelay << " guestAccountSupported" << d->guestAccountSupported;
/* Set timeout for default login */
if(d->timedUser != "" && d->loginDelay > 0)
return QHostInfo::localHostName();
}
-QString Greeter::theme() const
-{
- return d->theme;
-}
-
-QVariant Greeter::getProperty(const QString &name) const
-{
- QUrl themeUrl(d->theme);
- QSettings themeInfo(themeUrl.path(), QSettings::IniFormat);
- return themeInfo.value(name);
-}
-
QString Greeter::defaultLanguage() const
{
return getenv("LANG");