about summary refs log tree commit diff stats
path: root/src/ui/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/core.c')
-rw-r--r--src/ui/core.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/ui/core.c b/src/ui/core.c
index d9a5d71b..b6a0ab9c 100644
--- a/src/ui/core.c
+++ b/src/ui/core.c
@@ -1805,6 +1805,20 @@ _ui_status(void)
 }
 
 static void
+_ui_info(void)
+{
+    char *recipient = ui_current_recipient();
+    PContact pcontact = roster_get_contact(recipient);
+    ProfWin *current = wins_get_current();
+
+    if (pcontact != NULL) {
+        win_show_info(current, pcontact);
+    } else {
+        win_print_line(current, '-', 0, "Error getting contact info.");
+    }
+}
+
+static void
 _ui_status_private(void)
 {
     Jid *jid = jid_create(ui_current_recipient());
@@ -1821,6 +1835,22 @@ _ui_status_private(void)
 }
 
 static void
+_ui_info_private(void)
+{
+    Jid *jid = jid_create(ui_current_recipient());
+    PContact pcontact = muc_get_participant(jid->barejid, jid->resourcepart);
+    ProfWin *current = wins_get_current();
+
+    if (pcontact != NULL) {
+        win_show_info(current, pcontact);
+    } else {
+        win_print_line(current, '-', 0, "Error getting contact info.");
+    }
+
+    jid_destroy(jid);
+}
+
+static void
 _ui_status_room(const char * const contact)
 {
     PContact pcontact = muc_get_participant(ui_current_recipient(), contact);
@@ -2172,7 +2202,9 @@ ui_init_module(void)
     ui_room_subject = _ui_room_subject;
     ui_room_broadcast = _ui_room_broadcast;
     ui_status = _ui_status;
+    ui_info = _ui_info;
     ui_status_private = _ui_status_private;
+    ui_info_private = _ui_info_private;
     ui_status_room = _ui_status_room;
     ui_info_room = _ui_info_room;
     ui_unread = _ui_unread;