Display client name as window title.

This commit is contained in:
Daiki Ueno
2011-03-10 18:11:48 +09:00
parent cc9fb31e61
commit 4eb59ba7ed
3 changed files with 19 additions and 1 deletions

View File

@ -94,6 +94,7 @@ struct _ServerContext {
guint registration_id;
char *object_path;
char *client_connection;
char *client_name;
gboolean enabled;
gboolean last_keyboard_visible;
@ -285,7 +286,10 @@ update_widget (ServerContext *context)
gtk_widget_set_can_focus (context->window, FALSE);
g_object_set (G_OBJECT(context->window), "accept_focus", FALSE, NULL);
gtk_window_set_title (GTK_WINDOW(context->window), _("Keyboard"));
gtk_window_set_title (GTK_WINDOW(context->window),
context->client_name ?
context->client_name :
_("Keyboard"));
gtk_window_set_icon_name (GTK_WINDOW(context->window), "eekboard");
gtk_window_set_keep_above (GTK_WINDOW(context->window), TRUE);
@ -372,6 +376,7 @@ server_context_finalize (GObject *object)
g_free (context->object_path);
g_free (context->client_connection);
g_free (context->client_name);
G_OBJECT_CLASS (server_context_parent_class)->finalize (object);
}
@ -797,6 +802,7 @@ void
server_context_set_client_connection (ServerContext *context,
const gchar *client_connection)
{
g_free (context->client_connection);
context->client_connection = g_strdup (client_connection);
}
@ -805,3 +811,11 @@ server_context_get_client_connection (ServerContext *context)
{
return context->client_connection;
}
void
server_context_set_client_name (ServerContext *context,
const gchar *client_name)
{
g_free (context->client_name);
context->client_name = g_strdup (client_name);
}

View File

@ -43,6 +43,9 @@ void server_context_set_client_connection
const gchar *client_connection);
const gchar *server_context_get_client_connection
(ServerContext *context);
void server_context_set_client_name
(ServerContext *context,
const gchar *client_name);
G_END_DECLS
#endif /* SERVER_CONTEXT_H */

View File

@ -321,6 +321,7 @@ handle_method_call (GDBusConnection *connection,
object_path = g_strdup_printf (SERVER_CONTEXT_PATH, context_id++);
context = server_context_new (object_path, server->connection);
server_context_set_client_connection (context, sender);
server_context_set_client_name (context, client_name);
g_hash_table_insert (server->context_hash,
object_path,
context);