diff options
author | Timo Sirainen <cras@irssi.org> | 2001-03-03 18:22:09 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2001-03-03 18:22:09 +0000 |
commit | fcd8810b6ca21551ca3ca9c99a5b18e38c4baca4 (patch) | |
tree | 6811e74d1cf64c17937317837cfd4a2ac958d6eb /src | |
parent | 88094fa9f28476241c1fb39ca937defe37b60e4f (diff) | |
download | irssi-fcd8810b6ca21551ca3ca9c99a5b18e38c4baca4.zip |
Removed all beep handling from text printing. If you want to beep just
send "beep" signal.
/LAST -clear crashed if window contained only lastlog lines. Some other
minor cleanups.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1312 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src')
-rw-r--r-- | src/fe-common/core/fe-core-commands.c | 2 | ||||
-rw-r--r-- | src/fe-common/core/formats.c | 9 | ||||
-rw-r--r-- | src/fe-common/core/formats.h | 9 | ||||
-rw-r--r-- | src/fe-common/core/printtext.c | 8 | ||||
-rw-r--r-- | src/fe-common/core/printtext.h | 1 | ||||
-rw-r--r-- | src/fe-text/gui-printtext.c | 8 | ||||
-rw-r--r-- | src/fe-text/gui-windows.c | 26 |
7 files changed, 30 insertions, 33 deletions
diff --git a/src/fe-common/core/fe-core-commands.c b/src/fe-common/core/fe-core-commands.c index eb09a274..7b8f7f9b 100644 --- a/src/fe-common/core/fe-core-commands.c +++ b/src/fe-common/core/fe-core-commands.c @@ -141,7 +141,7 @@ static void cmd_cat(const char *data) /* SYNTAX: BEEP */ static void cmd_beep(void) { - printbeep(); + signal_emit("beep", 0); } static void sig_stop(void) diff --git a/src/fe-common/core/formats.c b/src/fe-common/core/formats.c index 2ef4aad1..43f8f275 100644 --- a/src/fe-common/core/formats.c +++ b/src/fe-common/core/formats.c @@ -540,7 +540,7 @@ static char *get_ansi_color(THEME_REC *theme, char *str, /* reset colors back to default */ fg = theme->default_color; bg = -1; - flags &= ~(PRINTFLAG_BEEP|PRINTFLAG_INDENT); + flags &= ~PRINTFLAG_INDENT; break; case 1: /* hilight */ @@ -734,17 +734,17 @@ void format_send_to_gui(TEXT_DEST_REC *dest, const char *text) if (type == 7) { /* bell */ if (settings_get_bool("bell_beeps")) - flags |= PRINTFLAG_BEEP; + signal_emit("beep", 0); } - if (*str != '\0' || (flags & PRINTFLAG_BEEP)) { + if (*str != '\0') { /* send the text to gui handler */ signal_emit_id(signal_gui_print_text, 6, dest->window, GINT_TO_POINTER(fgcolor), GINT_TO_POINTER(bgcolor), GINT_TO_POINTER(flags), str, dest->level); - flags &= ~(PRINTFLAG_BEEP | PRINTFLAG_INDENT); + flags &= ~PRINTFLAG_INDENT; } if (type == '\n') @@ -812,7 +812,6 @@ void format_send_to_gui(TEXT_DEST_REC *dest, const char *text) break; case 15: /* remove all styling */ - flags &= PRINTFLAG_BEEP; fgcolor = bgcolor = -1; break; case 22: diff --git a/src/fe-common/core/formats.h b/src/fe-common/core/formats.h index 5d136d2f..16e37326 100644 --- a/src/fe-common/core/formats.h +++ b/src/fe-common/core/formats.h @@ -7,11 +7,10 @@ #define PRINTFLAG_BOLD 0x01 #define PRINTFLAG_REVERSE 0x02 #define PRINTFLAG_UNDERLINE 0x04 -#define PRINTFLAG_BEEP 0x08 -#define PRINTFLAG_BLINK 0x10 -#define PRINTFLAG_MIRC_COLOR 0x20 -#define PRINTFLAG_INDENT 0x40 -#define PRINTFLAG_NEWLINE 0x80 +#define PRINTFLAG_BLINK 0x08 +#define PRINTFLAG_MIRC_COLOR 0x10 +#define PRINTFLAG_INDENT 0x20 +#define PRINTFLAG_NEWLINE 0x40 #define MAX_FORMAT_PARAMS 10 #define DEFAULT_FORMAT_ARGLIST_SIZE 200 diff --git a/src/fe-common/core/printtext.c b/src/fe-common/core/printtext.c index 7b85e2c7..306df289 100644 --- a/src/fe-common/core/printtext.c +++ b/src/fe-common/core/printtext.c @@ -45,12 +45,6 @@ static int sending_print_starting; static void print_line(TEXT_DEST_REC *dest, const char *text); -void printbeep(void) -{ - signal_emit_id(signal_gui_print_text, 6, active_win, NULL, NULL, - GINT_TO_POINTER(PRINTFLAG_BEEP), "", MSGLEVEL_NEVER); -} - static void printformat_module_dest(const char *module, TEXT_DEST_REC *dest, int formatnum, va_list va) { @@ -367,7 +361,7 @@ static void msg_beep_check(SERVER_REC *server, int level) if (level != 0 && (level & MSGLEVEL_NOHILIGHT) == 0 && (beep_msg_level & level) && (beep_when_away || (server != NULL && !server->usermode_away))) { - printbeep(); + signal_emit("beep", 0); } } diff --git a/src/fe-common/core/printtext.h b/src/fe-common/core/printtext.h index 125b6f72..14f46564 100644 --- a/src/fe-common/core/printtext.h +++ b/src/fe-common/core/printtext.h @@ -13,7 +13,6 @@ void printtext(void *server, const char *target, int level, const char *text, .. void printtext_string(void *server, const char *target, int level, const char *text); void printtext_window(WINDOW_REC *window, int level, const char *text, ...); void printtext_multiline(void *server, const char *target, int level, const char *format, const char *text); -void printbeep(void); /* only GUI should call these - used for printing text to somewhere else than windows */ diff --git a/src/fe-text/gui-printtext.c b/src/fe-text/gui-printtext.c index 9fbf14b1..6f6dd829 100644 --- a/src/fe-text/gui-printtext.c +++ b/src/fe-text/gui-printtext.c @@ -184,6 +184,12 @@ void gui_window_line_remove(WINDOW_REC *window, LINE_REC *line, int redraw) gui = WINDOW_GUI(window); + if (gui->lines->next == NULL) { + /* last line in window */ + gui_window_clear(window); + return; + } + screenchange = g_list_find(gui->startline, line) != NULL; if (screenchange) gui->ypos -= gui_window_get_linecount(gui, line); @@ -363,8 +369,6 @@ static void line_add_colors(GUI_WINDOW_REC *gui, int fg, int bg, int flags) buffer[pos++] = 0; buffer[pos++] = LINE_CMD_INDENT; } - if (flags & PRINTFLAG_BEEP) - signal_emit("beep", 0); linebuf_add(gui, (char *) buffer, pos); diff --git a/src/fe-text/gui-windows.c b/src/fe-text/gui-windows.c index f791cc9a..d206f62e 100644 --- a/src/fe-text/gui-windows.c +++ b/src/fe-text/gui-windows.c @@ -270,7 +270,8 @@ static LINE_CACHE_REC *gui_window_line_cache(GUI_WINDOW_REC *gui, LINE_CACHE_REC *rec; LINE_CACHE_SUB_REC *sub; GSList *lines; - unsigned char *ptr, *last_space_ptr; + unsigned char cmd; + char *ptr, *last_space_ptr; int xpos, pos, indent_pos, last_space, last_color, color; g_return_val_if_fail(line->text != NULL, NULL); @@ -282,25 +283,28 @@ static LINE_CACHE_REC *gui_window_line_cache(GUI_WINDOW_REC *gui, last_space = last_color = 0; last_space_ptr = NULL; sub = NULL; rec->count = 1; lines = NULL; - for (ptr = (unsigned char *) line->text;;) { + for (ptr = line->text;;) { if (*ptr == '\0') { /* command */ ptr++; - if (*ptr == LINE_CMD_EOL || *ptr == LINE_CMD_FORMAT) + cmd = *ptr; + ptr++; + + if (cmd == LINE_CMD_EOL || cmd == LINE_CMD_FORMAT) break; - if (*ptr == LINE_CMD_CONTINUE) { - unsigned char *tmp; + if (cmd == LINE_CMD_CONTINUE) { + char *tmp; - memcpy(&tmp, ptr+1, sizeof(char *)); + memcpy(&tmp, ptr, sizeof(char *)); ptr = tmp; continue; } - if ((*ptr & 0x80) == 0) { + if ((cmd & 0x80) == 0) { /* set color */ - color = (color & ATTR_UNDERLINE) | *ptr; - } else switch (*ptr) { + color = (color & ATTR_UNDERLINE) | cmd; + } else switch (cmd) { case LINE_CMD_UNDERLINE: color ^= ATTR_UNDERLINE; break; @@ -320,8 +324,6 @@ static LINE_CACHE_REC *gui_window_line_cache(GUI_WINDOW_REC *gui, if (xpos < COLS-5) indent_pos = xpos; break; } - - ptr++; continue; } @@ -347,7 +349,7 @@ static LINE_CACHE_REC *gui_window_line_cache(GUI_WINDOW_REC *gui, sub->continues = TRUE; } - sub->start = (char *) ptr; + sub->start = ptr; sub->indent = xpos; sub->color = color; |