ギコナビ
Revisão | 82842463c45da54e60bf47153d4a40673fce23be (tree) |
---|---|
Hora | 2007-08-19 18:29:33 |
Autor | cvs2git <cvs2git> |
Commiter | cvs2git |
This commit was manufactured by cvs2svn to create tag 'v1_57_0_725'.
@@ -115,6 +115,7 @@ type | ||
115 | 115 | //-- |
116 | 116 | function TreatSyria(AString: string): string; |
117 | 117 | //-- |
118 | + function AddToken(AString: string; Invisible: Boolean): Boolean; | |
118 | 119 | end; |
119 | 120 | var |
120 | 121 | Abon1 :TAbon; |
@@ -905,6 +906,32 @@ begin | ||
905 | 906 | Result := Result + AString; |
906 | 907 | end; |
907 | 908 | |
909 | +// NG[ht@CÉÇÁ ÇÁ³ê½êATrueª©¦é | |
910 | +function TAbon.AddToken(AString: string; Invisible: Boolean): Boolean; | |
911 | +var | |
912 | + bufStringList : TStringList; | |
913 | + ngword: String; | |
914 | +begin | |
915 | + Result := False; | |
916 | + if FileExists(GetNGwordpath) then begin | |
917 | + bufStringList := TStringList.Create; | |
918 | + try | |
919 | + bufStringList.LoadFromFile(GetNGwordpath); | |
920 | + if (Invisible) then begin | |
921 | + ngword := #9 + AString; | |
922 | + end else begin | |
923 | + ngword := AString; | |
924 | + end; | |
925 | + if (bufStringList.IndexOf(ngword) = -1) then begin | |
926 | + bufStringList.Add(ngword); | |
927 | + bufStringList.SaveToFile(GetNGwordpath); | |
928 | + Result := True; | |
929 | + end; | |
930 | + finally | |
931 | + bufStringList.Free; | |
932 | + end; | |
933 | + end; | |
934 | +end; | |
908 | 935 | |
909 | 936 | |
910 | 937 | end. |
@@ -1777,9 +1777,6 @@ begin | ||
1777 | 1777 | end; |
1778 | 1778 | |
1779 | 1779 | function TThreadItem.GetCreateDate: TDateTime; |
1780 | -var | |
1781 | - unixtime: Int64; | |
1782 | - tmp: string; | |
1783 | 1780 | begin |
1784 | 1781 | // t@C¼©çXì¬úðßé |
1785 | 1782 | try |
@@ -1787,18 +1784,7 @@ begin | ||
1787 | 1784 | Result := ZERO_DATE |
1788 | 1785 | else begin |
1789 | 1786 | // Ot@CÌg£qð͸µ½à̪Xì¬ú |
1790 | - tmp := ChangeFileExt(FFileName, ''); | |
1791 | - if AnsiPos('_', tmp) <> 0 then | |
1792 | - if AnsiPos('_', tmp) > 9 then | |
1793 | - tmp := Copy(tmp, 1, AnsiPos('_', tmp)-1) | |
1794 | - else | |
1795 | - Delete(tmp, AnsiPos('_', tmp), 1); | |
1796 | - | |
1797 | - if ( Length(tmp) = 9) and ( tmp[1] = '0' ) then | |
1798 | - Insert('1', tmp, 1); | |
1799 | - | |
1800 | - unixtime := StrToInt64Def(tmp, ZERO_DATE); | |
1801 | - Result := UnixToDateTime(unixtime) + OffsetFromUTC; | |
1787 | + Result := GikoSys.GetCreateDateFromName(FFileName); | |
1802 | 1788 | if GikoSys.Setting.FutureThread then begin |
1803 | 1789 | if CompareDateTime(Result, Now) = 1 then |
1804 | 1790 | Result := ZERO_DATE; |
@@ -8419,6 +8419,17 @@ object GikoForm: TGikoForm | ||
8419 | 8419 | object N71: TMenuItem |
8420 | 8420 | Action = GikoDM.IndividualAbonID0Action |
8421 | 8421 | end |
8422 | + object N82: TMenuItem | |
8423 | + Caption = '-' | |
8424 | + end | |
8425 | + object IDNG1: TMenuItem | |
8426 | + Action = GikoDM.AddIDtoNGWord1Action | |
8427 | + Caption = 'NG'#12527#12540#12489#12395#36861#21152 | |
8428 | + end | |
8429 | + object IDNG2: TMenuItem | |
8430 | + Action = GikoDM.AddIDtoNGWord0Action | |
8431 | + Caption = 'NG'#12527#12540#12489#12395#36861#21152'('#36879#26126')' | |
8432 | + end | |
8422 | 8433 | end |
8423 | 8434 | object N52: TMenuItem |
8424 | 8435 | Caption = #20491#21029#12354#12412#65374#12435#35299#38500 |
@@ -419,6 +419,9 @@ type | ||
419 | 419 | N80: TMenuItem; |
420 | 420 | SameBoardThreadItem: TMenuItem; |
421 | 421 | N81: TMenuItem; |
422 | + N82: TMenuItem; | |
423 | + IDNG1: TMenuItem; | |
424 | + IDNG2: TMenuItem; | |
422 | 425 | procedure FormCreate(Sender: TObject); |
423 | 426 | procedure FormDestroy(Sender: TObject); |
424 | 427 | procedure BrowserStatusTextChange(Sender: TObject; |
@@ -686,6 +689,10 @@ type | ||
686 | 689 | procedure SameBoardThreadSubItemOnClick(Sender: TObject); |
687 | 690 | //! |bvAbvuEUì¬ |
688 | 691 | procedure CreateResPopupBrowser; |
692 | + //! D&Dðó¯æé | |
693 | + procedure WMDropFiles(var Msg: TWMDropFiles); Message WM_DropFiles; | |
694 | + //! t@C`FbN | |
695 | + function isValidFile(FileName: String) : boolean; | |
689 | 696 | protected |
690 | 697 | procedure CreateParams(var Params: TCreateParams); override; |
691 | 698 | procedure WndProc(var Message: TMessage); override; |
@@ -756,6 +763,8 @@ type | ||
756 | 763 | procedure IndividualAbonID(Atype : Integer); |
757 | 764 | //±ÌX Ú`ñ |
758 | 765 | procedure IndividualAbon(Atag, Atype : Integer); |
766 | + //¯êIDðNG[hÉo^ | |
767 | + procedure AddIDtoNGWord(invisible : boolean); | |
759 | 768 | //uEUÌÄ`æ true:SÄÌ^u false:ANeBuÈ^uÌÝ |
760 | 769 | procedure RepaintAllTabsBrowser(); |
761 | 770 | //No[Ýè |
@@ -1312,6 +1321,8 @@ begin | ||
1312 | 1321 | |
1313 | 1322 | //u·Ýèt@CÌÇÝÝ |
1314 | 1323 | ReplaceDM.LoadFromFile(GikoSys.GetReplaceFileName); |
1324 | + // D&Dðó¯æé | |
1325 | + DragAcceptFiles(Self.Handle, True); | |
1315 | 1326 | end; |
1316 | 1327 | |
1317 | 1328 | // CoolBar ÌÝèðÏÉÛ¶ |
@@ -1467,6 +1478,13 @@ begin | ||
1467 | 1478 | GikoDM.TabsOpenAction.Execute; |
1468 | 1479 | GikoDM.TabsOpenAction.Tag := 0; |
1469 | 1480 | if (GikoSys.Setting.LastCloseTabURL <> '') then begin |
1481 | + PostMessage( Handle, USER_DOCUMENTCOMPLETE, Integer( FActiveContent.Browser ), 0 ); | |
1482 | + if ( FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin | |
1483 | + while (FActiveContent.Browser.ReadyState <> READYSTATE_COMPLETE) and | |
1484 | + (FActiveContent.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin | |
1485 | + Application.ProcessMessages; | |
1486 | + end; | |
1487 | + end; | |
1470 | 1488 | item := BBSsFindThreadFromURL( GikoSys.Setting.LastCloseTabURL ); |
1471 | 1489 | if (item <> nil) and (item.IsLogFile) then begin |
1472 | 1490 | OpenThreadItem(item, item.URL); |
@@ -2740,7 +2758,8 @@ var | ||
2740 | 2758 | begin |
2741 | 2759 | Thread := inThread; |
2742 | 2760 | idx := BrowserTab.TabIndex; |
2743 | - if (FActiveContent <> nil) and | |
2761 | + if (not FStartUp) and | |
2762 | + (FActiveContent <> nil) and | |
2744 | 2763 | (FActiveContent.Thread <> Thread.Thread) and |
2745 | 2764 | (FActiveContent.Browser <> nil) and |
2746 | 2765 | (Assigned(FActiveContent.Browser.Document)) then begin |
@@ -2777,6 +2796,12 @@ begin | ||
2777 | 2796 | ThreadTitle := Thread.Thread.Title; |
2778 | 2797 | ThreadPTitle := Thread.Thread.ParentBoard.Title; |
2779 | 2798 | //ThreadScrollTop := Thread.Thread.ScrollTop; |
2799 | + if Thread.Thread.IsLogFile then begin | |
2800 | + if not FileExists(Thread.Thread.GetThreadFileName) then begin | |
2801 | + Thread.Thread.DeleteLogFile; | |
2802 | + end; | |
2803 | + end; | |
2804 | + | |
2780 | 2805 | ThreadIsLog := Thread.Thread.IsLogFile; |
2781 | 2806 | ThreadItem := Thread.Thread; |
2782 | 2807 | ThreadNewArraical := Thread.Thread.NewArrival; |
@@ -6611,7 +6636,7 @@ begin | ||
6611 | 6636 | |
6612 | 6637 | end; |
6613 | 6638 | // ************************************************************************* |
6614 | -//! ¨CÉüèc[Ì}EXAbvCxg | |
6639 | +//! XbhuEUNbNCxg | |
6615 | 6640 | // ************************************************************************* |
6616 | 6641 | function TGikoForm.WebBrowserClick(Sender: TObject): WordBool; |
6617 | 6642 | const |
@@ -6662,7 +6687,9 @@ begin | ||
6662 | 6687 | end; |
6663 | 6688 | count := GikoSys.GetSameIDResCount(AID, FActiveContent.Thread); |
6664 | 6689 | limited := LIMIT; |
6665 | - if count > LIMIT then begin | |
6690 | + if not (GikoSys.Setting.LimitResCountMessage) then begin | |
6691 | + limited := -1; | |
6692 | + end else if (count > LIMIT) then begin | |
6666 | 6693 | if (GikoUtil.MsgBox(Handle, |
6667 | 6694 | IntToStr(LIMIT) + 'ÂÈã èÜ·ªA·×Ä\¦µÜ·©H', |
6668 | 6695 | 'ID|bvAbvx', |
@@ -6955,10 +6982,11 @@ end; | ||
6955 | 6982 | |
6956 | 6983 | procedure TGikoForm.BrowserPanelResize(Sender: TObject); |
6957 | 6984 | begin |
6958 | - if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin | |
6959 | - MoveWindow(FActiveContent.Browser.Handle, 0, 0, BrowserPanel.ClientWidth, BrowserPanel.ClientHeight, false); | |
6960 | - end; | |
6961 | - | |
6985 | + if (FIsMinimize <> mtMinimizing) then begin | |
6986 | + if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin | |
6987 | + MoveWindow(FActiveContent.Browser.Handle, 0, 0, BrowserPanel.ClientWidth, BrowserPanel.ClientHeight, false); | |
6988 | + end; | |
6989 | + end; | |
6962 | 6990 | end; |
6963 | 6991 | procedure TGikoForm.CoolBarResized(Sender: TObject; CoolBar: TCoolBar); |
6964 | 6992 | var |
@@ -7091,6 +7119,60 @@ begin | ||
7091 | 7119 | if ThreadItem <> nil then |
7092 | 7120 | InsertBrowserTab( ThreadItem, True ); |
7093 | 7121 | end; |
7122 | +//¯êIDðNG[hÉo^ | |
7123 | +procedure TGikoForm.AddIDtoNGWord(invisible : boolean); | |
7124 | +var | |
7125 | + ThreadItem : TThreadItem; | |
7126 | + No : Integer; | |
7127 | +{$IFDEF SPAM_FILTER_ENABLED} | |
7128 | + body : TStringList; | |
7129 | + ReadList : TStringList; | |
7130 | + wordCount : TWordCount; | |
7131 | +{$ENDIF} | |
7132 | + id: String; | |
7133 | +begin | |
7134 | + No := KokoPopupMenu.Tag; | |
7135 | + if No = 0 then Exit; | |
7136 | + ThreadItem := GetActiveContent(True); | |
7137 | + if ThreadItem = nil then Exit; | |
7138 | + | |
7139 | + id := GikoSys.GetResID(No, ThreadItem); | |
7140 | + if (id <> '') and (not IsNoValidID(id)) then begin | |
7141 | + if (GikoSys.FAbon.AddToken(id, invisible)) then begin | |
7142 | + GikoSys.FAbon.ReLoadFromNGwordFile; | |
7143 | + FActiveContent.Repaint := True; | |
7144 | + end; | |
7145 | + end else begin | |
7146 | + ShowMessage('IDðæ¾Å«Ü¹ñŵ½B'); | |
7147 | + end; | |
7148 | +{$IFDEF SPAM_FILTER_ENABLED} | |
7149 | + body := TStringList.Create; | |
7150 | + try | |
7151 | + GikoSys.GetSameIDRes(id, ThreadItem, body); | |
7152 | + ReadList := TStringList.Create; | |
7153 | + wordCount := TWordCount.Create; | |
7154 | + try | |
7155 | + // XpÉÝè | |
7156 | + ReadList.LoadFromFile( ThreadItem.GetThreadFileName ); | |
7157 | + for i := 0 to body.Count - 1 do begin | |
7158 | + GikoSys.SpamCountWord( ReadList[ i ], wordCount ); | |
7159 | + GikoSys.SpamForget( wordCount, False ); // nðð | |
7160 | + GikoSys.SpamLearn( wordCount, True ); // XpÉÝè | |
7161 | + end; | |
7162 | + finally | |
7163 | + wordCount.Free; | |
7164 | + ReadList.Free; | |
7165 | + end; | |
7166 | + finally | |
7167 | + body.Free; | |
7168 | + end; | |
7169 | +{$ENDIF} | |
7170 | + if (FActiveContent.Repaint) then begin | |
7171 | + ThreadItem.ScrollTop := OleVariant(IHTMLDocument2(FActiveContent.Browser.Document)).Body.ScrollTop; | |
7172 | + if ThreadItem <> nil then | |
7173 | + InsertBrowserTab( ThreadItem, True ); | |
7174 | + end; | |
7175 | +end; | |
7094 | 7176 | |
7095 | 7177 | //¯êIDÌ Ú`ñ |
7096 | 7178 | procedure TGikoForm.IndividualAbonID(Atype : Integer); |
@@ -7582,6 +7664,93 @@ begin | ||
7582 | 7664 | FResPopupBrowser := TResPopupBrowser.Create(BrowserPanel); |
7583 | 7665 | end; |
7584 | 7666 | end; |
7667 | +//! O©çÌD&D | |
7668 | +procedure TGikoForm.WMDropFiles(var Msg: TWMDropFiles); | |
7669 | +var | |
7670 | + FileName: Array[0..MAX_PATH] of Char; | |
7671 | + Cnt, K: Integer; | |
7672 | + Board: TBoard; | |
7673 | + LogFolder: String; | |
7674 | + datList: TStringList; | |
7675 | +begin | |
7676 | + // \¦µÄ¢éÌÂÌÆ«ÈOÍÛ | |
7677 | + if GetActiveList is TBoard then begin | |
7678 | + Board := TBoard(GetActiveList); | |
7679 | + if MsgBox(Handle, Board.Title | |
7680 | + + ' ÂÉüêÄ¢¢Å·©H', 'MRir', MB_YESNO or MB_ICONQUESTION) = IDYES then begin | |
7681 | + // ÂÌÍAOtH_ÉRs[µÄÍ®êOÎƯ¶H | |
7682 | + datList := TStringList.Create; | |
7683 | + try | |
7684 | + Cnt := DragQueryFile(Msg.Drop, $FFFFFFFF, FileName, SizeOf(FileName)); | |
7685 | + for K := 0 to Cnt - 1 do begin | |
7686 | + DragQueryFile(Msg.Drop, K, FileName, SizeOf(FileName)); | |
7687 | + {FileNameÉdrop³ê½t@C¼ªüÁÄ¢éÌÅA±±Å½ç©Ìð·éB½Æ¦ÎÌs} | |
7688 | + // t@CÌ`FbN | |
7689 | + if (isValidFile(FileName)) then begin | |
7690 | + LogFolder := ExtractFilePath(Board.FilePath); | |
7691 | + if (FileExists( LogFolder + ExtractFileName(FileName))) then begin | |
7692 | + GikoUtil.MsgBox(Handle, LogFolder + 'É' + ExtractFileName(FileName) + 'ªùɶݵܷB', 'G[', MB_ICONSTOP or MB_OK); | |
7693 | + end else begin | |
7694 | + if (not DirectoryExists(LogFolder)) then begin | |
7695 | + if (not GikoSys.ForceDirectoriesEx(LogFolder) ) then begin | |
7696 | + GikoUtil.MsgBox(Handle, LogFolder + '̶¬É¸sµÜµ½B', 'G[', MB_ICONSTOP or MB_OK); | |
7697 | + end; | |
7698 | + end; | |
7699 | + if (not Windows.CopyFile(FileName, PChar(LogFolder + ExtractFileName(FileName)), true)) then begin | |
7700 | + GikoUtil.MsgBox(Handle, FileName + 'ÌRs[ɸsµÜµ½B', 'G[', MB_ICONSTOP or MB_OK); | |
7701 | + end else begin | |
7702 | + datList.Add(ExtractFileName(FileName)); | |
7703 | + end; | |
7704 | + end; | |
7705 | + end; | |
7706 | + end; | |
7707 | + DragFinish(Msg.Drop); | |
7708 | + if (datList.Count > 0) then begin | |
7709 | + GikoSys.AddOutofIndexDat(Board, datList, False); | |
7710 | + ShowMessage(IntToStr(datList.Count) + 'ÂÌdatt@CªRs[³êܵ½B' ); | |
7711 | + if GikoForm.TreeView.Visible then | |
7712 | + GikoForm.TreeView.Refresh; | |
7713 | + if GikoForm.ListView.Visible then | |
7714 | + GikoForm.ListView.Refresh; | |
7715 | + end else begin | |
7716 | + ShowMessage('êÂàRs[³êܹñŵ½B' ); | |
7717 | + end; | |
7718 | + finally | |
7719 | + datList.Free; | |
7720 | + end; | |
7721 | + | |
7722 | + end; | |
7723 | + end else begin | |
7724 | + ShowMessage('Âð\¦µÄ¾³¢B'); | |
7725 | + end; | |
7726 | +end; | |
7727 | +//! t@C`FbN | |
7728 | +function TGikoForm.isValidFile(FileName: String) : boolean; | |
7729 | +var | |
7730 | + dt: TDateTime; | |
7731 | +begin | |
7732 | + Result := True; | |
7733 | + // ¶Ý·é©Ag£qdatAt@C¼ | |
7734 | + if ( not FileExists(FileName) ) then begin | |
7735 | + Result := False; | |
7736 | + GikoUtil.MsgBox(Handle, FileName + 'ͶݵܹñB', 'G[', MB_ICONSTOP or MB_OK); | |
7737 | + end else if (ExtractFileExt(ExtractFileName(FileName)) <> '.dat' ) then begin | |
7738 | + Result := False; | |
7739 | + GikoUtil.MsgBox(Handle, ExtractFileName(FileName) + 'Ìg£qª".dat"Å èܹñB', 'G[', MB_ICONSTOP or MB_OK); | |
7740 | + end else begin | |
7741 | + // Ot@CÌg£qð͸µ½à̪Xì¬ú | |
7742 | + try | |
7743 | + dt := GikoSys.GetCreateDateFromName(FileName); | |
7744 | + if ((UnixToDateTime(ZERO_DATE) + OffsetFromUTC) = dt) then begin | |
7745 | + Result := False; | |
7746 | + GikoUtil.MsgBox(Handle, ExtractFileName(FileName) + 'Ìt@C¼ªs³Å·B', 'G[', MB_ICONSTOP or MB_OK); | |
7747 | + end; | |
7748 | + except | |
7749 | + Result := False; | |
7750 | + GikoUtil.MsgBox(Handle, ExtractFileName(FileName) + 'Ìt@C¼ªs³Å·B', 'G[', MB_ICONSTOP or MB_OK); | |
7751 | + end; | |
7752 | + end; | |
7753 | +end; | |
7585 | 7754 | |
7586 | 7755 | initialization |
7587 | 7756 | OleInitialize(nil); |
@@ -1344,6 +1344,18 @@ object GikoDM: TGikoDM | ||
1344 | 1344 | OnExecute = NewLinkToClipboardActionExecute |
1345 | 1345 | OnUpdate = DependActiveCntentActionUpdate |
1346 | 1346 | end |
1347 | + object AddIDtoNGWord0Action: TAction | |
1348 | + Category = #12502#12521#12454#12470#12509#12483#12503#12450#12483#12503 | |
1349 | + Caption = 'ID'#12434'NG'#12527#12540#12489#12395#36861#21152'('#36879#26126')' | |
1350 | + Hint = #12524#12473#12398'ID'#12434'NG'#12527#12540#12489#12501#12449#12452#12523#12395#36861#21152#12377#12427#65288#36879#26126#65289 | |
1351 | + OnExecute = AddIDtoNGWord0ActionExecute | |
1352 | + end | |
1353 | + object AddIDtoNGWord1Action: TAction | |
1354 | + Category = #12502#12521#12454#12470#12509#12483#12503#12450#12483#12503 | |
1355 | + Caption = 'ID'#12434'NG'#12527#12540#12489#12395#36861#21152 | |
1356 | + Hint = 'ID'#12434'NG'#12527#12540#12489#12501#12449#12452#12523#12395#36861#21152#12377#12427 | |
1357 | + OnExecute = AddIDtoNGWord1ActionExecute | |
1358 | + end | |
1347 | 1359 | end |
1348 | 1360 | object ToobarImageList: TImageList |
1349 | 1361 | Left = 44 |
@@ -237,6 +237,8 @@ type | ||
237 | 237 | ScrollPageUpAction: TAction; |
238 | 238 | AllLinkToClipboardAction: TAction; |
239 | 239 | NewLinkToClipboardAction: TAction; |
240 | + AddIDtoNGWord0Action: TAction; | |
241 | + AddIDtoNGWord1Action: TAction; | |
240 | 242 | procedure EditNGActionExecute(Sender: TObject); |
241 | 243 | procedure ReloadActionExecute(Sender: TObject); |
242 | 244 | procedure GoFowardActionExecute(Sender: TObject); |
@@ -444,6 +446,8 @@ type | ||
444 | 446 | procedure ScrollPageUpActionExecute(Sender: TObject); |
445 | 447 | procedure AllLinkToClipboardActionExecute(Sender: TObject); |
446 | 448 | procedure NewLinkToClipboardActionExecute(Sender: TObject); |
449 | + procedure AddIDtoNGWord0ActionExecute(Sender: TObject); | |
450 | + procedure AddIDtoNGWord1ActionExecute(Sender: TObject); | |
447 | 451 | private |
448 | 452 | { Private é¾ } |
449 | 453 | procedure ClearResFilter; |
@@ -2261,9 +2265,11 @@ begin | ||
2261 | 2265 | if item <> nil then |
2262 | 2266 | GikoForm.InsertBrowserTab( item, false ); |
2263 | 2267 | end; |
2264 | - //ÅÌPÉÝè AhXÌÝè̽ßÌJÄÑ | |
2265 | - if GikoForm.BrowserTab.Tabs.Count > 0 then begin | |
2266 | - GikoForm.BrowserTab.OnChange(nil); | |
2268 | + //ÅÌPÉÝè | |
2269 | + if (GikoSys.Setting.URLDisplay) and | |
2270 | + (GikoForm.BrowserTab.Tabs.Count > 0) then begin | |
2271 | + GikoForm.AddressComboBox.Text := | |
2272 | + TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL; | |
2267 | 2273 | end; |
2268 | 2274 | end; |
2269 | 2275 | finally |
@@ -2408,7 +2414,9 @@ begin | ||
2408 | 2414 | if ThreadItem = nil then Exit; |
2409 | 2415 | count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread); |
2410 | 2416 | limited := LIMIT; |
2411 | - if count > LIMIT then begin | |
2417 | + if not (GikoSys.Setting.LimitResCountMessage) then begin | |
2418 | + limited := -1; | |
2419 | + end else if count > LIMIT then begin | |
2412 | 2420 | if ( GikoUtil.MsgBox(GikoForm.Handle, |
2413 | 2421 | IntToStr(LIMIT) + 'ÂÈã èÜ·ªA·×Ä\¦µÜ·©H', |
2414 | 2422 | 'ID|bvAbvx', |
@@ -4434,6 +4442,16 @@ begin | ||
4434 | 4442 | end; |
4435 | 4443 | |
4436 | 4444 | |
4445 | +//! ±ÌXÌIDðNG[hÉÇÁ·éi§¾) | |
4446 | +procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject); | |
4447 | +begin | |
4448 | + GikoForm.AddIDtoNGWord(true); | |
4449 | +end; | |
4450 | +//! ±ÌXÌIDðNG[hÉÇÁ·é | |
4451 | +procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject); | |
4452 | +begin | |
4453 | + GikoForm.AddIDtoNGWord(false); | |
4454 | +end; | |
4437 | 4455 | |
4438 | 4456 | end. |
4439 | 4457 |
@@ -116,8 +116,6 @@ type | ||
116 | 116 | function ChooseString(const Text, Separator: string; Index: integer): string; |
117 | 117 | //! êt@C©çÌ |
118 | 118 | procedure RestoreThreadData(Board: TBoard); |
119 | - //! CfbNXÉÈ¢datiÍ®êdatjÌÇÁ | |
120 | - procedure AddOutofIndexDat(Board: TBoard; DatList: TStringList); | |
121 | 119 | public |
122 | 120 | { Public é¾ } |
123 | 121 | FAbon : TAbon; |
@@ -129,13 +127,10 @@ type | ||
129 | 127 | property ResRange : Longint read FResRange write FResRange; |
130 | 128 | //! o[Wîñ |
131 | 129 | property Version : String read FVersion; |
132 | -// function MsgBox(Msg: string; Title: string; Flags: Longint): integer; overload; | |
133 | -// function MsgBox(Handle: THandle; Msg: string; Title: string; Flags: Longint): integer; overload; | |
134 | 130 | function IsNumeric(s: string): boolean; |
135 | 131 | function IsFloat(s: string): boolean; |
136 | 132 | function DirectoryExistsEx(const Name: string): Boolean; |
137 | 133 | function ForceDirectoriesEx(Dir: string): Boolean; |
138 | -// function GetVersion: string; | |
139 | 134 | |
140 | 135 | function GetBoardFileName: string; |
141 | 136 | function GetCustomBoardFileName: string; |
@@ -224,7 +219,7 @@ type | ||
224 | 219 | procedure GetSameIDRes(AIDNum : Integer; ThreadItem: TThreadItem;var body: TStringList); overload; |
225 | 220 | function GetSameIDResCount(const AID : string; ThreadItem: TThreadItem):Integer; overload; |
226 | 221 | function GetSameIDResCount(AIDNum : Integer; ThreadItem: TThreadItem):Integer; overload; |
227 | - | |
222 | + function GetResID(AIDNum: Integer; ThreadItem: TThreadItem): String; | |
228 | 223 | //! PêðÍ |
229 | 224 | procedure SpamCountWord( const text : string; wordCount : TWordCount ); |
230 | 225 | //! wKNA |
@@ -257,6 +252,10 @@ type | ||
257 | 252 | function GetOEIndentChar : string; |
258 | 253 | //! u·Ýèt@Cæ¾ |
259 | 254 | function GetReplaceFileName: String; |
255 | + //! CfbNXÉÈ¢datiÍ®êdatjÌÇÁ | |
256 | + procedure AddOutofIndexDat(Board: TBoard; DatList: TStringList; AllCreate: boolean = True); | |
257 | + //! t@C¼©çÌXbhì¬úÌæ¾ | |
258 | + function GetCreateDateFromName(FileName: String): TDateTime; | |
260 | 259 | end; |
261 | 260 | |
262 | 261 | var |
@@ -266,7 +265,7 @@ const | ||
266 | 265 | ZERO_DATE: Integer = 25569; |
267 | 266 | BETA_VERSION_NAME_E = 'beta'; |
268 | 267 | BETA_VERSION_NAME_J = 'ÊÞÀ'; |
269 | - BETA_VERSION = 56; | |
268 | + BETA_VERSION = 57; | |
270 | 269 | BETA_VERSION_BUILD = ''; //!< debugÅÈÇ |
271 | 270 | APP_NAME = 'gikoNavi'; |
272 | 271 | BE_PHP_URL = 'http://be.2ch.net/test/p.php?i='; |
@@ -572,11 +571,18 @@ var | ||
572 | 571 | usePlugIn : Boolean; |
573 | 572 | islog : Boolean; |
574 | 573 | urlHead: String; |
574 | + datFileCheck: Boolean; | |
575 | 575 | {* |
576 | 576 | FavoThreadItem : TFavoriteThreadItem; |
577 | 577 | Node: TTreeNode; |
578 | 578 | *} |
579 | +{$IFDEF DEBUG} | |
580 | + st, rt: Cardinal; | |
581 | +{$ENDIF} | |
579 | 582 | begin |
583 | +{$IFDEF DEBUG} | |
584 | + st := GetTickCount; | |
585 | +{$ENDIF} | |
580 | 586 | if Board.IsThreadDatRead then |
581 | 587 | Exit; |
582 | 588 | Board.Clear; |
@@ -592,12 +598,16 @@ begin | ||
592 | 598 | |
593 | 599 | FileName := Board.GetFolderIndexFileName; |
594 | 600 | |
595 | - FileList := TStringList.Create; | |
596 | - FileList.Sorted := True; | |
597 | - FileList.BeginUpdate; | |
598 | - //IsLogFilepDATt@CXg | |
599 | - GetFileList(ExtractFileDir(Board.GetFolderIndexFileName), '*.dat', FileList, False); | |
600 | - FileList.EndUpdate; | |
601 | + // | |
602 | + datFileCheck := (Setting.CheckDatFile) or (not FileExists(FileName)); | |
603 | + if (datFileCheck) then begin | |
604 | + FileList := TStringList.Create; | |
605 | + FileList.Sorted := True; | |
606 | + FileList.BeginUpdate; | |
607 | + //IsLogFilepDATt@CXg | |
608 | + GetFileList(ExtractFileDir(Board.GetFolderIndexFileName), '*.dat', FileList, False); | |
609 | + FileList.EndUpdate; | |
610 | + end; | |
601 | 611 | |
602 | 612 | // d¡ðh® |
603 | 613 | Board.BeginUpdate; |
@@ -609,7 +619,11 @@ begin | ||
609 | 619 | //QsÚ©çiPsÚÍo[Wj |
610 | 620 | for i := sl.Count - 1 downto 1 do begin |
611 | 621 | Rec := ParseIndexLine(sl[i]); |
612 | - islog := FileList.Find( Rec.FFileName, Index ); | |
622 | + if (datFileCheck) then begin | |
623 | + islog := FileList.Find( Rec.FFileName, Index ); | |
624 | + end else begin | |
625 | + islog := (Rec.FSize <> 0) and (Rec.FCount <> 0); | |
626 | + end; | |
613 | 627 | if usePlugIn then |
614 | 628 | ThreadItem := TThreadItem.Create( |
615 | 629 | Board.BoardPlugIn, |
@@ -636,7 +650,7 @@ begin | ||
636 | 650 | end; |
637 | 651 | |
638 | 652 | ThreadItem.BeginUpdate; |
639 | - if islog then | |
653 | + if (datFileCheck) and (islog) then | |
640 | 654 | FileList.Delete( Index ); |
641 | 655 | |
642 | 656 | ThreadItem.No := Rec.FNo; |
@@ -671,50 +685,75 @@ begin | ||
671 | 685 | if UnRead <> Board.UnRead then |
672 | 686 | Board.UnRead := UnRead; |
673 | 687 | |
674 | - //CfbNXɳ©Á½OðÇÁi êCfbNXÎj | |
675 | - AddOutofIndexDat(Board, FileList); | |
688 | + if (datFileCheck) then begin | |
689 | + //CfbNXɳ©Á½OðÇÁi êCfbNXÎj | |
690 | + AddOutofIndexDat(Board, FileList); | |
691 | + end; | |
676 | 692 | Board.EndUpdate; |
677 | 693 | |
678 | 694 | //OñÙíI¹`FbN |
679 | 695 | RestoreThreadData( Board ); |
680 | 696 | finally |
681 | 697 | sl.Free; |
682 | - FileList.Free; | |
698 | + if (datFileCheck) then begin | |
699 | + FileList.Free; | |
700 | + end; | |
683 | 701 | Board.Sorted := False; |
684 | 702 | end; |
685 | 703 | Board.IsThreadDatRead := True; |
704 | +{$IFDEF DEBUG} | |
705 | + rt := GetTickCount - st; | |
706 | + Writeln('Read Done.' + IntToStr(rt) + ' ms'); | |
707 | +{$ENDIF} | |
686 | 708 | end; |
687 | 709 | {! |
688 | 710 | \brief CfbNXÉÈ¢datiÍ®êdatjÌÇÁ |
689 | 711 | \param Board ÇÁ·é |
690 | 712 | \param DatList datt@C¼ |
691 | 713 | } |
692 | -procedure TGikoSys.AddOutofIndexDat(Board: TBoard; DatList: TStringList); | |
714 | +procedure TGikoSys.AddOutofIndexDat(Board: TBoard; DatList: TStringList; AllCreate: Boolean = True); | |
693 | 715 | var |
694 | 716 | i : Integer; |
695 | 717 | Boardpath,FileName : String; |
696 | 718 | ResRec: TResRec; |
697 | 719 | ThreadItem: TThreadItem; |
720 | + create: Boolean; | |
698 | 721 | begin |
722 | + create := False; | |
699 | 723 | Boardpath := ExtractFilePath(Board.GetFolderIndexFileName); |
700 | 724 | //CfbNXɳ©Á½OðÇÁi êCfbNXÎj |
701 | 725 | for i := 0 to DatList.Count - 1 do begin |
702 | 726 | FileName := Boardpath + DatList[i]; |
703 | - | |
704 | - //ResRec := DivideStrLine(ReadThreadFile(FileName, 1)); | |
705 | - if Board.IsBoardPlugInAvailable then begin | |
706 | - ThreadItem := TThreadItem.Create( | |
707 | - Board.BoardPlugIn, | |
708 | - Board, | |
709 | - Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), DatList[i] ) ); | |
710 | - THTMLCreate.DivideStrLine(Board.BoardPlugIn.GetDat( DWORD( ThreadItem ), 1 ), @ResRec); | |
711 | - end else begin | |
712 | - ThreadItem := TThreadItem.Create( | |
713 | - nil, | |
714 | - Board, | |
715 | - Get2chBoard2ThreadURL( Board, ChangeFileExt( DatList[i], '' ) ) ); | |
716 | - THTMLCreate.DivideStrLine(ReadThreadFile(FileName, 1), @ResRec); | |
727 | + ThreadItem := nil; | |
728 | + if (not AllCreate) then begin | |
729 | + create := False; | |
730 | + ThreadItem := Board.FindThreadFromFileName(DatList[i]); | |
731 | + if (ThreadItem = nil) then begin | |
732 | + create := True; | |
733 | + end else begin | |
734 | + if Board.IsBoardPlugInAvailable then begin | |
735 | + THTMLCreate.DivideStrLine(Board.BoardPlugIn.GetDat( DWORD( ThreadItem ), 1 ), @ResRec); | |
736 | + end else begin | |
737 | + THTMLCreate.DivideStrLine(ReadThreadFile(FileName, 1), @ResRec); | |
738 | + end; | |
739 | + end; | |
717 | 740 | end; |
741 | + if (ThreadItem = nil) then begin | |
742 | + if Board.IsBoardPlugInAvailable then begin | |
743 | + ThreadItem := TThreadItem.Create( | |
744 | + Board.BoardPlugIn, | |
745 | + Board, | |
746 | + Board.BoardPlugIn.FileName2ThreadURL( DWORD( Board ), DatList[i] ) ); | |
747 | + THTMLCreate.DivideStrLine(Board.BoardPlugIn.GetDat( DWORD( ThreadItem ), 1 ), @ResRec); | |
748 | + end else begin | |
749 | + ThreadItem := TThreadItem.Create( | |
750 | + nil, | |
751 | + Board, | |
752 | + Get2chBoard2ThreadURL( Board, ChangeFileExt( DatList[i], '' ) ) ); | |
753 | + THTMLCreate.DivideStrLine(ReadThreadFile(FileName, 1), @ResRec); | |
754 | + end; | |
755 | + end; | |
756 | + | |
718 | 757 | |
719 | 758 | ThreadItem.BeginUpdate; |
720 | 759 | ThreadItem.FileName := DatList[i]; |
@@ -736,7 +775,9 @@ begin | ||
736 | 775 | ThreadItem.ScrollTop := 0; |
737 | 776 | ThreadItem.AgeSage := gasNone; |
738 | 777 | ThreadItem.EndUpdate; |
739 | - Board.Add(ThreadItem); | |
778 | + if (AllCreate) or (create) then begin | |
779 | + Board.Add(ThreadItem); | |
780 | + end; | |
740 | 781 | end; |
741 | 782 | end; |
742 | 783 | {! |
@@ -2849,12 +2890,27 @@ end; | ||
2849 | 2890 | } |
2850 | 2891 | procedure TGikoSys.GetSameIDRes(AIDNum : Integer; ThreadItem: TThreadItem;var body: TStringList); |
2851 | 2892 | var |
2893 | + AID : String; | |
2894 | +begin | |
2895 | + AID := GetResID(AIDNum, ThreadItem); | |
2896 | + if not IsNoValidID(AID) then begin | |
2897 | + GetSameIDRes(AID, ThreadItem, body); | |
2898 | + end; | |
2899 | +end; | |
2900 | +{! | |
2901 | +\brief e ID æ¾ | |
2902 | +\param AIDNum e XÔ | |
2903 | +\param ThreadItem eXbh | |
2904 | +\param body OUT:eID | |
2905 | +} | |
2906 | +function TGikoSys.GetResID(AIDNum: Integer; ThreadItem: TThreadItem): String; | |
2907 | +var | |
2852 | 2908 | Res: TResRec; |
2853 | 2909 | boardPlugIn : TBoardPlugIn; |
2854 | - AID : String; | |
2855 | 2910 | stList: TStringList; |
2856 | 2911 | i : Integer; |
2857 | 2912 | begin |
2913 | + Result := ''; | |
2858 | 2914 | if (ThreadItem <> nil) and (ThreadItem.IsLogFile) |
2859 | 2915 | and (AIDNum > 0) and (AIDNum <= ThreadItem.Count) then begin |
2860 | 2916 | //if ThreadItem.IsBoardPlugInAvailable then begin |
@@ -2866,21 +2922,21 @@ begin | ||
2866 | 2922 | end else begin |
2867 | 2923 | THTMLCreate.DivideStrLine( ReadThreadFile(ThreadItem.GetThreadFileName, AIDNum), @Res); |
2868 | 2924 | end; |
2869 | - AID := Res.FDateTime; | |
2870 | - if AnsiPos('id', AnsiLowerCase(AID)) > 0 then begin | |
2871 | - AID := Copy(AID, AnsiPos('id', AnsiLowerCase(AID)) - 1, 11); | |
2872 | - if AnsiPos(' be:', AnsiLowerCase(AID)) > 0 then begin | |
2873 | - AID := Copy(AID, 1, AnsiPos(' BE:', AnsiLowerCase(AID)) - 1) | |
2925 | + Result := Res.FDateTime; | |
2926 | + if AnsiPos('id', AnsiLowerCase(Result)) > 0 then begin | |
2927 | + Result := Copy(Result, AnsiPos('id', AnsiLowerCase(Result)) - 1, 11); | |
2928 | + if AnsiPos(' be:', AnsiLowerCase(Result)) > 0 then begin | |
2929 | + Result := Copy(Result, 1, AnsiPos(' BE:', AnsiLowerCase(Result)) - 1) | |
2874 | 2930 | end; |
2875 | 2931 | end else begin |
2876 | 2932 | stlist := TStringList.Create; |
2877 | 2933 | try |
2878 | - stList.DelimitedText := AID; | |
2879 | - AID := ''; | |
2934 | + stList.DelimitedText := Result; | |
2935 | + Result := ''; | |
2880 | 2936 | for i := 0 to stList.Count - 1 do |
2881 | 2937 | if Length(WideString(stList[i])) = 8 then begin |
2882 | 2938 | if NotDateorTimeString(stList[i]) then begin |
2883 | - AID := stList[i]; | |
2939 | + Result := stList[i]; | |
2884 | 2940 | break; |
2885 | 2941 | end; |
2886 | 2942 | end; |
@@ -2888,11 +2944,8 @@ begin | ||
2888 | 2944 | stList.Free; |
2889 | 2945 | end; |
2890 | 2946 | end; |
2891 | - if not IsNoValidID(AID) then | |
2892 | - GetSameIDRes(AID, ThreadItem, body); | |
2893 | 2947 | end; |
2894 | 2948 | end; |
2895 | - | |
2896 | 2949 | {! |
2897 | 2950 | \brief ¯¶e ID ðÂXðJEg |
2898 | 2951 | \param AID ÂlðÁè·ée ID |
@@ -3309,7 +3362,8 @@ begin | ||
3309 | 3362 | ThreadItem.NewReceive := ini.ReadInteger(SECTION, 'NewReceive', 0); |
3310 | 3363 | |
3311 | 3364 | ThreadItem.Size := ini.ReadInteger(SECTION, 'Size', 0); |
3312 | - if(ThreadItem.Size = 0) and (FileExists(ThreadItem.GetThreadFileName)) then begin | |
3365 | + ThreadItem.IsLogFile := FileExists(ThreadItem.GetThreadFileName); | |
3366 | + if(ThreadItem.Size = 0) and (ThreadItem.IsLogFile) then begin | |
3313 | 3367 | try |
3314 | 3368 | ThreadItem.Size := GetFileSize(ThreadItem.GetThreadFileName) - ThreadItem.Count; |
3315 | 3369 | except |
@@ -3399,6 +3453,26 @@ function TGikoSys.GetReplaceFileName: String; | ||
3399 | 3453 | begin |
3400 | 3454 | Result := Setting.GetReplaceFileName; |
3401 | 3455 | end; |
3456 | +//! t@C¼©çÌXbhì¬úÌæ¾ | |
3457 | +function TGikoSys.GetCreateDateFromName(FileName: String): TDateTime; | |
3458 | +var | |
3459 | + tmp : String; | |
3460 | + unixtime: Int64; | |
3461 | +begin | |
3462 | + // Ot@CÌg£qð͸µ½à̪Xì¬ú | |
3463 | + tmp := ChangeFileExt(FileName, ''); | |
3464 | + if AnsiPos('_', tmp) <> 0 then | |
3465 | + if AnsiPos('_', tmp) > 9 then | |
3466 | + tmp := Copy(tmp, 1, AnsiPos('_', tmp)-1) | |
3467 | + else | |
3468 | + Delete(tmp, AnsiPos('_', tmp), 1); | |
3469 | + | |
3470 | + if ( Length(tmp) = 9) and ( tmp[1] = '0' ) then | |
3471 | + Insert('1', tmp, 1); | |
3472 | + | |
3473 | + unixtime := StrToInt64Def(tmp, ZERO_DATE); | |
3474 | + Result := UnixToDateTime(unixtime) + OffsetFromUTC; | |
3475 | +end; | |
3402 | 3476 | |
3403 | 3477 | initialization |
3404 | 3478 | GikoSys := TGikoSys.Create; |
@@ -189,12 +189,19 @@ var | ||
189 | 189 | begin |
190 | 190 | if GikoListView1.Selected <> nil then begin |
191 | 191 | if (ValidateKey(KeyNameEdit.Text, CategoryNameComboBox.Text)) then begin |
192 | - if (not InputAssistDM.IsDupulicate( | |
192 | + resWord := TResistWord(GikoListView1.Selected.Data); | |
193 | + // ÏXOÌL[^JeSƯêàµÍA¼Æd¡³µ | |
194 | + if ((resWord.GetKey = KeyNameEdit.Text) | |
195 | + and (resWord.GetCategory = CategoryNameComboBox.Text)) or | |
196 | + (not InputAssistDM.IsDupulicate( | |
193 | 197 | KeyNameEdit.Text, CategoryNameComboBox.Text) ) then begin |
194 | - resWord := TResistWord(GikoListView1.Selected.Data); | |
195 | - resWord.SetKey(KeyNameEdit.Text); | |
196 | - resWord.SetCategory(CategoryNameComboBox.Text); | |
197 | - resWord.SetText(TextMemo.Text); | |
198 | + resWord.SetCategory(CategoryNameComboBox.Text); | |
199 | + resWord.SetText(TextMemo.Text); | |
200 | + // L[ªÏíéÆ«ÍAChangeKeyðÄÔ | |
201 | + if (resWord.GetKey <> KeyNameEdit.Text) then begin | |
202 | + resWord.SetKey(KeyNameEdit.Text); | |
203 | + InputAssistDM.ChangeKey(resWord); | |
204 | + end; | |
198 | 205 | // êÌXV |
199 | 206 | GikoListView1.Selected.Caption := resWord.GetKey; |
200 | 207 | GikoListView1.Selected.SubItems[0] := resWord.GetCategory; |
@@ -21,8 +21,8 @@ object KuroutOption: TKuroutOption | ||
21 | 21 | Top = 0 |
22 | 22 | Width = 517 |
23 | 23 | Height = 393 |
24 | - ActivePage = KakikomiTabSheet | |
25 | - TabIndex = 2 | |
24 | + ActivePage = TabSheet2 | |
25 | + TabIndex = 3 | |
26 | 26 | TabOrder = 0 |
27 | 27 | object TabSheet1: TTabSheet |
28 | 28 | Caption = #35443#32048#35373#23450#65297 |
@@ -562,6 +562,22 @@ object KuroutOption: TKuroutOption | ||
562 | 562 | TabOrder = 1 |
563 | 563 | end |
564 | 564 | end |
565 | + object LogGroupBox: TGroupBox | |
566 | + Left = 16 | |
567 | + Top = 160 | |
568 | + Width = 465 | |
569 | + Height = 65 | |
570 | + Caption = #12525#12464 | |
571 | + TabOrder = 1 | |
572 | + object CheckDatFileCheckBox: TCheckBox | |
573 | + Left = 22 | |
574 | + Top = 14 | |
575 | + Width = 369 | |
576 | + Height = 17 | |
577 | + Caption = #12473#12524#12483#12489#19968#35239#65288'Folder.idx'#65289#35501#12415#36796#12415#26178#12395'dat'#12501#12449#12452#12523#12434#12481#12455#12483#12463#12377#12427#12290 | |
578 | + TabOrder = 0 | |
579 | + end | |
580 | + end | |
565 | 581 | end |
566 | 582 | end |
567 | 583 | object OkBotton: TButton |
@@ -81,6 +81,8 @@ type | ||
81 | 81 | Label14: TLabel; |
82 | 82 | ExtListLabeledEdit: TLabeledEdit; |
83 | 83 | Label15: TLabel; |
84 | + LogGroupBox: TGroupBox; | |
85 | + CheckDatFileCheckBox: TCheckBox; | |
84 | 86 | procedure OkBottonClick(Sender: TObject); |
85 | 87 | procedure FormCreate(Sender: TObject); |
86 | 88 | procedure CDeleteButtonClick(Sender: TObject); |
@@ -156,6 +158,8 @@ begin | ||
156 | 158 | ReplaceDatCheckBox.Checked := GikoSys.Setting.ReplaceDat; |
157 | 159 | SentIniFileSizeUpDown.Position := GikoSys.Setting.SentIniFileSize; |
158 | 160 | ExtListLabeledEdit.Text := GikoSys.Setting.ExtList; |
161 | + // Folder.idxÇÝÝdat`FbN | |
162 | + CheckDatFileCheckBox.Checked := GikoSys.Setting.CheckDatFile; | |
159 | 163 | end; |
160 | 164 | |
161 | 165 | procedure TKuroutOption.SaveSetting; |
@@ -198,6 +202,8 @@ begin | ||
198 | 202 | GikoSys.Setting.ReplaceDat := ReplaceDatCheckBox.Checked; |
199 | 203 | GikoSys.Setting.SentIniFileSize := SentIniFileSizeUpDown.Position; |
200 | 204 | GikoSys.Setting.ExtList := ExtListLabeledEdit.Text; |
205 | + // Folder.idxÇÝÝdat`FbN | |
206 | + GikoSys.Setting.CheckDatFile := CheckDatFileCheckBox.Checked; | |
201 | 207 | end; |
202 | 208 | |
203 | 209 | procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject); |
@@ -1,6 +1,6 @@ | ||
1 | 1 | object OptionDialog: TOptionDialog |
2 | - Left = 417 | |
3 | - Top = 435 | |
2 | + Left = 300 | |
3 | + Top = 166 | |
4 | 4 | BorderStyle = bsDialog |
5 | 5 | Caption = #12458#12503#12471#12519#12531 |
6 | 6 | ClientHeight = 428 |
@@ -61,9 +61,9 @@ object OptionDialog: TOptionDialog | ||
61 | 61 | Top = 4 |
62 | 62 | Width = 509 |
63 | 63 | Height = 389 |
64 | - ActivePage = TabSheet1 | |
64 | + ActivePage = ThreadSheet | |
65 | 65 | MultiLine = True |
66 | - TabIndex = 5 | |
66 | + TabIndex = 4 | |
67 | 67 | TabOrder = 3 |
68 | 68 | OnChange = OptionTabChange |
69 | 69 | object ConnectSheet: TTabSheet |
@@ -870,7 +870,7 @@ object OptionDialog: TOptionDialog | ||
870 | 870 | Left = 12 |
871 | 871 | Top = 92 |
872 | 872 | Width = 477 |
873 | - Height = 121 | |
873 | + Height = 157 | |
874 | 874 | Caption = #12522#12531#12463#12463#12522#12483#12463#26178#21205#20316 |
875 | 875 | TabOrder = 1 |
876 | 876 | object AppFolderLabel: TLabel |
@@ -915,13 +915,21 @@ object OptionDialog: TOptionDialog | ||
915 | 915 | TabOrder = 3 |
916 | 916 | OnClick = URLAppCheckBoxClick |
917 | 917 | end |
918 | + object ResAnchorCheckBox: TCheckBox | |
919 | + Left = 12 | |
920 | + Top = 125 | |
921 | + Width = 333 | |
922 | + Height = 17 | |
923 | + Caption = #12524#12473#12450#12531#12459#12540#12398#22580#21512#12289#12381#12398#12524#12473#12414#12391#12472#12515#12531#12503#12377#12427 | |
924 | + TabOrder = 4 | |
925 | + end | |
918 | 926 | end |
919 | 927 | object GroupBox6: TGroupBox |
920 | 928 | Left = 12 |
921 | - Top = 220 | |
929 | + Top = 260 | |
922 | 930 | Width = 477 |
923 | - Height = 49 | |
924 | - Caption = #12525#12464#21066#38500 | |
931 | + Height = 77 | |
932 | + Caption = #30906#35469#12513#12483#12475#12540#12472 | |
925 | 933 | TabOrder = 2 |
926 | 934 | object LogDeleteMessageCheckBox: TCheckBox |
927 | 935 | Left = 12 |
@@ -932,21 +940,14 @@ object OptionDialog: TOptionDialog | ||
932 | 940 | TabOrder = 0 |
933 | 941 | OnClick = URLAppCheckBoxClick |
934 | 942 | end |
935 | - end | |
936 | - object ResAnchorGroupBox: TGroupBox | |
937 | - Left = 12 | |
938 | - Top = 279 | |
939 | - Width = 477 | |
940 | - Height = 49 | |
941 | - Caption = #12524#12473#12450#12531#12459#12540#12463#12522#12483#12463#26178#21205#20316 | |
942 | - TabOrder = 3 | |
943 | - object ResAnchorCheckBox: TCheckBox | |
943 | + object IgnoreLimitResCountCheckBox: TCheckBox | |
944 | 944 | Left = 12 |
945 | - Top = 21 | |
946 | - Width = 165 | |
945 | + Top = 46 | |
946 | + Width = 389 | |
947 | 947 | Height = 17 |
948 | - Caption = #12381#12398#12524#12473#12414#12391#12472#12515#12531#12503#12377#12427 | |
949 | - TabOrder = 0 | |
948 | + Caption = #21516'ID'#12524#12473#12450#12531#12459#12540#34920#31034#12391#21046#38480#25968#36234#12360#12398#30906#35469#12513#12483#12475#12540#12472#12434#34920#31034#12377#12427'(&R)' | |
949 | + TabOrder = 1 | |
950 | + OnClick = URLAppCheckBoxClick | |
950 | 951 | end |
951 | 952 | end |
952 | 953 | end |
@@ -116,8 +116,6 @@ type | ||
116 | 116 | OpenMailerCheckBox: TCheckBox; |
117 | 117 | GroupBox6: TGroupBox; |
118 | 118 | LogDeleteMessageCheckBox: TCheckBox; |
119 | - ResAnchorGroupBox: TGroupBox; | |
120 | - ResAnchorCheckBox: TCheckBox; | |
121 | 119 | TabSheet1: TTabSheet; |
122 | 120 | TabAddRadioGroup: TRadioGroup; |
123 | 121 | GroupBox8: TGroupBox; |
@@ -219,6 +217,8 @@ type | ||
219 | 217 | gppLeftBottomRB: TRadioButton; |
220 | 218 | gppBottomRB: TRadioButton; |
221 | 219 | gppRighBottomRB: TRadioButton; |
220 | + ResAnchorCheckBox: TCheckBox; | |
221 | + IgnoreLimitResCountCheckBox: TCheckBox; | |
222 | 222 | procedure FormCreate(Sender: TObject); |
223 | 223 | procedure FormDestroy(Sender: TObject); |
224 | 224 | procedure ApplyButtonClick(Sender: TObject); |
@@ -766,6 +766,8 @@ begin | ||
766 | 766 | |
767 | 767 | //OíbZ[W |
768 | 768 | LogDeleteMessageCheckBox.Checked := GikoSys.Setting.DeleteMsg; |
769 | + //¯IDXAJ[\¦Ì§Àz¦bZ[W | |
770 | + IgnoreLimitResCountCheckBox.Checked := GikoSys.Setting.LimitResCountMessage; | |
769 | 771 | |
770 | 772 | //I¹mF_CAO |
771 | 773 | ShowDialogForEndCheckBox.Checked := GikoSys.Setting.ShowDialogForEnd; |
@@ -1031,6 +1033,8 @@ begin | ||
1031 | 1033 | |
1032 | 1034 | GikoSys.Setting.OpenMailer := OpenMailerCheckBox.Checked; |
1033 | 1035 | GikoSys.Setting.DeleteMsg := LogDeleteMessageCheckBox.Checked; |
1036 | + GikoSys.Setting.LimitResCountMessage := IgnoreLimitResCountCheckBox.Checked; | |
1037 | + | |
1034 | 1038 | //I¹mF_CAO |
1035 | 1039 | GikoSys.Setting.ShowDialogForEnd := ShowDialogForEndCheckBox.Checked; |
1036 | 1040 | //AllTabClose |
@@ -148,14 +148,14 @@ begin | ||
148 | 148 | end; |
149 | 149 | |
150 | 150 | Result := Rect(0, 0, WindowWidth, WindowHeight); |
151 | - | |
151 | + // bata55ÈOͶEªÔáÁĽ | |
152 | 152 | // oµÊuÉæéâ³ |
153 | 153 | case GikoSys.Setting.PopupPosition of |
154 | - gppRightTop: OffsetRect(Result, | |
154 | + gppLeftTop: OffsetRect(Result, | |
155 | 155 | Point.x - WindowWidth - 15, Point.y - WindowHeight - 15); |
156 | - gppRight: OffsetRect(Result, | |
156 | + gppLeft: OffsetRect(Result, | |
157 | 157 | Point.x - WindowWidth - 15, Point.y - (WindowHeight div 2)); |
158 | - gppRightBottom: OffsetRect(Result, | |
158 | + gppLeftBottom: OffsetRect(Result, | |
159 | 159 | Point.x - WindowWidth - 15, Point.y + 15); |
160 | 160 | gppTop: OffsetRect(Result, |
161 | 161 | Point.x - (WindowWidth div 2), Point.y - WindowHeight - 15); |
@@ -163,11 +163,11 @@ begin | ||
163 | 163 | Point.x - (WindowWidth div 2), Point.y - (WindowHeight div 2)); |
164 | 164 | gppBottom: OffsetRect(Result, |
165 | 165 | Point.x - (WindowWidth div 2), Point.y + 15); |
166 | - gppLeftTop: OffsetRect(Result, | |
166 | + gppRightTop: OffsetRect(Result, | |
167 | 167 | Point.x + 15, Point.y - WindowHeight - 15); |
168 | - gppLeft: OffsetRect(Result, | |
168 | + gppRight: OffsetRect(Result, | |
169 | 169 | Point.x + 15, Point.y - (WindowHeight div 2)); |
170 | - gppLeftBottom: OffsetRect(Result, Point.x + 15, Point.y + 15); //MRirX p[gPÌ453É´Ó | |
170 | + gppRightBottom: OffsetRect(Result, Point.x + 15, Point.y + 15); //MRirX p[gPÌ453É´Ó | |
171 | 171 | end; |
172 | 172 | |
173 | 173 | end; |
@@ -20,9 +20,9 @@ type | ||
20 | 20 | TGikoListOrientation = (gloHorizontal, gloVertical); // Xg¼E ½ |
21 | 21 | TGikoListState = (glsMax, glsNormal, glsMin); // XgTCYóÔ |
22 | 22 | // |bvAbv\¦Êu |
23 | - TGikoPopupPosition = (gppRightTop, gppTop, gppLeftTop, | |
24 | - gppRight, gppCenter, gppLeft, | |
25 | - gppRightBottom, gppBottom, gppLeftBottom); | |
23 | + TGikoPopupPosition = (gppLeftTop = 0, gppTop, gppRightTop, | |
24 | + gppLeft, gppCenter, gppRight, | |
25 | + gppLeftBottom, gppBottom, gppRightBottom); | |
26 | 26 | //vr [TCY |
27 | 27 | TGikoPreviewSize = (gpsXLarge, gpsLarge, gpsMedium, gpsSmall, gpsXSmall); |
28 | 28 | TGikoBrowserAutoMaximize = (gbmNone, gbmClick, gbmDoubleClick); |
@@ -450,6 +450,10 @@ type | ||
450 | 450 | FExtList: String; |
451 | 451 | //! SkinÖA |
452 | 452 | FSkinFiles: TSkinFiles; |
453 | + //! indext@CðÇÝÉdatðõ·é | |
454 | + FCheckDatFile: Boolean; | |
455 | + //! ¯IDXAJ[\¦ | |
456 | + FLimitResCountMessage: Boolean; | |
453 | 457 | function GetMainCoolSet(Index: Integer): TCoolSet; |
454 | 458 | function GetBoardCoolSet(Index: Integer): TCoolSet; |
455 | 459 | function GetBrowserCoolSet(Index: Integer): TCoolSet; |
@@ -807,7 +811,9 @@ type | ||
807 | 811 | property ExtList: String read FExtList write FExtList; |
808 | 812 | //! Skint@CÇ |
809 | 813 | property SkinFiles: TSkinFiles read FSkinFiles; |
810 | - | |
814 | + //! CfbNXÇÝÝdatt@C`FbN | |
815 | + property CheckDatFile: Boolean read FCheckDatFile write FCheckDatFile; | |
816 | + property LimitResCountMessage: Boolean read FLimitResCountMessage write FLimitResCountMessage; | |
811 | 817 | end; |
812 | 818 | |
813 | 819 |
@@ -1293,6 +1299,9 @@ begin | ||
1293 | 1299 | |
1294 | 1300 | FSentIniFileSize := ini.ReadInteger('Function', 'SentIniFileSize', 3); |
1295 | 1301 | FExtList := ini.ReadString('Function', 'ExtList', '*.gif;*.jpg;*.jpeg;*.png;*.zip;*.rar'); |
1302 | + | |
1303 | + FCheckDatFile := ini.ReadBool('ThreadList', 'CheckDatFile', True); | |
1304 | + FLimitResCountMessage := ini.ReadBool('Thread', 'LimitResCountMessage', True); | |
1296 | 1305 | ini.UpdateFile; |
1297 | 1306 | finally |
1298 | 1307 | ini.Free; |
@@ -1675,6 +1684,8 @@ begin | ||
1675 | 1684 | ini.WriteBool('Thread', 'ReplaceDat', FReplaceDat); |
1676 | 1685 | ini.WriteInteger('Function', 'SentIniFileSize', FSentIniFileSize); |
1677 | 1686 | ini.WriteString('Function', 'ExtList', FExtList); |
1687 | + ini.WriteBool('ThreadList', 'CheckDatFile', FCheckDatFile); | |
1688 | + ini.WriteBool('Thread', 'LimitResCountMessage', FLimitResCountMessage); | |
1678 | 1689 | ini.UpdateFile; |
1679 | 1690 | finally |
1680 | 1691 | ini.Free; |
@@ -10,11 +10,11 @@ VersionInfoDescription= | ||
10 | 10 | DefaultGroupName=MRir |
11 | 11 | ; ©ªÌ«Éí¹Ä¾³¢ |
12 | 12 | SourceDir=G:\Release |
13 | -OutputDir=G:\Output | |
13 | +OutputDir=G:\InnoSetup\Output | |
14 | 14 | SetupIconFile="G:\gikoNaviSFX_102\MainIcon.ico" |
15 | 15 | ; MRirÌo[WÉ í¹Ä¾³¢ |
16 | -VersionInfoVersion=1.56.0.714 | |
17 | -OutputBaseFilename=gikoNavi_1.56.0.714_2_setup | |
16 | +VersionInfoVersion=1.56.1.716 | |
17 | +OutputBaseFilename=gikoNavi_b56_setup | |
18 | 18 | |
19 | 19 | |
20 | 20 | [Tasks] |
@@ -90,7 +90,7 @@ begin | ||
90 | 90 | begin |
91 | 91 | DelTree(path, True, True, True); |
92 | 92 | end; |
93 | - | |
93 | + | |
94 | 94 | path := ExpandConstant('{app}') + '\config'; |
95 | 95 | if MsgBox(path + 'tH_Ⱥð®SÉÁµÄæ뵢ŵ天H', mbConfirmation, MB_YESNO) = IDYES then |
96 | 96 | begin |
@@ -1,4 +1,4 @@ | ||
1 | -¡MRir Version1.00 ÊÞÀ56 Readme.txt | |
1 | +¡MRir Version1.00 ÊÞÀ57 Readme.txt | |
2 | 2 | |
3 | 3 | |
4 | 4 | ------------------------------ |
@@ -108,6 +108,16 @@ LICENSE | ||
108 | 108 | ------------------------------ |
109 | 109 | ð |
110 | 110 | ------------------------------ |
111 | +2007/XX/XX | |
112 | + Version ÊÞÀ57 | |
113 | + | |
114 | +2007/08/18 | |
115 | + Version ÊÞÀ56 [X2 | |
116 | + üÍAVXgÌÝèÅA}ü¶ñð¾¯ðÏXÅ«È¢sïÌC³ | |
117 | + ê«ÅAMRirðŬ»µÄ³·éÆXbhªXN[·ésïÌC³ | |
118 | + ÊÞÀ55ÈO©çAbvf[g·éÆX|bvAbvÊuÌÝè̶Eªt]·ésïÌC³ | |
119 | + | |
120 | + | |
111 | 121 | 2007/08/05 |
112 | 122 | Version ÊÞÀ56 |
113 | 123 | @X|bvAbv̽iΠ|
@@ -1,44 +1,36 @@ | ||
1 | 1 | [Setting] |
2 | -@ascii2d=30 | |
3 | -@chiri=30 | |
4 | -@gline=30 | |
5 | 2 | @newsplus=120 |
6 | -@operate=30 | |
7 | -@tv=30 | |
8 | -aa6=30 | |
3 | +@skate=60 | |
9 | 4 | academy6=30 |
10 | -anime2=45 | |
11 | -book4=30 | |
12 | -bubble5=30 | |
5 | +anime2=60 | |
6 | +bubble6=30 | |
13 | 7 | etc6=30 |
14 | 8 | ex20=30 |
15 | 9 | ex21=30 |
16 | -ex22=30 | |
17 | -food7=30 | |
10 | +ex23=20 | |
11 | +food8=30 | |
18 | 12 | game11=30 |
19 | 13 | game12=30 |
20 | 14 | hobby9=30 |
21 | -human6=30 | |
15 | +human7=30 | |
22 | 16 | life8=30 |
23 | 17 | live23=10 |
24 | 18 | live24=10 |
25 | 19 | live25=10 |
26 | -love5=30 | |
27 | -money5=30 | |
20 | +love6=30 | |
21 | +money6=30 | |
28 | 22 | music8=30 |
29 | 23 | news21=30 |
30 | 24 | news22=30 |
31 | -off4=30 | |
32 | -pc9=30 | |
25 | +news23=128 | |
33 | 26 | pc11=30 |
34 | 27 | qb5=30 |
35 | -school6=30 | |
28 | +school7=30 | |
36 | 29 | science6=30 |
37 | -sports10=60 | |
30 | +sports11=60 | |
38 | 31 | tmp6=45 |
39 | -travel3=30 | |
40 | 32 | tv11=60 |
41 | -wwwww=20 | |
33 | +wwwww=15 | |
42 | 34 | |
43 | 35 | idol=30 |
44 | 36 | pie=30 |