summaryrefslogtreecommitdiffstats
path: root/src/ui/message_box.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/message_box.vala')
-rw-r--r--src/ui/message_box.vala45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/ui/message_box.vala b/src/ui/message_box.vala
new file mode 100644
index 0000000..4f9c3f6
--- /dev/null
+++ b/src/ui/message_box.vala
@@ -0,0 +1,45 @@
+using Curses;
+
+public class MessageBox {
+ Window win;
+ Window subwin;
+ DateTime last;
+
+ public MessageBox() {
+ win = new Window(LINES-9, COLS - 2, 8, 1);
+ win.bkgdset(COLOR_PAIR(0));
+
+ win.clrtobot();
+ win.box(0, 0);
+ win.refresh();
+
+ subwin = win.derwin(LINES-11, COLS-4, 1, 1);
+ subwin.scrollok(true);
+ subwin.clrtobot();
+ subwin.refresh();
+
+ last = new DateTime.from_unix_utc(0);
+ }
+
+ public void add(string msg) {
+ var now = new DateTime.now_local();
+
+ if(now.get_day_of_year() != last.get_day_of_year() || now.get_year() != last.get_year()) {
+ string curtime = now.format("%Y-%m-%d");
+ subwin.addstr("\nDate Changed: " + curtime);
+ }
+
+ last = now;
+
+ string curtime = now.format("%H:%M:%S");
+ subwin.addstr("\n[" + curtime + "] " + msg);
+ subwin.refresh();
+ }
+
+ public void redraw() {
+ win.touchwin();
+ win.refresh();
+ subwin.touchwin();
+ subwin.refresh();
+ }
+}