changeset 1512:6d36a36a01c6

Merge main and crew
author Mikael Berthe <mikael@lilotux.net>
date Sun, 31 Aug 2008 22:52:11 +0200
parents 189ffdd944b4 (current diff) e1c34d251e39 (diff)
children 9d78b571e693
files
diffstat 4 files changed, 15 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/doc/help/en/hlp_color.txt	Sun Aug 31 15:21:49 2008 +0200
+++ b/mcabber/doc/help/en/hlp_color.txt	Sun Aug 31 22:52:11 2008 +0200
@@ -1,6 +1,6 @@
 
  /COLOR roster (status wildcard (color|-)|clear)
- /COLOR mucnick nick (color|-|!)
+ /COLOR mucnick nick (color|-)
  /COLOR muc (jid|.|*) [on|preset|off|-]
 
 The 'color' command allows setting dynamic color properties of the screen.
@@ -11,8 +11,8 @@
  Set a color rule (or overwrite, if it already exists). The status is string containing all statuses the roster item can have for the rule to match, or * if any status is OK. Wildcard is the file-matching wildcard that will be applied to JID. Color is the wanted color.
  If color is -, the rule is removed.
  If more than one rule matches, the color from the last created (not overwritten) is used.
-/color mucnick nick (color|-|!)
- Marks the nick to be colored by given color. If a MUC has colored nicks, this one will be used. If color is -, the color is marked as chosen automatically, which means it will not be used in 'preset' coloring mode, but will stay the same in 'on' coloring mode. If the color is !, a new color is randomly choosen and marked automatic.
+/color mucnick nick (color|-)
+ Marks the nick to be colored by given color. If a MUC has colored nicks, this one will be used. If color is -, the color is marked as chosen automatically, which means it will not be used in 'preset' coloring mode, but will stay the same in 'on' coloring mode.
 /color muc (jid|.|*) [on|preset|off|-]
  Sets a MUC nick coloring mode. If a jid (. means currently selected jid) is provided, the mode will apply to this specific MUC. If * is used, it will be applied to all MUCs, except the ones set by their jid.
  Mode 'on' colors all nicks, 'preset' only the ones manually set by /color mucnick command and 'off' colors none. If not specified, defaults to 'on'. Mode '-' removes the mode from given JID, which means the global one will apply. You can not remove the global mode.
--- a/mcabber/doc/help/ru/hlp_color.txt	Sun Aug 31 15:21:49 2008 +0200
+++ b/mcabber/doc/help/ru/hlp_color.txt	Sun Aug 31 22:52:11 2008 +0200
@@ -1,6 +1,6 @@
 
  /COLOR список контактов (aka roster) (шаблон статуса (color|-)|clear)
- /COLOR mucnick ник (color|-|!)
+ /COLOR mucnick ник (color|-)
  /COLOR muc (jid|.|*) [on|preset|off|-]
 
 Команда 'color' позволяет менять параметры цветовой схемы экрана.
@@ -11,8 +11,8 @@
  Устанавливает правило расцветки (или перезаписывает установленное ранее). Статус это строка содержащая все возможные статусы списка контактов, которые могут соответствовать правилу или * для всех статусов. Шаблон (wildcard) это шаблон соответствия, который будет применен к JID. Color - желаемый цвет.
  Если color задан как -, правило удаляется.
  Если шаблону соответствует более одного совпадения - используется последний созданый шаблон.
-/color mucnick nick (color|-|!)
- Помечает ник пользователя заданым цветом. Если группа пользователей содержит цветные ники, то цвет изменится на установленный. Если цвет установлен как -, цвет устанавливается как выбраный по умолчанию, это значит, что он будет использоваться в режиме расцветки по умолчанию. Если цвет установлен как ! цвет выбирается и устанавливается автоматически.
+/color mucnick nick (color|-)
+ Помечает ник пользователя заданым цветом. Если группа пользователей содержит цветные ники, то цвет изменится на установленный. Если цвет установлен как -, цвет устанавливается как выбраный по умолчанию, это значит, что он будет использоваться в режиме расцветки по умолчанию.
 /color muc (jid|.|*) [on|preset|off|-]
  Устанавливает цветовую схему группы пользователей. Если jid ( . означает текущий выбраный jid) указан, то режим будет применен к этому контакту. Если используется * то установка цвета будет применена ко всем спискам.
  Режим 'on' задает цвета для всех ников. 'preset' только для одного выбраного вручную с помощью /color mucnick команда и режим 'off' убирает все цвета. Если флаг 'off' не указан, то по умолчанию принимается флаг 'on'. Режим '-' удаляет установки с указанного контакта. Вы не можете удалять глобальные режимы расцветки.
--- a/mcabber/doc/help/uk/hlp_color.txt	Sun Aug 31 15:21:49 2008 +0200
+++ b/mcabber/doc/help/uk/hlp_color.txt	Sun Aug 31 22:52:11 2008 +0200
@@ -1,6 +1,6 @@
 
  /COLOR roster (статус маска (колір|-)|clear)
- /COLOR mucnick прізвисько (колір|-|!)
+ /COLOR mucnick прізвисько (колір|-)
  /COLOR muc (jid|.|*) [on|preset|off|-]
 
 Керує кольорами контактів у списку.
@@ -15,5 +15,5 @@
  Встановлює режим забарвлення прізвиськ у чаті. Якщо замість jid вказано * режим докладається до всіх чатів, для яких не визначено особистого правила (з вказанням jid).
  У режимі on забарвлюються усі прізвиська, у режимі preset - лише ті, для яких колір встановлено командою /color mucnick, а режим off вимикає забарвлення прізвиськ. Режим - прибирає з вказаних jid особисті режими забарвлення. Тоді до них докладається глобальний. Глобальний режим прибрати не можна.
  Початковий глобальний режим - off.
-/color mucnick прізвисько (колір|-|!)
- Створює правило забарвлювати прізвисько вказаним кольором. Якщо вказано -, колір позначається як автоматично обраний, тобто його не буде використано у режимі preset, але у режимі on він залишиться тим самим. Колір ! означає випадковий колір (й позначає його як автоматично обраний). Випадкові кольори беруться з параметру "nick_colors" (mcabberrc)
+/color mucnick прізвисько (колір|-)
+ Створює правило забарвлювати прізвисько вказаним кольором. Якщо вказано -, колір позначається як автоматично обраний, тобто його не буде використано у режимі preset, але у режимі on він залишиться тим самим. Випадкові кольори беруться з параметру "nick_colors" (mcabberrc)
--- a/mcabber/src/screen.c	Sun Aug 31 15:21:49 2008 +0200
+++ b/mcabber/src/screen.c	Sun Aug 31 22:52:11 2008 +0200
@@ -299,15 +299,6 @@
     g_free(snick);//They are not saved in the hash
     g_free(mnick);
     need_update = TRUE;
-  } else if (!strcmp(color, "!")) {
-    if (nickcolors) {
-      g_free(g_hash_table_lookup(nickcolors, snick));
-      g_hash_table_remove(nickcolors, snick);
-      g_hash_table_remove(nickcolors, mnick);
-    }
-    g_free(snick);//They are not saved in the hash
-    g_free(mnick);
-    need_update = TRUE;
   } else {
     ccolor * cl = get_user_color(color);
     if (!cl) {
@@ -1101,16 +1092,20 @@
             type = *typetmp;
         }
         g_free(mucjid);
-        // Need to generate some random color?
+        // Need to generate a color for the specified nick?
         if ((type == MC_ALL) && (!nickcolors ||
             !g_hash_table_lookup(nickcolors, line->text))) {
           char *snick, *mnick;
           nickcolor *nc;
+          const char *p = line->text;
+          unsigned int nicksum = 0;
           snick = g_strdup(line->text);
           mnick = g_strdup(line->text);
           nc = g_new(nickcolor, 1);
           ensure_string_htable(&nickcolors, NULL);
-          nc->color = nickcols[random() % nickcolcount];
+          while (*p)
+            nicksum += *p++;
+          nc->color = nickcols[nicksum % nickcolcount];
           nc->manual = FALSE;
           *snick = '<';
           snick[strlen(snick)-1] = '>';