OSDN Git Service

リストツールバーに [スレッド一覧の表示範囲を設定] を追加。
authoryoffy <yoffy>
Thu, 12 Aug 2004 08:07:13 +0000 (08:07 +0000)
committeryoffy <yoffy>
Thu, 12 Aug 2004 08:07:13 +0000 (08:07 +0000)
Giko.dfm
Giko.pas
Setting.pas
ToolBarUtil.pas

index 5f5de3c..e97ae30 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -1,6 +1,6 @@
 object GikoForm: TGikoForm
-  Left = 177
-  Top = 132
+  Left = -3
+  Top = 235
   HorzScrollBar.Visible = False
   VertScrollBar.Visible = False
   AutoScroll = False
@@ -355,14 +355,14 @@ object GikoForm: TGikoForm
                 Control = ListToolBar
                 ImageIndex = -1
                 MinHeight = 22
-                Width = 536
+                Width = 560
               end
               item
                 Break = False
                 Control = ListNameToolBar
                 ImageIndex = -1
                 MinHeight = 18
-                Width = 162
+                Width = 138
               end>
             EdgeBorders = [ebLeft, ebTop, ebRight]
             EdgeInner = esLowered
@@ -372,7 +372,7 @@ object GikoForm: TGikoForm
             object ListToolBar: TToolBar
               Left = 9
               Top = 0
-              Width = 523
+              Width = 547
               Height = 22
               AutoSize = True
               ButtonWidth = 25
@@ -411,26 +411,33 @@ object GikoForm: TGikoForm
                 Width = 8
                 Style = tbsSeparator
               end
-              object AllItemToolButton: TToolButton
+              object ThreadRangeButton: TToolButton
                 Left = 94
                 Top = 0
+                Action = ThreadRangeAction
+                DropdownMenu = ThreadRangePopupMenu
+                Style = tbsDropDown
+              end
+              object AllItemToolButton: TToolButton
+                Left = 130
+                Top = 0
                 Action = AllItemAction
                 Style = tbsCheck
               end
               object LogItemToolButton: TToolButton
-                Left = 119
+                Left = 155
                 Top = 0
                 Action = LogItemAction
                 Style = tbsCheck
               end
               object NewItemToolButton: TToolButton
-                Left = 144
+                Left = 180
                 Top = 0
                 Action = NewItemAction
                 Style = tbsCheck
               end
               object SelectItemToolButton: TToolButton
-                Left = 169
+                Left = 205
                 Top = 0
                 Action = SelectItemAction
                 Style = tbsCheck
@@ -438,7 +445,7 @@ object GikoForm: TGikoForm
               end
               object SelectComboBox: TComboBox
                 Tag = 1
-                Left = 194
+                Left = 230
                 Top = 1
                 Width = 127
                 Height = 20
@@ -452,7 +459,7 @@ object GikoForm: TGikoForm
               end
               object SelectComboBoxSplitter: TImage
                 Tag = 1
-                Left = 321
+                Left = 357
                 Top = 0
                 Width = 8
                 Height = 22
@@ -462,12 +469,12 @@ object GikoForm: TGikoForm
                 OnMouseUp = SelectComboBoxSplitterMouseUp
               end
               object ToolButton8: TToolButton
-                Left = 329
+                Left = 365
                 Top = 0
                 Action = ThreadEditorAction
               end
               object ToolButton10: TToolButton
-                Left = 354
+                Left = 390
                 Top = 0
                 Width = 8
                 Caption = 'ToolButton10'
@@ -475,18 +482,18 @@ object GikoForm: TGikoForm
                 Style = tbsSeparator
               end
               object ToolButton12: TToolButton
-                Left = 362
+                Left = 398
                 Top = 0
                 Action = BoardIEAction
               end
               object LocalRuleView: TToolButton
-                Left = 387
+                Left = 423
                 Top = 0
                 Caption = #12525#12540#12459#12523#12523#12540#12523#34920#31034
                 ImageIndex = 12
               end
               object ToolButton14: TToolButton
-                Left = 412
+                Left = 448
                 Top = 0
                 Width = 8
                 Caption = 'ToolButton14'
@@ -494,32 +501,32 @@ object GikoForm: TGikoForm
                 Style = tbsSeparator
               end
               object ListDownloadToolButton: TToolButton
-                Left = 420
+                Left = 456
                 Top = 0
                 Action = SelectListReloadAction
               end
               object ListThreadDownloadToolButton: TToolButton
-                Left = 445
+                Left = 481
                 Top = 0
                 Action = SelectThreadReloadAction
               end
               object ToolButton2: TToolButton
-                Left = 470
+                Left = 506
                 Top = 0
                 Width = 8
                 Style = tbsSeparator
               end
               object ToolButton1: TToolButton
-                Left = 478
+                Left = 514
                 Top = 0
                 Action = SelectReservAction
                 DropdownMenu = RoundNamePopupMenu
               end
             end
             object ListNameToolBar: TToolBar
-              Left = 547
+              Left = 571
               Top = 2
-              Width = 149
+              Width = 125
               Height = 18
               AutoSize = True
               ButtonHeight = 16
@@ -10257,6 +10264,16 @@ object GikoForm: TGikoForm
       OnExecute = NewItemActionExecute
       OnUpdate = NewItemActionUpdate
     end
+    object ThreadRangeAction: TAction
+      Category = #26495
+      AutoCheck = True
+      Caption = #12473#12524#12483#12489#12398#34920#31034#31684#22258#12434#35373#23450'(&H)'
+      GroupIndex = 1
+      Hint = #12473#12524#12483#12489#12398#34920#31034#31684#22258#12434#35373#23450
+      ImageIndex = 10
+      OnExecute = ThreadRangeActionExecute
+      OnUpdate = ThreadRangeActionUpdate
+    end
     object SelectItemAction: TAction
       Category = #26495
       AutoCheck = True
@@ -11425,5 +11442,35 @@ object GikoForm: TGikoForm
       Action = OnlyNewResAction
       AutoCheck = True
     end
+    object N69: TMenuItem
+      Caption = '-'
+    end
+    object S7: TMenuItem
+      Action = SelectResAction
+      AutoCheck = True
+    end
+  end
+  object ThreadRangePopupMenu: TPopupMenu
+    Left = 37
+    Top = 436
+    object A15: TMenuItem
+      Action = AllItemAction
+      AutoCheck = True
+    end
+    object L8: TMenuItem
+      Action = LogItemAction
+      AutoCheck = True
+    end
+    object N67: TMenuItem
+      Action = NewItemAction
+      AutoCheck = True
+    end
+    object N68: TMenuItem
+      Caption = '-'
+    end
+    object S6: TMenuItem
+      Action = SelectItemAction
+      AutoCheck = True
+    end
   end
 end
index 41ea366..dfb1176 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -564,6 +564,16 @@ type
     A14: TMenuItem;
     BrowsBoradHeadAction: TAction;
     BrowsBoradHeadAction1: TMenuItem;
+    ThreadRangeAction: TAction;
+    ThreadRangePopupMenu: TPopupMenu;
+    A15: TMenuItem;
+    L8: TMenuItem;
+    N67: TMenuItem;
+    N68: TMenuItem;
+    S6: TMenuItem;
+    N69: TMenuItem;
+    S7: TMenuItem;
+    ThreadRangeButton: TToolButton;
                                procedure FormCreate(Sender: TObject);
                procedure FormDestroy(Sender: TObject);
                procedure CabinetPanelHide(Sender: TObject);
@@ -910,6 +920,8 @@ type
     procedure BrowsBoradHeadActionExecute(Sender: TObject);
     procedure BrowsBoradHeadActionUpdate(Sender: TObject);
     procedure EditNGActionExecute(Sender: TObject);
+    procedure ThreadRangeActionUpdate(Sender: TObject);
+    procedure ThreadRangeActionExecute(Sender: TObject);
        private
                { Private \90é\8c¾ }
         //RoundList : TRoundList;
@@ -972,7 +984,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·)
+               FResRangeMenuSelect     : Longint;              ///< ResRangeButton \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;
@@ -1594,6 +1606,26 @@ begin
                end;
        end;
 
+       // \83X\83\8c\83b\83h\88ê\97\97\95\\8e¦\94Í\88Í
+//     ThreadRangeAction.Execute;
+       case GikoSys.Setting.ThreadRange of
+       gtrAll:
+               begin
+                       AllItemAction.Checked := True;
+                       ViewType := gvtAll;
+               end;
+       gtrLog:
+               begin
+                       LogItemAction.Checked := True;
+                       ViewType := gvtLog;
+               end;
+       gtrNew:
+               begin
+                       NewItemAction.Checked := True;
+                       ViewType := gvtNew;
+               end;
+       end;
+
        //\83A\83h\83\8c\83X\83o\81[
        AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;
 
@@ -4812,10 +4844,8 @@ begin
        try
                if ViewType <> gvtAll then
                        SetListViewType(gvtAll);
-               AllItemAction.Checked := True;
-               LogItemAction.Checked := False;
-               NewItemAction.Checked := False;
-               //SelectItemAction.Checked := False;
+               GikoSys.Setting.ThreadRange := gtrAll;
+               AllItemAction.Checked           := True;
                // SelectComboBox \82Ì\97\9a\97ð\82ð\8dX\90V\82µ\82Ä\82¨\82­
                ModifySelectList;
                // SelectComboBox \82Ì\92l\82ð\83N\83\8a\83A
@@ -4833,10 +4863,8 @@ begin
        try
                if ViewType <> gvtLog then
                        SetListViewType(gvtLog);
-               AllItemAction.Checked := False;
+               GikoSys.Setting.ThreadRange     := gtrLog;
                LogItemAction.Checked := True;
-               NewItemAction.Checked := False;
-               //SelectItemAction.Checked := False;
                // SelectComboBox \82Ì\97\9a\97ð\82ð\8dX\90V\82µ\82Ä\82¨\82­
                ModifySelectList;
                // SelectComboBox \82Ì\92l\82ð\83N\83\8a\83A
@@ -4855,10 +4883,8 @@ begin
 
                if ViewType <> gvtNew then
                        SetListViewType(gvtNew);
-               AllItemAction.Checked := False;
-               LogItemAction.Checked := False;
+               GikoSys.Setting.ThreadRange     := gtrNew;
                NewItemAction.Checked := True;
-               //SelectItemAction.Checked := False;
                // SelectComboBox \82Ì\97\9a\97ð\82ð\8dX\90V\82µ\82Ä\82¨\82­
                ModifySelectList;
                // SelectComboBox \82Ì\92l\82ð\83N\83\8a\83A
@@ -8517,6 +8543,7 @@ var
        aIEButton                                       : TToolButton;
        aCabinetBBSButton       : TToolButton;
        aResRangeButton         : TToolButton;
+       aThreadRangeButton:     TToolButton;
 begin
        for i := 0 to StdToolBar.ButtonCount - 1 do begin
        end;
@@ -8535,6 +8562,9 @@ begin
        aResRangeButton         := FindToolBarButton( BrowserToolBar, ResRangeAction );
        if aResRangeButton <> nil then
                aResRangeButton.DropdownMenu            := ResRangePopupMenu;
+       aThreadRangeButton:= FindToolBarButton( ListToolBar, ThreadRangeAction );
+       if aThreadRangeButton <> nil then
+               aThreadRangeButton.DropdownMenu := ThreadRangePopupMenu;
 end;
 
 procedure TGikoForm.FormMouseWheel(Sender: TObject; Shift: TShiftState;
@@ -9745,10 +9775,6 @@ begin
 end;
 
 procedure TGikoForm.ResRangeActionExecute(Sender: TObject);
-var
-       ThreadItem : TThreadItem;
-       FilterList : TStringList;
-       i: Integer;
 begin
        case FResRangeMenuSelect of
        Ord( grrAll ):  AllResAction.Execute;
@@ -11061,6 +11087,20 @@ begin
        GikoSys.FAbon.EditNGwords;
 end;
 
+procedure TGikoForm.ThreadRangeActionUpdate(Sender: TObject);
+begin
+       ThreadRangeAction.Enabled := (GetActiveList is TBoard);
+end;
+
+procedure TGikoForm.ThreadRangeActionExecute(Sender: TObject);
+begin
+       case GikoSys.Setting.ThreadRange of
+       gtrAll: AllItemAction.Execute;
+       gtrLog: LogItemAction.Execute;
+       gtrNew: NewItemAction.Execute;
+       end;
+end;
+
 initialization
                                OleInitialize(nil);
 finalization
index e0c749e..0a653fc 100644 (file)
@@ -52,6 +52,9 @@ type
        /// \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);
 
+       /// \83X\83\8c\83b\83h\88ê\97\97\95\\8e¦\94Í\88Í
+       TGikoThreadRange = (gtrAll, gtrSelect, gtrLog, gtrNew);
+
        //CoolBar\90Ý\92è\83\8c\83R\81[\83h
        TCoolSet = record
                FCoolID: Integer;
@@ -199,6 +202,8 @@ type
                FResRange                       : Longint;
                /// \8bN\93®\8e\9e\83\8c\83X\95\\8e¦\94Í\88Í\82Ì\8cÅ\92è
                FResRangeHold   : Boolean;
+               /// \83X\83\8c\83b\83h\88ê\97\97\95\\8e¦\94Í\88Í
+               FThreadRange    : TGikoThreadRange;
                //\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
@@ -511,6 +516,7 @@ type
                property ShowMail: Boolean read FShowMail write FShowMail;
                property ResRange : Longint read FResRange write FResRange;
                property ResRangeHold : Boolean read FResRangeHold write FResRangeHold;
+               property ThreadRange    : TGikoThreadRange read FThreadRange write FThreadRange;
                property UnActivePopup: Boolean read FUnActivePopup write FUnActivePopup;
                property ResPopupHeaderBold: Boolean read FResPopupHeaderBold write FResPopupHeaderBold;
 
@@ -896,6 +902,8 @@ begin
                else
                        FResRange := ini.ReadInteger( 'Thread', 'ResRange', 100 );
                FResRangeHold := ini.ReadBool( 'Thread', 'ResRangeHold', False );
+               // \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¦
                FUnActivePopup := ini.ReadBool('Thread', 'UnActivePopup', False);
                //\83\8c\83X\83|\83b\83v\83A\83b\83v\83w\83b\83_\81[\83{\81[\83\8b\83h
@@ -1202,6 +1210,8 @@ begin
                // \83\8c\83X\95\\8e¦\94Í\88Í
                ini.WriteInteger('Thread', 'ResRange', FResRange);
                ini.WriteBool('Thread', 'ResRangeHold', FResRangeHold);
+               // \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
                ini.WriteBool('Function', 'LogDeleteMessage', FDeleteMsg);
                //\8fI\97¹\8am\94F
index 95a659a..bfa2e96 100644 (file)
@@ -98,10 +98,11 @@ const
 
        /// \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',
+       DROPDOWN_STYLE: array[0..4] of string = ('IconStyle',
                                                                                                                                                                         'IEAction',
                                                                                                                                                                         'CabinetBBSAction',
-                                                                                                                                                                        'ResRangeAction');
+                                                                                                                                                                        'ResRangeAction',
+                                                                                                                                                                        'ThreadRangeAction');
 
        INI_FILENAME: string = 'ToolBar.ini';