about summary refs log tree commit diff stats
path: root/src/ui/privwin.c
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2016-02-02 21:52:13 +0000
committerJames Booth <boothj5@gmail.com>2016-02-02 21:52:13 +0000
commit150015fa3dd0238671d11f2c6c3ba677e7aab81f (patch)
treeafe64495d83744407c7cb37488f288cfed6d1e16 /src/ui/privwin.c
parentf0837abf0a56a2f77a79c7e4fe6f25de33bb012f (diff)
downloadprofani-tty-150015fa3dd0238671d11f2c6c3ba677e7aab81f.tar.gz
Show message in private windows when user offline
Diffstat (limited to 'src/ui/privwin.c')
-rw-r--r--src/ui/privwin.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/ui/privwin.c b/src/ui/privwin.c
index b6f1a04d..4b8217e2 100644
--- a/src/ui/privwin.c
+++ b/src/ui/privwin.c
@@ -111,6 +111,36 @@ privwin_outgoing_msg(ProfPrivateWin *privwin, const char *const message)
     win_print((ProfWin*)privwin, '-', 0, NULL, 0, THEME_TEXT_ME, "me", message);
 }
 
+void
+privwin_message_occupant_offline(ProfPrivateWin *privwin)
+{
+    assert(privwin != NULL);
+
+    win_print((ProfWin*)privwin, '-', 0, NULL, 0, THEME_ERROR, NULL, "Unable to send message, occupant no longer present in room.");
+}
+
+void
+privwin_occupant_offline(ProfPrivateWin *privwin)
+{
+    assert(privwin != NULL);
+
+    privwin->occupant_offline = TRUE;
+    Jid *jidp = jid_create(privwin->fulljid);
+    win_vprint((ProfWin*)privwin, '-', 0, NULL, 0, THEME_OFFLINE, NULL, "-- %s has left the room.", jidp->resourcepart);
+    jid_destroy(jidp);
+}
+
+void
+privwin_occupant_online(ProfPrivateWin *privwin)
+{
+    assert(privwin != NULL);
+
+    privwin->occupant_offline = FALSE;
+    Jid *jidp = jid_create(privwin->fulljid);
+    win_vprint((ProfWin*)privwin, '-', 0, NULL, 0, THEME_ONLINE, NULL, "-- %s has joined the room.", jidp->resourcepart);
+    jid_destroy(jidp);
+}
+
 char*
 privwin_get_string(ProfPrivateWin *privwin)
 {