OSDN Git Service

チャンネルゴースト用の処理UpdateChannelListを追加
authorE01 <e01@users.sourceforge.jp>
Sat, 20 Mar 2004 08:45:07 +0000 (08:45 +0000)
committerE01 <e01@users.sourceforge.jp>
Sat, 20 Mar 2004 08:45:07 +0000 (08:45 +0000)
見かけ上動作

bottleclient/MainForm.pas

index fc219d4..e0ef9b4 100755 (executable)
@@ -337,6 +337,7 @@ type
     //\83`\83\83\83\93\83l\83\8b\8aÖ\8cW
 //    procedure UpdateChannelInfo(Dat: THeadValue);
     procedure UpdateJoinChannelList(Dat: THeadValue);
+    procedure UpdateChannelList;
 //    procedure NoLuidError;
     procedure UpdateIfGhostBox;
     function BuildMenuConditionCheck(const IfGhost, Ghost: String): boolean;
@@ -975,6 +976,8 @@ begin
   SakuraSeekerDetectResultChanged(self);
   //\8e©\93®\95Û\91\90Ý\92è\82Ì\83\8d\81[\83h
   SetScriptAutoBackUp;
+  //\83`\83\83\83\93\83l\83\8b\83S\81[\83X\83g\83\8d\81[\83h
+  UpdateChannelList;
 {
   if SakuraSeeker.Count = 0 then
     frmMessageBox.ShowMessage('\83S\81[\83X\83g(SSTP\83T\81[\83o)\82ª1\82Â\82à\8bN\93®\82µ\82Ä\82¢\82Ü\82¹\82ñ\81B'#13#10 +
@@ -1550,6 +1553,7 @@ begin
   tabChannel.Repaint;
   frmLog.UpdateWindow;
   SetScriptAutoBackUp;  //\83X\83N\83\8a\83v\83g\8e©\93®\95Û\91\90Ý\92è\8dX\90V
+  UpdateChannelList;    //\83`\83\83\83\93\83l\83\8b\83S\81[\83X\83g\8dÄ\83\8d\81[\83h
 end;
 
 procedure TfrmSender.memScriptKeyPress(Sender: TObject; var Key: Char);
@@ -1644,28 +1648,32 @@ end;
 
 procedure TfrmSender.actPrevChannelExecute(Sender: TObject);
 begin
+{
   with tabChannel do begin
     if Tabs.Count = 0 then Exit;
     if TabIndex=0 then TabIndex := Tabs.Count-1
     else TabIndex := TabIndex-1;
   end;
   tabChannelChange(Self);
+}
 end;
 
 procedure TfrmSender.actNextChannelExecute(Sender: TObject);
 begin
+{
   with tabChannel do begin
     if Tabs.Count = 0 then Exit;
     if TabIndex=Tabs.Count-1 then TabIndex := 0
     else TabIndex := TabIndex+1;
   end;
   tabChannelChange(Self);
+}
 end;
 
-//\83`\83\83\83\93\83l\83\8b\83\8a\83X\83g\82ð\8c©\82Ä\83^\83u\82ð\8aÇ\97\9d
 procedure TfrmSender.UpdateJoinChannelList(Dat: THeadValue);
-var //i: integer;
-    nodat: boolean;
+var
+//  i: integer;
+  nodat: boolean;
 begin
   nodat := Dat = nil; //nil\82È\82ç\83`\83\83\83\93\83l\83\8b\91S\89ð\8f\9c
   if nodat then Dat := THeadValue.Create('');
@@ -1682,7 +1690,7 @@ begin
     JoinChannels.Sort;
     Tabs.BeginUpdate;
     Tabs.Clear;
-{ Tabs.Add('\89w\91O\92Ê\82è');  \82Å\83^\83u\8dì\90¬
+{
     for i := 0 to JoinChannels.Count-1 do begin
       //\8eó\90M\90ê\97p\83`\83\83\83\93\83l\83\8b\82Í\95\\8e¦\82µ\82È\82¢
       if not ChannelList.Channel[JoinChannels[i]].NoPost then
@@ -1785,11 +1793,10 @@ begin
   if Dat['IfGhost'] <> '' then begin
     Ghost := Dat['IfGhost'];
   end else begin
-{ \83`\83\83\83\93\83l\83\8b\92è\8b`\82ª\82Å\82«\82é\82Ü\82Å\83X\83L\83b\83v
     if ChannelList.Channel[Channel] <> nil then
-      Ghost := ChannelList.Channel[Channel].Ghost;
-}
-    Ghost := '';
+      Ghost := ChannelList.Channel[Channel].Ghost
+    else
+      Ghost := '';
   end;
   Dat['TargetGhost'] := Ghost;
 
@@ -2646,11 +2653,11 @@ begin
     InsertItem := TLogItem.Create(Log[i] as TLogItem);
     try
       //\83A\83N\83V\83\87\83\93\82ª\97L\8cø\82Å\82 \82ê\82Î\83X\83N\83\8a\83v\83g\82Ì\95Ï\8a·\82µ\82È\82¢
-      ErrorMes := '';
-      if not Pref.LogAction then
-      begin
+      if Pref.LogAction then
+        ErrorMes := ''
+      else
         InsertItem.Script := ScriptTransForSSTP(InsertItem.Script, ErrorMes);
-      end;
+
       if ErrorMes <> '' then
       begin
         Res := MessageDlg('\83X\83N\83\8a\83v\83g\82É\96â\91è\82ª\82 \82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B' +
@@ -2666,18 +2673,8 @@ begin
           Break;
         end;
       end;
-      if InsertItem.Ghost = '' then begin
-{ \83`\83\83\83\93\83l\83\8b\92è\8b`\82ª\82Å\82«\82é\82Ü\82Å\83X\83L\83b\83v
-        if ChannelList.Channel[InsertItem.Channel] <> nil then
-        InsertItem.Ghost := ChannelList.Channel[InsertItem.Channel].Ghost;
-}
-      end;
       //\83A\83N\83V\83\87\83\93\82ª\97L\8cø\82Å\82 \82ê\82Î\92Ê\8fí\8f\88\97\9d\8fÈ\97ª
-      if not Pref.LogAction then
-      begin
-        FBottleSSTP.Push(InsertItem);
-        frmLog.SetBottleState(InsertItem.MID, lsUnopened);
-      end else
+      if Pref.LogAction then
       begin
         //\8c^\95Ï\8a·\82Æ\8eó\90M
         BottleCnv(InsertItem.Mid
@@ -2687,6 +2684,16 @@ begin
                  ,InsertItem.Votes
                  ,InsertItem.Agrees
                  ,InsertItem.LogTime);
+      end else
+      begin
+        //\83`\83\83\83\93\83l\83\8b\83S\81[\83X\83g\91Î\8dô
+        if InsertItem.Ghost = '' then
+        begin
+          if ChannelList.Channel[InsertItem.Channel] <> nil then
+            InsertItem.Ghost := ChannelList.Channel[InsertItem.Channel].Ghost;
+        end;
+        FBottleSSTP.Push(InsertItem);
+        frmLog.SetBottleState(InsertItem.MID, lsUnopened);
       end;
     except
       InsertItem.Free;
@@ -3408,4 +3415,29 @@ begin
   end;
 end;
 
+procedure TfrmSender.UpdateChannelList;
+var
+  Ch: TChannelListItem;
+  i: integer;
+begin
+  //\83`\83\83\83\93\83l\83\8b\83S\81[\83X\83g\92è\8b`
+  ChannelList.Clear;
+  //\83t\83\89\83O\82ð\8c©\82Ä\94»\92f
+  if NOT Pref.GhostCh then exit;
+  i := 0;
+  while i < Pref.GhostChList.Count-1 do
+  begin
+    Ch := TChannelListItem.Create;
+    Ch.Name    := Pref.GhostChList.Strings[i];
+    Ch.Ghost   := Pref.GhostChList.Strings[i+1];
+    Ch.Info    := '';
+    Ch.NoPost  := false;
+    Ch.Members := 0;
+    Ch.WarnPost:= false;
+    ChannelList.Add(Ch);
+    JoinChannels.Add(Ch.Name);
+    i := i + 2;
+  end;
+end;
+
 end.