Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/Setting.pas

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

revision 1.13 by h677, Thu Oct 9 10:59:07 2003 UTC revision 1.13.2.1 by yoffy, Mon Apr 19 22:46:49 2004 UTC
# Line 11  const Line 11  const
11          LIST_COOLBAND_COUNT = 2;                //板CoolBandの数          LIST_COOLBAND_COUNT = 2;                //板CoolBandの数
12          BROWSER_COOLBAND_COUNT = 3;     //ブラウザCoolBandの数          BROWSER_COOLBAND_COUNT = 3;     //ブラウザCoolBandの数
13    
14            BOARD_FILE_NAME                                                         = 'board.2ch';
15            CUSTOMBOARD_FILE_NAME                                   = 'custom.2ch';
16            BOARD_DIR_NAME                                                          = 'Board';
17            KEY_SETTING_FILE_NAME                                   = 'key.ini';
18            EKEY_SETTING_FILE_NAME                          = 'Ekey.ini';
19            TEMP_FOLDER                                                                             = 'Temp';
20            OUTBOX_FILE_NAME                                                        = 'outbox.ini';
21            SENT_FILE_NAME                                                          = 'sent.ini';
22            CONFIG_DIR_NAME                                                         = 'config';
23            CSS_DIR_NAME                                                                    = 'css';
24            SKIN_DIR_NAME                                                                   = 'skin';
25            SKIN_HEADER_FILE_NAME                                   = 'Header.html';
26            SKIN_FOOTER_FILE_NAME                                   = 'Footer.html';
27            SKIN_NEWRES_FILE_NAME                                   = 'NewRes.html';
28            SKIN_RES_FILE_NAME                                              = 'Res.html';
29            SKIN_BOOKMARK_FILE_NAME                         = 'Bookmark.html';
30            SKIN_NEWMARK_FILE_NAME                          = 'Newmark.html';
31            NGWORDs_DIR_NAME : String               = 'NGwords';
32            BOARD_PLUGIN_DIR_NAME                                   = 'BoardPlugin';
33            SAMBATIME_FILE_NAME : String    = 'Samba.ini';
34  type  type
35          TGikoTabPosition = (gtpTop, gtpBottom);                                                         // タブ位置          TGikoTabPosition = (gtpTop, gtpBottom);                                                         // タブ位置
36          TGikoTabAppend = (gtaFirst, gtpLast);                                                                   // タブ追加位置          TGikoTabAppend = (gtaFirst, gtpLast);                                                                   // タブ追加位置
# Line 75  type Line 95  type
95                  FBrowserFontSize: Integer;              // 0...default                  FBrowserFontSize: Integer;              // 0...default
96                  FBrowserFontBold: Integer;              // 0...default, -1...False, 1...True                  FBrowserFontBold: Integer;              // 0...default, -1...False, 1...True
97                  FBrowserFontItalic: Integer;    // 上に同じ                  FBrowserFontItalic: Integer;    // 上に同じ
98                  FBrowserFontColor: Integer;     // -1...default                  FBrowserFontColor: Integer;             // -1...default
99                  FBrowserBackColor: Integer;     // 上に同じ                  FBrowserBackColor: Integer;             // 上に同じ
100    
101                  //エディタ                  //エディタ
102                  FEditorFontName: string;                  FEditorFontName: string;
# Line 100  type Line 120  type
120                  FHintFontColor: TColor;                  FHintFontColor: TColor;
121                  FHintBackColor: TColor;                  FHintBackColor: TColor;
122    
   
123                  //ウィンドウサイズ                  //ウィンドウサイズ
124                  FWindowTop: Integer;                  FWindowTop: Integer;
125                  FWindowLeft: Integer;                  FWindowLeft: Integer;
# Line 155  type Line 174  type
174                  FEditWindowHeight: Integer;                  FEditWindowHeight: Integer;
175                  FEditWindowWidth: Integer;                  FEditWindowWidth: Integer;
176                  FEditWindowMax: Boolean;                  FEditWindowMax: Boolean;
177            FEditWindowStay: Boolean;
178            FEditWindowTranslucent: Boolean;
179    
180                  //リスト番号表示                  //リスト番号表示
181                  FListViewNo: Boolean;                  FListViewNo: Boolean;
# Line 162  type Line 183  type
183                  FUseCSS: Boolean;                  FUseCSS: Boolean;
184                  //CSSファイル名                  //CSSファイル名
185                  FCSSFileName: string;                  FCSSFileName: string;
186                    // スキン表示(一時的なもので ini に保存はされない)
187                    FUseSkin: Boolean;
188                  //mail欄表示                  //mail欄表示
189                  FShowMail: Boolean;                  FShowMail: Boolean;
190          //起動時最新100レス表示                  //起動時最新100レス表示
191          FOnlyAHundredRes : Boolean;                  FOnlyAHundredRes : Boolean;
192                  //非アクティブ時レスポップアップ表示                  //非アクティブ時レスポップアップ表示
193                  FUnActivePopup: Boolean;                  FUnActivePopup: Boolean;
194                  //レスポップアップヘッダーボールド                  //レスポップアップヘッダーボールド
# Line 178  type Line 201  type
201                  //リストカラムヘッダーサイズ                  //リストカラムヘッダーサイズ
202                  FBBSColumnWidth: array[0..0] of Integer;                  FBBSColumnWidth: array[0..0] of Integer;
203                  FCategoryColumnWidth: array[0..3] of Integer;                  FCategoryColumnWidth: array[0..3] of Integer;
204                  FBoardColumnWidth: array[0..6] of Integer;                  FBoardColumnWidth: array[0..7] of Integer;
205    
206                  //絞込み文字列                  //絞込み文字列
207                  FSelectTextList: TStringList;                  FSelectTextList: TStringList;
208    
209                  //板一覧URL                  //板一覧URL
210                  //FBoardURL2ch: string;                  //FBoardURL2ch: string;
211          FBoardURLs: TStringList;                  FBoardURLs: TStringList;
212          FBoardURLSelected: Integer;                  FBoardURLSelected: Integer;
213    
214                  //ユーザID・パスワード                  //ユーザID・パスワード
215                  FUserID: string;                  FUserID: string;
216                  FPassword: string;                  FPassword: string;
217                  FAutoLogin: Boolean;                  FAutoLogin: Boolean;
218            FForcedLogin: Boolean;
219    
220                  //URLクリック時起動アプリ                  //URLクリック時起動アプリ
221                  FURLApp: Boolean;                  FURLApp: Boolean;
# Line 229  type Line 253  type
253                  //スレッド一覧更新アイコン表示                  //スレッド一覧更新アイコン表示
254                  FListIconVisible: Boolean;                  FListIconVisible: Boolean;
255    
256            //スレッド一覧でLogのあるスレッドのみスレ作成日を表示するか
257            FCreationTimeLogs: Boolean;
258            //スレッド一覧のスレ生成日で未来のスレの生成日を表示しない
259            FFutureThread: Boolean;
260    
261                  //書き込み時マシン時間使用設定                  //書き込み時マシン時間使用設定
262                  FUseMachineTime: Boolean;                  FUseMachineTime: Boolean;
263                  FTimeAdjustSec: Integer;                  FTimeAdjustSec: Integer;
# Line 237  type Line 266  type
266                  //あぼ〜ん                  //あぼ〜ん
267                  FAbonDeleterlo : Boolean; //&rlo;を削るか                  FAbonDeleterlo : Boolean; //&rlo;を削るか
268                  FAbonReplaceul : Boolean; //<ul>タグを<br>タグに置換するか                  FAbonReplaceul : Boolean; //<ul>タグを<br>タグに置換するか
269                  FPopUpAbon     : Boolean; //レスポップアップ時のあぼ〜ん有効                  FPopUpAbon               : Boolean; //レスポップアップ時のあぼ〜ん有効
270                  FShowNGLinesNum : Boolean; //該当したNGワードファイルの行数を表示                  FShowNGLinesNum : Boolean; //該当したNGワードファイルの行数を表示
271                  FAddResAnchor : Boolean; //NGレスへのレスアンカーを追加する                  FAddResAnchor : Boolean; //NGレスへのレスアンカーを追加する
272            FDeleteSyria : Boolean; //シリア語ブラクラ対策
273    
274                  // スレッド絞込フィールドの幅                  // スレッド絞込フィールドの幅
275                  FSelectComboBoxWidth : Integer;                  FSelectComboBoxWidth : Integer;
# Line 250  type Line 280  type
280                  // 最後に選択されたキャビネット                  // 最後に選択されたキャビネット
281                  FCabinetIndex: Integer;                  FCabinetIndex: Integer;
282    
283          //終了時に確認ダイアログを表示するか                  //終了時に確認ダイアログを表示するか
284          FShowDialogForEnd : Boolean;                  FShowDialogForEnd : Boolean;
285                    //取得レス数とスレッドのレス数が異なったときに通常背景色と違った色の背景色を使用するか
286                    FUseOddColorOddResNum: Boolean;
287                    FOddColor: TColor;
288    
289            //Samba24対策機能を使うか
290            FUseSamba: Boolean;
291                  function GetMainCoolSet(Index: Integer): TCoolSet;                  function GetMainCoolSet(Index: Integer): TCoolSet;
292                  function GetBoardCoolSet(Index: Integer): TCoolSet;                  function GetBoardCoolSet(Index: Integer): TCoolSet;
293                  function GetBrowserCoolSet(Index: Integer): TCoolSet;                  function GetBrowserCoolSet(Index: Integer): TCoolSet;
# Line 274  type Line 309  type
309                  function Encrypt(s: string): string;                  function Encrypt(s: string): string;
310                  function Decrypt(s: string): string;                  function Decrypt(s: string): string;
311    
312          procedure MakeURLIniFile();                  procedure MakeURLIniFile();
313    
314                    procedure SetUseCSS( value: Boolean );
315                    procedure SetCSSFileName( fileName: string );
316          protected          protected
317    
318          public          public
319                  constructor Create;                  constructor Create;
320                  destructor Destroy; override;                  destructor Destroy; override;
321                  function GetFileName: string;                  function GetFileName: string;
322          function GetBoardURLFileName: string;                  function GetBoardURLFileName: string;
323                  procedure ReadSettingFile;                  procedure ReadSettingFile;
324          procedure ReadBoardURLsFile;                  procedure ReadBoardURLsFile;
325                  procedure WriteSystemSettingFile;                  procedure WriteSystemSettingFile;
326                  procedure WriteWindowSettingFile;                  procedure WriteWindowSettingFile;
327                  procedure WriteNameMailSettingFile;                  procedure WriteNameMailSettingFile;
328                  procedure WriteFolderSettingFile();                  procedure WriteFolderSettingFile();
329          procedure WriteBoardURLSettingFile;                  procedure WriteBoardURLSettingFile;
330                  function GetSoundCount: Integer;                  function GetSoundCount: Integer;
331                  function FindSoundFileName(Name: string): string;                  function FindSoundFileName(Name: string): string;
332    
333                    function GetBoardFileName: string;
334                    function GetCustomBoardFileName: string;
335                    function GetBoardDir: string;
336                    function GetHtmlTempFileName: string;
337                    function GetAppDir: string;
338                    function GetTempFolder: string;
339                    function GetSentFileName: string;
340                    function GetConfigDir: string;
341                    function GetSkinDir: string;
342                    function GetSkinHeaderFileName: string;
343                    function GetSkinFooterFileName: string;
344                    function GetSkinResFileName: string;
345                    function GetSkinNewResFileName: string;
346                    function GetSkinBookmarkFileName: string;
347                    function GetSkinNewmarkFileName: string;
348                    function GetStyleSheetDir: string;
349                    function GetOutBoxFileName: string;
350                    function GetNGWordsDir: string;
351                    function GetBoardPlugInDir: string;
352            function GetSambaFileName: string;
353    
354                  //受信バッファサイズ                  //受信バッファサイズ
355                  property RecvBufferSize: Integer read FRecvBufferSize write FRecvBufferSize;                  property RecvBufferSize: Integer read FRecvBufferSize write FRecvBufferSize;
356                  //HTTP1.1使用                  //HTTP1.1使用
# Line 396  type Line 455  type
455                  property EditWindowHeight: Integer read FEditWindowHeight write FEditWindowHeight;                  property EditWindowHeight: Integer read FEditWindowHeight write FEditWindowHeight;
456                  property EditWindowWidth: Integer read FEditWindowWidth write FEditWindowWidth;                  property EditWindowWidth: Integer read FEditWindowWidth write FEditWindowWidth;
457                  property EditWindowMax: Boolean read FEditWindowMax write FEditWindowMax;                  property EditWindowMax: Boolean read FEditWindowMax write FEditWindowMax;
458                    property EditWindowStay: Boolean read FEditWindowStay write FEditWindowStay;
459            property EditWindowTranslucent: Boolean read FEditWindowTranslucent write FEditWindowTranslucent;
460    
461                  property ListViewNo: Boolean read FListViewNo write FListViewNo;                  property ListViewNo: Boolean read FListViewNo write FListViewNo;
462                  property UseCSS: Boolean read FUseCSS write FUseCSS;                  property UseCSS: Boolean read FUseCSS write SetUseCSS;
463                  property CSSFileName: string read FCSSFileName write FCSSFileName;                  property CSSFileName: string read FCSSFileName write SetCSSFileName;
464                    property UseSkin: Boolean read FUseSkin;
465    
466                  property ShowMail: Boolean read FShowMail write FShowMail;                  property ShowMail: Boolean read FShowMail write FShowMail;
467          property OnlyAHundredRes : Boolean read FOnlyAHundredRes write FOnlyAHundredRes;                  property OnlyAHundredRes : Boolean read FOnlyAHundredRes write FOnlyAHundredRes;
468                  property UnActivePopup: Boolean read FUnActivePopup write FUnActivePopup;                  property UnActivePopup: Boolean read FUnActivePopup write FUnActivePopup;
469                  property ResPopupHeaderBold: Boolean read FResPopupHeaderBold write FResPopupHeaderBold;                  property ResPopupHeaderBold: Boolean read FResPopupHeaderBold write FResPopupHeaderBold;
470    
# Line 419  type Line 481  type
481    
482                  //property BoardURL2ch: string read FBoardURL2ch write FBoardURL2ch;                  //property BoardURL2ch: string read FBoardURL2ch write FBoardURL2ch;
483                  property BoardURLs: TStringList read FBoardURLs write FBoardURLs;                  property BoardURLs: TStringList read FBoardURLs write FBoardURLs;
484          property BoardURLSelected: Integer read FBoardURLSelected write FBoardURLSelected;                  property BoardURLSelected: Integer read FBoardURLSelected write FBoardURLSelected;
485                  property UserID: string read FUserID write FUserID;                  property UserID: string read FUserID write FUserID;
486                  property Password: string read FPassword write FPassword;                  property Password: string read FPassword write FPassword;
487                  property AutoLogin: Boolean read FAutoLogin write FAutoLogin;                  property AutoLogin: Boolean read FAutoLogin write FAutoLogin;
488            property ForcedLogin: Boolean read FForcedLogin write FForcedLogin;
489    
490                  property URLApp: Boolean read FURLApp write FURLApp;                  property URLApp: Boolean read FURLApp write FURLApp;
491                  property URLAppFile: string read FURLAppFile write FURLAppFile;                  property URLAppFile: string read FURLAppFile write FURLAppFile;
# Line 450  type Line 513  type
513                  property PreviewWait: Integer read FPreviewWait write FPreviewWait;                  property PreviewWait: Integer read FPreviewWait write FPreviewWait;
514    
515                  property ListIconVisible: Boolean read FListIconVisible write FListIconVisible;                  property ListIconVisible: Boolean read FListIconVisible write FListIconVisible;
516            property CreationTimeLogs: Boolean read FCreationTimeLogs write FCreationTimeLogs;
517            property FutureThread: Boolean read FFutureThread write FFutureThread;
518    
519                  property UseMachineTime: Boolean read FUseMachineTime write FUseMachineTime;                  property UseMachineTime: Boolean read FUseMachineTime write FUseMachineTime;
520                  property TimeAdjustSec: Integer read FTimeAdjustSec write FTimeAdjustSec;                  property TimeAdjustSec: Integer read FTimeAdjustSec write FTimeAdjustSec;
521                  property TimeAdjust: Boolean read FTimeAdjust write FTimeAdjust;                  property TimeAdjust: Boolean read FTimeAdjust write FTimeAdjust;
522    
523          //あぼ〜ん                  //あぼ〜ん
524      property AbonDeleterlo : Boolean read FAbonDeleterlo write FAbonDeleterlo;                  property AbonDeleterlo : Boolean read FAbonDeleterlo write FAbonDeleterlo;
525      property AbonReplaceul : Boolean read FAbonReplaceul write FAbonReplaceul;                  property AbonReplaceul : Boolean read FAbonReplaceul write FAbonReplaceul;
526      property PopUpAbon     : Boolean read FPopUpAbon write FPopUpAbon;                  property PopUpAbon               : Boolean read FPopUpAbon write FPopUpAbon;
527          property ShowNGLinesNum : Boolean read FShowNGLinesNum write FShowNGLinesNum;                  property ShowNGLinesNum : Boolean read FShowNGLinesNum write FShowNGLinesNum;
528          property AddResAnchor : Boolean read FAddResAnchor write FAddResAnchor;                  property AddResAnchor : Boolean read FAddResAnchor write FAddResAnchor;
529            property DeleteSyria : Boolean read FDeleteSyria write FDeleteSyria;
530      // スレッド絞込フィールドの幅                  // スレッド絞込フィールドの幅
531      property SelectComboBoxWidth : Integer read FSelectComboBoxWidth write FSelectComboBoxWidth;                  property SelectComboBoxWidth : Integer read FSelectComboBoxWidth write FSelectComboBoxWidth;
   
     // 最後に選択されたオプションダイアログのタブ  
     property OptionDialogTabIndex : Integer read FOptionDialogTabIndex write FOptionDialogTabIndex;  
   
     // 最後に選択されたキャビネット  
     property CabinetIndex : Integer read FCabinetIndex write FCabinetIndex;  
532    
533      //終了時に確認ダイアログを表示するか                  // 最後に選択されたオプションダイアログのタブ
534      property ShowDialogForEnd : Boolean read FShowDialogForEnd write FShowDialogForEnd;                  property OptionDialogTabIndex : Integer read FOptionDialogTabIndex write FOptionDialogTabIndex;
535    
536                    // 最後に選択されたキャビネット
537                    property CabinetIndex : Integer read FCabinetIndex write FCabinetIndex;
538    
539                    //終了時に確認ダイアログを表示するか
540                    property ShowDialogForEnd : Boolean read FShowDialogForEnd write FShowDialogForEnd;
541            //取得レス数とスレッドのレス数が異なったときに通常背景色と違った色の背景色を使用するか
542            property UseOddColorOddResNum: Boolean read FUseOddColorOddResNum write FUseOddColorOddResNum;
543            property OddColor: TColor read FOddColor write FOddColor;
544            property UseSamba: Boolean read FUseSamba write FUseSamba;
545          end;          end;
546    
547    
# Line 489  type Line 556  type
556          end;          end;
557    
558  const  const
559          INI_FILE_NAME: string         = 'gikoNavi.ini';          INI_FILE_NAME: string                            = 'gikoNavi.ini';
560      BOARD_URL_INI_FILE_NAME: string = 'url.ini';          BOARD_URL_INI_FILE_NAME: string = 'url.ini';
561          DEFAULT_FONT_NAME: string     = 'MS Pゴシック';          DEFAULT_FONT_NAME: string                = 'MS Pゴシック';
562          DEFAULT_FONT_SIZE: Integer    = 9;          DEFAULT_FONT_SIZE: Integer              = 9;
563          DEFAULT_FONT_COLOR: string    = 'clWindowText';          DEFAULT_FONT_COLOR: string              = 'clWindowText';
564          DEFAULT_WINDOW_COLOR: string  = 'clWindow';          DEFAULT_WINDOW_COLOR: string    = 'clWindow';
565          DEFAULT_TAB_FONT_NAME: string     = 'MS Pゴシック';          DEFAULT_TAB_FONT_NAME: string            = 'MS Pゴシック';
566          DEFAULT_TAB_FONT_SIZE: Integer    = 9;          DEFAULT_TAB_FONT_SIZE: Integer          = 9;
567          DEFAULT_2CH_BOARD_URL1: string = 'http://www6.ocn.ne.jp/~mirv/2chmenu.html';          DEFAULT_2CH_BOARD_URL1: string = 'http://www6.ocn.ne.jp/~mirv/2chmenu.html';
568      DEFAULT_2CH_BOARD_URL2: string = 'http://www.ff.iij4u.or.jp/~ch2/bbstable.html';          DEFAULT_2CH_BOARD_URL2: string = 'http://www.ff.iij4u.or.jp/~ch2/bbsmenu.html';
569                                         //http://menu.2ch.net/bbsmenu.html //もうすぐこれが正式な板一覧になるよう
570                                                                                                                                  //'http://www.2ch.net/newbbsmenu.html';                                                                                                                                  //'http://www.2ch.net/newbbsmenu.html';
571          GIKO_ENCRYPT_TEXT: string     = 'gikoNaviEncryptText';          GIKO_ENCRYPT_TEXT: string                = 'gikoNaviEncryptText';
572    
573  var  var
574          SOUND_NAME: array[0..4] of TSoundName = (          SOUND_NAME: array[0..4] of TSoundName = (
575                  (Name: 'New';        ViewName: '取得成功';           FileName: ''),                  (Name: 'New';                           ViewName: '取得成功';                                    FileName: ''),
576                  (Name: 'NewDiff';    ViewName: '取得成功(差分)';     FileName: ''),                  (Name: 'NewDiff';               ViewName: '取得成功(差分)';              FileName: ''),
577                  (Name: 'NoChange';   ViewName: '未更新';             FileName: ''),                  (Name: 'NoChange';       ViewName: '未更新';                                             FileName: ''),
578  //              (Name: 'RoundEnd';   ViewName: '巡回終了(取得あり)'; FileName: ''),  //              (Name: 'RoundEnd';       ViewName: '巡回終了(取得あり)'; FileName: ''),
579  //              (Name: 'RoundNone';  ViewName: '巡回終了(取得なし)'; FileName: ''),  //              (Name: 'RoundNone';     ViewName: '巡回終了(取得なし)'; FileName: ''),
580                  (Name: 'ResEnd';     ViewName: 'レス送信完了';       FileName: ''),                  (Name: 'ResEnd';                 ViewName: 'レス送信完了';                       FileName: ''),
581                  (Name: 'Error';      ViewName: 'エラー';             FileName: ''));                  (Name: 'Error';                 ViewName: 'エラー';                                              FileName: ''));
582    
583  //コンストラクタ  //コンストラクタ
584  constructor TSetting.Create();  constructor TSetting.Create();
# Line 518  begin Line 586  begin
586          FNameList := TStringList.Create;          FNameList := TStringList.Create;
587          FMailList := TStringList.Create;          FMailList := TStringList.Create;
588          FSelectTextList := TStringList.Create;          FSelectTextList := TStringList.Create;
589      FBoardURLs := TStringList.Create;          FBoardURLs := TStringList.Create;
590          FNameList.Duplicates := dupIgnore;          FNameList.Duplicates := dupIgnore;
591          FMailList.Duplicates := dupIgnore;          FMailList.Duplicates := dupIgnore;
592      FBoardURLs.Duplicates := dupIgnore;          FBoardURLs.Duplicates := dupIgnore;
593          FSelectTextList.Duplicates := dupIgnore;          FSelectTextList.Duplicates := dupIgnore;
594          ReadSettingFile();          ReadSettingFile();
595      ReadBoardURLsFile();          ReadBoardURLsFile();
596  end;  end;
597    
598  //デストラクタ  //デストラクタ
# Line 532  destructor TSetting.Destroy(); Line 600  destructor TSetting.Destroy();
600  begin  begin
601          inherited;          inherited;
602          FSelectTextList.Free;          FSelectTextList.Free;
603      FBoardURLs.Free;          FBoardURLs.Free;
604          FMailList.Free;          FMailList.Free;
605          FNameList.Free;          FNameList.Free;
606  end;  end;
# Line 553  end; Line 621  end;
621  procedure TSetting.ReadSettingFile();  procedure TSetting.ReadSettingFile();
622  const  const
623          DEFAULT_BBS_WIDTH: array[0..0] of Integer = (140);          DEFAULT_BBS_WIDTH: array[0..0] of Integer = (140);
624          DEFAULT_CATEGORY_WIDTH: array[0..2] of Integer = (150, 80, 130);          DEFAULT_CATEGORY_WIDTH: array[0..3] of Integer = (150, 80, 130, 130);
625          DEFAULT_BOARD_WIDTH: array[0..6] of Integer = (350, 60, 60, 60, 60, 80, 130);          DEFAULT_BOARD_WIDTH: array[0..7] of Integer = (350, 60, 60, 60, 60, 80, 130, 130);
626            MAX_WIDTH: Integer = 2000;
627  var  var
628          ini: TMemIniFile;          ini: TMemIniFile;
629          i: Integer;          i: Integer;
# Line 607  begin Line 676  begin
676                  FListFontItalic := ini.ReadBool('Window', 'ListFontItalic', False);                  FListFontItalic := ini.ReadBool('Window', 'ListFontItalic', False);
677                  FListFontColor := StringToColor(ini.ReadString('Window', 'ListFontColor', DEFAULT_FONT_COLOR));                  FListFontColor := StringToColor(ini.ReadString('Window', 'ListFontColor', DEFAULT_FONT_COLOR));
678                  FListBackColor := StringToColor(ini.ReadString('Window', 'ListBackColor', DEFAULT_WINDOW_COLOR));                  FListBackColor := StringToColor(ini.ReadString('Window', 'ListBackColor', DEFAULT_WINDOW_COLOR));
679            FUseOddColorOddResNum := ini.ReadBool('Window','UseOddColor', False);
680            FOddColor := StringToColor(ini.ReadString('Window', 'OddColor', DEFAULT_WINDOW_COLOR));
681    
682                  FEditorFontName := ini.ReadString('Window', 'EditorFontName', DEFAULT_FONT_NAME);                  FEditorFontName := ini.ReadString('Window', 'EditorFontName', DEFAULT_FONT_NAME);
683                  FEditorFontSize := ini.ReadInteger('Window', 'EditorFontSize', DEFAULT_FONT_SIZE);                  FEditorFontSize := ini.ReadInteger('Window', 'EditorFontSize', DEFAULT_FONT_SIZE);
# Line 643  begin Line 714  begin
714                  FEditWindowHeight := ini.ReadInteger('EditorWindowSize', 'Height', -1);                  FEditWindowHeight := ini.ReadInteger('EditorWindowSize', 'Height', -1);
715                  FEditWindowWidth := ini.ReadInteger('EditorWindowSize', 'Width', -1);                  FEditWindowWidth := ini.ReadInteger('EditorWindowSize', 'Width', -1);
716                  FEditWindowMax := ini.ReadBool('EditorWindowSize', 'Max', False);                  FEditWindowMax := ini.ReadBool('EditorWindowSize', 'Max', False);
717                    FEditWindowStay := ini.ReadBool('EditorWindowSize', 'Stay', False);
718            FEditWindowTranslucent := ini.ReadBool('EditorWindowSize', 'Translucent', False);
719    
720      FOptionDialogTabIndex := ini.ReadInteger('OptionDialog', 'TabIndex', 0);                  FOptionDialogTabIndex := ini.ReadInteger('OptionDialog', 'TabIndex', 0);
721    
722                  //ツールバー                  //ツールバー
723                  FStdToolBarVisible := ini.ReadBool('ToolBar', 'StdVisible', True);                  FStdToolBarVisible := ini.ReadBool('ToolBar', 'StdVisible', True);
# Line 670  begin Line 743  begin
743    
744                  FCabinetVisible := ini.ReadBool('Cabinet', 'Visible', True);                  FCabinetVisible := ini.ReadBool('Cabinet', 'Visible', True);
745                  FCabinetWidth := ini.ReadInteger('Cabinet', 'Width', 200);                  FCabinetWidth := ini.ReadInteger('Cabinet', 'Width', 200);
746      FCabinetIndex := ini.ReadInteger('Cabinet', 'Index', 0);                  FCabinetIndex := ini.ReadInteger('Cabinet', 'Index', 0);
747    
748                  FListOrientation := TGikoListOrientation(ini.ReadInteger('List', 'Orientation', Ord(gloHorizontal)));                  FListOrientation := TGikoListOrientation(ini.ReadInteger('List', 'Orientation', Ord(gloHorizontal)));
749                  FListHeight := ini.ReadInteger('List', 'Height', 180);                  FListHeight := ini.ReadInteger('List', 'Height', 180);
# Line 713  begin Line 786  begin
786                          end;                          end;
787                          for i := 0 to Length(FBBSColumnWidth) - 1 do begin                          for i := 0 to Length(FBBSColumnWidth) - 1 do begin
788                                  BBSColumnWidth[i] := ini.ReadInteger('BBSColumnWidth', 'ID' + IntToStr(i), DEFAULT_BBS_WIDTH[i]);                                  BBSColumnWidth[i] := ini.ReadInteger('BBSColumnWidth', 'ID' + IntToStr(i), DEFAULT_BBS_WIDTH[i]);
789                                    if BBSColumnWidth[i] > MAX_WIDTH then
790                                            BBSColumnWidth[i] := DEFAULT_BBS_WIDTH[i];
791                          end;                          end;
792                          ini.ReadSection('CategoryColumnWidth', wkList);                          ini.ReadSection('CategoryColumnWidth', wkList);
793                          if Length(FCategoryColumnWidth) <> wkList.Count then begin                          if Length(FCategoryColumnWidth) <> wkList.Count then begin
# Line 720  begin Line 795  begin
795                          end;                          end;
796                          for i := 0 to Length(FCategoryColumnWidth) - 1 do begin                          for i := 0 to Length(FCategoryColumnWidth) - 1 do begin
797                                  CategoryColumnWidth[i] := ini.ReadInteger('CategoryColumnWidth', 'ID' + IntToStr(i), DEFAULT_CATEGORY_WIDTH[i]);                                  CategoryColumnWidth[i] := ini.ReadInteger('CategoryColumnWidth', 'ID' + IntToStr(i), DEFAULT_CATEGORY_WIDTH[i]);
798                                    if CategoryColumnWidth[i] > MAX_WIDTH then
799                                            CategoryColumnWidth[i] := DEFAULT_CATEGORY_WIDTH[i];
800                          end;                          end;
801                          ini.ReadSection('BoardColumnWidth', wkList);                          ini.ReadSection('BoardColumnWidth', wkList);
802                          if Length(FBoardColumnWidth) <> wkList.Count then begin                          if Length(FBoardColumnWidth) <> wkList.Count then begin
# Line 727  begin Line 804  begin
804                          end;                          end;
805                          for i := 0 to Length(FBoardColumnWidth) - 1 do begin                          for i := 0 to Length(FBoardColumnWidth) - 1 do begin
806                                  BoardColumnWidth[i] := ini.ReadInteger('BoardColumnWidth', 'ID' + IntToStr(i), DEFAULT_BOARD_WIDTH[i]);                                  BoardColumnWidth[i] := ini.ReadInteger('BoardColumnWidth', 'ID' + IntToStr(i), DEFAULT_BOARD_WIDTH[i]);
807                                    if BoardColumnWidth[i] > MAX_WIDTH then
808                                            BoardColumnWidth[i] := DEFAULT_BOARD_WIDTH[i];
809                          end;                          end;
810                  finally                  finally
811                          wkList.Free;                          wkList.Free;
# Line 736  begin Line 815  begin
815                  //リスト番号                  //リスト番号
816                  FListViewNo := ini.ReadBool('Function', 'ListViewNo', True);                  FListViewNo := ini.ReadBool('Function', 'ListViewNo', True);
817                  //CSS                  //CSS
818                  FUseCSS := ini.ReadBool('CSS', 'UseCSS', True);                  UseCSS := ini.ReadBool('CSS', 'UseCSS', True);
819                  //CSSファイル名                  //CSSファイル名
820                  FCSSFileName := ini.ReadString('CSS', 'FileName', 'default.css');                  CSSFileName := ini.ReadString('CSS', 'FileName', 'default.css');
821    
822                  //Mail欄表示                  //Mail欄表示
823                  FShowMail := ini.ReadBool('Thread', 'ShowMail', True);                  FShowMail := ini.ReadBool('Thread', 'ShowMail', True);
824          //最新100レス表示                  //最新100レス表示
825          FOnlyAHundredRes := ini.ReadBool('Thread', 'OnlyAHundredRes',false);                  FOnlyAHundredRes := ini.ReadBool('Thread', 'OnlyAHundredRes',false);
826                  //非アクティブ時レスポップアップ表示                  //非アクティブ時レスポップアップ表示
827                  FUnActivePopup := ini.ReadBool('Thread', 'UnActivePopup', False);                  FUnActivePopup := ini.ReadBool('Thread', 'UnActivePopup', False);
828                  //レスポップアップヘッダーボールド                  //レスポップアップヘッダーボールド
# Line 751  begin Line 830  begin
830    
831                  //削除確認                  //削除確認
832                  FDeleteMsg := ini.ReadBool('Function', 'LogDeleteMessage', True);                  FDeleteMsg := ini.ReadBool('Function', 'LogDeleteMessage', True);
833          //終了確認                  //終了確認
834              FShowDialogForEnd := ini.ReadBool('Function','ShowDialogForEnd',false);                  FShowDialogForEnd := ini.ReadBool('Function','ShowDialogForEnd',false);
835            //Samba
836            FUseSamba := ini.ReadBool('Function','UseSamba', True);
837                  //ログフォルダ                  //ログフォルダ
838                  FLogFolder := ini.ReadString('Folder', 'LogFolder', ExtractFilePath(Application.ExeName) + 'Log');                  FLogFolder := ini.ReadString('Folder', 'LogFolder', ExtractFilePath(Application.ExeName) + 'Log');
839                  NewLogFolder := '';                  NewLogFolder := '';
840    
841                  //板URL                  //板URL
842          //複数登録できるようにしてFBoardURLsにした 2003/10/05                  //複数登録できるようにしてFBoardURLsにした 2003/10/05
843                  //FBoardURL2ch := ini.ReadString('BoardURL', '2ch', DEFAULT_2CH_BOARD_URL);                  //FBoardURL2ch := ini.ReadString('BoardURL', '2ch', DEFAULT_2CH_BOARD_URL);
844    
845                  //認証用ユーザID・パスワード                  //認証用ユーザID・パスワード
846                  FUserID := ini.ReadString('Attestation', 'UserID', '');                  FUserID := ini.ReadString('Attestation', 'UserID', '');
847                  FPassword := Decrypt(ini.ReadString('Attestation', 'Password', ''));                  FPassword := Decrypt(ini.ReadString('Attestation', 'Password', ''));
848                  FAutoLogin := ini.ReadBool('Attestation', 'AutoLogin', False);                  FAutoLogin := ini.ReadBool('Attestation', 'AutoLogin', False);
849            FForcedLogin := ini.ReadBool('Attestation', 'FForcedLogin', False);
850    
851                  //URLクリック時起動アプリ                  //URLクリック時起動アプリ
852                  FURLApp := ini.ReadBool('URLApp', 'Select', False);                  FURLApp := ini.ReadBool('URLApp', 'Select', False);
# Line 790  begin Line 871  begin
871    
872                  //スレッド一覧更新アイコン                  //スレッド一覧更新アイコン
873                  FListIconVisible := ini.ReadBool('ThreadList', 'StateIconVisible', True);                  FListIconVisible := ini.ReadBool('ThreadList', 'StateIconVisible', True);
874            FCreationTimeLogs := ini.ReadBool('ThreadList', 'CreationTimeLogs', True);
875            FFutureThread := ini.ReadBool('ThreadList', 'FutureThread', True);
876    
877                  //書き込み時マシン時刻使用設定                  //書き込み時マシン時刻使用設定
878                  FUseMachineTime := ini.ReadBool('PostTime', 'UseMachineTime', False);                  FUseMachineTime := ini.ReadBool('PostTime', 'UseMachineTime', False);
# Line 819  begin Line 902  begin
902                          CoolSet.FCoolBreak := ini.ReadBool('MainCoolBar', 'Break' + IntToStr(i), False);                          CoolSet.FCoolBreak := ini.ReadBool('MainCoolBar', 'Break' + IntToStr(i), False);
903                          MainCoolSet[i] := CoolSet;                          MainCoolSet[i] := CoolSet;
904                  end;                  end;
905      FSelectComboBoxWidth := ini.ReadInteger( 'ListCoolBar', 'SelectWidth', 127 );                  FSelectComboBoxWidth := ini.ReadInteger( 'ListCoolBar', 'SelectWidth', 127 );
906                  for i := 0 to LIST_COOLBAND_COUNT - 1 do begin                  for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
907                          CoolSet.FCoolID := ini.ReadInteger('ListCoolBar', 'ID' + IntToStr(i), -1);                          CoolSet.FCoolID := ini.ReadInteger('ListCoolBar', 'ID' + IntToStr(i), -1);
908                          CoolSet.FCoolWidth := ini.ReadInteger('ListCoolBar', 'Width' + IntToStr(i), -1);                          CoolSet.FCoolWidth := ini.ReadInteger('ListCoolBar', 'Width' + IntToStr(i), -1);
# Line 833  begin Line 916  begin
916                          BrowserCoolSet[i] := CoolSet;                          BrowserCoolSet[i] := CoolSet;
917                  end;                  end;
918    
919      //あぼ〜ん                  //あぼ〜ん
920      FAbonDeleterlo := ini.ReadBool('Abon','Deleterlo',false);                  FAbonDeleterlo := ini.ReadBool('Abon','Deleterlo',false);
921      FAbonReplaceul := ini.ReadBool('Abon','Replaceul',false);                  FAbonReplaceul := ini.ReadBool('Abon','Replaceul',false);
922      FPopUpAbon     := ini.ReadBool('Abon','Popup',false);                  FPopUpAbon               := ini.ReadBool('Abon','Popup',false);
923      FShowNGLinesNum := ini.ReadBool('Abon','ShowNGLines',false);                  FShowNGLinesNum := ini.ReadBool('Abon','ShowNGLines',false);
924      FAddResAnchor := ini.ReadBool('Abon','AddResAnchor',false);                  FAddResAnchor := ini.ReadBool('Abon','AddResAnchor',false);
925            FDeleteSyria :=  ini.ReadBool('Abon','DeleteSyria',false);
   
926          finally          finally
927                  ini.Free;                  ini.Free;
928          end;          end;
# Line 849  end; Line 931  end;
931  procedure TSetting.ReadBoardURLsFile();  procedure TSetting.ReadBoardURLsFile();
932  var  var
933          ini: TMemIniFile;          ini: TMemIniFile;
934      urlNum: Integer;          urlNum: Integer;
935      i : Integer;          i : Integer;
936  begin  begin
937      if not FileExists(GetBoardURLFileName()) then          if not FileExists(GetBoardURLFileName()) then
938              MakeURLIniFile();          MakeURLIniFile();
939          ini := TMemIniFile.Create(GetBoardURLFileName());          ini := TMemIniFile.Create(GetBoardURLFileName());
940      try          try
941          urlNum := ini.ReadInteger('URL','count',0);                  urlNum := ini.ReadInteger('URL','count',0);
942          BoardURLSelected := ini.ReadInteger('URL','selected',0);                  BoardURLSelected := ini.ReadInteger('URL','selected',0);
943          for i := 0 to urlNum - 1 do begin                  for i := 0 to urlNum - 1 do begin
944                  FBoardURLs.Append(ini.ReadString('URL',IntToStr(i+1),''));                          FBoardURLs.Append(ini.ReadString('URL',IntToStr(i+1),''));
945          end;                  end;
946      finally          finally
947          ini.Free;                  ini.Free;
948      end;          end;
949    
950  end;  end;
951  //設定ファイル保存(system)  //設定ファイル保存(system)
# Line 909  begin Line 991  begin
991                  ini.WriteInteger('Window', 'ListFontSize', FListFontSize);                  ini.WriteInteger('Window', 'ListFontSize', FListFontSize);
992                  ini.WriteString('Window', 'ListFontColor', ColorToString(FListFontColor));                  ini.WriteString('Window', 'ListFontColor', ColorToString(FListFontColor));
993                  ini.WriteString('Window', 'ListBackColor', ColorToString(FListBackColor));                  ini.WriteString('Window', 'ListBackColor', ColorToString(FListBackColor));
994            ini.WriteBool('Window','UseOddColor',FUseOddColorOddResNum);
995            ini.WriteString('Window', 'OddColor',ColorToString(FOddColor));
996    
997                  ini.WriteString('Window', 'EditorFontName', FEditorFontName);                  ini.WriteString('Window', 'EditorFontName', FEditorFontName);
998                  ini.WriteInteger('Window', 'EditorFontSize', FEditorFontSize);                  ini.WriteInteger('Window', 'EditorFontSize', FEditorFontSize);
# Line 953  begin Line 1037  begin
1037                  ini.WriteInteger('EditorWindowSize', 'Height', EditWindowHeight);                  ini.WriteInteger('EditorWindowSize', 'Height', EditWindowHeight);
1038                  ini.WriteInteger('EditorWindowSize', 'Width', EditWindowWidth);                  ini.WriteInteger('EditorWindowSize', 'Width', EditWindowWidth);
1039                  ini.WriteBool('EditorWindowSize', 'Max', EditWindowMax);                  ini.WriteBool('EditorWindowSize', 'Max', EditWindowMax);
1040                    ini.WriteBool('EditorWindowSize', 'Stay', EditWindowStay);
1041                    ini.WriteBool('EditorWindowSize', 'Translucent', EditWindowTranslucent);
1042    
1043      ini.WriteInteger('OptionDialog', 'TabIndex', FOptionDialogTabIndex);                  ini.WriteInteger('OptionDialog', 'TabIndex', FOptionDialogTabIndex);
1044    
1045                  //ツールバー                  //ツールバー
1046                  ini.WriteBool('ToolBar', 'StdVisible', FStdToolBarVisible);                  ini.WriteBool('ToolBar', 'StdVisible', FStdToolBarVisible);
# Line 984  begin Line 1070  begin
1070                  //キャビネット                  //キャビネット
1071                  ini.WriteBool('Cabinet', 'Visible', FCabinetVisible);                  ini.WriteBool('Cabinet', 'Visible', FCabinetVisible);
1072                  ini.WriteInteger('Cabinet', 'Width', FCabinetWidth);                  ini.WriteInteger('Cabinet', 'Width', FCabinetWidth);
1073      ini.WriteInteger('Cabinet', 'Index', FCabinetIndex);                  ini.WriteInteger('Cabinet', 'Index', FCabinetIndex);
1074    
1075                  //リストのサイズと垂直水平                  //リストのサイズと垂直水平
1076                  ini.WriteInteger('List', 'Orientation', Ord(FListOrientation));                  ini.WriteInteger('List', 'Orientation', Ord(FListOrientation));
# Line 1006  begin Line 1092  begin
1092                  ini.WriteString('CSS', 'FileName', FCSSFileName);                  ini.WriteString('CSS', 'FileName', FCSSFileName);
1093                  //Mail欄表示                  //Mail欄表示
1094                  ini.WriteBool('Thread', 'ShowMail', FShowMail);                  ini.WriteBool('Thread', 'ShowMail', FShowMail);
1095          //最新100レス表示                  //最新100レス表示
1096          ini.WriteBool('Thread', 'OnlyAHundredRes', FOnlyAHundredRes);                  ini.WriteBool('Thread', 'OnlyAHundredRes', FOnlyAHundredRes);
1097                  //ログ削除確認                  //ログ削除確認
1098                  ini.WriteBool('Function', 'LogDeleteMessage', FDeleteMsg);                  ini.WriteBool('Function', 'LogDeleteMessage', FDeleteMsg);
1099          //終了確認                  //終了確認
1100              ini.WriteBool('Function','ShowDialogForEnd',FShowDialogForEnd);                  ini.WriteBool('Function','ShowDialogForEnd',FShowDialogForEnd);
1101                    //Samba
1102                    ini.WriteBool('Function','UseSamba', FUseSamba);
1103    
1104                  //非アクティブ時ポップアップ表示                  //非アクティブ時ポップアップ表示
1105                  ini.WriteBool('Thread', 'UnActivePopup', FUnActivePopup);                  ini.WriteBool('Thread', 'UnActivePopup', FUnActivePopup);
1106                  //レスポップアップヘッダーボールド                  //レスポップアップヘッダーボールド
# Line 1023  begin Line 1112  begin
1112                  ini.WriteString('Attestation', 'UserID', FUserID);                  ini.WriteString('Attestation', 'UserID', FUserID);
1113                  ini.WriteString('Attestation', 'Password', Encrypt(FPassword));                  ini.WriteString('Attestation', 'Password', Encrypt(FPassword));
1114                  ini.WriteBool('Attestation', 'AutoLogin', FAutoLogin);                  ini.WriteBool('Attestation', 'AutoLogin', FAutoLogin);
1115            ini.WriteBool('Attestation', 'FForcedLogin', FForcedLogin);
1116    
1117                  //URLクリック時起動アプリ                  //URLクリック時起動アプリ
1118                  ini.WriteBool('URLApp', 'Select', FURLApp);                  ini.WriteBool('URLApp', 'Select', FURLApp);
# Line 1047  begin Line 1137  begin
1137    
1138                  //スレッド一覧更新アイコン                  //スレッド一覧更新アイコン
1139                  ini.WriteBool('ThreadList', 'StateIconVisible', FListIconVisible);                  ini.WriteBool('ThreadList', 'StateIconVisible', FListIconVisible);
1140                    ini.WriteBool('ThreadList', 'CreationTimeLogs',FCreationTimeLogs);
1141                    ini.WriteBool('ThreadList', 'FutureThread', FFutureThread);
1142    
1143                  //書き込み時マシン時刻使用設定                  //書き込み時マシン時刻使用設定
1144                  ini.WriteBool('PostTime', 'UseMachineTime', FUseMachineTime);                  ini.WriteBool('PostTime', 'UseMachineTime', FUseMachineTime);
# Line 1080  begin Line 1172  begin
1172                          ini.WriteBool('MainCoolBar', 'Break' + IntToStr(i), CoolSet.FCoolBreak);                          ini.WriteBool('MainCoolBar', 'Break' + IntToStr(i), CoolSet.FCoolBreak);
1173                  end;                  end;
1174                  ini.EraseSection('ListCoolBar');                  ini.EraseSection('ListCoolBar');
1175      ini.WriteInteger( 'ListCoolBar', 'SelectWidth', FSelectComboBoxWidth );                  ini.WriteInteger( 'ListCoolBar', 'SelectWidth', FSelectComboBoxWidth );
1176                  for i := 0 to LIST_COOLBAND_COUNT - 1 do begin                  for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
1177                          CoolSet := ListCoolSet[i];                          CoolSet := ListCoolSet[i];
1178                          ini.WriteInteger('ListCoolBar', 'ID' + IntToStr(i), CoolSet.FCoolID);                          ini.WriteInteger('ListCoolBar', 'ID' + IntToStr(i), CoolSet.FCoolID);
# Line 1098  begin Line 1190  begin
1190                  //あぼ〜ん                  //あぼ〜ん
1191                  ini.WriteBool('Abon','Deleterlo',FAbonDeleterlo);                  ini.WriteBool('Abon','Deleterlo',FAbonDeleterlo);
1192                  ini.WriteBool('Abon','Replaceul',FAbonReplaceul);                  ini.WriteBool('Abon','Replaceul',FAbonReplaceul);
1193          ini.WriteBool('Abon','Popup',FPopUpAbon);                                  ini.WriteBool('Abon','Popup',FPopUpAbon);
1194                  ini.WriteBool('Abon','ShowNGLines',FShowNGLinesNum);                  ini.WriteBool('Abon','ShowNGLines',FShowNGLinesNum);
1195                  ini.WriteBool('Abon','AddResAnchor',FAddResAnchor);                  ini.WriteBool('Abon','AddResAnchor',FAddResAnchor);
1196            ini.WriteBool('Abon','DeleteSyria',FDeleteSyria);
1197    
1198                  ini.UpdateFile;                  ini.UpdateFile;
1199          finally          finally
# Line 1159  end; Line 1252  end;
1252  procedure TSetting.WriteBoardURLSettingFile();  procedure TSetting.WriteBoardURLSettingFile();
1253  var  var
1254          ini: TMemIniFile;          ini: TMemIniFile;
1255      i : Integer;                  i : Integer;
1256      oldcount : Integer;                  oldcount : Integer;
1257  begin  begin
1258          ini := TMemIniFile.Create(GetBoardURLFileName());          ini := TMemIniFile.Create(GetBoardURLFileName());
1259          try          try
1260          oldcount := ini.ReadInteger('URL','count',FBoardURLs.Count);                  oldcount := ini.ReadInteger('URL','count',FBoardURLs.Count);
1261          ini.WriteInteger('URL','count',FBoardURLs.Count);                  ini.WriteInteger('URL','count',FBoardURLs.Count);
1262          ini.WriteInteger('URL','selected',BoardURLSelected);                  ini.WriteInteger('URL','selected',BoardURLSelected);
1263          for i := 0 to FBoardURLs.Count -1 do begin                  for i := 0 to FBoardURLs.Count -1 do begin
1264              ini.WriteString('URL',IntToStr(i+1),FBoardURLs.Strings[i]);                                          ini.WriteString('URL',IntToStr(i+1),FBoardURLs.Strings[i]);
1265          end;                  end;
1266          if oldcount > FBoardURLs.Count then begin                  if oldcount > FBoardURLs.Count then begin
1267                  for i := FBoardURLs.Count to oldcount do begin                          for i := FBoardURLs.Count to oldcount do begin
1268                  ini.DeleteKey('URL',IntToStr(i+1));                                  ini.DeleteKey('URL',IntToStr(i+1));
1269              end;                          end;
1270          end;                  end;
1271                  ini.UpdateFile;                  ini.UpdateFile;
1272          finally          finally
1273                  ini.Free;                  ini.Free;
1274          end;          end;
1275  end;  end;
1276    
1277    {$R-}
1278  //リストカラムヘッダー  //リストカラムヘッダー
1279  function TSetting.GetBBSColumnWidth(index: Integer): Integer;  function TSetting.GetBBSColumnWidth(index: Integer): Integer;
1280  begin  begin
# Line 1196  function TSetting.GetBoardColumnWidth(in Line 1290  function TSetting.GetBoardColumnWidth(in
1290  begin  begin
1291          Result := IfThen(index in [0..Length(FBoardColumnWidth) - 1], FBoardColumnWidth[index], 0);          Result := IfThen(index in [0..Length(FBoardColumnWidth) - 1], FBoardColumnWidth[index], 0);
1292  end;  end;
1293    {$IFDEF DEBUG}
1294    {$R+}
1295    {$ENDIF}
1296    
1297  procedure TSetting.SetBBSColumnWidth(index: Integer; value: Integer);  procedure TSetting.SetBBSColumnWidth(index: Integer; value: Integer);
1298  begin  begin
# Line 1366  var Line 1463  var
1463  begin  begin
1464          ini := TMemIniFile.Create(GetBoardURLFileName());          ini := TMemIniFile.Create(GetBoardURLFileName());
1465          try          try
1466          ini.WriteInteger('URL','count',2);                  ini.WriteInteger('URL','count',2);
1467          ini.WriteInteger('URL','selected',2);                  ini.WriteInteger('URL','selected',2);
1468          ini.WriteString('URL','1',DEFAULT_2CH_BOARD_URL1);                  ini.WriteString('URL','1',DEFAULT_2CH_BOARD_URL1);
1469          ini.WriteString('URL','2',DEFAULT_2CH_BOARD_URL2);                  ini.WriteString('URL','2',DEFAULT_2CH_BOARD_URL2);
1470                  ini.UpdateFile;                  ini.UpdateFile;
1471          finally          finally
1472                  ini.Free;                  ini.Free;
1473          end;          end;
1474  end;  end;
1475    
1476    (*************************************************************************
1477     *ボードファイル名取得(パス+ファイル名)
1478     *************************************************************************)
1479    function TSetting.GetBoardFileName: string;
1480    begin
1481            Result := GetAppDir + CONFIG_DIR_NAME + '\' + BOARD_FILE_NAME;
1482    end;
1483    
1484    (*************************************************************************
1485     *ボードファイル名取得(パス+ファイル名)
1486     *************************************************************************)
1487    function TSetting.GetCustomBoardFileName: string;
1488    begin
1489            Result := GetAppDir + CONFIG_DIR_NAME + '\' + CUSTOMBOARD_FILE_NAME;
1490    end;
1491    
1492    (*************************************************************************
1493     *ボードディレクトリ取得
1494     *************************************************************************)
1495    function TSetting.GetBoardDir: string;
1496    begin
1497            Result := GetAppDir + CONFIG_DIR_NAME + '\' + BOARD_DIR_NAME + '\';
1498    end;
1499    
1500    (*************************************************************************
1501     *テンポラリフォルダー名取得
1502     *************************************************************************)
1503    function TSetting.GetHtmlTempFileName: string;
1504    begin
1505            Result := TEMP_FOLDER;
1506    end;
1507    
1508    
1509    (*************************************************************************
1510     *実行ファイルフォルダ取得
1511     *************************************************************************)
1512    function TSetting.GetAppDir: string;
1513    begin
1514            Result := ExtractFilePath(Application.ExeName);
1515    end;
1516    
1517    (*************************************************************************
1518     *TempHtmlファイル名取得(パス+ファイル名)
1519     *************************************************************************)
1520    function TSetting.GetTempFolder: string;
1521    begin
1522            Result := GetAppDir + TEMP_FOLDER;
1523    end;
1524    
1525    (*************************************************************************
1526     *sent.iniファイル名取得(パス+ファイル名)
1527     *************************************************************************)
1528    function TSetting.GetSentFileName: string;
1529    begin
1530            Result := GetAppDir + SENT_FILE_NAME;
1531    end;
1532    
1533    (*************************************************************************
1534     *outbox.iniファイル名取得(パス+ファイル名)
1535     *************************************************************************)
1536    function TSetting.GetOutBoxFileName: string;
1537    begin
1538            Result := GetAppDir + OUTBOX_FILE_NAME;
1539    end;
1540    
1541    (*************************************************************************
1542     *Configフォルダ取得
1543     *************************************************************************)
1544    function TSetting.GetConfigDir: string;
1545    begin
1546            Result := IncludeTrailingPathDelimiter(GetAppDir + CONFIG_DIR_NAME);
1547    end;
1548    
1549    function TSetting.GetStyleSheetDir: string;
1550    begin
1551            Result := IncludeTrailingPathDelimiter(GetConfigDir + CSS_DIR_NAME);
1552    end;
1553    
1554    function TSetting.GetSkinDir: string;
1555    begin
1556            Result := IncludeTrailingPathDelimiter(GetConfigDir + SKIN_DIR_NAME);
1557    end;
1558    
1559    function TSetting.GetSkinHeaderFileName: string;
1560    begin
1561            Result := CSSFileName + SKIN_HEADER_FILE_NAME;
1562    end;
1563    
1564    function TSetting.GetSkinFooterFileName: string;
1565    begin
1566            Result := CSSFileName + SKIN_FOOTER_FILE_NAME;
1567    end;
1568    
1569    function TSetting.GetSkinNewResFileName: string;
1570    begin
1571            Result := CSSFileName + SKIN_NEWRES_FILE_NAME;
1572    end;
1573    
1574    function TSetting.GetSkinResFileName: string;
1575    begin
1576            Result := CSSFileName + SKIN_RES_FILE_NAME;
1577    end;
1578    
1579    function TSetting.GetSkinBookmarkFileName: string;
1580    begin
1581            Result := CSSFileName + SKIN_BOOKMARK_FILE_NAME;
1582    end;
1583    
1584    function TSetting.GetSkinNewmarkFileName: string;
1585    begin
1586            Result := CSSFileName + SKIN_NEWMARK_FILE_NAME;
1587    end;
1588    
1589    function TSetting.GetNGWordsDir: string;
1590    begin
1591            Result := IncludeTrailingPathDelimiter(GetConfigDir + NGWORDs_DIR_NAME);
1592    end;
1593    
1594    function TSetting.GetBoardPlugInDir: string;
1595    begin
1596            Result := IncludeTrailingPathDelimiter(GetConfigDir + BOARD_PLUGIN_DIR_NAME);
1597    end;
1598    
1599    procedure TSetting.SetUseCSS( value: Boolean );
1600    begin
1601    
1602            FUseCSS := value;
1603    
1604            FUseSkin :=
1605                    UseCSS and
1606                    (Pos( GetSkinDir, CSSFileName ) > 0) and
1607                    FileExists( GetSkinHeaderFileName );
1608    
1609    end;
1610    
1611    procedure TSetting.SetCSSFileName( fileName: string );
1612    begin
1613    
1614            FCSSFileName := fileName;
1615    
1616            FUseSkin :=
1617                    UseCSS and
1618                    (Pos( GetSkinDir, CSSFileName ) > 0) and
1619                    FileExists( GetSkinHeaderFileName );
1620    
1621    end;
1622    
1623    function TSetting.GetSambaFileName: string;
1624    begin
1625            Result := GetAppDir + SAMBATIME_FILE_NAME;
1626    end;
1627  end.  end.
1628    

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.13.2.1

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