Replaced colours with theme_item_t

This commit is contained in:
James Booth
2014-11-16 20:40:19 +00:00
parent 90dd1de91a
commit ed4391ec8a
13 changed files with 411 additions and 324 deletions

View File

@@ -529,3 +529,58 @@ _theme_find(const char * const theme_name)
return path;
}
int
theme_attrs(theme_item_t attrs)
{
int result = 0;
switch (attrs) {
case THEME_TEXT: result = COLOR_PAIR(1); break;
case THEME_TEXT_ME: result = COLOR_PAIR(2); break;
case THEME_TEXT_THEM: result = COLOR_PAIR(3); break;
case THEME_SPLASH: result = COLOR_PAIR(4); break;
case THEME_ERROR: result = COLOR_PAIR(5); break;
case THEME_INCOMING: result = COLOR_PAIR(6); break;
case THEME_INPUT_TEXT: result = COLOR_PAIR(7); break;
case THEME_TIME: result = COLOR_PAIR(8); break;
case THEME_TITLE_TEXT: result = COLOR_PAIR(9); break;
case THEME_TITLE_BRACKET: result = COLOR_PAIR(10); break;
case THEME_TITLE_UNENCRYPTED: result = COLOR_PAIR(11); break;
case THEME_TITLE_ENCRYPTED: result = COLOR_PAIR(12); break;
case THEME_TITLE_UNTRUSTED: result = COLOR_PAIR(13); break;
case THEME_TITLE_TRUSTED: result = COLOR_PAIR(14); break;
case THEME_TITLE_ONLINE: result = COLOR_PAIR(15); break;
case THEME_TITLE_OFFLINE: result = COLOR_PAIR(16); break;
case THEME_TITLE_AWAY: result = COLOR_PAIR(17); break;
case THEME_TITLE_CHAT: result = COLOR_PAIR(18); break;
case THEME_TITLE_DND: result = COLOR_PAIR(19); break;
case THEME_TITLE_XA: result = COLOR_PAIR(20); break;
case THEME_STATUS_TEXT: result = COLOR_PAIR(21); break;
case THEME_STATUS_BRACKET: result = COLOR_PAIR(22); break;
case THEME_STATUS_ACTIVE: result = COLOR_PAIR(23); break;
case THEME_STATUS_NEW: result = COLOR_PAIR(24); break;
case THEME_ME: result = COLOR_PAIR(25); break;
case THEME_THEM: result = COLOR_PAIR(26); break;
case THEME_ROOMINFO: result = COLOR_PAIR(27); break;
case THEME_ROOMMENTION: result = COLOR_PAIR(28); break;
case THEME_ONLINE: result = COLOR_PAIR(29); break;
case THEME_OFFLINE: result = COLOR_PAIR(30); break;
case THEME_AWAY: result = COLOR_PAIR(31); break;
case THEME_CHAT: result = COLOR_PAIR(32); break;
case THEME_DND: result = COLOR_PAIR(33); break;
case THEME_XA: result = COLOR_PAIR(34); break;
case THEME_TYPING: result = COLOR_PAIR(35); break;
case THEME_GONE: result = COLOR_PAIR(36); break;
case THEME_SUBSCRIBED: result = COLOR_PAIR(37); break;
case THEME_UNSUBSCRIBED: result = COLOR_PAIR(38); break;
case THEME_OTR_STARTED_TRUSTED: result = COLOR_PAIR(39); break;
case THEME_OTR_STARTED_UNTRUSTED: result = COLOR_PAIR(40); break;
case THEME_OTR_ENDED: result = COLOR_PAIR(41); break;
case THEME_OTR_TRUSTED: result = COLOR_PAIR(42); break;
case THEME_OTR_UNTRUSTED: result = COLOR_PAIR(43); break;
default: break;
}
return result;
}

View File

@@ -44,54 +44,57 @@
#include <ncurses.h>
#endif
#define COLOUR_TEXT COLOR_PAIR(1)
#define COLOUR_TEXT_ME COLOR_PAIR(2)
#define COLOUR_TEXT_THEM COLOR_PAIR(3)
#define COLOUR_SPLASH COLOR_PAIR(4)
#define COLOUR_ERROR COLOR_PAIR(5)
#define COLOUR_INCOMING COLOR_PAIR(6)
#define COLOUR_INPUT_TEXT COLOR_PAIR(7)
#define COLOUR_TIME COLOR_PAIR(8)
#define COLOUR_TITLE_TEXT COLOR_PAIR(9)
#define COLOUR_TITLE_BRACKET COLOR_PAIR(10)
#define COLOUR_TITLE_UNENCRYPTED COLOR_PAIR(11)
#define COLOUR_TITLE_ENCRYPTED COLOR_PAIR(12)
#define COLOUR_TITLE_UNTRUSTED COLOR_PAIR(13)
#define COLOUR_TITLE_TRUSTED COLOR_PAIR(14)
#define COLOUR_TITLE_ONLINE COLOR_PAIR(15)
#define COLOUR_TITLE_OFFLINE COLOR_PAIR(16)
#define COLOUR_TITLE_AWAY COLOR_PAIR(17)
#define COLOUR_TITLE_CHAT COLOR_PAIR(18)
#define COLOUR_TITLE_DND COLOR_PAIR(19)
#define COLOUR_TITLE_XA COLOR_PAIR(20)
#define COLOUR_STATUS_TEXT COLOR_PAIR(21)
#define COLOUR_STATUS_BRACKET COLOR_PAIR(22)
#define COLOUR_STATUS_ACTIVE COLOR_PAIR(23)
#define COLOUR_STATUS_NEW COLOR_PAIR(24)
#define COLOUR_ME COLOR_PAIR(25)
#define COLOUR_THEM COLOR_PAIR(26)
#define COLOUR_ROOMINFO COLOR_PAIR(27)
#define COLOUR_ROOMMENTION COLOR_PAIR(28)
#define COLOUR_ONLINE COLOR_PAIR(29)
#define COLOUR_OFFLINE COLOR_PAIR(30)
#define COLOUR_AWAY COLOR_PAIR(31)
#define COLOUR_CHAT COLOR_PAIR(32)
#define COLOUR_DND COLOR_PAIR(33)
#define COLOUR_XA COLOR_PAIR(34)
#define COLOUR_TYPING COLOR_PAIR(35)
#define COLOUR_GONE COLOR_PAIR(36)
#define COLOUR_SUBSCRIBED COLOR_PAIR(37)
#define COLOUR_UNSUBSCRIBED COLOR_PAIR(38)
#define COLOUR_OTR_STARTED_TRUSTED COLOR_PAIR(39)
#define COLOUR_OTR_STARTED_UNTRUSTED COLOR_PAIR(40)
#define COLOUR_OTR_ENDED COLOR_PAIR(41)
#define COLOUR_OTR_TRUSTED COLOR_PAIR(42)
#define COLOUR_OTR_UNTRUSTED COLOR_PAIR(43)
typedef enum {
THEME_TEXT,
THEME_TEXT_ME,
THEME_TEXT_THEM,
THEME_SPLASH,
THEME_ERROR,
THEME_INCOMING,
THEME_INPUT_TEXT,
THEME_TIME,
THEME_TITLE_TEXT,
THEME_TITLE_BRACKET,
THEME_TITLE_UNENCRYPTED,
THEME_TITLE_ENCRYPTED,
THEME_TITLE_UNTRUSTED,
THEME_TITLE_TRUSTED,
THEME_TITLE_ONLINE,
THEME_TITLE_OFFLINE,
THEME_TITLE_AWAY,
THEME_TITLE_CHAT,
THEME_TITLE_DND,
THEME_TITLE_XA,
THEME_STATUS_TEXT,
THEME_STATUS_BRACKET,
THEME_STATUS_ACTIVE,
THEME_STATUS_NEW,
THEME_ME,
THEME_THEM,
THEME_ROOMINFO,
THEME_ROOMMENTION,
THEME_ONLINE,
THEME_OFFLINE,
THEME_AWAY,
THEME_CHAT,
THEME_DND,
THEME_XA,
THEME_TYPING,
THEME_GONE,
THEME_SUBSCRIBED,
THEME_UNSUBSCRIBED,
THEME_OTR_STARTED_TRUSTED,
THEME_OTR_STARTED_UNTRUSTED,
THEME_OTR_ENDED,
THEME_OTR_TRUSTED,
THEME_OTR_UNTRUSTED
} theme_item_t;
void theme_init(const char * const theme_name);
void theme_init_colours(void);
gboolean theme_load(const char * const theme_name);
GSList* theme_list(void);
void theme_close(void);
int theme_attrs(theme_item_t attrs);
#endif