1
0
mirror of https://github.com/irssi/irssi.git synced 2024-09-29 04:45:57 -04:00

Fixed window specific themes

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1575 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2001-06-27 21:05:04 +00:00 committed by cras
parent 75543048b5
commit 0db8e96019
3 changed files with 12 additions and 11 deletions

View File

@ -430,10 +430,8 @@ char *format_get_text_theme(THEME_REC *theme, const char *module,
va_list va;
char *str;
if (theme == NULL) {
theme = dest->window->theme == NULL ? current_theme :
dest->window->theme;
}
if (theme == NULL)
theme = window_get_theme(dest->window);
va_start(va, formatnum);
str = format_get_text_theme_args(theme, module, dest, formatnum, va);
@ -484,8 +482,7 @@ char *format_get_text(const char *module, WINDOW_REC *window,
char *str;
format_create_dest(&dest, server, target, 0, window);
theme = dest.window->theme == NULL ? current_theme :
dest.window->theme;
theme = window_get_theme(dest.window);
va_start(va, formatnum);
str = format_get_text_theme_args(theme, module, &dest, formatnum, va);

View File

@ -51,6 +51,9 @@ typedef struct {
int flags;
} TEXT_DEST_REC;
#define window_get_theme(window) \
((window)->theme != NULL ? (window)->theme : current_theme)
int format_find_tag(const char *module, const char *tag);
/* Return length of text part in string (ie. without % codes) */

View File

@ -52,8 +52,7 @@ static void printformat_module_dest(const char *module, TEXT_DEST_REC *dest,
THEME_REC *theme;
char *str;
theme = dest->window->theme == NULL ? current_theme :
dest->window->theme;
theme = window_get_theme(dest->window);
formats = g_hash_table_lookup(default_formats, module);
format_read_arglist(va, &formats[formatnum],
@ -131,7 +130,8 @@ void printformat_module_gui_args(const char *module, int formatnum, va_list va)
arglist, sizeof(arglist)/sizeof(char *),
buffer, sizeof(buffer));
str = format_get_text_theme_charargs(current_theme, module, &dest,
str = format_get_text_theme_charargs(window_get_theme(dest.window),
module, &dest,
formatnum, arglist);
if (*str != '\0') format_send_to_gui(&dest, str);
g_free(str);
@ -153,7 +153,7 @@ static void print_line(TEXT_DEST_REC *dest, const char *text)
g_return_if_fail(dest != NULL);
g_return_if_fail(text != NULL);
tmp = format_get_level_tag(current_theme, dest);
tmp = format_get_level_tag(window_get_theme(dest->window), dest);
str = format_add_linestart(text, tmp);
g_free_not_null(tmp);
@ -377,7 +377,8 @@ static void sig_print_text(TEXT_DEST_REC *dest, const char *text)
/* add timestamp/server tag here - if it's done in print_line()
it would be written to log files too */
tmp = format_get_line_start(current_theme, dest, time(NULL));
tmp = format_get_line_start(window_get_theme(dest->window),
dest, time(NULL));
str = format_add_linestart(text, tmp);
g_free_not_null(tmp);