OSDN Git Service

bata62へ更新
[gikonavigoeson/gikonavi.git] / Setting.pas
index 701a693..fb4f262 100644 (file)
@@ -20,9 +20,9 @@ type
        TGikoListOrientation = (gloHorizontal, gloVertical);    // \83\8a\83X\83g\90\82\92¼\81E\90\85\95½
        TGikoListState = (glsMax, glsNormal, glsMin);                                   // \83\8a\83X\83g\83T\83C\83Y\8fó\91Ô
                                                                                                                                                                                                                                // \83|\83b\83v\83A\83b\83v\95\\8e¦\88Ê\92u
-       TGikoPopupPosition = (gppRightTop, gppTop, gppLeftTop,
-                                                                                               gppRight, gppCenter, gppLeft,
-                                                                                               gppRightBottom, gppBottom, gppLeftBottom);
+       TGikoPopupPosition = (gppLeftTop = 0, gppTop, gppRightTop,
+                                                                                               gppLeft, gppCenter, gppRight,
+                                                                                               gppLeftBottom, gppBottom, gppRightBottom);
                                                                                                                                                                                                                                //\83v\83\8c\83r\83\85\81[\83T\83C\83Y
        TGikoPreviewSize = (gpsXLarge, gpsLarge, gpsMedium, gpsSmall, gpsXSmall);
        TGikoBrowserAutoMaximize        = (gbmNone, gbmClick, gbmDoubleClick);
@@ -440,6 +440,8 @@ type
         FLoopBrowserTabs : Boolean;
         //! 100\83\8c\83X\95\\8e¦\82Ì\90æ\93ª\95\\8e¦\83\8c\83X\90\94
         FHeadResCount : Integer;
+        //! 100\83\8c\83X\95\\8e¦\90\94\81i\8ag\92£\97p\81j
+        FResRangeExCount: Integer;
         //! \8aÖ\98A\83L\81[\83\8f\81[\83h\92Ç\89Á\83t\83\89\83O
         FAddKeywordLink: Boolean;
         //! dat\92u\8a·\82ð\97L\8cø\82É\82·\82é
@@ -452,6 +454,18 @@ type
         FSkinFiles: TSkinFiles;
         //! index\83t\83@\83C\83\8b\82ð\93Ç\82Ý\8e\9e\82Édat\82ð\8c\9f\8dõ\82·\82é
         FCheckDatFile: Boolean;
+        //! \93¯ID\83\8c\83X\83A\83\93\83J\81[\95\\8e¦
+        FLimitResCountMessage: Boolean;
+        //! \83\8c\83X\83|\83b\83v\83A\83b\83v\95\\8e¦\88Ê\92udeltaX
+        FRespopupDeltaX: Integer;
+        //! \83\8c\83X\83|\83b\83v\83A\83b\83v\95\\8e¦\88Ê\92udeltaY
+        FRespopupDeltaY: Integer;
+        //! \83\8c\83X\83|\83b\83v\83A\83b\83v\83^\83C\83}\81[
+        FRespopupWait: Integer;
+        //! \83\81\81[\83\8b\97\93\83\8c\83X\83|\83b\83v\83A\83b\83v
+        FRespopupMailTo: Boolean;
+        //! \8cë\94\9a\83`\83F\83b\83N
+        FUseGobakuCheck: Boolean;
                function GetMainCoolSet(Index: Integer): TCoolSet;
                function GetBoardCoolSet(Index: Integer): TCoolSet;
                function GetBrowserCoolSet(Index: Integer): TCoolSet;
@@ -528,9 +542,10 @@ type
                procedure WriteLogFolder(AVal : String);
                function GetInputAssistFileName : String;
         function GetReplaceFileName: String;
+        function GetExtprevieFileName: String;
         {
         \brief  \83\8a\83\93\83N\97\9a\97ð\82Ì\95Û\8e\9d\83T\83C\83Y\82Ìsetter
-        \param  AVal    \90Ý\92è\82·\82é\83T\83C\83Y( >0) 
+        \param  AVal    \90Ý\92è\82·\82é\83T\83C\83Y( >0)
         }
         procedure SetMoveHistorySize(AVal : Integer);
                //\8eó\90M\83o\83b\83t\83@\83T\83C\83Y
@@ -799,6 +814,8 @@ type
         property LoopBrowserTabs : Boolean read FLoopBrowserTabs write FLoopBrowserTabs;
         //! 100\83\8c\83X\95\\8e¦\82Ì\90æ\93ª\95\\8e¦\83\8c\83X\90\94
         property HeadResCount : Integer read FHeadResCount write FHeadResCount;
+        //! 100\83\8c\83X\95\\8e¦\90\94\81i\8ag\92£\97p\81j
+        property ResRangeExCount: Integer read FResRangeExCount write FResRangeExCount;
         //! \8aÖ\98A\83L\81[\83\8f\81[\83h\92Ç\89Á\83t\83\89\83O
         property AddKeywordLink: Boolean read FAddKeywordLink write FAddKeywordLink;
         //! dat\82Ì\92u\8a·\82ð\97L\8cø\82É\82·\82é\82©
@@ -811,6 +828,16 @@ type
         property SkinFiles: TSkinFiles read FSkinFiles;
         //! \83C\83\93\83f\83b\83N\83X\93Ç\82Ý\8d\9e\82Ý\8e\9edat\83t\83@\83C\83\8b\83`\83F\83b\83N
         property CheckDatFile: Boolean read FCheckDatFile write FCheckDatFile;
+        property LimitResCountMessage: Boolean read FLimitResCountMessage write FLimitResCountMessage;
+        //! \83\8c\83X\83|\83b\83v\83A\83b\83v\95\\8e¦\88Ê\92udeltaX
+        property  RespopupDeltaX: Integer read FRespopupDeltaX write FRespopupDeltaX;
+        //! \83\8c\83X\83|\83b\83v\83A\83b\83v\95\\8e¦\88Ê\92udeltaY
+        property RespopupDeltaY: Integer read FRespopupDeltaY write FRespopupDeltaY;
+        //! \83\8c\83X\83|\83b\83v\83A\83b\83v\83^\83C\83}\81[
+        property RespopupWait: Integer read FRespopupWait write FRespopupWait;
+        property RespopupMailTo: Boolean read FRespopupMailTo write FRespopupMailTo;
+        //! \8cë\94\9a\83`\83F\83b\83N
+        property UseGobakuCheck: Boolean read FUseGobakuCheck write FUseGobakuCheck; 
 end;
 
 
@@ -840,8 +867,9 @@ const
        SPAMFILTER_FILE_NAME                                    = 'SpamFilter.ini';
                LANGUAGE_FILE_NAME    = 'language.ini';
        INPUTASSIST_FILE_NAME   = 'InputAssist.ini';
-    FIXED_COOKIE =           'hana=mogera';
+    FIXED_COOKIE =           '';
     REPLACE_FILE_NAME = 'replace.ini';
+    EXT_PREVIEW_FILE_NAME = 'extpreview.ini';
 
 implementation
 
@@ -975,15 +1003,16 @@ end;
 //\83f\83X\83g\83\89\83N\83^
 destructor TSetting.Destroy();
 begin
+       FBoardColumnOrder.Free;
+       FCategoryColumnOrder.Free;
+       FBBSColumnOrder.Free;
+       FSelectTextList.Free;
+       FBoardURLs.Free;
+       FMailList.Free;
+       FNameList.Free;
+       FGestures.Free;
+    FSkinFiles.Free;
        inherited;
-       FBoardColumnOrder.Free;
-       FCategoryColumnOrder.Free;
-       FBBSColumnOrder.Free;
-       FSelectTextList.Free;
-       FBoardURLs.Free;
-       FMailList.Free;
-       FNameList.Free;
-       FGestures.Free;
 end;
 
 //\8f\89\8aú\89»\83t\83@\83C\83\8b\96¼\8eæ\93¾\81i\83p\83X\81{\83t\83@\83C\83\8b\96¼\81j
@@ -1106,6 +1135,7 @@ begin
                        FResRange := ini.ReadInteger( 'Thread', 'ResRange', Ord( grrAll ) );
                FResRangeHold := ini.ReadBool( 'Thread', 'ResRangeHold', False );
         FHeadResCount := ini.ReadInteger('Thread', 'HeadResCount', 1);
+        FResRangeExCount:= ini.ReadInteger('Thread','ResRangeExCount', 100);
                // \83X\83\8c\83b\83h\88ê\97\97\95\\8e¦\94Í\88Í
                FThreadRange := TGikoThreadRange( ini.ReadInteger('ThreadList', 'ThreadRange', Ord( gtrAll )) );
                //\94ñ\83A\83N\83e\83B\83u\8e\9e\83\8c\83X\83|\83b\83v\83A\83b\83v\95\\8e¦
@@ -1150,6 +1180,11 @@ begin
         if (FPopupPosition = gppCenter) then begin
             FPopupPosition := gppTop;
         end;
+        FRespopupDeltaX := ini.ReadInteger('Browser', 'RespopupDelteX', 5);
+        FRespopupDeltaY := ini.ReadInteger('Browser', 'RespopupDelteY', 5);
+        FRespopupWait   := ini.ReadInteger('Browser', 'RespopupWait', 1000);
+        FRespopupMailTo := ini.ReadBool('Browser', 'RespopupMailTo', true);
+
                //\83A\83h\83\8c\83X\83o\81[
                FURLDisplay := ini.ReadBool('AddressBar', 'URLDisplay', False);
                FAddressBarTabStop := ini.ReadBool('AddressBar', 'TabStop', True);
@@ -1190,13 +1225,17 @@ begin
 
                //\83T\83E\83\93\83h
                if Exists then begin
+            SetCurrentDir(ExtractFilePath(Application.ExeName));
                        for i := 0 to GetSoundCount - 1 do begin
                                SoundFileName[i] := ini.ReadString('Sound', SoundName[i], '');
-                               if not FileExists(SoundFileName[i]) then
-                                       SoundFileName[i] := '';
+                // \91\8a\91Î\8eQ\8fÆ\91Î\8dô
+                // \83t\83@\83C\83\8b\82Ì\91\8dÝ\83`\83F\83b\83N
+                if not FileExists(ExpandFileName(SoundFileName[i])) then begin
+                    SoundFileName[i] := '';
+                end;
                        end;
                end else begin
-                       s := GetAppDir + '\sound\';
+                       s := 'Sound\';
                        SoundFileName[0] := s + '\8eæ\93¾\90¬\8c÷.wav';
                        SoundFileName[1] := s + '\8eæ\93¾\90¬\8c÷(\8d·\95ª).wav';
                        SoundFileName[2] := s + '\96¢\8dX\90V.wav';
@@ -1237,6 +1276,7 @@ begin
                // \83G\83f\83B\83^
                FSpaceToNBSP    := ini.ReadBool( 'Editor', 'SpaceToNBSP', False );
                FAmpToCharRef   := ini.ReadBool( 'Editor', 'AmpToCharRef', False );
+        FUseGobakuCheck := ini.ReadBool( 'Editor', 'UseGobakuCheck', True );
 
                //Tab\8e©\93®\95Û\91\81A\93Ç\82Ý\8d\9e\82Ý
                FTabAutoLoadSave    := ini.ReadBool('TabAuto', 'TabAutoLoadSave', False);
@@ -1298,6 +1338,17 @@ begin
         FExtList := ini.ReadString('Function', 'ExtList', '*.gif;*.jpg;*.jpeg;*.png;*.zip;*.rar');
 
         FCheckDatFile := ini.ReadBool('ThreadList', 'CheckDatFile', True);
+        FLimitResCountMessage := ini.ReadBool('Thread', 'LimitResCountMessage', True);
+
+
+
+        // \83M\83R\83i\83r\8dX\90V\82Å\97\98\97p\82µ\82½\83C\83\93\83X\83g\81[\83\89\82Ì\8dí\8f\9c
+        s := ini.ReadString('Update', 'Remove0', '');
+        if (FileExists(s)) then begin
+            SysUtils.DeleteFile(s);
+            // \8dí\8f\9c\82É\8e¸\94s\82µ\82Ä\82à\96³\8e\8b\82·\82é
+            ini.DeleteKey('Update', 'Remove0');
+        end;
 
                ini.UpdateFile;
        finally
@@ -1488,6 +1539,7 @@ begin
                ini.WriteInteger('Thread', 'ResRange', FResRange);
                ini.WriteBool('Thread', 'ResRangeHold', FResRangeHold);
         ini.WriteInteger('Thread', 'HeadResCount', FHeadResCount);
+        ini.WriteInteger('Thread','ResRangeExCount', FResRangeExCount);
                // \83X\83\8c\83b\83h\88ê\97\97\95\\8e¦\94Í\88Í
                ini.WriteInteger('ThreadList', 'ThreadRange', Ord( FThreadRange ));
                //\83\8d\83O\8dí\8f\9c\8am\94F
@@ -1523,7 +1575,11 @@ begin
 
                //\83|\83b\83v\83A\83b\83v\88Ê\92u
                ini.WriteInteger('Browser', 'PopupPosition', Ord(FPopupPosition));
-
+        ini.WriteInteger('Browser', 'RespopupDelteX', FRespopupDeltaX);
+        ini.WriteInteger('Browser', 'RespopupDelteY', FRespopupDeltaY);
+        ini.WriteInteger('Browser', 'RespopupWait', FRespopupWait);
+        ini.WriteBool('Browser', 'RespopupMailTo', FRespopupMailTo);
+        
                //\83A\83h\83\8c\83X\83o\81[
                ini.WriteBool('AddressBar', 'URLDisplay', FURLDisplay);
                ini.WriteBool('AddressBar', 'TabStop', FAddressBarTabStop);
@@ -1639,10 +1695,11 @@ begin
                // \83G\83f\83B\83^
                ini.WriteBool( 'Editor', 'SpaceToNBSP', FSpaceToNBSP );
                ini.WriteBool( 'Editor', 'AmpToCharRef', FAmpToCharRef );
+        ini.WriteBool( 'Editor', 'UseGobakuCheck', FUseGobakuCheck );
 
                 //\83^\83u\8e©\93®\95Û\91
                ini.WriteBool('TabAuto', 'TabAutoLoadSave', FTabAutoLoadSave);
-        ini.WriteString('Thread', 'LastCloseTabURL', FLastCloseTabURL); 
+        ini.WriteString('Thread', 'LastCloseTabURL', FLastCloseTabURL);
                 //\8fÚ\8d×\90Ý\92è
                ini.WriteInteger('OptionDialog', 'KuroutTabIndex', FKuroutSettingTabIndex);
 
@@ -1682,6 +1739,8 @@ begin
         ini.WriteInteger('Function', 'SentIniFileSize', FSentIniFileSize);
         ini.WriteString('Function', 'ExtList', FExtList);
         ini.WriteBool('ThreadList', 'CheckDatFile', FCheckDatFile);
+        ini.WriteBool('Thread', 'LimitResCountMessage', FLimitResCountMessage);
+
                ini.UpdateFile;
        finally
                ini.Free;
@@ -1840,7 +1899,8 @@ var
 begin
        for i := 0 to GetSoundCount - 1 do begin
                if SoundName[i] = Name then begin
-                       Result := SoundFileName[i];
+            SysUtils.SetCurrentDir(GetAppDir);
+                       Result := ExpandFileName(SoundFileName[i]);
                        Exit;
                end;
        end;
@@ -2138,6 +2198,10 @@ function TSetting.GetReplaceFileName: String;
 begin
     Result := GetConfigDir + REPLACE_FILE_NAME;
 end;
+function TSetting.GetExtprevieFileName: String;
+begin
+    Result := GetConfigDir + EXT_PREVIEW_FILE_NAME;
+end;
 procedure TSetting.SetMoveHistorySize(AVal : Integer);
 begin
     if (AVal > 0) then begin