SIZE(10):2003.07.27 (日) 17:27:19 <Heracules> 241ベースからの移植です。~
#comment
shuusei211107:日本語チャンネル名を使用可能にした([[shuusei24138>24138]]参照)
 diff --dos -urN 211106/mainform.pas 211107/mainform.pas
 --- 211106/mainform.pas	Sun Jul 27 16:49:45 2003
 +++ 211107/mainform.pas	Sun Jul 27 17:01:40 2003
 @@ -1526,6 +1526,7 @@
    mx3_auto_im:=ini.ReadBool('Other','MX3AutoIMEnabled',false);
    mx3_auto_im_text:=ini.ReadString('Other','MX3AutoIM','WinMX v3では一部機能に制限が出ます。');
    id_2byte_enabled:=ini.ReadBool('Other2','Allow2ByteID',true);
 +  channel_2byte_enabled:=ini.ReadBool('Other2','Allow2ByteChannel',true);
    restrict_searchresult_per_user:=ini.ReadBool('Other','RestrictSearchResultPerUser',false);
    max_searchresult_per_user:=ini.ReadInteger('Other','MaxSearchResultPerUser',5);
    toami_bantime:=ini.ReadInteger('Other','ToamiBanTime',3600);
 --- 211106/handler.pas	Sun Jul 27 13:20:06 2003
 +++ 211107/handler.pas	Sun Jul 27 16:32:44 2003
 @@ -998,6 +998,8 @@
     LoginError(GetLangT(LNG_INVALIDARGS));
     exit;
   end;
 + if AnsiPos('$1',hlist.Strings[0])<>0 then
 +   LoginError(GetLangT(LNG_INVALIDNICK2, hlist.Strings[0]));
   tmp_pos:=191;
   if not CheckRange(hlist.Strings[4],0,10) then
   begin
 diff --dos -urN 211106/channels.pas 211107/channels.pas
 --- 211106/channels.pas	Thu Jan 23 17:04:46 2003
 +++ 211107/channels.pas	Sun Jul 27 16:59:20 2003
 @@ -441,11 +441,11 @@
  begin
   Result:=nil;
   if db_channels=nil then exit;
 - channel:=lowercase(channel);
 + channel:=AnsiLowerCase(channel);
   for i:=0 to db_channels.count-1 do
   begin
     ch:=db_channels.Items[i];
 -   if lowercase(ch.channel)=channel then
 +   if AnsiLowerCase(ch.channel)=channel then
     begin
       Result:=ch;
       exit;
 diff --dos -urN 211106/settings.pas 211107/settings.pas
 --- 211106/settings.pas	Sun Jul 27 15:45:12 2003
 +++ 211107/settings.pas	Sun Jul 27 17:19:02 2003
 @@ -579,6 +579,7 @@
      cb_mx3_auto_IM: TCheckBox;
      edit_mx3_auto_IM: TEdit;
      cb_2byte_id_enabled: TCheckBox;
 +    cb_2byte_channel_enabled: TCheckBox;
      procedure Panel3Resize(Sender: TObject);
      procedure headerPaint(Sender: TObject);
      procedure SetTopText(str: String);
 @@ -1499,6 +1500,7 @@
    edit_allow_sign3.Visible:=cb_allow_other.Checked;
    edit_allow_sign4.Visible:=cb_allow_other.Checked;
    cb_2byte_id_enabled.Checked:=id_2byte_enabled;
 +  cb_2byte_channel_enabled.Checked:=channel_2byte_enabled;
  end;
  
  procedure TSlavaNapSettings.sh_reportShow(Sender: TObject);
 @@ -2007,6 +2009,7 @@
     allowed_custom[3]:=edit_allow_sign3.Text;
     allowed_custom[4]:=edit_allow_sign4.Text;
     id_2byte_enabled:=cb_2byte_id_enabled.Checked;
 +   channel_2byte_enabled:=cb_2byte_channel_enabled.Checked;
    except
   end else if pages.ActivePage=sh_report then
   try
 diff --dos -urN 211106/settings.dfm 211107/settings.dfm
 --- 211106/settings.dfm	Sun Jul 27 15:39:30 2003
 +++ 211107/settings.dfm	Sun Jul 27 17:14:10 2003
 @@ -5672,7 +5672,7 @@
            Width = 66
            Height = 20
            Style = csDropDownList
 -          ItemHeight = 12
 +          ItemHeight = 0
            TabOrder = 5
          end
          object Panel4: TPanel
 @@ -5723,7 +5723,7 @@
            Width = 66
            Height = 20
            Style = csDropDownList
 -          ItemHeight = 12
 +          ItemHeight = 0
            TabOrder = 7
          end
          object Panel5: TPanel
 @@ -5783,7 +5783,7 @@
            Width = 66
            Height = 20
            Style = csDropDownList
 -          ItemHeight = 12
 +          ItemHeight = 0
            TabOrder = 10
          end
          object cb_loginblock_port: TCheckBox
 @@ -5993,6 +5993,14 @@
            Height = 17
            Caption = '2バイト文字のユーザーIDへの使用を認める'
            TabOrder = 16
 +        end
 +        object cb_2byte_channel_enabled: TCheckBox
 +          Left = 8
 +          Top = 120
 +          Width = 257
 +          Height = 17
 +          Caption = '2バイト文字のチャンネル名への使用を認める'
 +          TabOrder = 17
          end
        end
      end
 diff --dos -urN 211106/stypes.pas 211107/stypes.pas
 --- 211106/stypes.pas	Sun Jul 27 16:08:58 2003
 +++ 211107/stypes.pas	Sun Jul 27 17:12:22 2003
 @@ -1274,16 +1274,23 @@
    Delete(str,i,1);
    i:=pos('"',str);
   end;
 - for i:=Length(str) downto 1 do
 -  if (Ord(str[i])<33) or (Ord(str[i])>122) then
 -   Delete(str,i,1);
 + if channel_2byte_enabled then
 + begin
 +   for i:=Length(str) downto 1 do
 +    if str[i]<' ' then
 +      Delete(str,i,1);
 + end
 + else
 +   for i:=Length(str) downto 1 do
 +     if (Ord(str[i])<33) or (Ord(str[i])>122) then
 +       Delete(str,i,1);
   if Length(str)>32 then str:=Copy(str,1,32);
   if pos('#',Copy(str,2,max_channel_name))>0 then exit;
 - if str='#' then str:='';
 - if channels_irc then
 -  if Length(str)>0 then
 -   if str[1]<>'#' then str:='#'+str;
 - if channels_low then str:=lowercase(str);
 +// if str='#' then str:='';
 +// if channels_irc then
 +//  if Length(str)>0 then
 +//   if str[1]<>'#' then str:='#'+str;
 + if channels_low then str:=AnsiLowerCase(str);
   Result:=str;
  end;
  
 diff --dos -urN 211106/vars.pas 211107/vars.pas
 --- 211106/vars.pas	Sun Jul 27 15:44:48 2003
 +++ 211107/vars.pas	Sun Jul 27 17:00:42 2003
 @@ -274,6 +274,7 @@
   toami_taiou: String;
   renqueue_taiou: String;
   id_2byte_enabled: Boolean;
 + channel_2byte_enabled: Boolean;
   // bandwith limits
   bandwidth_up, bandwidth_down, bandwidth_maxup, bandwidth_maxdown, bandwidth_allowedup, bandwidth_alloweddown: Integer;
   bandwidth_limitservers, bandwidth_limited: Boolean;