diff options
-rw-r--r-- | bitlbee.h | 3 | ||||
-rw-r--r-- | doc/user-guide/misc.xml | 35 | ||||
-rw-r--r-- | help.c | 24 | ||||
-rw-r--r-- | help.h | 1 | ||||
-rw-r--r-- | irc.c | 1 | ||||
-rw-r--r-- | irc_commands.c | 1 | ||||
-rw-r--r-- | irc_send.c | 2 | ||||
-rw-r--r-- | root_commands.c | 28 |
8 files changed, 68 insertions, 27 deletions
@@ -136,7 +136,6 @@ #include "conf.h" #include "log.h" #include "ini.h" -#include "help.h" #include "query.h" #include "sock.h" #include "misc.h" @@ -146,7 +145,7 @@ typedef struct global { /* In forked mode, child processes store the fd of the IPC socket here. */ int listen_socket; gint listen_watch_source_id; - help_t *help; + struct help *help; char *conf_file; conf_t *conf; GList *storage; /* The first backend in the list will be used for saving */ diff --git a/doc/user-guide/misc.xml b/doc/user-guide/misc.xml index 979ad026..906b312e 100644 --- a/doc/user-guide/misc.xml +++ b/doc/user-guide/misc.xml @@ -267,10 +267,43 @@ everything in the handle up to the first @. </sect1> -<sect1 id="news1.3"> +<sect1 id="whatsnew010206"> +<title>New stuff in BitlBee 1.2.6</title> + +<para> +Twitter support. See <emphasis>help account add twitter</emphasis>. +</para> +</sect1> + +<sect1 id="whatsnew010300"> <title>New stuff in BitlBee 1.3dev</title> <para> +Support for multiple configurable control channels, each with a subset of +your contact list. See <emphasis>help channels</emphasis> for more +information. +</para> + +<para> +File transfer support for some protocols (more if you use libpurple). Just +/DCC SEND stuff. Incoming files also become DCC transfers. +</para> + +<para> +Only if you run your own BitlBee instance: You can build a BitlBee that uses +libpurple for connecting to IM networks instead of its own code, adding +support for some of the more obscure IM protocols and features. +</para> + +<para> +Many more things, briefly described in <emphasis>help news1.3</emphasis>. +</para> +</sect1> + +<sect1 id="news1.3"> +<title>New stuff in BitlBee 1.3dev (details)</title> + +<para> Most of the core of BitlBee was rewritten since the last release. This entry should sum up the majority of the changes. </para> @@ -1,7 +1,7 @@ /********************************************************************\ * BitlBee -- An IRC to other IM-networks gateway * * * - * Copyright 2002-2009 Wilmer van der Gaast and others * + * Copyright 2002-2010 Wilmer van der Gaast and others * \********************************************************************/ /* Help file control */ @@ -25,6 +25,7 @@ #define BITLBEE_CORE #include "bitlbee.h" +#include "help.h" #undef read #undef write @@ -193,3 +194,24 @@ int help_add_mem( help_t **help, const char *title, const char *content ) return 1; } + +char *help_get_whatsnew( help_t **help, int old ) +{ + GString *ret = NULL; + help_t *h; + int v; + + for( h = *help; h; h = h->next ) + if( h->title != NULL && strncmp( h->title, "whatsnew", 8 ) == 0 && + sscanf( h->title + 8, "%x", &v ) == 1 && v > old ) + { + char *s = help_get( &h, h->title ); + if( ret == NULL ) + ret = g_string_new( s ); + else + g_string_append_printf( ret, "\n\n%s", s ); + g_free( s ); + } + + return ret ? g_string_free( ret, FALSE ) : NULL; +} @@ -46,5 +46,6 @@ G_GNUC_MALLOC help_t *help_init( help_t **help, const char *helpfile ); void help_free( help_t **help ); char *help_get( help_t **help, char *title ); int help_add_mem( help_t **help, const char *title, const char *content_ ); +char *help_get_whatsnew( help_t **help, int old ); #endif @@ -111,6 +111,7 @@ irc_t *irc_new( int fd ) s = set_add( &b->set, "handle_unknown", "add_channel", NULL, irc ); s = set_add( &b->set, "last_version", NULL, NULL, irc ); s->flags |= SET_HIDDEN; + s->value = g_strdup_printf( "%d", BITLBEE_VERSION_CODE ); s = set_add( &b->set, "lcnicks", "true", set_eval_bool, irc ); s = set_add( &b->set, "nick_format", "%-@nick", NULL, irc ); s = set_add( &b->set, "offline_user_quits", "true", set_eval_bool, irc ); diff --git a/irc_commands.c b/irc_commands.c index 7874f519..ce276051 100644 --- a/irc_commands.c +++ b/irc_commands.c @@ -25,6 +25,7 @@ #define BITLBEE_CORE #include "bitlbee.h" +#include "help.h" #include "ipc.h" static void irc_cmd_pass( irc_t *irc, char **cmd ) @@ -113,7 +113,7 @@ void irc_usermsg( irc_t *irc, char *format, ... ) { irc_channel_t *ic = NULL; irc_user_t *iu = irc->root; - char text[1024]; + char text[1100]; va_list params; char *dst; diff --git a/root_commands.c b/root_commands.c index 94d22933..f3186562 100644 --- a/root_commands.c +++ b/root_commands.c @@ -1292,37 +1292,21 @@ static void cmd_nick( irc_t *irc, char **cmd ) static void bitlbee_whatsnew( irc_t *irc ) { int last = set_getint( &irc->b->set, "last_version" ); - GString *msg = g_string_new( "" ); - char s[16]; + char s[16], *msg; if( last >= BITLBEE_VERSION_CODE ) return; - if( last < 0x010206 ) /* 1.2.6 */ - { - g_string_append( msg, - "Twitter support. See \x02help account add twitter\x02.\n" ); - } - if( last < 0x010300 ) /* 1.3dev */ - { - g_string_append( msg, - "Support for multiple configurable control channels, " - "each with a subset of your contact list. See " - "\x02help channels\x02 for more information.\n" - "File transfer support for some protocols (more if " - "you use libpurple). Just /DCC SEND stuff. Incoming " - "files also become DCC transfers.\n" - "Many more things, briefly described in " - "\x02help news1.3\x02.\n" ); - } + msg = help_get_whatsnew( &(global.help), last ); - if( msg->len > 0 ) + if( msg ) irc_usermsg( irc, "%s: This seems to be your first time using this " "this version of BitlBee. Here's a list of new " "features you may like to know about:\n\n%s\n", - irc->user->nick, msg->str ); + irc->user->nick, msg ); + + g_free( msg ); - g_string_free( msg, TRUE ); g_snprintf( s, sizeof( s ), "%d", BITLBEE_VERSION_CODE ); set_setstr( &irc->b->set, "last_version", s ); } |