finch/gntconv.c

changeset 35916
96593c46d85c
parent 35745
9ca5f50773f5
child 35917
76b701912a9d
--- a/finch/gntconv.c	Sat Apr 26 15:16:38 2014 +0200
+++ b/finch/gntconv.c	Sat Apr 26 16:56:31 2014 +0200
@@ -245,8 +245,18 @@
 static char *
 get_conversation_title(PurpleConversation *conv, PurpleAccount *account)
 {
-	return g_strdup_printf(_("%s (%s -- %s)"), purple_conversation_get_title(conv),
-		purple_account_get_username(account), purple_account_get_protocol_name(account));
+	PurpleE2eeState *e2ee;
+
+	e2ee = purple_conversation_get_e2ee_state(conv);
+
+	return g_strdup_printf(_("%s (%s -- %s)%s%s%s%s"),
+		purple_conversation_get_title(conv),
+		purple_account_get_username(account),
+		purple_account_get_protocol_name(account),
+		e2ee ? " | " : "",
+		e2ee ? purple_e2ee_provider_get_name(purple_e2ee_state_get_provider(e2ee)) : "",
+		e2ee ? ": " : "",
+		e2ee ? purple_e2ee_state_get_name(e2ee) : "");
 }
 
 static void
@@ -410,6 +420,18 @@
 
 	if (type == PURPLE_CONVERSATION_UPDATE_FEATURES) {
 		gg_extended_menu(purple_conversation_get_ui_data(conv));
+		return;
+	}
+	if (type == PURPLE_CONVERSATION_UPDATE_E2EE) {
+		FinchConv *ggconv = FINCH_CONV(conv);
+		gchar *title;
+
+		title = get_conversation_title(conv,
+			purple_conversation_get_account(conv));
+		gnt_screen_rename_widget(ggconv->window, title);
+		g_free(title);
+
+		return;
 	}
 }
 

mercurial