OSDN Git Service

・NGワードで特定の板限定、スレ限定ができるよう変更
[gikonavigoeson/gikonavi.git] / Setting.pas
index 92accd3..ecec20f 100644 (file)
@@ -248,6 +248,10 @@ type
                FUnActivePopup: Boolean;
                //\83\8c\83X\83|\83b\83v\83A\83b\83v\83w\83b\83_\81[\83{\81[\83\8b\83h
                FResPopupHeaderBold: Boolean;
+        // BE\83A\83C\83R\83\93\81EEmoticon\89æ\91\9c\95\\8e¦
+        FIconImageDisplay: Boolean;
+        // \83X\83\8c\83^\83C\93Á\92è\95\8e\9a\97ñ\8f\9c\8b\8e
+        FThreadTitleTrim: Boolean;
 
                //\83\8d\83O\83t\83H\83\8b\83_
                FLogFolder: string;
@@ -351,6 +355,14 @@ type
                FDeleteSyria : Boolean; //\83V\83\8a\83A\8cê\83u\83\89\83N\83\89\91Î\8dô
                FIgnoreKana     : Boolean;      //\91S\94¼\8ap\82Ð\82ç\83J\83i\82Ì\88á\82¢\82ð\96³\8e\8b\82·\82é\82©
 
+        //NG\83\8f\81[\83h\95Ò\8fW
+        FNGTextEditor: Boolean; //\95Ò\8fW\82É\83e\83L\83X\83g\83G\83f\83B\83^\82ð\8eg\97p\82·\82é\82©
+               FNGWindowTop: Integer;
+               FNGWindowLeft: Integer;
+               FNGWindowHeight: Integer;
+               FNGWindowWidth: Integer;
+               FNGWindowMax: Boolean;
+
                // \83X\83\8c\83b\83h\8di\8d\9e\83t\83B\81[\83\8b\83h\82Ì\95\9d
                FSelectComboBoxWidth : Integer;
 
@@ -468,6 +480,21 @@ type
         FUseGobakuCheck: Boolean;
         //! Unicode\94Å\83G\83f\83B\83^
         FUseUnicode: Boolean;
+        //! \8dí\8f\9c\97v\90¿\94Â\82ð\93Á\95Ê\88µ\82¢
+        FSakuBoard: Boolean;
+
+               //! \83X\83\8c\83^\83C\8c\9f\8dõ\83E\83B\83\93\83h\83E
+               FThrdSrchTop: Integer;
+               FThrdSrchLeft: Integer;
+               FThrdSrchWidth: Integer;
+               FThrdSrchHeight: Integer;
+               FThrdSrchMax: Boolean;
+        FThrdSrchStay: Boolean;
+        FThrdSrchCol1W: Integer;
+        FThrdSrchCol2W: Integer;
+        FThrdSrchCol3W: Integer;
+        FThrdSrchCol4W: Integer;
+        FThrdSrchHistory: TStringList;
 
         //! \96`\8c¯\82Ì\8f\91\97pCookie
         FBoukenCookieList: TStringList;
@@ -537,6 +564,7 @@ type
                function GetSkinDir: string;
                function GetStyleSheetDir: string;
                function GetOutBoxFileName: string;
+               function GetDefaultFilesFileName: string;
                function GetNGWordsDir: string;
                function GetBoardPlugInDir: string;
                function GetSambaFileName: string;
@@ -677,6 +705,8 @@ type
                property ThreadRange    : TGikoThreadRange read FThreadRange write FThreadRange;
                property UnActivePopup: Boolean read FUnActivePopup write FUnActivePopup;
                property ResPopupHeaderBold: Boolean read FResPopupHeaderBold write FResPopupHeaderBold;
+        property IconImageDisplay: Boolean read FIconImageDisplay write FIconImageDisplay;
+        property ThreadTitleTrim: Boolean read FThreadTitleTrim write FThreadTitleTrim;
 
                property LogFolder: string read FLogFolder write WriteLogFolder;
         property LogFolderP: string read FLogFolderP;
@@ -755,6 +785,15 @@ type
                property AddResAnchor : Boolean read FAddResAnchor write FAddResAnchor;
                property DeleteSyria : Boolean read FDeleteSyria write FDeleteSyria;
                property IgnoreKana : Boolean read FIgnoreKana write FIgnoreKana;
+
+        //NG\83\8f\81[\83h\95Ò\8fW
+        property NGTextEditor: Boolean read FNGTextEditor write FNGTextEditor;
+               property NGWindowTop: Integer read FNGWindowTop write FNGWindowTop;
+               property NGWindowLeft: Integer read FNGWindowLeft write FNGWindowLeft;
+               property NGWindowHeight: Integer read FNGWindowHeight write FNGWindowHeight;
+               property NGWindowWidth: Integer read FNGWindowWidth write FNGWindowWidth;
+               property NGWindowMax: Boolean read FNGWindowMax write FNGWindowMax;
+
                // \83X\83\8c\83b\83h\8di\8d\9e\83t\83B\81[\83\8b\83h\82Ì\95\9d
                property SelectComboBoxWidth : Integer read FSelectComboBoxWidth write FSelectComboBoxWidth;
 
@@ -850,6 +889,21 @@ type
         property UseGobakuCheck: Boolean read FUseGobakuCheck write FUseGobakuCheck;
         //! Unicode\94Å\83G\83f\83B\83^
         property UseUnicode: Boolean read FUseUnicode write FUseUnicode;
+        //! \8dí\8f\9c\97v\90¿\94Â\82ð\93Á\95Ê\88µ\82¢
+        property SakuBoard: Boolean read FSakuBoard write FSakuBoard;
+               //! \83X\83\8c\83^\83C\8c\9f\8dõ\83E\83B\83\93\83h\83E
+               //! \83X\83\8c\83^\83C\8c\9f\8dõ\83E\83B\83\93\83h\83E
+               property ThrdSrchTop: Integer read FThrdSrchTop write FThrdSrchTop;
+               property ThrdSrchLeft: Integer read FThrdSrchLeft write FThrdSrchLeft;
+               property ThrdSrchWidth: Integer read FThrdSrchWidth write FThrdSrchWidth;
+               property ThrdSrchHeight: Integer read FThrdSrchHeight write FThrdSrchHeight;
+               property ThrdSrchMax: Boolean read FThrdSrchMax write FThrdSrchMax;
+        property ThrdSrchStay: Boolean read FThrdSrchStay write FThrdSrchStay;
+        property ThrdSrchCol1W: Integer read FThrdSrchCol1W write FThrdSrchCol1W;
+        property ThrdSrchCol2W: Integer read FThrdSrchCol2W write FThrdSrchCol2W;
+        property ThrdSrchCol3W: Integer read FThrdSrchCol3W write FThrdSrchCol3W;
+        property ThrdSrchCol4W: Integer read FThrdSrchCol4W write FThrdSrchCol4W;
+        property ThrdSrchHistory: TStringList read FThrdSrchHistory write FThrdSrchHistory;
         //! \96`\8c¯\82Ì\8f\91
         property BoukenCookieList: TStringList read FBoukenCookieList write FBoukenCookieList; 
 end;
@@ -868,6 +922,7 @@ const
        TEMP_FOLDER                                                                             = 'Temp';
        OUTBOX_FILE_NAME                                                        = 'outbox.ini';
        SENT_FILE_NAME                                                          = 'sent.ini';
+       DEFFILES_FILE_NAME                                                      = 'defaultFiles.ini';
        CONFIG_DIR_NAME                                                         = 'config';
        CSS_DIR_NAME                                                                    = 'css';
        SKIN_DIR_NAME                                                                   = 'skin';
@@ -1010,6 +1065,7 @@ begin
        FMailList.Duplicates := dupIgnore;
        FBoardURLs.Duplicates := dupIgnore;
        FSelectTextList.Duplicates := dupIgnore;
+    FThrdSrchHistory := TStringList.Create;
     FBoukenCookieList := TStringList.Create;
        ReadSettingFile();
        ReadBoardURLsFile();
@@ -1018,6 +1074,7 @@ end;
 //\83f\83X\83g\83\89\83N\83^
 destructor TSetting.Destroy();
 begin
+    FThrdSrchHistory.Free;
     FBoukenCookieList.Free;
        FBoardColumnOrder.Free;
        FCategoryColumnOrder.Free;
@@ -1049,10 +1106,11 @@ var
        ini: TMemIniFile;
        i: Integer;
        Exists: Boolean;
-       s: string;                                               
+       s: string;
        CoolSet: TCoolSet;
     msg: String;
     hostList: TStringList;
+    Cnt: Integer;
 begin
        Exists := FileExists(GetFileName);
        ini := TMemIniFile.Create(GetFileName);
@@ -1159,6 +1217,10 @@ begin
                FUnActivePopup := ini.ReadBool('Thread', 'UnActivePopup', False);
                //\83\8c\83X\83|\83b\83v\83A\83b\83v\83w\83b\83_\81[\83{\81[\83\8b\83h
                FResPopupHeaderBold := ini.ReadBool('Thread', 'ResPopupHeaderBold', True);
+        // BE\83A\83C\83R\83\93\81EEmoticon\89æ\91\9c\95\\8e¦
+        FIconImageDisplay := ini.ReadBool('Thread', 'IconImageDisplay', True);
+        // \83X\83\8c\83^\83C\93Á\92è\95\8e\9a\97ñ\8f\9c\8b\8e
+        FThreadTitleTrim := ini.ReadBool('Thread', 'ThreadTitleTrim', False);
                //\8dí\8f\9c\8am\94F
                FDeleteMsg := ini.ReadBool('Function', 'LogDeleteMessage', True);
                //\8fI\97¹\8am\94F
@@ -1290,6 +1352,14 @@ begin
                FDeleteSyria :=  ini.ReadBool('Abon','DeleteSyria',false);
                FIgnoreKana  :=  ini.ReadBool('Abon','IgnoreKana',false);
 
+        //NG\83\8f\81[\83h\95Ò\8fW
+        FNGTextEditor   := ini.ReadBool('NGWordEditor', 'NGTextEditor', False);
+               FNGWindowTop    := ini.ReadInteger('NGWordEditor', 'NGWindowTop', 100);
+               FNGWindowLeft   := ini.ReadInteger('NGWordEditor', 'NGWindowLeft', 100);
+               FNGWindowHeight := ini.ReadInteger('NGWordEditor', 'NGWindowHeight', 478);
+               FNGWindowWidth  := ini.ReadInteger('NGWordEditor', 'NGWindowWidth', 845);
+               FNGWindowMax    := ini.ReadBool('NGWordEditor', 'NGWindowMax', False);
+
                // \83G\83f\83B\83^
                FSpaceToNBSP    := ini.ReadBool( 'Editor', 'SpaceToNBSP', False );
                FAmpToCharRef   := ini.ReadBool( 'Editor', 'AmpToCharRef', False );
@@ -1326,12 +1396,35 @@ begin
                //\97\9a\97ð\82Ì\8dÅ\91å\95Û\91\8c\8f\90\94
                FMaxRecordCount := Max(ini.ReadInteger('Recode', 'Max', 100), 1);
 
+        //! \8dí\8f\9c\97v\90¿\94Â\82ð\93Á\95Ê\88µ\82¢
+        FSakuBoard := ini.ReadBool('NewBoard', 'SakuSpecial', True);
+
                // \93ü\97Í\83A\83V\83X\83g
                FInputAssistFormTop := ini.ReadInteger('IAtWindowsSize', 'Top', 0);
                FInputAssistFormLeft := ini.ReadInteger('IAtWindowsSize', 'Left', 0);
                FInputAssistFormWidth := ini.ReadInteger('IAtWindowsSize', 'Width', 400);
                FInputAssistFormHeight := ini.ReadInteger('IAtWindowsSize', 'Height', 460);
 
+               //! \83X\83\8c\83^\83C\8c\9f\8dõ\83E\83B\83\93\83h\83E
+               FThrdSrchTop    := ini.ReadInteger('ThreadSearch', 'Top',    0);
+               FThrdSrchLeft   := ini.ReadInteger('ThreadSearch', 'Left',   0);
+               FThrdSrchWidth  := ini.ReadInteger('ThreadSearch', 'Width',  526);
+               FThrdSrchHeight := ini.ReadInteger('ThreadSearch', 'Height', 550);
+               FThrdSrchMax    := ini.ReadBool(   'ThreadSearch', 'Max',    False);
+        FThrdSrchStay   := ini.ReadBool(   'ThreadSearch', 'Stay',   False);
+        FThrdSrchCol1W  := ini.ReadInteger('ThreadSearch', 'Col1W',  80);
+        FThrdSrchCol2W  := ini.ReadInteger('ThreadSearch', 'Col2W',  350);
+        FThrdSrchCol3W  := ini.ReadInteger('ThreadSearch', 'Col3W',  40);
+        FThrdSrchCol4W  := ini.ReadInteger('ThreadSearch', 'Col4W',  500);
+        Cnt := ini.ReadInteger('ThreadSearch', 'HistoryCount',  0);
+        if (Cnt > 0) then begin
+            for i := 1 to Cnt do begin
+                s := ini.ReadString('ThreadSearch', 'History' + IntToStr(i), '');
+                if (s <> '') then
+                    FThrdSrchHistory.Add(s);
+            end;
+        end;
+
                // Cookie\82É\95t\89Á\82·\82é\8cÅ\92è\83R\81[\83h
                FFixedCookie := ini.ReadString('Cookie', 'fixedString', FIXED_COOKIE);
 
@@ -1582,6 +1675,10 @@ begin
                ini.WriteBool('Thread', 'UnActivePopup', FUnActivePopup);
                //\83\8c\83X\83|\83b\83v\83A\83b\83v\83w\83b\83_\81[\83{\81[\83\8b\83h
                ini.WriteBool('Thread', 'ResPopupHeaderBold', FResPopupHeaderBold);
+        // BE\83A\83C\83R\83\93\81EEmoticon\89æ\91\9c\95\\8e¦
+        ini.WriteBool('Thread', 'IconImageDisplay', FIconImageDisplay);
+        // \83X\83\8c\83^\83C\93Á\92è\95\8e\9a\97ñ\8f\9c\8b\8e
+        ini.WriteBool('Thread', 'ThreadTitleTrim', FThreadTitleTrim);
                //ini.WriteString('BoardURL', '2ch', FBoardURL2ch);
 
                //\94F\8fØ\97p\83\86\81[\83UID\81E\83p\83X\83\8f\81[\83h
@@ -1717,12 +1814,23 @@ begin
                ini.WriteBool('Abon','DeleteSyria',FDeleteSyria);
                ini.WriteBool('Abon','IgnoreKana', FIgnoreKana);
 
+        //NG\83\8f\81[\83h\95Ò\8fW
+        ini.WriteBool('NGWordEditor', 'NGTextEditor', FNGTextEditor);
+               ini.WriteInteger('NGWordEditor', 'NGWindowTop', FNGWindowTop);
+               ini.WriteInteger('NGWordEditor', 'NGWindowLeft', FNGWindowLeft);
+               ini.WriteInteger('NGWordEditor', 'NGWindowHeight', FNGWindowHeight);
+               ini.WriteInteger('NGWordEditor', 'NGWindowWidth', FNGWindowWidth);
+               ini.WriteBool('NGWordEditor', 'NGWindowMax', FNGWindowMax);
+
                // \83G\83f\83B\83^
                ini.WriteBool( 'Editor', 'SpaceToNBSP', FSpaceToNBSP );
                ini.WriteBool( 'Editor', 'AmpToCharRef', FAmpToCharRef );
         ini.WriteBool( 'Editor', 'UseGobakuCheck', FUseGobakuCheck );
         ini.WriteBool( 'Editor', 'UseUnicode', FUseUnicode );
 
+        //! \8dí\8f\9c\97v\90¿\94Â\82ð\93Á\95Ê\88µ\82¢
+        ini.WriteBool('NewBoard', 'SakuSpecial', FSakuBoard);
+
                 //\83^\83u\8e©\93®\95Û\91
                ini.WriteBool('TabAuto', 'TabAutoLoadSave', FTabAutoLoadSave);
         ini.WriteString('Thread', 'LastCloseTabURL', FLastCloseTabURL);
@@ -1767,6 +1875,24 @@ begin
         ini.WriteBool('ThreadList', 'CheckDatFile', FCheckDatFile);
         ini.WriteBool('Thread', 'LimitResCountMessage', FLimitResCountMessage);
 
+               //! \83X\83\8c\83^\83C\8c\9f\8dõ\83E\83B\83\93\83h\83E
+               ini.WriteInteger('ThreadSearch', 'Top',    FThrdSrchTop);
+               ini.WriteInteger('ThreadSearch', 'Left',   FThrdSrchLeft);
+               ini.WriteInteger('ThreadSearch', 'Width',  FThrdSrchWidth);
+               ini.WriteInteger('ThreadSearch', 'Height', FThrdSrchHeight);
+               ini.WriteBool(   'ThreadSearch', 'Max',    FThrdSrchMax);
+        ini.WriteBool(   'ThreadSearch', 'Stay',   FThrdSrchStay);
+        ini.WriteInteger('ThreadSearch', 'Col1W',  FThrdSrchCol1W);
+        ini.WriteInteger('ThreadSearch', 'Col2W',  FThrdSrchCol2W);
+        ini.WriteInteger('ThreadSearch', 'Col3W',  FThrdSrchCol3W);
+        ini.WriteInteger('ThreadSearch', 'Col4W',  FThrdSrchCol4W);
+        ini.WriteInteger('ThreadSearch', 'HistoryCount', FThrdSrchHistory.Count);
+        if (FThrdSrchHistory.Count > 0) then begin
+            for i := 1 to FThrdSrchHistory.Count do begin
+                ini.WriteString('ThreadSearch', 'History' + IntToStr(i), FThrdSrchHistory.Strings[i-1]);
+            end;
+        end;
+
 
                ini.UpdateFile;
        finally
@@ -2134,6 +2260,14 @@ begin
 end;
 
 (*************************************************************************
+ *defaultFiles.ini\83t\83@\83C\83\8b\96¼\8eæ\93¾\81i\83p\83X\81{\83t\83@\83C\83\8b\96¼\81j
+ *************************************************************************)
+function TSetting.GetDefaultFilesFileName: string;
+begin
+       Result := GetAppDir + DEFFILES_FILE_NAME;
+end;
+
+(*************************************************************************
  *Config\83t\83H\83\8b\83_\8eæ\93¾(\\82Å\8fI\82í\82é)
  *************************************************************************)
 function TSetting.GetConfigDir: string;