OSDN Git Service

・スレタイの特定ワードを非表示にする機能に「©bbspink.com」も追加
[gikonavigoeson/gikonavi.git] / Option.pas
index 83c6bda..dd70f62 100644 (file)
@@ -219,6 +219,18 @@ type
     gppRighBottomRB: TRadioButton;
     ResAnchorCheckBox: TCheckBox;
     IgnoreLimitResCountCheckBox: TCheckBox;
+    GroupBox25: TGroupBox;
+    Label25: TLabel;
+    BoukenComboBox: TComboBox;
+    BoukenModButton: TButton;
+    BoukenDelButton: TButton;
+    BoukenEdit: TEdit;
+    GroupBox26: TGroupBox;
+    UseUnicodeCB: TCheckBox;
+    Label27: TLabel;
+    DispImageCheckBox: TCheckBox;
+    GroupBox27: TGroupBox;
+    ThreadTitleTrimCheckBox: TCheckBox;
                procedure FormCreate(Sender: TObject);
                procedure FormDestroy(Sender: TObject);
                procedure ApplyButtonClick(Sender: TObject);
@@ -268,6 +280,9 @@ type
                 procedure ResRangeHoldCheckBoxClick(Sender: TObject);
                 procedure CroutOptionClick(Sender: TObject);
     procedure MaxRecordCountEditExit(Sender: TObject);
+    procedure BoukenDelButtonClick(Sender: TObject);
+    procedure BoukenComboBoxChange(Sender: TObject);
+    procedure BoukenModButtonClick(Sender: TObject);
        private
                { Private \90é\8c¾ }
                FClose: Boolean;
@@ -312,13 +327,24 @@ const
        DEFAULT_FONT_SIZE: Integer = 9;
        DEFAULT_TABFONT_NAME: string = '\82l\82\82o\83S\83V\83b\83N';
        DEFAULT_TABFONT_SIZE: Integer = 9;
-       URL_TORA3: WideString = 'http://2ch.tora3.net/';
+//     URL_TORA3: WideString = 'http://2ch.tora3.net/';
+       URL_TORA3: WideString = 'http://ronin.bbspink.com/';
        DEFAULT_CSS_FILENAME = 'default.css';
 
 {$R *.DFM}
 
 procedure TOptionDialog.FormCreate(Sender: TObject);
+var
+    CenterForm: TCustomForm;
 begin
+    CenterForm := TCustomForm(Owner);
+    if Assigned(CenterForm) then begin
+        Left := ((CenterForm.Width - Width) div 2) + CenterForm.Left;
+        Top := ((CenterForm.Height - Height) div 2) + CenterForm.Top;
+    end else begin
+        Left := (Screen.Width - Width) div 2;
+        Top := (Screen.Height - Height) div 2;
+    end;
 
        CSSBrowser.Navigate('about:blank');
        FClose := True;
@@ -572,7 +598,8 @@ var
        Item: TListItem;
 //     s: string;
        idx: Integer;
-       FileList: TStringList;
+       FileList : TStringList;
+    DomainList : TStringList;
 begin
 
        //\93Ç\82Ý\8d\9e\82Ý\97p\83v\83\8d\83L\83V
@@ -716,6 +743,8 @@ begin
 
        //Mail\97\93\95\\8e¦
        ShowMailCheckBox.Checked := GikoSys.Setting.ShowMail;
+    //BE2.0\83A\83C\83R\83\93\81EEmoticons\82ð\89æ\91\9c\95\\8e¦\82·\82é
+    DispImageCheckBox.Checked := GikoSys.Setting.IconImageDisplay;
 
        // \8bN\93®\8e\9e\83\8c\83X\95\\8e¦\94Í\88Í\82Ì\8cÅ\92è
        ResRangeHoldCheckBox.Checked := GikoSys.Setting.ResRangeHold;
@@ -723,7 +752,7 @@ begin
        Ord( grrAll ):  ResRangeHoldComboBox.ItemIndex := 0;
        Ord( grrKoko ): ResRangeHoldComboBox.ItemIndex := 2;
        Ord( grrNew ):  ResRangeHoldComboBox.ItemIndex := 3;
-       100:                                            ResRangeHoldComboBox.ItemIndex := 1;
+       10..65535:                                              ResRangeHoldComboBox.ItemIndex := 1;
        end;
        ResRangeHoldComboBox.Enabled := GikoSys.Setting.ResRangeHold;
        //\83^\83u\92Ç\89Á\88Ê\92u
@@ -874,9 +903,14 @@ begin
        TabLoadSave.Checked := Gikosys.Setting.TabAutoLoadSave;
        UseUndecidedCheckBox.Checked := GikoSys.Setting.UseUndecided;
 
+    // \83\8c\83X\83G\83f\83B\83^Unicode\93ü\97Í
+    UseUnicodeCB.Checked := Gikosys.Setting.UseUnicode;
+    // \83X\83\8c\83^\83C\93Á\92è\95\8e\9a\97ñ\8f\9c\8b\8e
+    ThreadTitleTrimCheckBox.Checked := GikoSys.Setting.ThreadTitleTrim;
+
        //Be2ch\94F\8fØ
        BeUserIDEdit.Text := GikoSys.Setting.BeUserID;
-       BeCodeEdit.Text := GikoSys.Setting.BeCode;
+       BeCodeEdit.Text := GikoSys.Setting.BePassword;
        BeAutoLoginCheckBox.Checked := GikoSys.Setting.BeAutoLogin;
        //\97\9a\97ð\82Ì\8dÅ\91å\95Û\91\90\94
        MaxRecordCountEdit.Text := IntToStr(GikoSys.Setting.MaxRecordCount);
@@ -886,6 +920,18 @@ begin
     LoopBrowserTabsCB.Checked := GikoSys.Setting.LoopBrowserTabs;
     //
     IgnoreContextCheckBox.Checked := GikoSys.Setting.GestureIgnoreContext;
+
+    // \96`\8c¯\82Ì\8f\91\83h\83\81\83C\83\93\88ê\97\97\8eæ\93¾
+    BoukenComboBox.Text := '';
+    BoukenComboBox.Items.Clear;
+    DomainList := TStringList.Create;
+    GikoSys.GetBoukenDomain(DomainList);
+    for i := 0 to DomainList.Count - 1 do begin
+        BoukenComboBox.Items.Add( DomainList[i] ) ;
+    end;
+    DomainList.Free;
+    BoukenComboBox.ItemIndex := 0;
+    BoukenComboBox.OnChange(nil);
 end;
 
 procedure TOptionDialog.SaveSetting;
@@ -1009,11 +1055,13 @@ begin
        //Mail\97\93\95\\8e¦
        if GikoSys.Setting.ShowMail <> ShowMailCheckBox.Checked then FRepaintThread := true;
        GikoSys.Setting.ShowMail := ShowMailCheckBox.Checked;
+    //BE2.0\83A\83C\83R\83\93\81EEmoticons\82ð\89æ\91\9c\95\\8e¦\82·\82é
+    GikoSys.Setting.IconImageDisplay := DispImageCheckBox.Checked;
        // \8bN\93®\8e\9e\83\8c\83X\95\\8e¦\94Í\88Í\82Ì\8cÅ\92è
        GikoSys.Setting.ResRangeHold := ResRangeHoldCheckBox.Checked;
        case ResRangeHoldComboBox.ItemIndex of
                0: GikoSys.Setting.ResRange := Ord( grrAll );
-               1: GikoSys.Setting.ResRange := 100;
+               1: GikoSys.Setting.ResRange := GikoSys.Setting.ResRangeExCount;
                2: GikoSys.Setting.ResRange := Ord( grrKoko );
                3: GikoSys.Setting.ResRange := Ord( grrNew );
        end;
@@ -1167,7 +1215,7 @@ begin
        GikoSys.Setting.UseUndecided := UseUndecidedCheckBox.Checked;
         //Be2ch
         GikoSys.Setting.BeUserID := BeUserIDEdit.Text;
-        GikoSys.Setting.BeCode := BeCodeEdit.Text;
+        GikoSys.Setting.BePassword := BeCodeEdit.Text;
                GikoSys.Setting.BeAutoLogin := BeAutoLoginCheckBox.Checked;
        //\97\9a\97ð\82Ì\8dÅ\91å\95Û\91\90\94
        GikoSys.Setting.MaxRecordCount := Max(StrToInt64Def(MaxRecordCountEdit.Text,100),1);
@@ -1175,6 +1223,12 @@ begin
     GikoSys.Setting.LoopBrowserTabs := LoopBrowserTabsCB.Checked;
 
     GikoSys.Setting.GestureIgnoreContext := IgnoreContextCheckBox.Checked;
+
+    // \83\8c\83X\83G\83f\83B\83^Unicode\93ü\97Í
+    Gikosys.Setting.UseUnicode := UseUnicodeCB.Checked;
+    // \83X\83\8c\83^\83C\93Á\92è\95\8e\9a\97ñ\8f\9c\8b\8e
+    GikoSys.Setting.ThreadTitleTrim := ThreadTitleTrimCheckBox.Checked;
+
 end;
 
 procedure TOptionDialog.SettingApply;
@@ -1252,6 +1306,9 @@ begin
                end;
                GikoForm.BrowserTab.OnChange(nil);
        end;
+
+    // \83^\83u\82Ì\83X\83\8c\83^\83C\8dX\90V
+    GikoForm.UpdateThreadTitle;
 end;
 
 procedure TOptionDialog.ReadProxyCheckClick(Sender: TObject);
@@ -1321,6 +1378,14 @@ begin
        sndPlaySound(nil, SND_ASYNC);
        if OpenDialog.Execute then begin
                SoundFileEdit.Text := OpenDialog.FileName;
+        // \83A\83v\83\8a\94z\89º\82Ì\83t\83@\83C\83\8b\82Ì\8fê\8d\87\91\8a\91Î\83p\83X\82É\95Ï\8a·\82·\82é\81B
+        if (AnsiPos(GikoSys.Setting.GetAppDir,SoundFileEdit.Text) = 1) then begin
+            // .\ \82ª\82Â\82©\82È\82¢\82Ì\82Å\81A.\\82ð\92Ç\89Á
+            SoundFileEdit.Text := '.\' + ExtractRelativePath(
+                                      GikoSys.Setting.GetAppDir,
+                                      SoundFileEdit.Text);
+
+        end;
        end;
 end;
 
@@ -1328,10 +1393,8 @@ procedure TOptionDialog.SoundPlayButtonClick(Sender: TObject);
 var
     s : String;
 begin
-    s := SoundFileEdit.Text;
-    if (AnsiPos('.\', s) = 1) then begin
-        s := GikoSys.Setting.GetAppDir + Copy(s, 2, Length(s));
-    end;
+    SetCurrentDir(GikoSys.Setting.GetAppDir);
+    s := ExpandFileName(SoundFileEdit.Text);
        if not FileExists(s) then begin
                MsgBox(Handle, '\91\8dÝ\82µ\82È\82¢\83t\83@\83C\83\8b\82Å\82·', '\83G\83\89\81[', MB_ICONSTOP or MB_OK);
                SoundFileEdit.Text := '';
@@ -1357,7 +1420,8 @@ begin
        Item := SoundListView.Selected;
        if Item = nil then Exit;
 
-       if FileExists(SoundFileEdit.Text) then
+    SetCurrentDir(GikoSys.Setting.GetAppDir);
+       if FileExists(ExpandFileName(SoundFileEdit.Text)) then
                Item.SubItems[0] := SoundFileEdit.Text;
        if Trim(SoundFileEdit.Text) = '' then
                Item.SubItems[0] := '';
@@ -1691,5 +1755,58 @@ begin
         MaxRecordCountEdit.Text := '1';
 end;
 
+procedure TOptionDialog.BoukenDelButtonClick(Sender: TObject);
+begin
+    if ( BoukenComboBox.Items.IndexOf( BoukenComboBox.Text ) <> -1 ) then begin
+        if MsgBox(Self.Handle, BoukenComboBox.Text + ' \82ð\8dí\8f\9c\82µ\82Ü\82·\81B'#13#10 +
+            '\8dí\8f\9c\82·\82é\82Æ\95\9c\8c³\82Å\82«\82Ü\82¹\82ñ\81B\82æ\82ë\82µ\82¢\82Å\82·\82©\81H', '\94E\96@\92\9f\81@\83h\83\81\83C\83\93\8dí\8f\9c', MB_YESNO or MB_ICONQUESTION) = IDYES then begin
+            GikoSys.DelBoukenCookie(BoukenComboBox.Text);
+            GikoSys.Setting.WriteBoukenSettingFile;
+            BoukenComboBox.Items.Delete(BoukenComboBox.ItemIndex);
+            if ( BoukenComboBox.Items.Count = 0 ) then begin
+                 BoukenComboBox.Text := '';
+            end;
+            BoukenComboBox.OnChange(nil);
+        end
+    end else begin
+        BoukenComboBox.Text := '';
+    end;
+end;
+
+procedure TOptionDialog.BoukenComboBoxChange(Sender: TObject);
+begin
+    BoukenEdit.Text := GikoSys.GetBoukenCookie('http://*' +BoukenComboBox.Text);
+end;
+
+procedure TOptionDialog.BoukenModButtonClick(Sender: TObject);
+var
+    DomainList : TStringList;
+    i : Integer;
+    s : String;
+begin
+    if ( Length(BoukenComboBox.Text) > 0 ) then begin
+        s := BoukenComboBox.Text;
+        GikoSys.SetBoukenCookie(BoukenEdit.Text, s);
+        GikoSys.Setting.WriteBoukenSettingFile;
+        // \96`\8c¯\82Ì\8f\91\83h\83\81\83C\83\93\88ê\97\97\8eæ\93¾
+        BoukenComboBox.Text := '';
+        BoukenComboBox.Items.Clear;
+        DomainList := TStringList.Create;
+        GikoSys.GetBoukenDomain(DomainList);
+        for i := 0 to DomainList.Count - 1 do begin
+            BoukenComboBox.Items.Add( DomainList[i] ) ;
+        end;
+        DomainList.Free;
+        BoukenComboBox.ItemIndex := 0;
+        for i := 0 to BoukenComboBox.Items.Count - 1 do begin
+            if ( BoukenComboBox.Items[i] = s) then begin
+                BoukenComboBox.ItemIndex := i;
+                Break;
+            end;
+        end;
+        BoukenComboBox.OnChange(nil);
+    end;
+end;
+
 end.