changeset 1868:fdb2f88b908b

/event list sets the message flag when the list is long
author Mikael Berthe <mikael@lilotux.net>
date Sun, 04 Apr 2010 00:15:53 +0200
parents edb63a8380f4
children fe385f2cfb93 c1d0187f0959
files mcabber/mcabber/events.c
diffstat 1 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/mcabber/events.c	Sat Apr 03 22:01:54 2010 +0200
+++ b/mcabber/mcabber/events.c	Sun Apr 04 00:15:53 2010 +0200
@@ -23,7 +23,7 @@
 #include <glib.h>
 #include <string.h>
 #include "events.h"
-#include "logprint.h"
+#include "screen.h"
 
 typedef struct {
   char           *id;
@@ -162,16 +162,23 @@
 // Prints list of events to mcabber log window.
 void evs_display_list(void)
 {
+  guint count = 0;
   GSList *p;
 
-  scr_LogPrint(LPRINT_LOGNORM, "Events list:");
+  scr_LogPrint(LPRINT_NORMAL, "Events list:");
   for (p = evs_list; p; p = g_slist_next(p)) {
     evs_t *i = p->data;
-    scr_LogPrint(LPRINT_LOGNORM,
+    scr_LogPrint(LPRINT_NORMAL,
                  "Id: %-3s %s", i->id,
                  (i->description ? i->description : ""));
+    count++;
   }
-  scr_LogPrint(LPRINT_LOGNORM, "End of events list.");
+  scr_LogPrint(LPRINT_NORMAL, "End of events list.");
+  if (count+2 > scr_getlogwinheight()) {
+    scr_setmsgflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE);
+    scr_setattentionflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE,
+                                   ROSTER_UI_PRIO_STATUS_WIN_MESSAGE, prio_max);
+  }
 }
 
 //  evs_geteventslist()