diff options
-rw-r--r-- | cmdline.cpp | 2 | ||||
-rw-r--r-- | interface-gtk.cpp | 8 | ||||
-rw-r--r-- | interface-gtk.h | 1 | ||||
-rw-r--r-- | interface-ncurses.cpp | 17 | ||||
-rw-r--r-- | interface-ncurses.h | 1 | ||||
-rw-r--r-- | interface.h | 1 |
6 files changed, 27 insertions, 3 deletions
diff --git a/cmdline.cpp b/cmdline.cpp index 2fe2b21..5018054 100644 --- a/cmdline.cpp +++ b/cmdline.cpp @@ -35,7 +35,7 @@ cmdline_keypress(gchar key) * Cleanup messages, popups, etc... */ interface.popup_clear(); - interface.msg(Interface::MSG_USER, " "); + interface.msg_clear(); /* * Process immediate editing commands diff --git a/interface-gtk.cpp b/interface-gtk.cpp index d348a09..70b98b7 100644 --- a/interface-gtk.cpp +++ b/interface-gtk.cpp @@ -103,6 +103,14 @@ InterfaceGtk::vmsg(MessageType type, const gchar *fmt, va_list ap) } void +InterfaceGtk::msg_clear(void) +{ + gtk_info_bar_set_message_type(GTK_INFO_BAR(info_widget), + GTK_MESSAGE_OTHER); + gtk_label_set_text(GTK_LABEL(message_widget), ""); +} + +void InterfaceGtk::info_update(QRegister *reg) { gchar buf[255]; diff --git a/interface-gtk.h b/interface-gtk.h index 1c62b4a..ac524d9 100644 --- a/interface-gtk.h +++ b/interface-gtk.h @@ -35,6 +35,7 @@ public: } void vmsg(MessageType type, const gchar *fmt, va_list ap); + void msg_clear(void); inline sptr_t ssm(unsigned int iMessage, uptr_t wParam = 0, sptr_t lParam = 0) diff --git a/interface-ncurses.cpp b/interface-ncurses.cpp index f57af4e..24c455f 100644 --- a/interface-ncurses.cpp +++ b/interface-ncurses.cpp @@ -75,7 +75,7 @@ InterfaceNCurses::InterfaceNCurses() draw_info(); /* scintilla will be refreshed in event loop */ - msg(MSG_USER, " "); + msg_clear(); cmdline_update(""); endwin(); @@ -97,7 +97,7 @@ InterfaceNCurses::resize_all_windows(void) draw_info(); /* scintilla will be refreshed in event loop */ - msg(MSG_USER, " "); /* FIXME: use saved message */ + msg_clear(); /* FIXME: use saved message */ cmdline_update(); } @@ -125,6 +125,19 @@ InterfaceNCurses::vmsg(MessageType type, const gchar *fmt, va_list ap) } void +InterfaceNCurses::msg_clear(void) +{ + if (isendwin()) /* batch mode */ + return; + + wmove(msg_window, 0, 0); + wbkgdset(msg_window, ' ' | SCI_COLOR_ATTR(COLOR_BLACK, COLOR_WHITE)); + wclrtoeol(msg_window); + + wrefresh(msg_window); +} + +void InterfaceNCurses::draw_info(void) { if (isendwin()) /* batch mode */ diff --git a/interface-ncurses.h b/interface-ncurses.h index 28f2e72..304d9ac 100644 --- a/interface-ncurses.h +++ b/interface-ncurses.h @@ -43,6 +43,7 @@ public: ~InterfaceNCurses(); void vmsg(MessageType type, const gchar *fmt, va_list ap); + void msg_clear(void); inline sptr_t ssm(unsigned int iMessage, uptr_t wParam = 0, sptr_t lParam = 0) diff --git a/interface.h b/interface.h index f89307e..223ec10 100644 --- a/interface.h +++ b/interface.h @@ -62,6 +62,7 @@ public: vmsg(type, fmt, ap); va_end(ap); } + virtual void msg_clear(void) {} virtual sptr_t ssm(unsigned int iMessage, uptr_t wParam = 0, sptr_t lParam = 0) = 0; |