view doc/account-signals.dox @ 7724:613b20c69d2c

[gaim-migrate @ 8369] this didn't cause me any problems yesterday, and it compiles, and bug fixing is a good thing. "Some month ago I introduced translatable texts for "gaim --help" and "gaim-remote --help". Unfortunately the output of the translated text is often unreadable. The problem is, that Gaim's *.po files have the UTF-8 locale (because this is the default charset for GTK+ 2.0). But the users may have configured other locales. For instance my SuSE Linux 9.0 system is configured with LANG=de_DE@euro. "euro" is ISO-8859-1 (Western character set, 8 Bit, with the Euro currency symbol). Lots of UTF-8 characters are unreadable if they are displayed in a 8 Bit charset without conversion. Only the 7 Bit chars are displayed right. There are two possible solutions: 1) Make the console texts untranslatable. This isn't very clever. 2) Convert the texts from UTF-8 to user's locale. I choose the second solution. The conversion cannot be made during the translation, because gettext does not allow a mix of different character sets in one po-file. My patch converts the console strings from UTF-8 to users locale. Normally this works right, because most users have a locale which is compatible with their language. The case where a user uses a language (for instance German: LANG=de_DE) with an incompatible character set (for instance the 7Bit charset LC_CTYPE=C) is also handled. The user then sees a warning and the original UTF-8 message. At first I tried to make a new UTF-8 function in src/util.c. But the function is needed 5 times in src/gaim-remote.c and 2 times in src/main.c. gaim-remote is not linked against util.o. Also there are a lot of dependencies from util.o to other files, so I will introduce a lot of trouble to link gaim-remote against util.o. So I only wrote a function in src/gaim-remote.c and used the UTF-8 conversion inline in src/main.c." --Bjoern Voigt committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 03 Dec 2003 13:21:55 +0000
parents 34eaa941ecd6
children bb9a25682675
line wrap: on
line source

/** @page account-signals Account Signals

 @signals
  @signal account-away
  @signal account-connecting
  @signal account-setting-info
  @signal account-set-info
 @endsignals

 <hr>

 @signaldef account-away
  @signalproto
void (*account_away)(GaimAccount *account, const char *state, const char *message);
  @endsignalproto
  @signaldesc
   Emitted when an account goes away.
  @param account The account that went away.
  @param state   The away state.
  @param message The away message.
 @endsignaldef

 @signaldef account-connecting
  @signalproto
void (*account_connecting)(GaimAccount *account);
  @endsignalproto
  @signaldesc
   This is called when an account is in the process of connecting.
  @param account The account in the process of connecting.
 @endsignaldef

 @signaldef account-setting-info
  @signalproto
void (*account_setting_info)(GaimAccount *account, const char *new_info);
  @endsignalproto
  @signaldesc
   Emitted when a user is about to send his new user info, or
   profile, to the server.
  @param account  The account that the info will be set on.
  @param new_info The new information to set.
 @endsignaldef

 @signaldef account-set-info
  @signalproto
void (*account_set_info)(GaimAccount *account, const char *new_info);
  @endsignalproto
  @signaldesc
   Emitted when a user sent his new user info, or profile, to the server.
  @param account  The account that the info was set on.
  @param new_info The new information set.
 @endsignaldef

 @signaldef account-warned
  @signalproto
void (*account_warned)(GaimAccount *account, const char *warner, int level);
  @endsignalproto
  @signaldesc
   Emitted when an account got warned.
  @param account The account that was warned.
  @param warner  The screenname of the user that warned the account.
  @param level   The new warning level.
 @endsignaldef

 */
// vim: syntax=c tw=75 et