X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Option.pas;h=f1b0d88e608f03de473259e7d448833d4e1c33c2;hb=refs%2Fheads%2Fmaster;hp=d1b89fae8b2734f9a45a845ec4c85b264b03ed3b;hpb=99131ab20fef11814c2b17bfa2c730bc698f0d91;p=gikonavigoeson%2Fgikonavi.git diff --git a/Option.pas b/Option.pas index d1b89fa..f1b0d88 100644 --- a/Option.pas +++ b/Option.pas @@ -116,8 +116,6 @@ type OpenMailerCheckBox: TCheckBox; GroupBox6: TGroupBox; LogDeleteMessageCheckBox: TCheckBox; - ResAnchorGroupBox: TGroupBox; - ResAnchorCheckBox: TCheckBox; TabSheet1: TTabSheet; TabAddRadioGroup: TRadioGroup; GroupBox8: TGroupBox; @@ -219,6 +217,22 @@ type gppLeftBottomRB: TRadioButton; gppBottomRB: TRadioButton; 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; + GroupBox28: TGroupBox; + NGTextEditCheckBox: TCheckBox; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure ApplyButtonClick(Sender: TObject); @@ -268,6 +282,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 éŒ¾ } FClose: Boolean; @@ -312,13 +329,24 @@ const DEFAULT_FONT_SIZE: Integer = 9; DEFAULT_TABFONT_NAME: string = '‚l‚r ‚oƒSƒVƒbƒN'; 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 +600,8 @@ var Item: TListItem; // s: string; idx: Integer; - FileList: TStringList; + FileList : TStringList; + DomainList : TStringList; begin //“ǂݍž‚Ý—pƒvƒƒLƒV @@ -716,6 +745,8 @@ begin //Mail—“•\Ž¦ ShowMailCheckBox.Checked := GikoSys.Setting.ShowMail; + //BE2.0ƒAƒCƒRƒ“EEmoticons‚ð‰æ‘œ•\Ž¦‚·‚é + DispImageCheckBox.Checked := GikoSys.Setting.IconImageDisplay; // ‹N“®ŽžƒŒƒX•\Ž¦”͈͂̌Œè ResRangeHoldCheckBox.Checked := GikoSys.Setting.ResRangeHold; @@ -723,7 +754,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; //ƒ^ƒu’ljÁˆÊ’u @@ -766,6 +797,8 @@ begin //ƒƒOíœŽžƒƒbƒZ[ƒW LogDeleteMessageCheckBox.Checked := GikoSys.Setting.DeleteMsg; + //“¯IDƒŒƒXƒAƒ“ƒJ[•\Ž¦‚̐§ŒÀ”‰z‚¦ƒƒbƒZ[ƒW + IgnoreLimitResCountCheckBox.Checked := GikoSys.Setting.LimitResCountMessage; //I—¹ŽžŠm”Fƒ_ƒCƒAƒƒO ShowDialogForEndCheckBox.Checked := GikoSys.Setting.ShowDialogForEnd; @@ -853,6 +886,8 @@ begin AddResAnchorCheckBox.Checked := GikoSys.Setting.AddResAnchor; DeleteSyriaCheckBox.Checked := GikoSys.Setting.DeleteSyria; IgnoreKanaCheckBox.Checked := GikoSys.Setting.IgnoreKana; + //NGƒ[ƒh•ÒW + NGTextEditCheckBox.Checked := GikoSys.Setting.NGTextEditor; {$IFDEF SPAM_FILTER_ENABLED} // ƒXƒpƒ€ƒtƒBƒ‹ƒ^‚̐ݒè‚ð•\Ž¦‚·‚é SpamFilterGroupBox.Visible := True; @@ -872,9 +907,14 @@ begin TabLoadSave.Checked := Gikosys.Setting.TabAutoLoadSave; UseUndecidedCheckBox.Checked := GikoSys.Setting.UseUndecided; + // ƒŒƒXƒGƒfƒBƒ^Unicode“ü—Í + UseUnicodeCB.Checked := Gikosys.Setting.UseUnicode; + // ƒXƒŒƒ^ƒC“Á’蕶Žš—ñœ‹Ž + ThreadTitleTrimCheckBox.Checked := GikoSys.Setting.ThreadTitleTrim; + //Be2ch”FØ BeUserIDEdit.Text := GikoSys.Setting.BeUserID; - BeCodeEdit.Text := GikoSys.Setting.BeCode; + BeCodeEdit.Text := GikoSys.Setting.BePassword; BeAutoLoginCheckBox.Checked := GikoSys.Setting.BeAutoLogin; //—š—ð‚̍őå•Û‘¶” MaxRecordCountEdit.Text := IntToStr(GikoSys.Setting.MaxRecordCount); @@ -884,6 +924,18 @@ begin LoopBrowserTabsCB.Checked := GikoSys.Setting.LoopBrowserTabs; // IgnoreContextCheckBox.Checked := GikoSys.Setting.GestureIgnoreContext; + + // –`Œ¯‚̏‘ƒhƒƒCƒ“ˆê——Žæ“¾ + 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; @@ -1007,11 +1059,13 @@ begin //Mail—“•\Ž¦ if GikoSys.Setting.ShowMail <> ShowMailCheckBox.Checked then FRepaintThread := true; GikoSys.Setting.ShowMail := ShowMailCheckBox.Checked; + //BE2.0ƒAƒCƒRƒ“EEmoticons‚ð‰æ‘œ•\Ž¦‚·‚é + GikoSys.Setting.IconImageDisplay := DispImageCheckBox.Checked; // ‹N“®ŽžƒŒƒX•\Ž¦”͈͂̌Œè 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; @@ -1031,6 +1085,8 @@ begin GikoSys.Setting.OpenMailer := OpenMailerCheckBox.Checked; GikoSys.Setting.DeleteMsg := LogDeleteMessageCheckBox.Checked; + GikoSys.Setting.LimitResCountMessage := IgnoreLimitResCountCheckBox.Checked; + //I—¹ŽžŠm”Fƒ_ƒCƒAƒƒO GikoSys.Setting.ShowDialogForEnd := ShowDialogForEndCheckBox.Checked; //AllTabClose @@ -1150,6 +1206,8 @@ begin GikoSys.Setting.DeleteSyria := DeleteSyriaCheckBox.Checked; GikoSys.Setting.IgnoreKana := IgnoreKanaCheckBox.Checked; GikoSys.FAbon.IgnoreKana := GikoSys.Setting.IgnoreKana; + //NGƒ[ƒh•ÒW + GikoSys.Setting.NGTextEditor := NGTextEditCheckBox.Checked; // Žg—p‚·‚éƒXƒpƒ€ƒtƒBƒ‹ƒ^ if GikoSys.Setting.SpamFilterAlgorithm <> TGikoSpamFilterAlgorithm( SpamFilterAlgorithmComboBox.ItemIndex ) then begin @@ -1163,7 +1221,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; //—š—ð‚̍őå•Û‘¶” GikoSys.Setting.MaxRecordCount := Max(StrToInt64Def(MaxRecordCountEdit.Text,100),1); @@ -1171,6 +1229,12 @@ begin GikoSys.Setting.LoopBrowserTabs := LoopBrowserTabsCB.Checked; GikoSys.Setting.GestureIgnoreContext := IgnoreContextCheckBox.Checked; + + // ƒŒƒXƒGƒfƒBƒ^Unicode“ü—Í + Gikosys.Setting.UseUnicode := UseUnicodeCB.Checked; + // ƒXƒŒƒ^ƒC“Á’蕶Žš—ñœ‹Ž + GikoSys.Setting.ThreadTitleTrim := ThreadTitleTrimCheckBox.Checked; + end; procedure TOptionDialog.SettingApply; @@ -1248,6 +1312,9 @@ begin end; GikoForm.BrowserTab.OnChange(nil); end; + + // ƒ^ƒu‚̃XƒŒƒ^ƒCXV + GikoForm.UpdateThreadTitle; end; procedure TOptionDialog.ReadProxyCheckClick(Sender: TObject); @@ -1283,7 +1350,7 @@ end; function TOptionDialog.CheckFolder: Boolean; begin if Trim(LogFolderEdit.Text) = '' then - LogFolderEdit.Text := ExtractFilePath(Application.ExeName) + 'Log'; + LogFolderEdit.Text := GikoSys.GetAppDir + 'Log'; if DirectoryExists(LogFolderEdit.Text) then begin Result := True; @@ -1317,17 +1384,29 @@ begin sndPlaySound(nil, SND_ASYNC); if OpenDialog.Execute then begin SoundFileEdit.Text := OpenDialog.FileName; + // ƒAƒvƒŠ”z‰º‚̃tƒ@ƒCƒ‹‚̏ꍇ‘Š‘΃pƒX‚É•ÏŠ·‚·‚éB + if (AnsiPos(GikoSys.Setting.GetAppDir,SoundFileEdit.Text) = 1) then begin + // .\ ‚ª‚‚©‚È‚¢‚̂ŁA.\‚ð’ljÁ + SoundFileEdit.Text := '.\' + ExtractRelativePath( + GikoSys.Setting.GetAppDir, + SoundFileEdit.Text); + + end; end; end; procedure TOptionDialog.SoundPlayButtonClick(Sender: TObject); +var + s : String; begin - if not FileExists(SoundFileEdit.Text) then begin + SetCurrentDir(GikoSys.Setting.GetAppDir); + s := ExpandFileName(SoundFileEdit.Text); + if not FileExists(s) then begin MsgBox(Handle, '‘¶Ý‚µ‚È‚¢ƒtƒ@ƒCƒ‹‚Å‚·', 'ƒGƒ‰[', MB_ICONSTOP or MB_OK); SoundFileEdit.Text := ''; Exit; end; - if not sndPlaySound(PChar(SoundFileEdit.Text), SND_ASYNC or SND_NOSTOP) then begin + if not sndPlaySound(PChar(s), SND_ASYNC or SND_NOSTOP) then begin sndPlaySound(nil, SND_ASYNC); end; end; @@ -1347,7 +1426,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] := ''; @@ -1488,12 +1568,12 @@ end; procedure TOptionDialog.CSSSetContent(Content: string); var - doc : Variant; + doc : OleVariant; begin if CSSBrowser.Document <> nil then begin - doc := CSSBrowser.Document; + doc := CSSBrowser.OleObject.Document; doc.open; - doc.Clear; + doc.Clear; doc.charset := 'Shift_JIS'; doc.Write(Content); doc.Close; @@ -1681,5 +1761,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 + ' ‚ðíœ‚µ‚Ü‚·B'#13#10 + + 'íœ‚·‚é‚Æ•œŒ³‚Å‚«‚Ü‚¹‚ñB‚æ‚낵‚¢‚Å‚·‚©H', '”E–@’Ÿ@ƒhƒƒCƒ“íœ', 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; + // –`Œ¯‚̏‘ƒhƒƒCƒ“ˆê——Žæ“¾ + 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.