if inIsNew then
Result := CreateResultString( HTMLCreater.SkinedRes(
HTMLCreater.LoadFromSkin(
- GikoSys.Setting.GetSkinNewResFileName, threadItem, threadItem.Size
+ GikoSys.GetSkinNewResFileName, threadItem, threadItem.Size
), @res, no
) )
else
Result := CreateResultString( HTMLCreater.SkinedRes(
HTMLCreater.LoadFromSkin(
- GikoSys.Setting.GetSkinResFileName, threadItem, threadItem.Size
+ GikoSys.GetSkinResFileName, threadItem, threadItem.Size
), @res, no
) );
end else if GikoSys.Setting.UseCSS then begin
try
if GikoSys.Setting.UseSkin then begin
// \83X\83L\83\93
- skinHeader := HTMLCreater.LoadFromSkin( GikoSys.Setting.GetSkinHeaderFileName, threadItem, threadItem.Size );
+ skinHeader := HTMLCreater.LoadFromSkin( GikoSys.GetSkinHeaderFileName, threadItem, threadItem.Size );
if Length( optionalHeader ) > 0 then
skinHeader :=
StringReplace( skinHeader, '</head>', optionalHeader + '</head><a name="top"></a>', [] );
try
if GikoSys.Setting.UseSkin then begin
// \83X\83L\83\93
- skinFooter := HTMLCreater.LoadFromSkin( GikoSys.Setting.GetSkinFooterFileName, threadItem, threadItem.Size );
+ skinFooter := HTMLCreater.LoadFromSkin( GikoSys.GetSkinFooterFileName, threadItem, threadItem.Size );
if Length( optionalFooter ) > 0 then
skinFooter :=
StringReplace( skinFooter, '</body>', optionalFooter + '</body>', [] );
uses
Giko, RoundData, Favorite, Registry, HTMLCreate, MojuUtils, Sort, YofUtils,
- IniFiles, DateUtils;
+ IniFiles, DateUtils, SkinFiles;
const
FOLDER_INDEX_VERSION = '1.01';
//! Skin:\83w\83b\83_\82Ì\83t\83@\83C\83\8b\96¼
function TGikoSys.GetSkinHeaderFileName: string;
begin
- Result := Setting.GetSkinHeaderFileName;
+ Result := Setting.SkinFiles.GetSkinHeaderFileName;
end;
//! Skin:\83t\83b\83^\82Ì\83t\83@\83C\83\8b\96¼
function TGikoSys.GetSkinFooterFileName: string;
begin
- Result := Setting.GetSkinFooterFileName;
+ Result := Setting.SkinFiles.GetSkinFooterFileName;
end;
//! Skin:\90V\92\85\83\8c\83X\82Ì\83t\83@\83C\83\8b\96¼
function TGikoSys.GetSkinNewResFileName: string;
begin
- Result := Setting.GetSkinNewResFileName;
+ Result := Setting.SkinFiles.GetSkinNewResFileName;
end;
//! Skin:\94ñ\90V\92\85\83\8c\83X\82Ì\83t\83@\83C\83\8b\96¼
function TGikoSys.GetSkinResFileName: string;
begin
- Result := Setting.GetSkinResFileName;
+ Result := Setting.SkinFiles.GetSkinResFileName;
end;
//! Skin:\82µ\82¨\82è(\82±\82±\82Ü\82Å\93Ç\82ñ\82¾)\82Ì\83t\83@\83C\83\8b\96¼
function TGikoSys.GetSkinBookmarkFileName: string;
begin
- Result := Setting.GetSkinBookmarkFileName;
+ Result := Setting.SkinFiles.GetSkinBookmarkFileName;
end;
//! Skin:\82µ\82¨\82è(\90V\92\85\83\8c\83X)\82Ì\83t\83@\83C\83\8b\96¼
function TGikoSys.GetSkinNewmarkFileName: string;
begin
- Result := Setting.GetSkinNewmarkFileName;
+ Result := Setting.SkinFiles.GetSkinNewmarkFileName;
end;
//! UserAgent\8eæ\93¾
uses
SysUtils, Classes, Graphics, Forms, {Math, IniFiles, UCryptAuto, UBase64,}
- ComCtrls, GestureModel, IniFiles;
+ ComCtrls, GestureModel, IniFiles, SkinFiles;
const
MAIN_COOLBAND_COUNT = 4; //\83\81\83C\83\93CoolBand\82Ì\90\94
FListViewNo: Boolean;
//CSS\95\\8e¦
FUseCSS: Boolean;
- //CSS\83t\83@\83C\83\8b\96¼
- FCSSFileName: string;
// \83X\83L\83\93\95\\8e¦(\88ê\8e\9e\93I\82È\82à\82Ì\82Å ini \82É\95Û\91¶\82Í\82³\82ê\82È\82¢)
FUseSkin: Boolean;
//\82©\82¿\82ã\81`\82µ\82á\97p\82ÌSkin\82ð\97\98\97p\82·\82é\82©
FSentIniFileSize: Integer;
//! \83\8a\83\93\83NURL\8eæ\93¾\82Ì\91Î\8fÛ\8ag\92£\8eq
FExtList: String;
+ //! Skin\8aÖ\98A
+ FSkinFiles: TSkinFiles;
function GetMainCoolSet(Index: Integer): TCoolSet;
function GetBoardCoolSet(Index: Integer): TCoolSet;
function GetBrowserCoolSet(Index: Integer): TCoolSet;
procedure SetUseCSS( value: Boolean );
procedure SetCSSFileName( fileName: string );
+ function GetCSSFileName: string;
//! \83v\83\8d\83L\83V\90Ý\92è\93Ç\82Ý\8d\9e\82Ý
procedure ReadProxySettings(memIni: TMemIniFile);
//! \8ae\8eí\83E\83B\83\93\83h\83E\90Ý\92è\93Ç\82Ý\8d\9e\82Ý
function GetSentFileName: string;
function GetConfigDir: string;
function GetSkinDir: string;
- function GetSkinHeaderFileName: string;
- function GetSkinFooterFileName: string;
- function GetSkinResFileName: string;
- function GetSkinNewResFileName: string;
- function GetSkinBookmarkFileName: string;
- function GetSkinNewmarkFileName: string;
function GetStyleSheetDir: string;
function GetOutBoxFileName: string;
function GetNGWordsDir: string;
property ListViewNo: Boolean read FListViewNo write FListViewNo;
property UseCSS: Boolean read FUseCSS write SetUseCSS;
- property CSSFileName: string read FCSSFileName write SetCSSFileName;
+ property CSSFileName: string read GetCSSFileName write SetCSSFileName;
property UseKatjushaType : Boolean read FUseKatjushaType write FUseKatjushaType;
property UseSkin: Boolean read FUseSkin;
property SentIniFileSize: Integer read FSentIniFileSize write FSentIniFileSize;
//! \83\8a\83\93\83NURL\8eæ\93¾\82Ì\91Î\8fÛ\8ag\92£\8eq
property ExtList: String read FExtList write FExtList;
+ //! Skin\83t\83@\83C\83\8b\8aÇ\97\9d
+ property SkinFiles: TSkinFiles read FSkinFiles;
end;
CONFIG_DIR_NAME = 'config';
CSS_DIR_NAME = 'css';
SKIN_DIR_NAME = 'skin';
- SKIN_HEADER_FILE_NAME = 'Header.html';
- SKIN_FOOTER_FILE_NAME = 'Footer.html';
- SKIN_NEWRES_FILE_NAME = 'NewRes.html';
- SKIN_RES_FILE_NAME = 'Res.html';
- SKIN_BOOKMARK_FILE_NAME = 'Bookmark.html';
- SKIN_NEWMARK_FILE_NAME = 'Newmark.html';
NGWORDs_DIR_NAME : String = 'NGwords';
BOARD_PLUGIN_DIR_NAME = 'BoardPlugin';
SAMBATIME_FILE_NAME : String = 'Samba.ini';
FCategoryColumnOrder := TGikoCategoryColumnList.Create;
FBoardColumnOrder := TGikoBoardColumnList.Create;
FGestures := TGestureModel.Create;
+ FSkinFiles := TSkinFiles.Create;
FNameList.Duplicates := dupIgnore;
FMailList.Duplicates := dupIgnore;
FBoardURLs.Duplicates := dupIgnore;
//\82©\82µ\82ã\81`\82µ\82á\82Ì\83X\83L\83\93\82ð\8eg\82¤\82©
ini.WriteBool('CSS', 'UseKatjushaType', FUseKatjushaType);
//CSS\83t\83@\83C\83\8b\96¼
- ini.WriteString('CSS', 'FileName', FCSSFileName);
+ ini.WriteString('CSS', 'FileName', FSkinFiles.FileName);
//Mail\97\93\95\\8e¦
ini.WriteBool('Thread', 'ShowMail', FShowMail);
// \83\8c\83X\95\\8e¦\94Í\88Í
Result := IncludeTrailingPathDelimiter(GetConfigDir + SKIN_DIR_NAME);
end;
(*************************************************************************
- *skin\83w\83b\83_\83t\83@\83C\83\8b\96¼\8eæ\93¾
- *************************************************************************)
-function TSetting.GetSkinHeaderFileName: string;
-begin
- Result := CSSFileName + SKIN_HEADER_FILE_NAME;
-end;
-(*************************************************************************
- *skin\83t\83b\83^\83t\83@\83C\83\8b\96¼\8eæ\93¾
- *************************************************************************)
-function TSetting.GetSkinFooterFileName: string;
-begin
- Result := CSSFileName + SKIN_FOOTER_FILE_NAME;
-end;
-(*************************************************************************
- *skin\90V\83\8c\83X\83t\83@\83C\83\8b\96¼\8eæ\93¾
- *************************************************************************)
-function TSetting.GetSkinNewResFileName: string;
-begin
- Result := CSSFileName + SKIN_NEWRES_FILE_NAME;
-end;
-(*************************************************************************
- *skin\83\8c\83X\83t\83@\83C\83\8b\96¼\8eæ\93¾
- *************************************************************************)
-function TSetting.GetSkinResFileName: string;
-begin
- Result := CSSFileName + SKIN_RES_FILE_NAME;
-end;
-(*************************************************************************
- *skin\83u\83b\83N\83}\81[\83N\83t\83@\83C\83\8b\96¼\8eæ\93¾
- *************************************************************************)
-function TSetting.GetSkinBookmarkFileName: string;
-begin
- Result := CSSFileName + SKIN_BOOKMARK_FILE_NAME;
-end;
-(*************************************************************************
- *skin\90V\92\85\83t\83@\83C\83\8b\96¼\8eæ\93¾
- *************************************************************************)
-function TSetting.GetSkinNewmarkFileName: string;
-begin
- Result := CSSFileName + SKIN_NEWMARK_FILE_NAME;
-end;
-(*************************************************************************
*NG\83\8f\81[\83h\83f\83B\83\8c\83N\83g\83\8a\8eæ\93¾(\\82Å\8fI\82í\82é)
*************************************************************************)
function TSetting.GetNGWordsDir: string;
// \83R\83R\82Å\82Ì\94»\92è\82Å\82à\91å\95¶\8e\9a\8f¬\95¶\8e\9a\82Ì\88á\82¢\82Í\96³\8e\8b\82·\82é\81B
FUseSkin :=
UseCSS and
- (Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(CSSFileName) ) > 0) and
- FileExists( GetSkinHeaderFileName );
+ (Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(FSkinFiles.FileName) ) > 0) and
+ FileExists( FSkinFiles.GetSkinHeaderFileName );
end;
procedure TSetting.SetCSSFileName( fileName: string );
begin
-
- FCSSFileName := fileName;
+ FSkinFiles.FileName := fileName;
// Windows\93I\82É\83t\83@\83C\83\8b\83p\83X\82Ì\91å\95¶\8e\9a\8f¬\95¶\8e\9a\82Ì\88á\82¢\82Í\96³\8e\8b\82³\82ê\82é\82Ì\82Å\81A
// \83R\83R\82Å\82Ì\94»\92è\82Å\82à\91å\95¶\8e\9a\8f¬\95¶\8e\9a\82Ì\88á\82¢\82Í\96³\8e\8b\82·\82é\81B
FUseSkin :=
UseCSS and
- (Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(CSSFileName) ) > 0) and
- FileExists( GetSkinHeaderFileName );
+ (Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(FSkinFiles.FileName) ) > 0) and
+ FileExists( FSkinFiles.GetSkinHeaderFileName );
end;
(*************************************************************************
end;
end;
end;
+
+function TSetting.GetCSSFileName: string;
+begin
+ Result := FSkinFiles.FileName;
+end;
+
end.
--- /dev/null
+unit SkinFiles;
+
+interface
+
+uses
+ SysUtils, Classes, ComCtrls;
+
+type
+ TSkinFiles = class(TObject)
+ private
+ FFileName: String;
+ procedure SetFileName(AFileName: string);
+ public
+ //! \83X\83L\83\93\83t\83@\83C\83\8b\83p\83X
+ property FileName:String read FFileName write SetFileName;
+ //! \83w\83b\83_\82Ì\83t\83@\83C\83\8b\96¼
+ function GetSkinHeaderFileName: string;
+ //! \83t\83b\83^\82Ì\83t\83@\83C\83\8b\96¼
+ function GetSkinFooterFileName: string;
+ //! \90V\92\85\83\8c\83X\82Ì\83t\83@\83C\83\8b\96¼
+ function GetSkinNewResFileName: string;
+ //! \94ñ\90V\92\85\83\8c\83X\82Ì\83t\83@\83C\83\8b\96¼
+ function GetSkinResFileName: string;
+ //! \82µ\82¨\82è(\82±\82±\82Ü\82Å\93Ç\82ñ\82¾)\82Ì\83t\83@\83C\83\8b\96¼
+ function GetSkinBookmarkFileName: string;
+ //! \82µ\82¨\82è(\90V\92\85\83\8c\83X)\82Ì\83t\83@\83C\83\8b\96¼
+ function GetSkinNewmarkFileName: string;
+ end;
+
+implementation
+
+const
+ SKIN_HEADER_FILE_NAME = 'Header.html';
+ SKIN_FOOTER_FILE_NAME = 'Footer.html';
+ SKIN_NEWRES_FILE_NAME = 'NewRes.html';
+ SKIN_RES_FILE_NAME = 'Res.html';
+ SKIN_BOOKMARK_FILE_NAME = 'Bookmark.html';
+ SKIN_NEWMARK_FILE_NAME = 'Newmark.html';
+
+//! \83X\83L\83\93\83t\83@\83C\83\8b\96¼\90Ý\92è
+procedure TSkinFiles.SetFileName(AFileName: string);
+begin
+ // \83f\83B\83\8c\83N\83g\83\8a\82Ì\8fê\8d\87\8dÅ\8cã\82É\\82Å\8fI\82í\82ç\82·
+ if DirectoryExists(AFileName) then begin
+ // \ \82Å\8fI\82í\82é\82æ\82¤\82É\82·\82é
+ FFileName := IncludeTrailingPathDelimiter(AFileName);
+ end else begin
+ FFileName := AFileName;
+ end;
+end;
+//! Skin:\83w\83b\83_\82Ì\83t\83@\83C\83\8b\96¼
+function TSkinFiles.GetSkinHeaderFileName: string;
+begin
+ Result := FFileName + SKIN_HEADER_FILE_NAME;
+end;
+
+//! Skin:\83t\83b\83^\82Ì\83t\83@\83C\83\8b\96¼
+function TSkinFiles.GetSkinFooterFileName: string;
+begin
+ Result := FFileName + SKIN_FOOTER_FILE_NAME;
+end;
+
+//! Skin:\90V\92\85\83\8c\83X\82Ì\83t\83@\83C\83\8b\96¼
+function TSkinFiles.GetSkinNewResFileName: string;
+begin
+ Result := FFileName + SKIN_NEWRES_FILE_NAME;
+end;
+
+//! Skin:\94ñ\90V\92\85\83\8c\83X\82Ì\83t\83@\83C\83\8b\96¼
+function TSkinFiles.GetSkinResFileName: string;
+begin
+ Result := FFileName + SKIN_RES_FILE_NAME;
+end;
+
+//! Skin:\82µ\82¨\82è(\82±\82±\82Ü\82Å\93Ç\82ñ\82¾)\82Ì\83t\83@\83C\83\8b\96¼
+function TSkinFiles.GetSkinBookmarkFileName: string;
+begin
+ Result := FFileName + SKIN_BOOKMARK_FILE_NAME;
+end;
+
+//! Skin:\82µ\82¨\82è(\90V\92\85\83\8c\83X)\82Ì\83t\83@\83C\83\8b\96¼
+function TSkinFiles.GetSkinNewmarkFileName: string;
+begin
+ Result := FFileName + SKIN_NEWMARK_FILE_NAME;
+end;
+end.