[krb5-auth-dialog] Add some ticket flags to the dialog



commit beefba604239fbfb9ea4399af1c93139ad5b8bac
Author: Guido Günther <agx sigxcpu org>
Date:   Tue Sep 29 13:33:41 2009 +0200

    Add some ticket flags to the dialog

 src/krb5-auth-dialog.c  |    9 +++++++++
 src/krb5-auth-tickets.c |   41 ++++++++++++++++++++++++++++++++---------
 src/krb5-auth-tickets.h |    3 +++
 3 files changed, 44 insertions(+), 9 deletions(-)
---
diff --git a/src/krb5-auth-dialog.c b/src/krb5-auth-dialog.c
index b8f95c2..e831db2 100644
--- a/src/krb5-auth-dialog.c
+++ b/src/krb5-auth-dialog.c
@@ -309,6 +309,8 @@ ka_get_service_tickets (GtkListStore *tickets)
 					 ccache,
 					 &cursor,
 					 &creds)) == 0) {
+		gboolean renewable, proxiable, forwardable;
+
 		if (creds.times.starttime)
 			ka_format_time(creds.times.starttime, start_time,
 				       sizeof(start_time));
@@ -325,6 +327,10 @@ ka_get_service_tickets (GtkListStore *tickets)
 				  "%s <span foreground=\"red\" style=\"italic\">(%s)</span>",
 				  end_time, _("Expired"));
 
+		forwardable = get_cred_forwardable(&creds);
+		renewable = get_cred_renewable(&creds);
+		proxiable = get_cred_proxiable(&creds);
+
 		ret = krb5_unparse_name (kcontext, creds.server, &name);
 		if (!ret) {
 			gtk_list_store_append(tickets, &iter);
@@ -332,6 +338,9 @@ ka_get_service_tickets (GtkListStore *tickets)
 					   PRINCIPAL_COLUMN, name,
 					   START_TIME_COLUMN, start_time,
 					   END_TIME_COLUMN, end_time_markup,
+					   FORWARDABLE_COLUMN, forwardable,
+					   RENEWABLE_COLUMN, renewable,
+					   PROXIABLE_COLUMN, proxiable,
 					   -1);
 			free(name);
 		} else
diff --git a/src/krb5-auth-tickets.c b/src/krb5-auth-tickets.c
index e926324..b00687c 100644
--- a/src/krb5-auth-tickets.c
+++ b/src/krb5-auth-tickets.c
@@ -32,38 +32,61 @@ static GtkWidget    *tickets_dialog;
 GtkWidget*
 ka_tickets_dialog_create(GtkBuilder *xml)
 {
-	GtkCellRenderer *renderer;
+	GtkCellRenderer *text_renderer, *toggle_renderer;
 	GtkTreeViewColumn *column;
 	GtkTreeView *tickets_view;
 
 	tickets = gtk_list_store_new (N_COLUMNS,
 				      G_TYPE_STRING,
 				      G_TYPE_STRING,
-				      G_TYPE_STRING);
+				      G_TYPE_STRING,
+				      G_TYPE_BOOLEAN,
+				      G_TYPE_BOOLEAN,
+				      G_TYPE_BOOLEAN);
 
 	tickets_dialog = GTK_WIDGET (gtk_builder_get_object (xml, "krb5_tickets_dialog"));
 	tickets_view = GTK_TREE_VIEW (gtk_builder_get_object (xml, "krb5_tickets_treeview"));
 	gtk_tree_view_set_model(GTK_TREE_VIEW(tickets_view), GTK_TREE_MODEL(tickets));
 
-	renderer = gtk_cell_renderer_text_new ();
-	column = gtk_tree_view_column_new_with_attributes("Principal",
-							  renderer,
+	text_renderer = gtk_cell_renderer_text_new();
+	toggle_renderer = gtk_cell_renderer_toggle_new();
+
+	column = gtk_tree_view_column_new_with_attributes(_("Principal"),
+							  text_renderer,
 							  "text",
 							  PRINCIPAL_COLUMN,
 							  NULL);
 	gtk_tree_view_append_column (GTK_TREE_VIEW (tickets_view), column);
-	column = gtk_tree_view_column_new_with_attributes("Start Time",
-							  renderer,
+	column = gtk_tree_view_column_new_with_attributes(_("Start Time"),
+							  text_renderer,
 							  "text",
 							  START_TIME_COLUMN,
 							  NULL);
 	gtk_tree_view_append_column (GTK_TREE_VIEW (tickets_view), column);
-	column = gtk_tree_view_column_new_with_attributes("End Time",
-							  renderer,
+	column = gtk_tree_view_column_new_with_attributes(_("End Time"),
+							  text_renderer,
 							  "markup",
 							  END_TIME_COLUMN,
 							  NULL);
 	gtk_tree_view_append_column (GTK_TREE_VIEW (tickets_view), column);
+	column = gtk_tree_view_column_new_with_attributes(_("Fwd"),
+							  toggle_renderer,
+							  "active",
+							  FORWARDABLE_COLUMN,
+							  NULL);
+	gtk_tree_view_append_column (GTK_TREE_VIEW (tickets_view), column);
+	column = gtk_tree_view_column_new_with_attributes(_("Proxy"),
+							  toggle_renderer,
+							  "active",
+							  PROXIABLE_COLUMN,
+							  NULL);
+	gtk_tree_view_append_column (GTK_TREE_VIEW (tickets_view), column);
+	column = gtk_tree_view_column_new_with_attributes(_("Renew"),
+							  toggle_renderer,
+							  "active",
+							  RENEWABLE_COLUMN,
+							  NULL);
+	gtk_tree_view_append_column (GTK_TREE_VIEW (tickets_view), column);
 	return tickets_dialog;
 }
 
diff --git a/src/krb5-auth-tickets.h b/src/krb5-auth-tickets.h
index a5fa869..02d67b3 100644
--- a/src/krb5-auth-tickets.h
+++ b/src/krb5-auth-tickets.h
@@ -25,6 +25,9 @@ enum ticket_columns {
 	PRINCIPAL_COLUMN,
 	START_TIME_COLUMN,
 	END_TIME_COLUMN,
+	FORWARDABLE_COLUMN,
+	RENEWABLE_COLUMN,
+	PROXIABLE_COLUMN,
 	N_COLUMNS
 };
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]