OSDN Git Service

最新100レスのみ表示の他に、未読のみ、新着のみを選べるようになった。
authoryoffy <yoffy>
Mon, 2 Aug 2004 15:11:56 +0000 (15:11 +0000)
committeryoffy <yoffy>
Mon, 2 Aug 2004 15:11:56 +0000 (15:11 +0000)
Giko.dfm
Giko.pas
GikoSystem.pas
Option.dfm
Option.pas
Setting.pas
ToolBarUtil.pas

index 9fd819f..1725d6d 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -1,6 +1,6 @@
 object GikoForm: TGikoForm
-  Left = -69
-  Top = 288
+  Left = -15
+  Top = 154
   HorzScrollBar.Visible = False
   VertScrollBar.Visible = False
   AutoScroll = False
@@ -712,14 +712,15 @@ object GikoForm: TGikoForm
                 Action = SelectResAction
                 Style = tbsCheck
               end
-              object AHundredResButton: TToolButton
+              object ResRangeButton: TToolButton
                 Left = 216
                 Top = 0
-                Action = OnlyAHundredRes
-                Style = tbsCheck
+                Action = ResRangeAction
+                DropdownMenu = ResRangePopupMenu
+                Style = tbsDropDown
               end
               object ToolButton16: TToolButton
-                Left = 241
+                Left = 252
                 Top = 0
                 Width = 8
                 Caption = 'ToolButton16'
@@ -727,36 +728,36 @@ object GikoForm: TGikoForm
                 Style = tbsSeparator
               end
               object EditorButton: TToolButton
-                Left = 249
+                Left = 260
                 Top = 0
                 Action = EditorAction
               end
               object ToolButton11: TToolButton
-                Left = 274
+                Left = 285
                 Top = 0
                 Width = 8
                 Style = tbsSeparator
               end
               object IEButton: TToolButton
-                Left = 282
+                Left = 293
                 Top = 0
                 Action = IEAction
                 DropdownMenu = BrowserPopupMenu
                 Style = tbsDropDown
               end
               object ToolButton5: TToolButton
-                Left = 318
+                Left = 329
                 Top = 0
                 Width = 8
                 Style = tbsSeparator
               end
               object ItemReloadButton: TToolButton
-                Left = 326
+                Left = 337
                 Top = 0
                 Action = ItemReloadAction
               end
               object ToolButton20: TToolButton
-                Left = 351
+                Left = 362
                 Top = 0
                 Width = 8
                 Caption = 'ToolButton20'
@@ -764,7 +765,7 @@ object GikoForm: TGikoForm
                 Style = tbsSeparator
               end
               object UpBoardButton: TToolButton
-                Left = 359
+                Left = 370
                 Top = 0
                 Action = UpBoardAction
               end
@@ -9405,6 +9406,24 @@ object GikoForm: TGikoForm
     Images = ToobarImageList
     Left = 8
     Top = 372
+    object OnlyAHundredRes: TAction
+      Category = #12473#12524#12483#12489
+      AutoCheck = True
+      Caption = #26368#26032'100'#12524#12473#12398#12415#34920#31034
+      GroupIndex = 2
+      Hint = #26368#26032'100'#12524#12473#12398#12415#34920#31034
+      ImageIndex = 38
+      OnExecute = OnlyAHundredResExecute
+    end
+    object OnlyKokoResAction: TAction
+      Category = #12473#12524#12483#12489
+      AutoCheck = True
+      Caption = #26410#35501#12524#12473#12398#12415#34920#31034
+      GroupIndex = 2
+      Hint = #26410#35501#12524#12473#12398#12415#34920#31034
+      ImageIndex = 38
+      OnExecute = OnlyKokoResActionExecute
+    end
     object LoginAction: TAction
       Category = #12501#12449#12452#12523
       AutoCheck = True
@@ -9587,6 +9606,15 @@ object GikoForm: TGikoForm
       ImageIndex = 36
       OnExecute = CabinetHistoryActionExecute
     end
+    object OnlyNewResAction: TAction
+      Category = #12473#12524#12483#12489
+      AutoCheck = True
+      Caption = #26032#30528#12524#12473#12398#12415#34920#31034
+      GroupIndex = 2
+      Hint = #26032#30528#12524#12473#12398#12415#34920#31034
+      ImageIndex = 38
+      OnExecute = OnlyNewResActionExecute
+    end
     object CabinetFavoriteAction: TAction
       Category = #34920#31034
       AutoCheck = True
@@ -10258,15 +10286,15 @@ object GikoForm: TGikoForm
       Hint = #36984#25246#12373#12428#12390#12356#12427#12473#12524#12483#12489#12434#21066#38500#12377#12427
       OnExecute = FavoriteTreeViewLogDeleteActionExecute
     end
-    object OnlyAHundredRes: TAction
+    object ResRangeAction: TAction
       Category = #12473#12524#12483#12489
       AutoCheck = True
-      Caption = #26368#26032'100'#12524#12473#12398#12415#34920#31034
+      Caption = #34920#31034#31684#22258
       GroupIndex = 2
-      Hint = #26368#26032'100'#12524#12473#12398#12415#34920#31034
+      Hint = #12524#12473#12398#34920#31034#31684#22258#12434#35373#23450
       ImageIndex = 38
-      OnExecute = OnlyAHundredResExecute
-      OnUpdate = OnlyAHundredResUpdate
+      OnExecute = ResRangeActionExecute
+      OnUpdate = ResRangeActionUpdate
     end
     object ExportFavoriteFile: TFileSaveAs
       Category = #12501#12449#12452#12523
@@ -10838,4 +10866,20 @@ object GikoForm: TGikoForm
     Left = 99
     Top = 468
   end
+  object ResRangePopupMenu: TPopupMenu
+    Left = 37
+    Top = 468
+    object N1001: TMenuItem
+      Action = OnlyAHundredRes
+      AutoCheck = True
+    end
+    object N501: TMenuItem
+      Action = OnlyKokoResAction
+      AutoCheck = True
+    end
+    object N22: TMenuItem
+      Action = OnlyNewResAction
+      AutoCheck = True
+    end
+  end
 end
index 2c9ad9c..dce431a 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -500,9 +500,9 @@ type
                FavoriteTreeViewNameCopyAction: TAction;
                FavoriteTreeViewNameURLCopyAction: TAction;
                FavoriteTreeViewLogDeleteAction: TAction;
-               OnlyAHundredRes: TAction;
+    ResRangeAction: TAction;
                ToolButton20: TToolButton;
-               AHundredResButton: TToolButton;
+    ResRangeButton: TToolButton;
                N60: TMenuItem;
                ExportFavoriteFileAction1: TMenuItem;
                ExportFavoriteFile: TFileSaveAs;
@@ -555,6 +555,13 @@ type
     TabOpen: TMenuItem;
     TabsSaveAction: TAction;
     TabsOpenAction: TAction;
+    ResRangePopupMenu: TPopupMenu;
+    N1001: TMenuItem;
+    N501: TMenuItem;
+    N22: TMenuItem;
+    OnlyAHundredRes: TAction;
+    OnlyNewResAction: TAction;
+    OnlyKokoResAction: TAction;
                                procedure FormCreate(Sender: TObject);
                procedure FormDestroy(Sender: TObject);
                procedure CabinetPanelHide(Sender: TObject);
@@ -833,7 +840,7 @@ type
                        Shift: TShiftState; X, Y: Integer);
                procedure LinkToolBarDragOver(Sender, Source: TObject; X, Y: Integer;
                        State: TDragState; var Accept: Boolean);
-               procedure OnlyAHundredResExecute(Sender: TObject);
+               procedure ResRangeActionExecute(Sender: TObject);
                procedure FavoriteTreeViewEndDrag(Sender, Target: TObject; X,
                        Y: Integer);
                procedure ListCoolBarContextPopup(Sender: TObject; MousePos: TPoint;
@@ -871,7 +878,7 @@ type
     procedure TreeSelectNameCopyExecute(Sender: TObject);
     procedure FavoriteTreeViewMouseUp(Sender: TObject;
       Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
-    procedure OnlyAHundredResUpdate(Sender: TObject);
+    procedure ResRangeActionUpdate(Sender: TObject);
                procedure SetFocusForBrowserActionExecute(Sender: TObject);
                procedure SetFocusForBrowserActionUpdate(Sender: TObject);
     procedure SetFocusForThreadListActionExecute(Sender: TObject);
@@ -896,6 +903,9 @@ type
     procedure TabsOpenActionExecute(Sender: TObject);
     procedure TabsSaveToFileActionExecute(Sender: TObject);
     procedure TabsOpenFromFileActionExecute(Sender: TObject);
+    procedure OnlyAHundredResExecute(Sender: TObject);
+    procedure OnlyKokoResActionExecute(Sender: TObject);
+    procedure OnlyNewResActionExecute(Sender: TObject);
        private
                { Private \90é\8c¾ }
         //RoundList : TRoundList;
@@ -958,6 +968,7 @@ type
                FToolBarSettingSender : TToolBarSettingSenderType;      // \83c\81[\83\8b\83o\81[\90Ý\92è\82ð\83N\83\8a\83b\83N\82µ\82½\83N\81[\83\8b\83o\81[
                FMouseDownPos           : TPoint;                               // \83u\83\89\83E\83U\83^\83u\82Å\83}\83E\83X\82ð\89\9f\82µ\82½\82Æ\82«\82Ì\8dÀ\95W
                FBrowsers: TList;
+               FResRangeMenuSelect     : Longint;              ///< AHundredResButton \82Å\91I\91ð\82³\82ê\82Ä\82¢\82é\8d\80\96Ú (\83t\83H\81[\83}\83b\83g\82Í ResRange \8cÝ\8a·)
                procedure SetBoardTreeNode( inBBS : TBBS );
                function SetCategoryListItem(ABBS2ch: TBBS): Integer;
                function SetBoardListItem(Category: TCategory): Integer;
@@ -1145,14 +1156,14 @@ type
                FThread         : TThreadItem;
                FLastSize       : Integer;
                FRepaint        : Boolean;
              FOnlyHundred: Boolean;
//            FOnlyHundred: Boolean;
        public
                destructor      Destroy; override;
                property        Browser : TWebBrowser   read FBrowser   write FBrowser;
                property        Thread  : TThreadItem   read FThread    write FThread;
                property        LastSize        : Integer               read FLastSize  write FLastSize;
                property        Repaint         : Boolean               read FRepaint   write FRepaint;
-               property        OnlyHundred : Boolean           read FOnlyHundred write FOnlyHundred;
+//             property        OnlyHundred : Boolean           read FOnlyHundred write FOnlyHundred;
        end;
 
 var
@@ -1556,7 +1567,29 @@ begin
        end;
        ReadToolBarSetting(ActionList, BrowserToolBar);
        SetToolBarPopup;
-       OnlyAHundredRes.Checked := GikoSys.Setting.OnlyAHundredRes;
+
+       // \83\8c\83X\95\\8e¦\94Í\88Í
+       FResRangeMenuSelect := 100;
+       case GikoSys.ResRange of
+       Ord( grrAll ):
+               begin
+                       AllResAction.Execute;
+               end;
+       Ord( grrSelect ):
+               begin
+                       SelectComboBox.Text := SelectComboBox.Items[ 0 ];
+                       SelectResAction.Checked := True;
+               end;
+       else
+               FResRangeMenuSelect := GikoSys.ResRange;
+//             ResRangeAction.Execute;
+               case FResRangeMenuSelect of
+               Ord( grrKoko ): OnlyKokoResAction.Checked       := True;
+               Ord( grrNew ):  OnlyNewResAction.Checked        := True;
+               100:                                            OnlyAHundredRes.Checked         := True;
+               end;
+       end;
+
        //\83A\83h\83\8c\83X\83o\81[
        AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;
 
@@ -3363,7 +3396,7 @@ begin
                        //newBrowser.Browser.Navigate(BLANK_HTML);
                        newBrowser.thread := ThreadItem;
                        newBrowser.Repaint := true;
-                       newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
+//                     newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
 
                        BrowserTab.Tabs.InsertObject(0, GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser);
                        if (not GikoSys.Setting.BrowserTabVisible) and (BrowserTab.Tabs.Count > 1) then begin
@@ -3391,7 +3424,7 @@ begin
                        FBrowsers.Move(BROWSER_COUNT - 1, 0);
                        //newBrowser.Browser.Navigate(BLANK_HTML);
                        newBrowser.thread := ThreadItem;
-                       newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
+//                     newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
                        newBrowser.Repaint := true;
 
                        i := BrowserTab.Tabs.AddObject(GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser);
@@ -3559,7 +3592,7 @@ begin
                                        //\92Ç\8bL\81@200406/19
                                        //Visible\82Ì\82Æ\82«\82µ\82©DocumentComplete\82Í\8cÄ\82Î\82ê\82È\82¢\82ç\82µ\82¢
                                        Thread.FBrowser.OnDocumentComplete(Thread.FBrowser, Thread.FBrowser.Parent, url);
-                                       Thread.OnlyHundred := GikoSys.OnlyAHundredRes;
+//                                     Thread.OnlyHundred := GikoSys.OnlyAHundredRes;
                                        Application.ProcessMessages;
                                        //\82±\82±\82ÅApplication.ProcessMessages\82ð\8cÄ\82Ô\82±\82Æ\82É\82æ\82Á\82ÄWebBrowser\82ð\8dX\90V\82³\82¹\82é\81B
                                        //\91\8a\82µ\82È\82¢\82Æ\88ê\89æ\96Ê\95ª\82µ\82©\95`\89æ\82Å\82«\82Ä\82È\82¢\82Ì\82Å\82»\82ê\88È\8fã\82Ì\83X\83N\83\8d\81[\83\8b\97Ê\82ð\8ew\92è\82µ\82Ä\82à\96³\8cø\82É\82È\82é
@@ -8445,6 +8478,7 @@ var
        i                                                                       : Integer;
        aIEButton                                       : TToolButton;
        aCabinetBBSButton       : TToolButton;
+       aResRangeButton         : TToolButton;
 begin
        for i := 0 to StdToolBar.ButtonCount - 1 do begin
        end;
@@ -8460,6 +8494,9 @@ begin
        aCabinetBBSButton       := FindToolBarButton( StdToolBar, CabinetBBSAction );
        if aCabinetBBSButton <> nil then
                aCabinetBBSButton.DropdownMenu  := BBSSelectPopupMenu;
+       aResRangeButton         := FindToolBarButton( BrowserToolBar, ResRangeAction );
+       if aResRangeButton <> nil then
+               aResRangeButton.DropdownMenu            := ResRangePopupMenu;
 end;
 
 procedure TGikoForm.FormMouseWheel(Sender: TObject; Shift: TShiftState;
@@ -8594,11 +8631,7 @@ var
        ThreadItem : TThreadItem;
        FilterList : TStringList;
        i, idx : Integer;
-       lastStatus      : Integer;
 begin
-       if Length( SelectComboBox.Text ) > 0 then lastStatus := 1
-       else if GikoSys.OnlyAHundredRes then lastStatus := 2
-       else lastStatus := 0;
        Dlg := TListSelectDialog.Create(Self);
        try
                Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
@@ -8607,16 +8640,17 @@ begin
                if Dlg.ModalResult = mrOK then begin
                        if Length( Dlg.SelectComboBox.Text ) = 0 then begin
                                // \8bó\93ü\97Í\82Å OK \82Í\83L\83\83\83\93\83Z\83\8b\82Æ\93¯\88Ó\8b`
-                               case lastStatus of
-                               0:      AllResAction.Execute;
-                               1:      AllResAction.Execute;
-                               2:      OnlyAHundredRes.Execute;
+                               case GikoSys.ResRange of
+                               Ord( grrAll ):          AllResAction.Execute;
+                               Ord( grrSelect ):       AllResAction.Execute;
+                               else                                                    ResRangeAction.Execute;
                                end;
                        end else begin
                                // \83{\83^\83\93\82Ì\8dX\90V
                                AllResAction.Checked := False;
                                SelectResAction.Checked := True;
-                               OnlyAHundredRes.Checked := False;
+                               ResRangeAction.Checked := False;
+                               GikoSys.ResRange := Ord( grrSelect );
 
                                // \8dÅ\8cã\82É\90Ý\92è\82µ\82½\82à\82Ì\82ð\8ao\82¦\82Ä\82¨\82­
                                FSelectResWord := Dlg.SelectComboBox.Text;
@@ -8658,15 +8692,11 @@ begin
                        end;
                end else begin
                        // \83L\83\83\83\93\83Z\83\8b
-                       case lastStatus of
-                       0:      AllResAction.Execute;
-                       2:      OnlyAHundredRes.Execute;
+                       case GikoSys.ResRange of
+                       Ord( grrAll ):          AllResAction.Execute;
+                       Ord( grrSelect ):       {* nothing *};
+                       else                                                    ResRangeAction.Execute;
                        end;
-                       // \83{\83^\83\93\82Ì\8dX\90V
-//                     AllResAction.Checked := False;
-//                     SelectResAction.Checked := True;
-//                     OnlyAHundredRes.Checked := False;
-//                     GikoSys.OnlyAHundredRes := OnlyAHundredRes.Checked;
                end;
        finally
                Dlg.Release;
@@ -8697,10 +8727,10 @@ begin
        // \83{\83^\83\93\82Ì\8dX\90V
        AllResAction.Checked := True;
        SelectResAction.Checked := False;
-       OnlyAHundredRes.Checked := False;
+       ResRangeAction.Checked := False;
 
-       if (Length( FSelectResWord ) > 0) or GikoSys.OnlyAHundredRes then begin
-               GikoSys.OnlyAHundredRes := OnlyAHundredRes.Checked;
+       if GikoSys.ResRange <> Ord( grrAll ) then begin
+               GikoSys.ResRange := Ord( grrAll );
 
                // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
                FilterList := TStringList.Create;
@@ -9693,7 +9723,7 @@ begin
 
 end;
 
-procedure TGikoForm.OnlyAHundredResExecute(Sender: TObject);
+procedure TGikoForm.ResRangeActionExecute(Sender: TObject);
 var
        ThreadItem : TThreadItem;
        FilterList : TStringList;
@@ -9703,31 +9733,34 @@ begin
                and (FActiveContent.FBrowser.Busy) then Exit;
 
        // \95\\8e¦\82Ì\8dX\90V
-       AllResAction.Checked := False;
-       SelectResAction.Checked := False;
-       OnlyAHundredRes.Checked := True;
-
-       if (Length( FSelectResWord ) > 0) or (not GikoSys.OnlyAHundredRes) then begin
-               // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
-               FilterList := TStringList.Create;
-               try
-                       GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
-                       GikoSys.FSelectResFilter.Reverse := False;
-               finally
-                       FilterList.Destroy;
-               end;
+       AllResAction.Checked            := False;
+       SelectResAction.Checked := False;
+       ResRangeButton.Down                     := True;
+       GikoSys.ResRange                                := FResRangeMenuSelect;
+       case FResRangeMenuSelect of
+       Ord( grrKoko ): OnlyKokoResAction.Checked       := True;
+       Ord( grrNew ):  OnlyNewResAction.Checked        := True;
+       100:                                            OnlyAHundredRes.Checked         := True;
+       end;
+
+       // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
+       FilterList := TStringList.Create;
+       try
+               GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
+               GikoSys.FSelectResFilter.Reverse := False;
+       finally
+               FilterList.Destroy;
+       end;
 
-               FSelectResWord := '';
-               GikoSys.OnlyAHundredRes := OnlyAHundredRes.Checked;
+       FSelectResWord := '';
 
-               // \83X\83\8c\83b\83h\82ð\8dÄ\95`\89æ
-               for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
-                       TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
-               end;
-               ThreadItem := GetActiveContent;
-               if ThreadItem <> nil then
-                       InsertBrowserTab( ThreadItem, True );
+       // \83X\83\8c\83b\83h\82ð\8dÄ\95`\89æ
+       for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
+               TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
        end;
+       ThreadItem := GetActiveContent;
+       if ThreadItem <> nil then
+               InsertBrowserTab( ThreadItem, True );
 end;
 
 procedure TGikoForm.FavoriteTreeViewEndDrag(Sender, Target: TObject; X,
@@ -10397,9 +10430,9 @@ begin
 
 end;
 
-procedure TGikoForm.OnlyAHundredResUpdate(Sender: TObject);
+procedure TGikoForm.ResRangeActionUpdate(Sender: TObject);
 begin
-       OnlyAHundredRes.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);
+       ResRangeAction.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);
 end;
 
 function TGikoForm.WebBrowserClick(Sender: TObject): WordBool;
@@ -10877,6 +10910,123 @@ begin
        end;
 end;
 
+procedure TGikoForm.OnlyAHundredResExecute(Sender: TObject);
+var
+       ThreadItem : TThreadItem;
+       FilterList : TStringList;
+       i: Integer;
+begin
+       if (FActiveContent <> nil) and (FActiveContent.FBrowser <> nil)
+               and (FActiveContent.FBrowser.Busy) then Exit;
+
+       // \95\\8e¦\82Ì\8dX\90V
+       AllResAction.Checked                    := False;
+       SelectResAction.Checked         := False;
+       ResRangeButton.Down                             := True;
+       OnlyAHundredRes.Checked         := True;
+       OnlyKokoResAction.Checked       := False;
+       OnlyNewResAction.Checked        := False;
+       GikoSys.ResRange                                        := 100;
+       FResRangeMenuSelect                             := 100;
+
+       // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
+       FilterList := TStringList.Create;
+       try
+               GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
+               GikoSys.FSelectResFilter.Reverse := False;
+       finally
+               FilterList.Destroy;
+       end;
+
+       FSelectResWord := '';
+
+       // \83X\83\8c\83b\83h\82ð\8dÄ\95`\89æ
+       for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
+               TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
+       end;
+       ThreadItem := GetActiveContent;
+       if ThreadItem <> nil then
+               InsertBrowserTab( ThreadItem, True );
+end;
+
+procedure TGikoForm.OnlyKokoResActionExecute(Sender: TObject);
+var
+       ThreadItem : TThreadItem;
+       FilterList : TStringList;
+       i: Integer;
+begin
+       if (FActiveContent <> nil) and (FActiveContent.FBrowser <> nil)
+               and (FActiveContent.FBrowser.Busy) then Exit;
+
+       // \95\\8e¦\82Ì\8dX\90V
+       AllResAction.Checked                    := False;
+       SelectResAction.Checked         := False;
+       ResRangeButton.Down                             := True;
+       OnlyAHundredRes.Checked         := False;
+       OnlyKokoResAction.Checked       := True;
+       OnlyNewResAction.Checked        := False;
+       GikoSys.ResRange                                        := Ord( grrKoko );
+       FResRangeMenuSelect                             := Ord( grrKoko );
+
+       // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
+       FilterList := TStringList.Create;
+       try
+               GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
+               GikoSys.FSelectResFilter.Reverse := False;
+       finally
+               FilterList.Destroy;
+       end;
+
+       FSelectResWord := '';
+
+       // \83X\83\8c\83b\83h\82ð\8dÄ\95`\89æ
+       for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
+               TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
+       end;
+       ThreadItem := GetActiveContent;
+       if ThreadItem <> nil then
+               InsertBrowserTab( ThreadItem, True );
+end;
+
+procedure TGikoForm.OnlyNewResActionExecute(Sender: TObject);
+var
+       ThreadItem : TThreadItem;
+       FilterList : TStringList;
+       i: Integer;
+begin
+       if (FActiveContent <> nil) and (FActiveContent.FBrowser <> nil)
+               and (FActiveContent.FBrowser.Busy) then Exit;
+
+       // \95\\8e¦\82Ì\8dX\90V
+       AllResAction.Checked                    := False;
+       SelectResAction.Checked         := False;
+       ResRangeButton.Down                             := True;
+       OnlyAHundredRes.Checked         := False;
+       OnlyKokoResAction.Checked       := False;
+       OnlyNewResAction.Checked        := True;
+       GikoSys.ResRange                                        := Ord( grrNew );
+       FResRangeMenuSelect                             := Ord( grrNew );
+
+       // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
+       FilterList := TStringList.Create;
+       try
+               GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
+               GikoSys.FSelectResFilter.Reverse := False;
+       finally
+               FilterList.Destroy;
+       end;
+
+       FSelectResWord := '';
+
+       // \83X\83\8c\83b\83h\82ð\8dÄ\95`\89æ
+       for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
+               TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
+       end;
+       ThreadItem := GetActiveContent;
+       if ThreadItem <> nil then
+               InsertBrowserTab( ThreadItem, True );
+end;
+
 initialization
                                OleInitialize(nil);
 finalization
index fe97b17..ab9149b 100644 (file)
@@ -90,7 +90,7 @@ type
                FSetting: TSetting;
                FDolib: TDolib;
                FAWKStr: TAWKStr;
-               FOnlyAHundredRes : Boolean;
+               FResRange : Longint;
 
 //             FExitWrite: TStringList;
 //             function StrToFloatDef(s: string; Default: Double): Double;
@@ -101,7 +101,7 @@ type
                constructor Create;
 
                destructor Destroy; override;
-               property OnlyAHundredRes : Boolean read FOnlyAHundredRes write FOnlyAHundredRes;
+               property ResRange : Longint read FResRange write FResRange;
 //             function MsgBox(Msg: string; Title: string; Flags: Longint): integer; overload;
 //             function MsgBox(Handle: THandle; Msg: string; Title: string; Flags: Longint): integer; overload;
                function IsNumeric(s: string): boolean;
@@ -261,7 +261,7 @@ begin
        // \8di\82è\8d\9e\82Þ\82Æ\82«\82Í\8bÉ\97Í\88ê\97\97\82ª\8c©\82ç\82ê\82é\82Ù\82¤\82ª\82¢\82¢\82Ì\82Å\91¼\82Í\8a®\91S\82É\8dí\8f\9c
        FSelectResFilter.AbonString := '';
        //
-       OnlyAHundredRes := FSetting.OnlyAHundredRes;
+       ResRange := FSetting.ResRange;
 end;
 
 (*************************************************************************
@@ -1065,8 +1065,17 @@ begin
                                        '<style type="text/css">body {' + UserOptionalStyle + '}</style>' ) );
 
                                for i := 0 to threadItem.Count - 1 do begin
-                                       if (OnlyAHundredRes = true) and ( i <> 0 ) and ( (threadItem.Count-i) > 101 ) then begin
-                                               Continue;
+                                       // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
+                                       case ResRange of
+                                       Ord( grrKoko ):
+                                               if ThreadItem.Kokomade > (i + 1) then
+                                                       Continue;
+                                       Ord( grrNew ):
+                                               if NewReceiveNo > (i + 1) then
+                                                       Continue;
+                                       10..65535:
+                                               if ( i <> 0 ) and ( (threadItem.Count-i) > ResRange ) then
+                                                       Continue;
                                        end;
 
                                        // \90V\92\85\83}\81[\83N
@@ -1201,9 +1210,19 @@ begin
                                SaveList.Add('<a name="top"></a>');
 
                                for i := 0 to ReadList.Count - 1 do begin
-                                       if (OnlyAHundredRes = true) and ( i <> 0 ) and ( (ReadList.Count-i) > 101 ) then begin
-                                               Continue;
+                                       // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
+                                       case ResRange of
+                                       Ord( grrKoko ):
+                                               if ThreadItem.Kokomade > (i + 1) then
+                                                       Continue;
+                                       Ord( grrNew ):
+                                               if NewReceiveNo > (i + 1) then
+                                                       Continue;
+                                       10..65535:
+                                               if ( i <> 0 ) and ( (threadItem.Count-i) > ResRange ) then
+                                                       Continue;
                                        end;
+
                                        // \90V\92\85\83}\81[\83N
                                        if (NewReceiveNo = i + 1) or ((NewReceiveNo = 0) and (i = 0)) then begin
                                                try
@@ -1279,9 +1298,19 @@ begin
                                SaveList.Clear;
                                //Application.ProcessMessages;
                                for i := 0 to ReadList.Count - 1 do begin
-                                       if (OnlyAHundredRes = true) and ( i <> 0 ) and ( (ReadList.Count-i) > 101 ) then begin
-                                               Continue;
+                                       // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
+                                       case ResRange of
+                                       Ord( grrKoko ):
+                                               if ThreadItem.Kokomade > (i + 1) then
+                                                       Continue;
+                                       Ord( grrNew ):
+                                               if NewReceiveNo > (i + 1) then
+                                                       Continue;
+                                       10..65535:
+                                               if ( i <> 0 ) and ( (threadItem.Count-i) > ResRange ) then
+                                                       Continue;
                                        end;
+
                                        if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
                                                SaveList.Add('<a name="new"></a><div class="new">\90V\92\85\83\8c\83X <span class="newdate">' + FormatDateTime('yyyy/mm/dd(ddd) hh:mm', ThreadItem.RoundDate) + '</span></div>');
                                        end;
@@ -1344,9 +1373,19 @@ begin
                                SaveList.Clear;
                                //Application.ProcessMessages;
                                for i := 0 to ReadList.Count - 1 do begin
-                                       if (OnlyAHundredRes = true) and ( i <> 0 ) and ( (ReadList.Count-i) > 101 ) then begin
-                                               Continue;
+                                       // \95\\8e¦\94Í\88Í\82ð\8cÀ\92è
+                                       case ResRange of
+                                       Ord( grrKoko ):
+                                               if ThreadItem.Kokomade > (i + 1) then
+                                                       Continue;
+                                       Ord( grrNew ):
+                                               if NewReceiveNo > (i + 1) then
+                                                       Continue;
+                                       10..65535:
+                                               if ( i <> 0 ) and ( (threadItem.Count-i) > ResRange ) then
+                                                       Continue;
                                        end;
+
                                        if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
                                                SaveList.Add('</dl>');
                                                SaveList.Add('<a name="new"></a>');
index 3798df8..a1e5a68 100644 (file)
@@ -667,7 +667,7 @@ object OptionDialog: TOptionDialog
           Top = 43
           Width = 417
           Height = 20
-          ItemHeight = 12
+          ItemHeight = 0
           TabOrder = 0
           Text = 'BoardURLComboBox'
         end
index 03589a2..98ae81b 100644 (file)
@@ -691,8 +691,7 @@ begin
                CSSListView.Items[0].Selected := True;
 
        //Mail\97\93\95\\8e¦
-       ShowMailCheckBox.Checked := GikoSys.Setting.ShowMail;
-               OnlyAHundredResCheckBox.Checked := GikoSYs.Setting.OnlyAHundredRes;
+       OnlyAHundredResCheckBox.Checked := (GikoSys.Setting.ResRange = 100);
        //\83^\83u\92Ç\89Á\88Ê\92u
        TabAddRadioGroup.ItemIndex := Ord(GikoSys.Setting.BrowserTabAppend);
        //\94Â\8dX\90VURL
@@ -927,7 +926,8 @@ begin
        if GikoSys.Setting.ShowMail <> ShowMailCheckBox.Checked then FRepaintThread := true;
        GikoSys.Setting.ShowMail := ShowMailCheckBox.Checked;
        //\8dÅ\90V100\83\8c\83X\95\\8e¦
-       GikoSYs.Setting.OnlyAHundredRes := OnlyAHundredResCheckBox.Checked;
+       if OnlyAHundredResCheckBox.Checked then
+               GikoSYs.Setting.ResRange := 100;
 
        GikoSys.Setting.BrowserTabAppend := TGikoTabAppend(TabAddRadioGroup.ItemIndex);
 
index 54514f8..fb02b77 100644 (file)
@@ -48,6 +48,9 @@ type
        TGikoPreviewSize = (gpsXLarge, gpsLarge, gpsMedium, gpsSmall, gpsXSmall);
        TGikoBrowserAutoMaximize        = (gbmNone, gbmClick, gbmDoubleClick);
                                                                                                                                                                                                                                // \83u\83\89\83E\83U\82ð\8e©\93®\93I\82É\8dÅ\91å\89»\82·\82é\8fð\8c\8f
+       /// \83\8c\83X\95\\8e¦\94Í\88Í\81B10 \81` 65535 \82Í\8dÅ\90V n \83\8c\83X\88µ\82¢\81B
+       /// \8f«\97\88 201-300 \82Ì\82æ\82¤\82È\94Í\88Í\82ð\8e\9d\82½\82¹\82é\89Â\94\\90«\82à\8dl\82¦\82Ä\8fã\88Ê 2 byte \82Í\97\\96ñ\81B
+       TGikoResRange = (grrAll, grrSelect, grrKoko, grrNew);
 
        //CoolBar\90Ý\92è\83\8c\83R\81[\83h
        TCoolSet = record
@@ -192,8 +195,8 @@ type
                FUseSkin: Boolean;
                //mail\97\93\95\\8e¦
                FShowMail: Boolean;
-               //\8bN\93®\8e\9e\8dÅ\90V100\83\8c\83X\95\\8e¦
-               FOnlyAHundredRes : Boolean;
+               //\83\8c\83X\95\\8e¦\94Í\88Í
+               FResRange : Longint;
                //\94ñ\83A\83N\83e\83B\83u\8e\9e\83\8c\83X\83|\83b\83v\83A\83b\83v\95\\8e¦
                FUnActivePopup: Boolean;
                //\83\8c\83X\83|\83b\83v\83A\83b\83v\83w\83b\83_\81[\83{\81[\83\8b\83h
@@ -500,7 +503,7 @@ type
                property UseSkin: Boolean read FUseSkin;
 
                property ShowMail: Boolean read FShowMail write FShowMail;
-               property OnlyAHundredRes : Boolean read FOnlyAHundredRes write FOnlyAHundredRes;
+               property ResRange : Longint read FResRange write FResRange;
                property UnActivePopup: Boolean read FUnActivePopup write FUnActivePopup;
                property ResPopupHeaderBold: Boolean read FResPopupHeaderBold write FResPopupHeaderBold;
 
@@ -877,8 +880,11 @@ begin
 
                //Mail\97\93\95\\8e¦
                FShowMail := ini.ReadBool('Thread', 'ShowMail', True);
-               //\8dÅ\90V100\83\8c\83X\95\\8e¦
-               FOnlyAHundredRes := ini.ReadBool('Thread', 'OnlyAHundredRes',false);
+               // \83\8c\83X\95\\8e¦\94Í\88Í
+               if ini.ReadBool('Thread', 'OnlyAHundredRes',false) then
+                       FResRange := 100        // \8cÃ\82¢\90Ý\92è\82Ì\8cÝ\8a·\97p
+               else
+                       FResRange := ini.ReadInteger( 'Thread', 'ResRange', 0 );
                //\94ñ\83A\83N\83e\83B\83u\8e\9e\83\8c\83X\83|\83b\83v\83A\83b\83v\95\\8e¦
                FUnActivePopup := ini.ReadBool('Thread', 'UnActivePopup', False);
                //\83\8c\83X\83|\83b\83v\83A\83b\83v\83w\83b\83_\81[\83{\81[\83\8b\83h
@@ -1179,8 +1185,9 @@ begin
                ini.WriteString('CSS', 'FileName', FCSSFileName);
                //Mail\97\93\95\\8e¦
                ini.WriteBool('Thread', 'ShowMail', FShowMail);
-               //\8dÅ\90V100\83\8c\83X\95\\8e¦
-               ini.WriteBool('Thread', 'OnlyAHundredRes', FOnlyAHundredRes);
+               // \83\8c\83X\95\\8e¦\94Í\88Í
+               ini.DeleteKey( 'Thread', 'OnlyAHundredRes' );   // \8cÃ\82¢\90Ý\92è\82Ì\8dí\8f\9c
+               ini.WriteInteger('Thread', 'ResRange', FResRange);
                //\83\8d\83O\8dí\8f\9c\8am\94F
                ini.WriteBool('Function', 'LogDeleteMessage', FDeleteMsg);
                //\8fI\97¹\8am\94F
index 02b08e3..a811ad1 100644 (file)
@@ -59,8 +59,8 @@ const
                                                                                                                                                                        );
 
 
-       //\83{\83^\83\93\83X\83^\83C\83\8b\82ª"tbsCheck"\83{\83^\83\93\82Ì\83A\83N\83V\83\87\83\93
-       CHECK_STYLE:   array[0..31] of string = ('CabinetVisibleAction',
+       //\83{\83^\83\93\83X\83^\83C\83\8b\82ª"tbsCheck"\83{\83^\83\93\82Ì\83A\83N\83V\83\87\83\93
+       CHECK_STYLE:   array[0..33] of string = ('CabinetVisibleAction',
                                                                                                                                                                        'ArrangeAction',
                                                                                                                                                                        'AllItemAction',
                                                                                                                                                                        'LogItemAction',
@@ -92,13 +92,17 @@ const
                                                                                                                                                                        'ListNumberVisibleAction',
                                                                                                                                                                        'AllResAction',
                                                                                                                                                                        'SelectResAction',
-                                          'OnlyAHundredRes'
+                                                                                                                                                                       'OnlyAHundredRes',
+                                                                                                                                                                       'OnlyKokoResAction',
+                                                                                                                                                                       'OnlyNewResAction'
                                                                                                                                                                        );
 
-       //\83{\83^\83\93\82Ì\83X\83^\83C\83\8b\82ª"tbsDropDown"\83{\83^\83\93\82Ì\83A\83N\83V\83\87\83\93
-       DROPDOWN_STYLE: array[0..2] of string = ('IconStyle',
+       /// \83{\83^\83\93\82Ì\83X\83^\83C\83\8b\82ª"tbsDropDown"\83{\83^\83\93\82Ì\83A\83N\83V\83\87\83\93
+       /// Giko.pas : SetToolBarPopup \82à\8fC\90³\82·\82é\8e\96
+       DROPDOWN_STYLE: array[0..3] of string = ('IconStyle',
                                                                                                                                                                         'IEAction',
-                                           'CabinetBBSAction');
+                                                                                                                                                                        'CabinetBBSAction',
+                                                                                                                                                                        'ResRangeAction');
 
        INI_FILENAME: string = 'ToolBar.ini';