Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/Option.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.21 by h677, Thu Oct 9 10:59:07 2003 UTC revision 1.21.2.1 by yoffy, Mon Apr 19 22:46:49 2004 UTC
# Line 6  uses Line 6  uses
6          Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,          Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
7          ComCtrls, StdCtrls, ExtCtrls, Dialogs, FileCtrl, MMSystem,          ComCtrls, StdCtrls, ExtCtrls, Dialogs, FileCtrl, MMSystem,
8          GikoSystem, GikoUtil, Buttons, UrlMon, Menus, ImgList, OleCtrls,          GikoSystem, GikoUtil, Buttons, UrlMon, Menus, ImgList, OleCtrls,
9    SHDocVw_TLB, BoardGroup;          SHDocVw_TLB, BoardGroup;
10    
11  type  type
12          TOptionDialog = class(TForm)          TOptionDialog = class(TForm)
# Line 15  type Line 15  type
15                  OptionTab: TPageControl;                  OptionTab: TPageControl;
16                  ConnectSheet: TTabSheet;                  ConnectSheet: TTabSheet;
17                  Font1Sheet: TTabSheet;                  Font1Sheet: TTabSheet;
18      ApplyButton: TButton;                  ApplyButton: TButton;
19                  FontDialog: TFontDialog;                  FontDialog: TFontDialog;
20                  ColorDialog: TColorDialog;                  ColorDialog: TColorDialog;
21      ReadProxyGroupBox: TGroupBox;                  ReadProxyGroupBox: TGroupBox;
22      ReadAddressLabel: TLabel;                  ReadAddressLabel: TLabel;
23                  ReadPortLabel: TLabel;                  ReadPortLabel: TLabel;
24      ReadProxyCheck: TCheckBox;                  ReadProxyCheck: TCheckBox;
25      ReadProxyAddressEdit: TEdit;                  ReadProxyAddressEdit: TEdit;
26      ReadPortEdit: TEdit;                  ReadPortEdit: TEdit;
27      ReadProxyUserIDEdit: TEdit;                  ReadProxyUserIDEdit: TEdit;
28      ReadProxyPasswordEdit: TEdit;                  ReadProxyPasswordEdit: TEdit;
29                  ReadUserIDLabel: TLabel;                  ReadUserIDLabel: TLabel;
30                  ReadPasswordLabel: TLabel;                  ReadPasswordLabel: TLabel;
31                  FolderSheet: TTabSheet;                  FolderSheet: TTabSheet;
32      FolderGroupBox: TGroupBox;                  FolderGroupBox: TGroupBox;
33                  LogFolderEdit: TEdit;                  LogFolderEdit: TEdit;
34      LogFolderButton: TButton;                  LogFolderButton: TButton;
35      Label1: TLabel;                  Label1: TLabel;
36                  Label2: TLabel;                  Label2: TLabel;
37      ThreadSheet: TTabSheet;                  ThreadSheet: TTabSheet;
38      SoundSheet: TTabSheet;                  SoundSheet: TTabSheet;
39      SoundEventGroupBox: TGroupBox;                  SoundEventGroupBox: TGroupBox;
40                  SoundListView: TListView;                  SoundListView: TListView;
41      SoundReferButton: TButton;                  SoundReferButton: TButton;
42      SoundFileEdit: TEdit;                  SoundFileEdit: TEdit;
43      OpenDialog: TOpenDialog;                  OpenDialog: TOpenDialog;
44      WriteProxyGroupBox: TGroupBox;                  WriteProxyGroupBox: TGroupBox;
45      WriteAddressLabel: TLabel;                  WriteAddressLabel: TLabel;
46      WritePortLabel: TLabel;                  WritePortLabel: TLabel;
47      WriteUserIDLabel: TLabel;                  WriteUserIDLabel: TLabel;
48      WritePasswordLabel: TLabel;                  WritePasswordLabel: TLabel;
49      WriteProxyCheck: TCheckBox;                  WriteProxyCheck: TCheckBox;
50      WriteProxyAddressEdit: TEdit;                  WriteProxyAddressEdit: TEdit;
51      WritePortEdit: TEdit;                  WritePortEdit: TEdit;
52      WriteProxyUserIDEdit: TEdit;                  WriteProxyUserIDEdit: TEdit;
53      WriteProxyPasswordEdit: TEdit;                  WriteProxyPasswordEdit: TEdit;
54      BoardSheet: TTabSheet;                  BoardSheet: TTabSheet;
55      GroupBox4: TGroupBox;                  GroupBox4: TGroupBox;
56      Label13: TLabel;                  Label13: TLabel;
57      UserIDSheet: TTabSheet;                  UserIDSheet: TTabSheet;
58                  GroupBox3: TGroupBox;                  GroupBox3: TGroupBox;
59      Label9: TLabel;                  Label9: TLabel;
60                  Label10: TLabel;                  Label10: TLabel;
61      UserIDEdit: TEdit;                  UserIDEdit: TEdit;
62      PasswordEdit: TEdit;                  PasswordEdit: TEdit;
63      SoundPlayButton: TBitBtn;                  SoundPlayButton: TBitBtn;
64                  AutoLoginCheckBox: TCheckBox;                  AutoLoginCheckBox: TCheckBox;
65      Tora3URLLabel: TLabel;                  Tora3URLLabel: TLabel;
66      Label12: TLabel;                  Label12: TLabel;
67      Label5: TLabel;                  Label5: TLabel;
68      GroupBox5: TGroupBox;                  GroupBox5: TGroupBox;
69      ComboBox1: TComboBox;                  ComboBox1: TComboBox;
70      Label6: TLabel;                  Label6: TLabel;
71      Label7: TLabel;                  Label7: TLabel;
72      Label8: TLabel;                  Label8: TLabel;
73      ComboBox2: TComboBox;                  ComboBox2: TComboBox;
74      ComboBox3: TComboBox;                  ComboBox3: TComboBox;
75      Label4: TLabel;                  Label4: TLabel;
76      Edit1: TEdit;                  Edit1: TEdit;
77      Button1: TButton;                  Button1: TButton;
78      CabinetFontBotton: TButton;                  CabinetFontBotton: TButton;
79      CabinetColorBotton: TButton;                  CabinetColorBotton: TButton;
80      CabinetDefaultButton: TButton;                  CabinetDefaultButton: TButton;
81      CabinetMemo: TMemo;                  CabinetMemo: TMemo;
82      ListMemo: TMemo;                  ListMemo: TMemo;
83      ListFontBotton: TButton;                  ListFontBotton: TButton;
84      ListColorBotton: TButton;                  ListColorBotton: TButton;
85      ListDefaultBotton: TButton;                  ListDefaultBotton: TButton;
86      HintFontButton: TButton;                  HintFontButton: TButton;
87      HintBackButton: TButton;                  HintBackButton: TButton;
88      HintDefaultButton: TButton;                  HintDefaultButton: TButton;
89      HintMemo: TMemo;                  HintMemo: TMemo;
90                  EditorMemo: TMemo;                  EditorMemo: TMemo;
91      EditorFontBotton: TButton;                  EditorFontBotton: TButton;
92      EditorColorBotton: TButton;                  EditorColorBotton: TButton;
93      EditorDefaultBotton: TButton;                  EditorDefaultBotton: TButton;
94                  BrowserTabMemo: TMemo;                  BrowserTabMemo: TMemo;
95      BruwserTabFontButton: TButton;                  BruwserTabFontButton: TButton;
96      BrowserTabDefaultButton: TButton;                  BrowserTabDefaultButton: TButton;
97      Bevel1: TBevel;                  Bevel1: TBevel;
98      Bevel2: TBevel;                  Bevel2: TBevel;
99      GroupBox1: TGroupBox;                  GroupBox1: TGroupBox;
100      GroupBox2: TGroupBox;                  GroupBox2: TGroupBox;
101      URLAppCheckBox: TCheckBox;                  URLAppCheckBox: TCheckBox;
102      AppFolderLabel: TLabel;                  AppFolderLabel: TLabel;
103      AppFolderEdit: TEdit;                  AppFolderEdit: TEdit;
104      AppFolderButton: TButton;                  AppFolderButton: TButton;
105      OpenMailerCheckBox: TCheckBox;                  OpenMailerCheckBox: TCheckBox;
106      TabSheet1: TTabSheet;                  TabSheet1: TTabSheet;
107      PopupPositionRadioGroup: TRadioGroup;                  PopupPositionRadioGroup: TRadioGroup;
108      TabAddRadioGroup: TRadioGroup;                  TabAddRadioGroup: TRadioGroup;
109      TabSheet2: TTabSheet;                  TabSheet2: TTabSheet;
110      GroupBox7: TGroupBox;                  GroupBox7: TGroupBox;
111      URLDisplayCheckBox: TCheckBox;                  URLDisplayCheckBox: TCheckBox;
112      Label3: TLabel;                  Label3: TLabel;
113      Label11: TLabel;                  Label11: TLabel;
114      TabStopAddressBarCheckBox: TCheckBox;                  TabStopAddressBarCheckBox: TCheckBox;
115      AddressHistoryCountEdit: TEdit;                  AddressHistoryCountEdit: TEdit;
116      LinkAddCheckBox: TCheckBox;                  LinkAddCheckBox: TCheckBox;
117      GroupBox8: TGroupBox;                  GroupBox8: TGroupBox;
118      PreviewVisibleCheckBox: TCheckBox;                  PreviewVisibleCheckBox: TCheckBox;
119      PreviewSizeComboBox: TComboBox;                  PreviewSizeComboBox: TComboBox;
120      Label14: TLabel;                  Label14: TLabel;
121      Label15: TLabel;                  Label15: TLabel;
122      PreviewWaitEdit: TEdit;                  PreviewWaitEdit: TEdit;
123      Label16: TLabel;                  Label16: TLabel;
124      ShowMailCheckBox: TCheckBox;                  ShowMailCheckBox: TCheckBox;
125      TabSheet3: TTabSheet;                  TabSheet3: TTabSheet;
126      GroupBox9: TGroupBox;                  GroupBox9: TGroupBox;
127      ThreadListIconCheckBox: TCheckBox;                  ThreadListIconCheckBox: TCheckBox;
128      GroupBox6: TGroupBox;                  GroupBox6: TGroupBox;
129      LogDeleteMessageCheckBox: TCheckBox;                  LogDeleteMessageCheckBox: TCheckBox;
130      GroupBox10: TGroupBox;                  GroupBox10: TGroupBox;
131      UnActivePopupCheckBox: TCheckBox;                  UnActivePopupCheckBox: TCheckBox;
132      GroupBox11: TGroupBox;                  GroupBox11: TGroupBox;
133      RecvBufferSize: TEdit;                  RecvBufferSize: TEdit;
134      Label17: TLabel;                  Label17: TLabel;
135      ProxyProtocolCheckBox: TCheckBox;                  ProxyProtocolCheckBox: TCheckBox;
136      ProtocolCheckBox: TCheckBox;                  ProtocolCheckBox: TCheckBox;
137      Label18: TLabel;                  Label18: TLabel;
138      Label19: TLabel;                  Label19: TLabel;
139      Bevel5: TBevel;                  Bevel5: TBevel;
140      Label20: TLabel;                  Label20: TLabel;
141      Label21: TLabel;                  Label21: TLabel;
142      Label22: TLabel;                  Label22: TLabel;
143      Label23: TLabel;                  Label23: TLabel;
144      CSSTabSheet: TTabSheet;                  CSSTabSheet: TTabSheet;
145      lblSFont: TLabel;                  lblSFont: TLabel;
146      GroupBox12: TGroupBox;                  GroupBox12: TGroupBox;
147      CSSCheckBox: TCheckBox;                  CSSCheckBox: TCheckBox;
148      CSSListLabel: TLabel;                  CSSListLabel: TLabel;
149      CSSListView: TListView;                  CSSListView: TListView;
150      GroupBox13: TGroupBox;                  GroupBox13: TGroupBox;
151      PostTimeCheckBox: TCheckBox;                  PostTimeCheckBox: TCheckBox;
152      Label24: TLabel;                  Label24: TLabel;
153      Label25: TLabel;                  Label25: TLabel;
154      PostTimeEdit: TEdit;                  PostTimeEdit: TEdit;
155      PostTimeLabel: TLabel;                  PostTimeLabel: TLabel;
156      Label27: TLabel;                  Label27: TLabel;
157      PutPostTimeRadioButton: TRadioButton;                  PutPostTimeRadioButton: TRadioButton;
158      BackPostTimeRadioButton: TRadioButton;                  BackPostTimeRadioButton: TRadioButton;
159      ResPopupBoldCheckBox: TCheckBox;                  ResPopupBoldCheckBox: TCheckBox;
160      NGwordSheet: TTabSheet;                  NGwordSheet: TTabSheet;
161      GroupBox14: TGroupBox;                  GroupBox14: TGroupBox;
162      RloCheckBox: TCheckBox;                  RloCheckBox: TCheckBox;
163      ReplaceulCheckBox: TCheckBox;                  ReplaceulCheckBox: TCheckBox;
164      PopUpAbonCheckBox: TCheckBox;                  PopUpAbonCheckBox: TCheckBox;
165      CSSBrowser: TWebBrowser;                  CSSBrowser: TWebBrowser;
166      CSSFontCheckBox: TCheckBox;                  CSSFontCheckBox: TCheckBox;
167      CSSBackColorCheckBox: TCheckBox;                  CSSBackColorCheckBox: TCheckBox;
168      CSSFontButton: TButton;                  CSSFontButton: TButton;
169      CSSBackColorButton: TButton;                  CSSBackColorButton: TButton;
170      ShowNGLineCheckBox: TCheckBox;                  ShowNGLineCheckBox: TCheckBox;
171      AddResAnchorCheckBox: TCheckBox;                  AddResAnchorCheckBox: TCheckBox;
172      OnlyAHundredResCheckBox: TCheckBox;                  OnlyAHundredResCheckBox: TCheckBox;
173      BoardURLComboBox: TComboBox;                  BoardURLComboBox: TComboBox;
174      AddURLButton: TButton;                  AddURLButton: TButton;
175      RemoveURLButton: TButton;                  RemoveURLButton: TButton;
176      GroupBox15: TGroupBox;                  GroupBox15: TGroupBox;
177      ShowDialogForEndCheckBox: TCheckBox;                  ShowDialogForEndCheckBox: TCheckBox;
178        OddResNumCheckBox: TCheckBox;
179        OddResNumColorBox: TColorBox;
180        ForcedLoginCheckBox: TCheckBox;
181        ForcedLoginLabel: TLabel;
182        GroupBox16: TGroupBox;
183        CreationTimeLogsCheckBox: TCheckBox;
184        FutureThreadCheckBox: TCheckBox;
185        DeleteSyriaCheckBox: TCheckBox;
186        TabSheet4: TTabSheet;
187        SambaGroupBox: TGroupBox;
188        UseSambaCheckBox: TCheckBox;
189                  procedure FormCreate(Sender: TObject);                  procedure FormCreate(Sender: TObject);
190                  procedure FormDestroy(Sender: TObject);                  procedure FormDestroy(Sender: TObject);
191                  procedure ApplyButtonClick(Sender: TObject);                  procedure ApplyButtonClick(Sender: TObject);
# Line 198  type Line 209  type
209                  procedure SoundReferButtonClick(Sender: TObject);                  procedure SoundReferButtonClick(Sender: TObject);
210                  procedure SoundPlayButtonClick(Sender: TObject);                  procedure SoundPlayButtonClick(Sender: TObject);
211                  procedure SoundListViewChanging(Sender: TObject; Item: TListItem;                  procedure SoundListViewChanging(Sender: TObject; Item: TListItem;
212        Change: TItemChange; var AllowChange: Boolean);                          Change: TItemChange; var AllowChange: Boolean);
213                  procedure SoundFileEditChange(Sender: TObject);                  procedure SoundFileEditChange(Sender: TObject);
214                  procedure OptionTabChange(Sender: TObject);                  procedure OptionTabChange(Sender: TObject);
215                  procedure AppFolderButtonClick(Sender: TObject);                  procedure AppFolderButtonClick(Sender: TObject);
# Line 210  type Line 221  type
221                  procedure URLAppCheckBoxClick(Sender: TObject);                  procedure URLAppCheckBoxClick(Sender: TObject);
222                  procedure BruwserTabFontButtonClick(Sender: TObject);                  procedure BruwserTabFontButtonClick(Sender: TObject);
223                  procedure BrowserTabDefaultButtonClick(Sender: TObject);                  procedure BrowserTabDefaultButtonClick(Sender: TObject);
224      procedure AddressHistoryCountEditExit(Sender: TObject);                  procedure AddressHistoryCountEditExit(Sender: TObject);
225      procedure PreviewWaitEditExit(Sender: TObject);                  procedure PreviewWaitEditExit(Sender: TObject);
226                  procedure RecvBufferSizeExit(Sender: TObject);                  procedure RecvBufferSizeExit(Sender: TObject);
227      procedure CSSCheckBoxClick(Sender: TObject);                  procedure CSSCheckBoxClick(Sender: TObject);
228      procedure PostTimeEditExit(Sender: TObject);                  procedure PostTimeEditExit(Sender: TObject);
229      procedure PostTimeCheckBoxClick(Sender: TObject);                  procedure PostTimeCheckBoxClick(Sender: TObject);
230      procedure CSSFontButtonClick(Sender: TObject);                  procedure CSSFontButtonClick(Sender: TObject);
231      procedure CSSBackColorButtonClick(Sender: TObject);                  procedure CSSBackColorButtonClick(Sender: TObject);
232      procedure CSSFontCheckBoxClick(Sender: TObject);                  procedure CSSFontCheckBoxClick(Sender: TObject);
233      procedure CSSBackColorCheckBoxClick(Sender: TObject);                  procedure CSSBackColorCheckBoxClick(Sender: TObject);
234      procedure CSSListViewChange(Sender: TObject; Item: TListItem;                  procedure CSSListViewChange(Sender: TObject; Item: TListItem;
235        Change: TItemChange);                          Change: TItemChange);
236      procedure AddURLButtonClick(Sender: TObject);                  procedure AddURLButtonClick(Sender: TObject);
237      procedure RemoveURLButtonClick(Sender: TObject);                  procedure RemoveURLButtonClick(Sender: TObject);
238        procedure OddResNumCheckBoxClick(Sender: TObject);
239          private          private
240                  { Private 宣言 }                  { Private 宣言 }
241                  FClose: Boolean;                  FClose: Boolean;
242      FCSSFont: TFont;                  FCSSFont: TFont;
243      FCSSBackColor: TColor;                  FCSSBackColor: TColor;
244                  function GetMemoText(font: TFont; text: string): string;                  function GetMemoText(font: TFont; text: string): string;
245  //              function GetFontText(Font: TFont; Text: string): string;  //              function GetFontText(Font: TFont; Text: string): string;
246                  procedure SetValue;                  procedure SetValue;
# Line 237  type Line 249  type
249                  function CheckFolder: Boolean;                  function CheckFolder: Boolean;
250                  procedure SetAbonpropertys;                  procedure SetAbonpropertys;
251                  procedure CSSSetContent(Content: string);                  procedure CSSSetContent(Content: string);
252      procedure CSSPreview;                  procedure CSSPreview;
253          public          public
254                  { Public 宣言 }                  { Public 宣言 }
255          end;          end;
# Line 284  begin Line 296  begin
296          lblSFont.Caption := '★重要★'#13#10#13#10          lblSFont.Caption := '★重要★'#13#10#13#10
297                                                                                  + 'スレッド表示エリアのフォント変更は、'#13#10                                                                                  + 'スレッド表示エリアのフォント変更は、'#13#10
298                                                                                  + '「CSS とスキン」タブで設定出来ます';                                                                                  + '「CSS とスキン」タブで設定出来ます';
299          CSSCheckBoxClick(Sender);  
300        ForcedLoginLabel.Caption := '- チェックを入れるのはセキュリティ上好ましくありません。' + #13#10
301                                                                    + ' やむを得ない時だけにしてください。';
302        CSSCheckBoxClick(Sender);
303          PostTimeCheckBoxClick(Sender);          PostTimeCheckBoxClick(Sender);
304    
305    if OptionTab.PageCount > GikoSys.Setting.OptionDialogTabIndex then begin          if OptionTab.PageCount > GikoSys.Setting.OptionDialogTabIndex then begin
306          OptionTab.ActivePageIndex := GikoSys.Setting.OptionDialogTabIndex;                  OptionTab.ActivePageIndex := GikoSys.Setting.OptionDialogTabIndex;
307                  OptionTabChange( nil );                  OptionTabChange( nil );
308    end;          end;
309              
310  end;  end;
311    
312  procedure TOptionDialog.FormDestroy(Sender: TObject);  procedure TOptionDialog.FormDestroy(Sender: TObject);
# Line 313  begin Line 328  begin
328                  FClose := False;                  FClose := False;
329                  Exit;                  Exit;
330          end;          end;
331        SetAbonpropertys;
332          SaveSetting;          SaveSetting;
333          SettingApply;          SettingApply;
334    SetAbonpropertys;  
335  end;  end;
336    
337  procedure TOptionDialog.ApplyButtonClick(Sender: TObject);  procedure TOptionDialog.ApplyButtonClick(Sender: TObject);
# Line 331  begin Line 347  begin
347                  FClose := False;                  FClose := False;
348                  Exit;                  Exit;
349          end;          end;
350        SetAbonpropertys;
351          SaveSetting;          SaveSetting;
352          SettingApply;          SettingApply;
   SetAbonpropertys;  
353          FClose := False;          FClose := False;
354  end;  end;
355    
# Line 543  begin Line 559  begin
559          ListMemo.Font.Size := GikoSys.Setting.ListFontSize;          ListMemo.Font.Size := GikoSys.Setting.ListFontSize;
560          ListMemo.Font.Color := GikoSys.Setting.ListFontColor;          ListMemo.Font.Color := GikoSys.Setting.ListFontColor;
561          ListMemo.Color := GikoSys.Setting.ListBackColor;          ListMemo.Color := GikoSys.Setting.ListBackColor;
562        //レス数増減スレ強調表示チェックボックス&カラーダイアログ
563        OddResNumCheckBox.Checked := GikoSys.Setting.UseOddColorOddResNum;
564        OddResNumColorBox.Selected := GikoSys.Setting.OddColor;
565        OddResNumColorBox.Enabled := OddResNumCheckBox.Checked;
566        
567          //ブラウザポップアップフォント          //ブラウザポップアップフォント
568          HintMemo.Font.Name := GikoSys.Setting.HintFontName;          HintMemo.Font.Name := GikoSys.Setting.HintFontName;
569          HintMemo.Font.Size := GikoSys.Setting.HintFontSize;          HintMemo.Font.Size := GikoSys.Setting.HintFontSize;
# Line 563  begin Line 584  begin
584          EditorMemo.Color := GikoSys.Setting.EditorBackColor;          EditorMemo.Color := GikoSys.Setting.EditorBackColor;
585          //CSS表示          //CSS表示
586          CSSCheckBox.Checked := GikoSys.Setting.UseCSS;          CSSCheckBox.Checked := GikoSys.Setting.UseCSS;
587    FCSSFont := TFont.Create;          FCSSFont := TFont.Create;
588    if (GikoSys.Setting.BrowserFontName <> '') or          if (GikoSys.Setting.BrowserFontName <> '') or
589           (GikoSys.Setting.BrowserFontSize <> 0) or                   (GikoSys.Setting.BrowserFontSize <> 0) or
590       (GikoSys.Setting.BrowserFontBold <> 0) or                   (GikoSys.Setting.BrowserFontBold <> 0) or
591       (GikoSys.Setting.BrowserFontItalic <> 0) or                   (GikoSys.Setting.BrowserFontItalic <> 0) or
592       (GikoSys.Setting.BrowserFontColor <> -1 ) then begin                   (GikoSys.Setting.BrowserFontColor <> -1 ) then begin
593          CSSFontCheckBox.Checked := True;                  CSSFontCheckBox.Checked := True;
594    
595          FCSSFont.Name := GikoSys.Setting.BrowserFontName;                  FCSSFont.Name := GikoSys.Setting.BrowserFontName;
596      FCSSFont.Size := GikoSys.Setting.BrowserFontSize;                  FCSSFont.Size := GikoSys.Setting.BrowserFontSize;
597      FCSSFont.Style := [];                  FCSSFont.Style := [];
598      if GikoSys.Setting.BrowserFontBold = 1 then                  if GikoSys.Setting.BrowserFontBold = 1 then
599          FCSSFont.Style := FCSSFont.Style + [fsBold];                          FCSSFont.Style := FCSSFont.Style + [fsBold];
600      if GikoSys.Setting.BrowserFontItalic = 1 then                  if GikoSys.Setting.BrowserFontItalic = 1 then
601          FCSSFont.Style := FCSSFont.Style + [fsItalic];                          FCSSFont.Style := FCSSFont.Style + [fsItalic];
602          i := GikoSys.Setting.BrowserFontColor;                  i := GikoSys.Setting.BrowserFontColor;
603          i := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);                  i := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);
604      FCSSFont.Color := i;                  FCSSFont.Color := i;
605    end;          end;
606    if GikoSys.Setting.BrowserBackColor <> -1 then begin          if GikoSys.Setting.BrowserBackColor <> -1 then begin
607      CSSBackColorCheckBox.Checked := True;                  CSSBackColorCheckBox.Checked := True;
608    
609          i := GikoSys.Setting.BrowserBackColor;                  i := GikoSys.Setting.BrowserBackColor;
610          i := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);                  i := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);
611          FCSSBackColor := i;                  FCSSBackColor := i;
612    end;          end;
613          //          //
614          //スタイルシートファイル名一覧          //スタイルシートファイル名一覧
615          FileList := TStringList.Create;          FileList := TStringList.Create;
# Line 617  begin Line 638  begin
638          try          try
639                  GikoSys.GetDirectoryList(GikoSys.GetSkinDir, '*', FileList, False);                  GikoSys.GetDirectoryList(GikoSys.GetSkinDir, '*', FileList, False);
640    
641      Idx := Length(GikoSys.GetSkinDir);                  Idx := Length(GikoSys.GetSkinDir);
642                  FileList.Sort;                  FileList.Sort;
643                  for i := 0 to FileList.Count - 1 do begin                  for i := 0 to FileList.Count - 1 do begin
644                          //s := ExtractFileName(FileList[i]);                          //s := ExtractFileName(FileList[i]);
645                          Item := CSSListView.Items.Add;                          Item := CSSListView.Items.Add;
646        Item.Data := PChar( FileList[i] );                          Item.Data := PChar( FileList[i] );
647                          Item.Caption := Copy( FileList[i], Idx + 1, Length(FileList[i]) );                          Item.Caption := Copy( FileList[i], Idx + 1, Length(FileList[i]) );
648                          if LowerCase(FileList[i]) = LowerCase(GikoSys.Setting.CSSFileName) then                          if LowerCase(FileList[i]) = LowerCase(GikoSys.Setting.CSSFileName) then
649                                  Item.Selected := True;                                  Item.Selected := True;
650                  end;                  end;
651          finally          finally
652          // Item.Data にポインタ突っ込んでるから開放できないよぉ〜                  // Item.Data にポインタ突っ込んでるから開放できないよぉ〜
653                  //FileList.Free;                  //FileList.Free;
654          end;          end;
655    
# Line 637  begin Line 658  begin
658    
659          //Mail欄表示          //Mail欄表示
660          ShowMailCheckBox.Checked := GikoSys.Setting.ShowMail;          ShowMailCheckBox.Checked := GikoSys.Setting.ShowMail;
661      OnlyAHundredResCheckBox.Checked := GikoSYs.Setting.OnlyAHundredRes;                  OnlyAHundredResCheckBox.Checked := GikoSYs.Setting.OnlyAHundredRes;
662          //タブ追加位置          //タブ追加位置
663          TabAddRadioGroup.ItemIndex := Ord(GikoSys.Setting.BrowserTabAppend);          TabAddRadioGroup.ItemIndex := Ord(GikoSys.Setting.BrowserTabAppend);
664          //板更新URL          //板更新URL
665          //BoardURL2chEdit.Text := GikoSys.Setting.BoardURL2ch;          //BoardURL2chEdit.Text := GikoSys.Setting.BoardURL2ch;
666      BoardURLComboBox.Clear;                  BoardURLComboBox.Clear;
667      BoardURLComboBox.Items.AddStrings(GikoSys.Setting.BoardURLs);                  BoardURLComboBox.Items.AddStrings(GikoSys.Setting.BoardURLs);
668      try                  try
669          BoardURLComboBox.ItemIndex := GikoSys.Setting.BoardURLSelected - 1;                          BoardURLComboBox.ItemIndex := GikoSys.Setting.BoardURLSelected - 1;
670      except                  except
671          BoardURLComboBox.ItemIndex := 0;                          BoardURLComboBox.ItemIndex := 0;
672      end;                  end;
673          //認証          //認証
674          UserIDEdit.Text := GikoSys.Setting.UserID;          UserIDEdit.Text := GikoSys.Setting.UserID;
675          PasswordEdit.Text := GikoSys.Setting.Password;          PasswordEdit.Text := GikoSys.Setting.Password;
676          AutoLoginCheckBox.Checked := GikoSys.Setting.AutoLogin;          AutoLoginCheckBox.Checked := GikoSys.Setting.AutoLogin;
677        ForcedLoginCheckBox.Checked := GikoSys.Setting.ForcedLogin;
678          //ログフォルダ          //ログフォルダ
679          if GikoSys.Setting.NewLogFolder = '' then          if GikoSys.Setting.NewLogFolder = '' then
680                  LogFolderEdit.Text := GikoSys.Setting.LogFolder                  LogFolderEdit.Text := GikoSys.Setting.LogFolder
# Line 677  begin Line 699  begin
699    
700          //ログ削除時メッセージ          //ログ削除時メッセージ
701          LogDeleteMessageCheckBox.Checked := GikoSys.Setting.DeleteMsg;          LogDeleteMessageCheckBox.Checked := GikoSys.Setting.DeleteMsg;
702      //終了時確認ダイアログ          //終了時確認ダイアログ
703      ShowDialogForEndCheckBox.Checked := GikoSys.Setting.ShowDialogForEnd;          ShowDialogForEndCheckBox.Checked := GikoSys.Setting.ShowDialogForEnd;
704        //Samba
705        UseSambaCheckBox.Checked := GikoSys.Setting.UseSamba;
706          //ポップアップ位置          //ポップアップ位置
707          case GikoSys.Setting.PopupPosition of          case GikoSys.Setting.PopupPosition of
708                  gppRightTop:            PopupPositionRadioGroup.ItemIndex := 0;                  gppRightTop:            PopupPositionRadioGroup.ItemIndex := 0;
# Line 718  begin Line 741  begin
741    
742          //スレッド一覧更新アイコン          //スレッド一覧更新アイコン
743          ThreadListIconCheckBox.Checked := GikoSys.Setting.ListIconVisible;          ThreadListIconCheckBox.Checked := GikoSys.Setting.ListIconVisible;
744        CreationTimeLogsCheckBox.Checked := GikoSys.Setting.CreationTimeLogs;
745        FutureThreadCheckBox.Checked := GikoSys.Setting.FutureThread;
746    
747        //スレッド一覧でLogのあるスレッドのみスレ作成日を表示するか
748        //ExistLogCheckBox.Checked :=
749    
750          //書き込み時マシン時間使用設定          //書き込み時マシン時間使用設定
751          PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;          PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;
# Line 726  begin Line 754  begin
754                  PutPostTimeRadioButton.Checked := True                  PutPostTimeRadioButton.Checked := True
755          else          else
756                  BackPostTimeRadioButton.Checked := True;                  BackPostTimeRadioButton.Checked := True;
757      //あぼ〜ん    //あぼ〜ん
758      RloCheckBox.Checked := GikoSys.Setting.AbonDeleterlo;    RloCheckBox.Checked := GikoSys.Setting.AbonDeleterlo;
759      ReplaceulCheckBox.Checked := GikoSys.Setting.AbonReplaceul;    ReplaceulCheckBox.Checked := GikoSys.Setting.AbonReplaceul;
760      PopUpAbonCheckBox.Checked := GikoSys.Setting.PopUpAbon;    PopUpAbonCheckBox.Checked := GikoSys.Setting.PopUpAbon;
761      ShowNGLineCheckBox.Checked := GikoSys.Setting.ShowNGLinesNum;    ShowNGLineCheckBox.Checked := GikoSys.Setting.ShowNGLinesNum;
762      AddResAnchorCheckBox.Checked := GikoSys.Setting.AddResAnchor;    AddResAnchorCheckBox.Checked := GikoSys.Setting.AddResAnchor;
763      DeleteSyriaCheckBox.Checked := GikoSys.Setting.DeleteSyria;
764    
765  end;  end;
766    
# Line 747  begin Line 776  begin
776          //プロキシ接続HTTP1.1使用          //プロキシ接続HTTP1.1使用
777          Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;          Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;
778    
779    GikoSys.Setting.OptionDialogTabIndex := OptionTab.TabIndex;          GikoSys.Setting.OptionDialogTabIndex := OptionTab.TabIndex;
780    
781          GikoSys.Setting.ReadProxy := ReadProxyCheck.Checked;          GikoSys.Setting.ReadProxy := ReadProxyCheck.Checked;
782          GikoSys.Setting.ReadProxyAddress := ReadProxyAddressEdit.Text;          GikoSys.Setting.ReadProxyAddress := ReadProxyAddressEdit.Text;
# Line 770  begin Line 799  begin
799          GikoSys.Setting.ListFontSize := ListMemo.Font.Size;          GikoSys.Setting.ListFontSize := ListMemo.Font.Size;
800          GikoSys.Setting.ListFontColor := ListMemo.Font.Color;          GikoSys.Setting.ListFontColor := ListMemo.Font.Color;
801          GikoSys.Setting.ListBackColor := ListMemo.Color;          GikoSys.Setting.ListBackColor := ListMemo.Color;
802        GikoSys.Setting.UseOddColorOddResNum := OddResNumCheckBox.Checked;
803        GikoSys.Setting.OddColor := OddResNumColorBox.Selected;
804    
805          GikoSys.Setting.HintFontName := HintMemo.Font.Name;          GikoSys.Setting.HintFontName := HintMemo.Font.Name;
806          GikoSys.Setting.HintFontSize := HintMemo.Font.Size;          GikoSys.Setting.HintFontSize := HintMemo.Font.Size;
# Line 789  begin Line 820  begin
820          GikoSys.Setting.CSSFileName := 'default.css';          GikoSys.Setting.CSSFileName := 'default.css';
821          if CSSListView.Items.Count > 0 then begin          if CSSListView.Items.Count > 0 then begin
822                  try                  try
823          if CSSListView.Items[CSSListView.ItemIndex].Data <> nil then                          if CSSListView.Items[CSSListView.ItemIndex].Data <> nil then
824                                  GikoSys.Setting.CSSFileName := string( CSSListView.Items[CSSListView.ItemIndex].data )                                  GikoSys.Setting.CSSFileName := string( CSSListView.Items[CSSListView.ItemIndex].data )
825        else                          else
826                                  GikoSys.Setting.CSSFileName := CSSListView.Items[CSSListView.ItemIndex].Caption + '.css';                                  GikoSys.Setting.CSSFileName := CSSListView.Items[CSSListView.ItemIndex].Caption + '.css';
827                  except                  except
828                  end;                  end;
829          end;          end;
830    // CSS のフォント指定          // CSS のフォント指定
831    if CSSFontCheckBox.Checked then begin          if CSSFontCheckBox.Checked then begin
832          GikoSys.Setting.BrowserFontName := FCSSFont.Name;                  GikoSys.Setting.BrowserFontName := FCSSFont.Name;
833      GikoSys.Setting.BrowserFontSize := FCSSFont.Size;                  GikoSys.Setting.BrowserFontSize := FCSSFont.Size;
834      if fsBold in FCSSFont.Style then                  if fsBold in FCSSFont.Style then
835          GikoSys.Setting.BrowserFontBold := 1                          GikoSys.Setting.BrowserFontBold := 1
836      else                  else
837          GikoSys.Setting.BrowserFontBold := -1;                          GikoSys.Setting.BrowserFontBold := -1;
838      if fsItalic in FCSSFont.Style then                  if fsItalic in FCSSFont.Style then
839          GikoSys.Setting.BrowserFontItalic := 1                          GikoSys.Setting.BrowserFontItalic := 1
840      else                  else
841          GikoSys.Setting.BrowserFontItalic := -1;                          GikoSys.Setting.BrowserFontItalic := -1;
842          i := ColorToRGB( FCSSFont.Color );                  i := ColorToRGB( FCSSFont.Color );
843          GikoSys.Setting.BrowserFontColor := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);                  GikoSys.Setting.BrowserFontColor := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);
844    end else begin          end else begin
845          GikoSys.Setting.BrowserFontName := '';                  GikoSys.Setting.BrowserFontName := '';
846      GikoSys.Setting.BrowserFontSize := 0;                  GikoSys.Setting.BrowserFontSize := 0;
847      GikoSys.Setting.BrowserFontBold := 0;                  GikoSys.Setting.BrowserFontBold := 0;
848      GikoSys.Setting.BrowserFontItalic := 0;                  GikoSys.Setting.BrowserFontItalic := 0;
849      GikoSys.Setting.BrowserFontColor := -1;                  GikoSys.Setting.BrowserFontColor := -1;
850    end;          end;
851    if CSSBackColorCheckBox.Checked then begin          if CSSBackColorCheckBox.Checked then begin
852          i := ColorToRGB( FCSSBackColor );                  i := ColorToRGB( FCSSBackColor );
853          GikoSys.Setting.BrowserBackColor := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);                  GikoSys.Setting.BrowserBackColor := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);
854    end else begin          end else begin
855          GikoSys.Setting.BrowserBackColor := -1;                  GikoSys.Setting.BrowserBackColor := -1;
856    end;          end;
857    
858          //Mail欄表示          //Mail欄表示
859          GikoSys.Setting.ShowMail := ShowMailCheckBox.Checked;          GikoSys.Setting.ShowMail := ShowMailCheckBox.Checked;
860      //最新100レス表示          //最新100レス表示
861      GikoSYs.Setting.OnlyAHundredRes := OnlyAHundredResCheckBox.Checked;          GikoSYs.Setting.OnlyAHundredRes := OnlyAHundredResCheckBox.Checked;
862    
863          GikoSys.Setting.BrowserTabAppend := TGikoTabAppend(TabAddRadioGroup.ItemIndex);          GikoSys.Setting.BrowserTabAppend := TGikoTabAppend(TabAddRadioGroup.ItemIndex);
864    
865  //      GikoSys.Setting.BoardURL2ch := BoardURL2chEdit.Text;  //      GikoSys.Setting.BoardURL2ch := BoardURL2chEdit.Text;
866      GikoSys.Setting.BoardURLs.Clear;          GikoSys.Setting.BoardURLs.Clear;
867      GikoSys.Setting.BoardURLs.AddStrings(BoardURLComboBox.Items);          GikoSys.Setting.BoardURLs.AddStrings(BoardURLComboBox.Items);
868      GikoSys.Setting.BoardURLSelected := BoardURLComboBox.ItemIndex + 1;          GikoSys.Setting.BoardURLSelected := BoardURLComboBox.ItemIndex + 1;
869          GikoSys.Setting.UserID := UserIDEdit.Text;          GikoSys.Setting.UserID := UserIDEdit.Text;
870          GikoSys.Setting.Password := PasswordEdit.Text;          GikoSys.Setting.Password := PasswordEdit.Text;
871          GikoSys.Setting.AutoLogin := AutoLoginCheckBox.Checked;          GikoSys.Setting.AutoLogin := AutoLoginCheckBox.Checked;
872        GikoSys.Setting.ForcedLogin := ForcedLoginCheckBox.Checked;
873    
874          GikoSys.Setting.URLApp := URLAppCheckBox.Checked;          GikoSys.Setting.URLApp := URLAppCheckBox.Checked;
875          GikoSys.Setting.URLAppFile := AppFolderEdit.Text;          GikoSys.Setting.URLAppFile := AppFolderEdit.Text;
876    
877          GikoSys.Setting.OpenMailer := OpenMailerCheckBox.Checked;          GikoSys.Setting.OpenMailer := OpenMailerCheckBox.Checked;
878          GikoSys.Setting.DeleteMsg := LogDeleteMessageCheckBox.Checked;          GikoSys.Setting.DeleteMsg := LogDeleteMessageCheckBox.Checked;
879      //終了時確認ダイアログ          //終了時確認ダイアログ
880      GikoSys.Setting.ShowDialogForEnd := ShowDialogForEndCheckBox.Checked;          GikoSys.Setting.ShowDialogForEnd := ShowDialogForEndCheckBox.Checked;
881        //Samba
882        GikoSys.Setting.UseSamba := UseSambaCheckBox.Checked;
883          //ポップアップ位置          //ポップアップ位置
884          case PopupPositionRadioGroup.ItemIndex of          case PopupPositionRadioGroup.ItemIndex of
885                  0: GikoSys.Setting.PopupPosition := gppRightTop;                  0: GikoSys.Setting.PopupPosition := gppRightTop;
# Line 890  begin Line 923  begin
923    
924          //スレッド一覧更新アイコン          //スレッド一覧更新アイコン
925          GikoSys.Setting.ListIconVisible := ThreadListIconCheckBox.Checked;          GikoSys.Setting.ListIconVisible := ThreadListIconCheckBox.Checked;
926        GikoSys.Setting.CreationTimeLogs := CreationTimeLogsCheckBox.Checked;
927        GikoSys.Setting.FutureThread := FutureThreadCheckBox.Checked;
928    
929          //書き込み時マシン時間使用設定          //書き込み時マシン時間使用設定
930          GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;          GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;
# Line 901  begin Line 936  begin
936    
937    
938          GikoSys.Setting.WriteSystemSettingFile;          GikoSys.Setting.WriteSystemSettingFile;
939      GikoSys.Setting.WriteBoardURLSettingFile;          GikoSys.Setting.WriteBoardURLSettingFile;
940  //      GikoForm.SetBrowserTabState;  //      GikoForm.SetBrowserTabState;
941    
942          if LogFolderEdit.Text <> '' then begin          if LogFolderEdit.Text <> '' then begin
# Line 921  begin Line 956  begin
956          GikoSys.Setting.AbonReplaceul := ReplaceulCheckBox.Checked;          GikoSys.Setting.AbonReplaceul := ReplaceulCheckBox.Checked;
957          GikoSys.Setting.PopUpAbon := PopUpAbonCheckBox.Checked;          GikoSys.Setting.PopUpAbon := PopUpAbonCheckBox.Checked;
958          GikoSys.Setting.ShowNGLinesNum := ShowNGLineCheckBox.Checked;          GikoSys.Setting.ShowNGLinesNum := ShowNGLineCheckBox.Checked;
959      GikoSys.Setting.AddResAnchor := AddResAnchorCheckBox.Checked;          GikoSys.Setting.AddResAnchor := AddResAnchorCheckBox.Checked;
960        GikoSys.Setting.DeleteSyria := DeleteSyriaCheckBox.Checked;
961  end;  end;
962    
963  procedure TOptionDialog.SettingApply;  procedure TOptionDialog.SettingApply;
964  var  var
965          i: Integer;          i: Integer;
966    ThreadItem: TThreadItem;          ThreadItem: TThreadItem;
967  begin  begin
968          GikoForm.TreeView.Items.BeginUpdate;          GikoForm.TreeView.Items.BeginUpdate;
969    GikoForm.FavoriteTreeView.Items.BeginUpdate;          GikoForm.FavoriteTreeView.Items.BeginUpdate;
970          GikoForm.ListView.Items.BeginUpdate;          GikoForm.ListView.Items.BeginUpdate;
971          try          try
972                  GikoForm.TreeView.Font.Name := GikoSys.Setting.CabinetFontName;                  GikoForm.TreeView.Font.Name := GikoSys.Setting.CabinetFontName;
# Line 947  begin Line 982  begin
982                  GikoForm.ListView.Font.Name := GikoSys.Setting.ListFontName;                  GikoForm.ListView.Font.Name := GikoSys.Setting.ListFontName;
983                  GikoForm.ListView.Font.Size := GikoSys.Setting.ListFontSize;                  GikoForm.ListView.Font.Size := GikoSys.Setting.ListFontSize;
984                  GikoForm.ListView.Font.Color := GikoSys.Setting.ListFontColor;                  GikoForm.ListView.Font.Color := GikoSys.Setting.ListFontColor;
985                  GikoForm.ListView.Color := GikoSys.Setting.ListBackColor;                  //GikoForm.ListView.Color := GikoSys.Setting.ListBackColor;
986            GikoForm.ListViewBackGroundColor := GikoSys.Setting.ListBackColor;
987            GikoForm.UseOddResOddColor := GikoSys.Setting.UseOddColorOddResNum;
988            GikoForm.OddColor := GikoSys.Setting.OddColor;
989    
990                  GikoForm.BrowserTab.Font.Name := GikoSys.Setting.BrowserTabFontName;                  GikoForm.BrowserTab.Font.Name := GikoSys.Setting.BrowserTabFontName;
991                  GikoForm.BrowserTab.Font.Size := GikoSys.Setting.BrowserTabFontSize;                  GikoForm.BrowserTab.Font.Size := GikoSys.Setting.BrowserTabFontSize;
# Line 962  begin Line 1000  begin
1000    
1001          finally          finally
1002                  GikoForm.TreeView.Items.EndUpdate;                  GikoForm.TreeView.Items.EndUpdate;
1003      GikoForm.FavoriteTreeView.Items.EndUpdate;                  GikoForm.FavoriteTreeView.Items.EndUpdate;
1004                  GikoForm.ListView.Items.EndUpdate;                  GikoForm.ListView.Items.EndUpdate;
1005          end;          end;
1006    
# Line 974  begin Line 1012  begin
1012          end;          end;
1013          GikoForm.AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;          GikoForm.AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;
1014    
1015    // スレッドのリフレッシュ          // スレッドのリフレッシュ
1016    ThreadItem := GikoForm.GetActiveContent;          ThreadItem := GikoForm.GetActiveContent;
1017    if ThreadItem <> nil then          if ThreadItem <> nil then
1018      GikoForm.SetContent( ThreadItem );                  GikoForm.SetContent( ThreadItem );
1019  end;  end;
1020    
1021  procedure TOptionDialog.ReadProxyCheckClick(Sender: TObject);  procedure TOptionDialog.ReadProxyCheckClick(Sender: TObject);
# Line 1063  begin Line 1101  begin
1101  end;  end;
1102    
1103  procedure TOptionDialog.SoundListViewChanging(Sender: TObject;  procedure TOptionDialog.SoundListViewChanging(Sender: TObject;
1104    Item: TListItem; Change: TItemChange; var AllowChange: Boolean);          Item: TListItem; Change: TItemChange; var AllowChange: Boolean);
1105  begin  begin
1106          if Item.SubItems.Count > 0 then          if Item.SubItems.Count > 0 then
1107                  SoundFileEdit.Text := Item.SubItems[0];                  SoundFileEdit.Text := Item.SubItems[0];
# Line 1087  procedure TOptionDialog.OptionTabChange( Line 1125  procedure TOptionDialog.OptionTabChange(
1125  begin  begin
1126          sndPlaySound(nil, SND_ASYNC);          sndPlaySound(nil, SND_ASYNC);
1127    
1128    if OptionTab.ActivePage = CSSTabSheet then          if OptionTab.ActivePage = CSSTabSheet then
1129          CSSPreview;                  CSSPreview;
1130  end;  end;
1131    
1132  procedure TOptionDialog.AppFolderButtonClick(Sender: TObject);  procedure TOptionDialog.AppFolderButtonClick(Sender: TObject);
# Line 1186  begin Line 1224  begin
1224  end;  end;
1225  procedure TOptionDialog.SetAbonpropertys;  procedure TOptionDialog.SetAbonpropertys;
1226  begin  begin
1227      //あぼ〜ん    //あぼ〜ん
1228      GikoSys.FAbon.Deleterlo := RloCheckBox.Checked;    GikoSys.FAbon.Deleterlo := RloCheckBox.Checked;
1229      GikoSys.FAbon.Replaceul := ReplaceulCheckBox.Checked;    GikoSys.FAbon.Replaceul := ReplaceulCheckBox.Checked;
1230      GikoSys.FAbon.AbonPopupRes := PopUpAbonCheckBox.Checked;    GikoSys.FAbon.AbonPopupRes := PopUpAbonCheckBox.Checked;
1231          GikoSys.FAbon.ReturnNGwordLineNum := ShowNGLineCheckBox.Checked;          GikoSys.FAbon.ReturnNGwordLineNum := ShowNGLineCheckBox.Checked;
1232      GikoSys.FAbon.SetNGResAnchor := AddResAnchorCheckBox.Checked;          GikoSys.FAbon.SetNGResAnchor := AddResAnchorCheckBox.Checked;
1233        GikoSys.FAbon.DeleteSyria := DeleteSyriaCheckBox.Checked;
1234  end;  end;
1235  procedure TOptionDialog.CSSFontButtonClick(Sender: TObject);  procedure TOptionDialog.CSSFontButtonClick(Sender: TObject);
1236  begin  begin
# Line 1200  begin Line 1239  begin
1239          FontDialog.Font.Assign(FCSSFont);          FontDialog.Font.Assign(FCSSFont);
1240          if FontDialog.Execute then begin          if FontDialog.Execute then begin
1241                  FontDialog.Font.Style := FontDialog.Font.Style - [fsUnderline] - [fsStrikeout];                  FontDialog.Font.Style := FontDialog.Font.Style - [fsUnderline] - [fsStrikeout];
1242      FCSSFont := FontDialog.Font;                  FCSSFont := FontDialog.Font;
1243          end;          end;
1244    
1245    CSSPreview;          CSSPreview;
1246    
1247  end;  end;
1248    
# Line 1212  begin Line 1251  begin
1251    
1252          ColorDialog.Color := FCSSBackColor;          ColorDialog.Color := FCSSBackColor;
1253          if ColorDialog.Execute then begin          if ColorDialog.Execute then begin
1254          FCSSBackColor := ColorDialog.Color;                  FCSSBackColor := ColorDialog.Color;
1255          end;          end;
1256    
1257    CSSPreview;          CSSPreview;
1258    
1259  end;  end;
1260    
# Line 1223  procedure TOptionDialog.CSSFontCheckBoxC Line 1262  procedure TOptionDialog.CSSFontCheckBoxC
1262  begin  begin
1263    
1264          CSSFontButton.Enabled := CSSFontCheckBox.Checked;          CSSFontButton.Enabled := CSSFontCheckBox.Checked;
1265    CSSPreview;          CSSPreview;
1266    
1267  end;  end;
1268    
# Line 1231  procedure TOptionDialog.CSSBackColorChec Line 1270  procedure TOptionDialog.CSSBackColorChec
1270  begin  begin
1271    
1272          CSSBackColorButton.Enabled := CSSBackColorCheckBox.Checked;          CSSBackColorButton.Enabled := CSSBackColorCheckBox.Checked;
1273    CSSPreview;          CSSPreview;
1274    
1275  end;  end;
1276    
# Line 1242  begin Line 1281  begin
1281          if CSSBrowser.Document <> nil then begin          if CSSBrowser.Document <> nil then begin
1282                  doc := CSSBrowser.Document;                  doc := CSSBrowser.Document;
1283                  doc.open;                  doc.open;
1284          doc.Clear;                                  doc.Clear;
1285                  doc.charset := 'Shift_JIS';                  doc.charset := 'Shift_JIS';
1286                  doc.Write(Content);                  doc.Write(Content);
1287                  doc.Close;                  doc.Close;
1288      end;    end;
1289  end;  end;
1290    
1291  procedure TOptionDialog.CSSPreview;  procedure TOptionDialog.CSSPreview;
# Line 1254  var Line 1293  var
1293          Board: TBoard;          Board: TBoard;
1294          ThreadItem: TThreadItem;          ThreadItem: TThreadItem;
1295          html: string;          html: string;
1296    sTitle: string;          Res: array [0..1] of TResRec;
1297    Res: array [0..1] of TResRec;          UserOptionalStyle: string;
1298    UserOptionalStyle: string;          i: Integer;
1299    i: Integer;          fileName: string;
   fileName: string;  
1300  begin  begin
1301    
1302          fileName := GikoSys.Setting.CSSFileName;          fileName := GikoSys.Setting.CSSFileName;
# Line 1271  begin Line 1309  begin
1309                                          GikoSys.Setting.CSSFileName := string( CSSListView.Items[CSSListView.ItemIndex].data )                                          GikoSys.Setting.CSSFileName := string( CSSListView.Items[CSSListView.ItemIndex].data )
1310                                  else                                  else
1311                                          GikoSys.Setting.CSSFileName := CSSListView.Items[CSSListView.ItemIndex].Caption + '.css';                                          GikoSys.Setting.CSSFileName := CSSListView.Items[CSSListView.ItemIndex].Caption + '.css';
1312              end;        end;
1313                  except                  except
1314                  end;                  end;
1315          end;          end;
1316    
1317    Board := TBoard.Create;          Board := TBoard.Create( nil, 'about://sample/' );
1318          ThreadItem := TThreadItem.Create;          ThreadItem := TThreadItem.Create( nil, 'about://sample/test/read.cgi/sample/' );
1319    
1320    try          try
1321          Board.URL := 'about://sample/';                  Board.Title := 'サンプル板';
1322      Board.Title := 'サンプル板';                  ThreadItem.ParentBoard := Board;
1323          ThreadItem.ParentBoard := Board;                  ThreadItem.AllResCount := High( Res );
1324      ThreadItem.AllResCount := High( Res );                  ThreadItem.NewResCount := 1;
1325      ThreadItem.NewResCount := 1;                  ThreadItem.NewReceive := 2;
1326      ThreadItem.NewReceive := 2;                  ThreadItem.Title := 'サンプルプレビュー';
1327    
1328      sTitle := 'サンプルプレビュー';                  Res[0].FName := '名無しさん';
1329                    Res[0].FMailTo := 'sage';
1330      Res[0].FName := '名無しさん';                  Res[0].FDateTime := 'ID:Sample';
1331      Res[0].FMailTo := 'sage';                  Res[0].FBody := 'CSS とスキンのサンプル';
1332      Res[0].FDateTime := 'ID:Sample';                  Res[1].FName := '名無しさん';
1333      Res[0].FBody := 'CSS とスキンのサンプル';                  Res[1].FMailTo := 'age';
1334      Res[1].FName := '名無しさん';                  Res[1].FDateTime := 'ID:Sample';
1335      Res[1].FMailTo := 'age';                  Res[1].FBody := 'オマエモナー';
1336      Res[1].FDateTime := 'ID:Sample';  
1337      Res[1].FBody := 'オマエモナー';                  // フォントやサイズの設定
1338                    if CSSFontCheckBox.Checked then begin
1339      // フォントやサイズの設定                          i := ColorToRGB( FCSSFont.Color );
1340      if CSSFontCheckBox.Checked then begin                          i := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);
1341        i := ColorToRGB( FCSSFont.Color );  
1342        i := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);                          UserOptionalStyle := UserOptionalStyle +
1343                                    'font-family:"' + FCSSFont.Name + '";' +
1344        UserOptionalStyle := UserOptionalStyle +                                  'font-size:' + IntToStr( FCSSFont.Size ) + 'pt;' +
1345          'font-family:"' + FCSSFont.Name + '";' +                                  'color:#' + IntToHex( i, 6 ) + ';';
1346          'font-size:' + IntToStr( FCSSFont.Size ) + 'pt;' +                          if fsBold in FCSSFont.Style then
1347          'color:#' + IntToHex( i, 6 ) + ';';                                  UserOptionalStyle := UserOptionalStyle + 'font-weight:bold;'
1348        if fsBold in FCSSFont.Style then                          else
1349          UserOptionalStyle := UserOptionalStyle + 'font-weight:bold;'                                  UserOptionalStyle := UserOptionalStyle + 'font-weight:normal;';
1350        else                          if fsItalic in FCSSFont.Style then
1351          UserOptionalStyle := UserOptionalStyle + 'font-weight:normal;';                                  UserOptionalStyle := UserOptionalStyle + 'font-style:italic;'
1352        if fsItalic in FCSSFont.Style then                          else
1353          UserOptionalStyle := UserOptionalStyle + 'font-style:italic;'                                  UserOptionalStyle := UserOptionalStyle + 'font-style:normal;';
1354        else                  end;
1355          UserOptionalStyle := UserOptionalStyle + 'font-style:normal;';                  if CSSBackColorCheckBox.Checked then begin
1356      end;                          i := ColorToRGB( FCSSBackColor );
1357      if CSSBackColorCheckBox.Checked then begin                          i := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);
1358        i := ColorToRGB( FCSSBackColor );  
1359        i := (i shr 16) or (i and $ff00) or ((i and $ff) shl 16);                          UserOptionalStyle := UserOptionalStyle +
1360                                    'background-color:#' + IntToHex( i, 6 ) + ';';
1361        UserOptionalStyle := UserOptionalStyle +                  end;
1362          'background-color:#' + IntToHex( i, 6 ) + ';';  
1363      end;                  if FileExists( GikoSys.GetSkinHeaderFileName ) then begin
1364                            html :=
1365      if FileExists( GikoSys.GetSkinHeaderFileName ) then begin                                  GikoSys.LoadFromSkin( GikoSys.GetSkinHeaderFileName, ThreadItem, 0 ) +
1366        html :=                                  '<a name="top"></a>' +
1367          GikoSys.LoadFromSkin( GikoSys.GetSkinHeaderFileName, ThreadItem, sTitle, 0 ) +                                  GikoSys.SkinedRes( GikoSYs.LoadFromSkin( GikoSys.GetSkinResFileName, ThreadItem, 0 ), Res[0], '1' ) +
1368          '<a name="top"></a>' +                                  GikoSys.SkinedRes( GikoSYs.LoadFromSkin( GikoSys.GetSkinNewResFileName, ThreadItem, 0 ), Res[1], '2' ) +
1369          GikoSys.SkinedRes( GikoSYs.LoadFromSkin( GikoSys.GetSkinResFileName, ThreadItem, sTitle, 0 ), Res[0], '1' ) +                                  '<a name="bottom"></a>' +
1370          GikoSys.SkinedRes( GikoSYs.LoadFromSkin( GikoSys.GetSkinNewResFileName, ThreadItem, sTitle, 0 ), Res[1], '2' ) +                                  GikoSys.LoadFromSkin( GikoSys.GetSkinFooterFileName, ThreadItem, 0 );
1371          '<a name="bottom"></a>' +  
1372          GikoSys.LoadFromSkin( GikoSys.GetSkinFooterFileName, ThreadItem, sTitle, 0 );                          html := StringReplace( html, '</head>',
1373                                    '<style type="text/css">body {' + UserOptionalStyle + '}</style></head>', [rfReplaceAll] );
1374        html := StringReplace( html, '</head>',                  end else begin
1375          '<style type="text/css">body {' + UserOptionalStyle + '}</style></head>', [rfReplaceAll] );                          html :=
1376      end else begin                                  '<html><head>' +
1377        html :=                                  '<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">' +
1378          '<html><head>' +                                  '<title>' + ThreadItem.Title + '</title>' +
1379          '<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">' +                                  '<link rel="stylesheet" href="' + GikoSys.GetStyleSheetDir + GikoSys.Setting.CSSFileName + '" type="text/css">' +
1380          '<title>' + sTitle + '</title>' +                                  '<style type="text/css">body {' + UserOptionalStyle + '}</style>' +
1381          '<link rel="stylesheet" href="' + GikoSys.GetStyleSheetDir + GikoSys.Setting.CSSFileName + '" type="text/css">' +                                  '</head><body>' +
1382          '<style type="text/css">body {' + UserOptionalStyle + '}</style>' +                                  '<div class="title">' + ThreadItem.Title + '</div>';
1383          '</head><body>' +  
1384          '<div class="title">' + sTitle + '</div>';                                  for i := 0 to High( Res ) do
1385                                    begin
1386          for i := 0 to High( Res ) do                                          html := html +
1387          begin                                                  '<div class="header"><span class="no">' + IntToStr( i + 1 ) + '</span>' +
1388            html := html +                                                  '<span class="name_label"> 名前: </span>' +
1389              '<div class="header"><span class="no">' + IntToStr( i + 1 ) + '</span>' +                                                  '<a class="name_mail" href="mailto:' + Res[i].FMailTo + '">' +
1390              '<span class="name_label"> 名前: </span>' +                                                  '<b>' + Res[i].FName + '</b></a><span class="mail"> [' + Res[i].FMailTo + ']</span>' +
1391              '<a class="name_mail" href="mailto:' + Res[i].FMailTo + '">' +                                                  '<span class="date_label"> 投稿日:</span>' +
1392              '<b>' + Res[i].FName + '</b></a><span class="mail"> [' + Res[i].FMailTo + ']</span>' +                                                  '<span class="date"> ' + Res[i].FDateTime+ '</span></div>' +
1393              '<span class="date_label"> 投稿日:</span>' +                                                  '<div class="mes">' + Res[i].FBody + ' </div>';
1394              '<span class="date"> ' + Res[i].FDateTime+ '</span></div>' +                                  end;
1395              '<div class="mes">' + Res[i].FBody + ' </div>';  
1396          end;                                  html := html + '</body></html>';
1397                    end;
1398          html := html + '</body></html>';  
1399      end;                  try
1400                            CSSSetContent( html );
1401      try                  except
1402          CSSSetContent( html );                  end;
1403      except  
1404      end;          finally
1405                    ThreadItem.Free;
1406    finally                  Board.Free;
1407      ThreadItem.Free;                  GikoSys.Setting.CSSFileName := fileName;
1408      Board.Free;          end;
           GikoSys.Setting.CSSFileName := fileName;  
   end;  
1409    
1410  end;  end;
1411    
1412  procedure TOptionDialog.CSSListViewChange(Sender: TObject; Item: TListItem;  procedure TOptionDialog.CSSListViewChange(Sender: TObject; Item: TListItem;
1413    Change: TItemChange);          Change: TItemChange);
1414  begin  begin
1415    
1416          if OptionTab.ActivePage = CSSTabSheet then          if OptionTab.ActivePage = CSSTabSheet then
# Line 1385  end; Line 1421  end;
1421  procedure TOptionDialog.AddURLButtonClick(Sender: TObject);  procedure TOptionDialog.AddURLButtonClick(Sender: TObject);
1422  begin  begin
1423          BoardURLComboBox.Items.Append(BoardURLComboBox.Text);          BoardURLComboBox.Items.Append(BoardURLComboBox.Text);
1424      BoardURLComboBox.ItemIndex := BoardURLComboBox.Items.Count - 1;    BoardURLComboBox.ItemIndex := BoardURLComboBox.Items.Count - 1;
1425  end;  end;
1426    
1427  procedure TOptionDialog.RemoveURLButtonClick(Sender: TObject);  procedure TOptionDialog.RemoveURLButtonClick(Sender: TObject);
# Line 1393  begin Line 1429  begin
1429          BoardURLComboBox.DeleteSelected;          BoardURLComboBox.DeleteSelected;
1430  end;  end;
1431    
1432    procedure TOptionDialog.OddResNumCheckBoxClick(Sender: TObject);
1433    begin
1434            OddResNumColorBox.Enabled := OddResNumCheckBox.Checked;
1435    end;
1436    
1437  end.  end.
1438    

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.21.2.1

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26