Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/Giko.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.515 by h677, Sat Jun 25 13:02:29 2005 UTC revision 1.515.2.17 by h677, Tue Jul 5 17:51:07 2005 UTC
# Line 425  type Line 425  type
425                  ReloadAction: TAction;                  ReloadAction: TAction;
426                  GoFowardAction: TAction;                  GoFowardAction: TAction;
427                  GoBackAction: TAction;                  GoBackAction: TAction;
                 SelectComboBoxSplitter: TImage;  
428                  IndividualAbon1: TMenuItem;                  IndividualAbon1: TMenuItem;
429                  N41: TMenuItem;                  N41: TMenuItem;
430                  IndividualAbon2: TMenuItem;                  IndividualAbon2: TMenuItem;
# Line 560  type Line 559  type
559          SortNextColumnAction: TAction;          SortNextColumnAction: TAction;
560      SortPrevColumnAction: TAction;      SortPrevColumnAction: TAction;
561      BeLogInOutAction: TAction;      BeLogInOutAction: TAction;
562        UnSelectedListViewAction: TAction;
563        SelectComboBoxPanel: TPanel;
564        SelectComboBoxSplitter: TImage;
565        ToolButton1: TToolButton;
566                                  procedure FormCreate(Sender: TObject);                                  procedure FormCreate(Sender: TObject);
567                  procedure FormDestroy(Sender: TObject);                  procedure FormDestroy(Sender: TObject);
568                  procedure CabinetPanelHide(Sender: TObject);                  procedure CabinetPanelHide(Sender: TObject);
# Line 639  type Line 642  type
642                  procedure SelectListReloadActionExecute(Sender: TObject);                  procedure SelectListReloadActionExecute(Sender: TObject);
643                  procedure SelectThreadReloadActionExecute(Sender: TObject);                  procedure SelectThreadReloadActionExecute(Sender: TObject);
644                  procedure SelectListReloadActionUpdate(Sender: TObject);                  procedure SelectListReloadActionUpdate(Sender: TObject);
                 procedure AllItemActionUpdate(Sender: TObject);  
                 procedure LogItemActionUpdate(Sender: TObject);  
                 procedure NewItemActionUpdate(Sender: TObject);  
                 procedure SelectItemActionUpdate(Sender: TObject);  
645                  procedure UpFolderActionUpdate(Sender: TObject);                  procedure UpFolderActionUpdate(Sender: TObject);
646                  procedure FormResize(Sender: TObject);                  procedure FormResize(Sender: TObject);
                 procedure ScrollTopActionUpdate(Sender: TObject);  
                 procedure ScrollLastActionUpdate(Sender: TObject);  
                 procedure ScrollNewActionUpdate(Sender: TObject);  
647                  procedure ScrollKokoActionUpdate(Sender: TObject);                  procedure ScrollKokoActionUpdate(Sender: TObject);
                 procedure EditorActionUpdate(Sender: TObject);  
                 procedure IEActionUpdate(Sender: TObject);  
                 procedure ShowThreadActionUpdate(Sender: TObject);  
                 procedure ShowBoardActionUpdate(Sender: TObject);  
648                  procedure SelectThreadReloadActionUpdate(Sender: TObject);                  procedure SelectThreadReloadActionUpdate(Sender: TObject);
                 procedure ItemReloadActionUpdate(Sender: TObject);  
649                  procedure LogDeleteActionExecute(Sender: TObject);                  procedure LogDeleteActionExecute(Sender: TObject);
650                  procedure KokomadeActionExecute(Sender: TObject);                  procedure KokomadeActionExecute(Sender: TObject);
651                  procedure ZenbuActionExecute(Sender: TObject);                  procedure ZenbuActionExecute(Sender: TObject);
652                  procedure KokoResActionExecute(Sender: TObject);                  procedure KokoResActionExecute(Sender: TObject);
653                  procedure ListPopupMenuPopup(Sender: TObject);                  procedure ListPopupMenuPopup(Sender: TObject);
654                  procedure SelectItemURLCopyActionExecute(Sender: TObject);                  procedure SelectItemURLCopyActionExecute(Sender: TObject);
                 procedure SelectItemURLCopyActionUpdate(Sender: TObject);  
655                  procedure AllSelectActionUpdate(Sender: TObject);                  procedure AllSelectActionUpdate(Sender: TObject);
                 procedure LogDeleteActionUpdate(Sender: TObject);  
656                  procedure BrowserTabCloseActionExecute(Sender: TObject);                  procedure BrowserTabCloseActionExecute(Sender: TObject);
657                  procedure NotSelectTabCloseActionExecute(Sender: TObject);                  procedure NotSelectTabCloseActionExecute(Sender: TObject);
658                  procedure TreeSelectBoradReloadExecute(Sender: TObject);                  procedure TreeSelectBoradReloadExecute(Sender: TObject);
# Line 697  type Line 686  type
686                  procedure ArrangeActionExecute(Sender: TObject);                  procedure ArrangeActionExecute(Sender: TObject);
687                  procedure NameURLCopyActionExecute(Sender: TObject);                  procedure NameURLCopyActionExecute(Sender: TObject);
688                  procedure SelectItemNameURLCopyActionExecute(Sender: TObject);                  procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
                 procedure URLCopyActionUpdate(Sender: TObject);  
                 procedure NameURLCopyActionUpdate(Sender: TObject);  
                 procedure BrowserTabCloseActionUpdate(Sender: TObject);  
                 procedure NotSelectTabCloseActionUpdate(Sender: TObject);  
689                  procedure AllTabCloseActionUpdate(Sender: TObject);                  procedure AllTabCloseActionUpdate(Sender: TObject);
                 procedure SelectItemNameURLCopyActionUpdate(Sender: TObject);  
690                  procedure ActiveLogDeleteActionExecute(Sender: TObject);                  procedure ActiveLogDeleteActionExecute(Sender: TObject);
                 procedure ActiveLogDeleteActionUpdate(Sender: TObject);  
691                  procedure ListNameBarVisibleActionExecute(Sender: TObject);                  procedure ListNameBarVisibleActionExecute(Sender: TObject);
692                  procedure BrowserNameBarVisibleActionExecute(Sender: TObject);                  procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
693                  procedure TreeSelectNameURLCopyExecute(Sender: TObject);                  procedure TreeSelectNameURLCopyExecute(Sender: TObject);
# Line 719  type Line 702  type
702                  procedure LeftTabSelectActionExecute(Sender: TObject);                  procedure LeftTabSelectActionExecute(Sender: TObject);
703                  procedure RightTabSelectActionExecute(Sender: TObject);                  procedure RightTabSelectActionExecute(Sender: TObject);
704                  procedure RightmostTabSelectActionExecute(Sender: TObject);                  procedure RightmostTabSelectActionExecute(Sender: TObject);
                 procedure LeftmostTabSelectActionUpdate(Sender: TObject);  
705                  procedure LeftTabSelectActionUpdate(Sender: TObject);                  procedure LeftTabSelectActionUpdate(Sender: TObject);
706                  procedure RightTabSelectActionUpdate(Sender: TObject);                  procedure RightTabSelectActionUpdate(Sender: TObject);
                 procedure RightmostTabSelectActionUpdate(Sender: TObject);  
707                  procedure FavoriteMenuClick(Sender: TObject);                  procedure FavoriteMenuClick(Sender: TObject);
708                  procedure FavoriteAddActionExecute(Sender: TObject);                  procedure FavoriteAddActionExecute(Sender: TObject);
                 procedure FavoriteAddActionUpdate(Sender: TObject);  
709                  procedure BoardFavoriteAddActionExecute(Sender: TObject);                  procedure BoardFavoriteAddActionExecute(Sender: TObject);
710                  procedure BoardFavoriteAddActionUpdate(Sender: TObject);                  procedure BoardFavoriteAddActionUpdate(Sender: TObject);
711                  procedure ThreadFavoriteAddActionExecute(Sender: TObject);                  procedure ThreadFavoriteAddActionExecute(Sender: TObject);
                 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);  
712                  procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);                  procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
713                  procedure FavoriteArrangeActionExecute(Sender: TObject);                  procedure FavoriteArrangeActionExecute(Sender: TObject);
714                  procedure MainCoolBarResize(Sender: TObject);                  procedure MainCoolBarResize(Sender: TObject);
# Line 769  type Line 748  type
748                          RebarChevron: PNMRebarChevron);                          RebarChevron: PNMRebarChevron);
749                  procedure ListViewColumnInfo(Sender: TObject; var Column: PLVColumnA);                  procedure ListViewColumnInfo(Sender: TObject; var Column: PLVColumnA);
750                  procedure ThreadEditorActionExecute(Sender: TObject);                  procedure ThreadEditorActionExecute(Sender: TObject);
                 procedure ThreadEditorActionUpdate(Sender: TObject);  
751                  procedure ToolBarSettingActionExecute(Sender: TObject);                  procedure ToolBarSettingActionExecute(Sender: TObject);
752                  procedure NameCopyActionExecute(Sender: TObject);                  procedure NameCopyActionExecute(Sender: TObject);
753                  procedure BoardIEActionExecute(Sender: TObject);                  procedure BoardIEActionExecute(Sender: TObject);
754                  procedure SelectItemNameCopyActionExecute(Sender: TObject);                  procedure SelectItemNameCopyActionExecute(Sender: TObject);
755                  procedure SelectItemNameCopyActionUpdate(Sender: TObject);                  procedure SelectItemNameCopyActionUpdate(Sender: TObject);
                 procedure BoardIEActionUpdate(Sender: TObject);  
756                  procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;                  procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
757                          WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);                          WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
                 procedure NameCopyActionUpdate(Sender: TObject);  
758                  procedure SelectComboBoxChange(Sender: TObject);                  procedure SelectComboBoxChange(Sender: TObject);
759                  procedure SelectComboBoxKeyDown(Sender: TObject; var Key: Word;                  procedure SelectComboBoxKeyDown(Sender: TObject; var Key: Word;
760                          Shift: TShiftState);                          Shift: TShiftState);
761                  procedure SelectComboBoxExit(Sender: TObject);                  procedure SelectComboBoxExit(Sender: TObject);
762                  procedure SelectResActionExecute(Sender: TObject);                  procedure SelectResActionExecute(Sender: TObject);
                 procedure SelectResActionUpdate(Sender: TObject);  
763                  procedure AllResActionExecute(Sender: TObject);                  procedure AllResActionExecute(Sender: TObject);
                 procedure AllResActionUpdate(Sender: TObject);  
764                  procedure ReloadClick(Sender: TObject);                  procedure ReloadClick(Sender: TObject);
765                  procedure GoBackClick(Sender: TObject);                  procedure GoBackClick(Sender: TObject);
766                  procedure GoFowardClick(Sender: TObject);                  procedure GoFowardClick(Sender: TObject);
# Line 839  type Line 813  type
813                  procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);                  procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
814                  procedure FavoriteTreeBrowseBoardPopupMenuClick(Sender: TObject);                  procedure FavoriteTreeBrowseBoardPopupMenuClick(Sender: TObject);
815                  procedure UpBoardActionExecute(Sender: TObject);                  procedure UpBoardActionExecute(Sender: TObject);
                 procedure UpBoardActionUpdate(Sender: TObject);  
816      procedure BrowserTabContextPopup(Sender: TObject; MousePos: TPoint;      procedure BrowserTabContextPopup(Sender: TObject; MousePos: TPoint;
817        var Handled: Boolean);        var Handled: Boolean);
818      procedure KoreCopyExecute(Sender: TObject);      procedure KoreCopyExecute(Sender: TObject);
# Line 855  type Line 828  type
828      procedure TreeSelectNameCopyExecute(Sender: TObject);      procedure TreeSelectNameCopyExecute(Sender: TObject);
829      procedure FavoriteTreeViewMouseUp(Sender: TObject;      procedure FavoriteTreeViewMouseUp(Sender: TObject;
830        Button: TMouseButton; Shift: TShiftState; X, Y: Integer);        Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
     procedure ResRangeActionUpdate(Sender: TObject);  
831                  procedure SetFocusForBrowserActionExecute(Sender: TObject);                  procedure SetFocusForBrowserActionExecute(Sender: TObject);
832                  procedure SetFocusForBrowserActionUpdate(Sender: TObject);                  procedure SetFocusForBrowserActionUpdate(Sender: TObject);
833      procedure SetFocusForThreadListActionExecute(Sender: TObject);      procedure SetFocusForThreadListActionExecute(Sender: TObject);
834      procedure SetFocusForCabinetActionExecute(Sender: TObject);      procedure SetFocusForCabinetActionExecute(Sender: TObject);
835          procedure BrowserMaxAndFocusActionExecute(Sender: TObject);          procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
836      procedure BrowserMaxAndFocusActionUpdate(Sender: TObject);          procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
     procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);  
837      procedure SetFocusForCabinetActionUpdate(Sender: TObject);      procedure SetFocusForCabinetActionUpdate(Sender: TObject);
838      procedure ListViewSelectItem(Sender: TObject; Item: TListItem;      procedure ListViewSelectItem(Sender: TObject; Item: TListItem;
839        Selected: Boolean);        Selected: Boolean);
# Line 872  type Line 843  type
843      procedure MidokuActionExecute(Sender: TObject);      procedure MidokuActionExecute(Sender: TObject);
844      procedure SelectItemSaveForDatExecute(Sender: TObject);      procedure SelectItemSaveForDatExecute(Sender: TObject);
845      procedure LogFolderOpenActionExecute(Sender: TObject);      procedure LogFolderOpenActionExecute(Sender: TObject);
     procedure LogFolderOpenActionUpdate(Sender: TObject);  
846                  procedure TabsSaveActionExecute(Sender: TObject);                  procedure TabsSaveActionExecute(Sender: TObject);
847                  procedure TabsOpenActionExecute(Sender: TObject);                  procedure TabsOpenActionExecute(Sender: TObject);
848      procedure OnlyAHundredResActionExecute(Sender: TObject);      procedure OnlyAHundredResActionExecute(Sender: TObject);
849      procedure OnlyKokoResActionExecute(Sender: TObject);      procedure OnlyKokoResActionExecute(Sender: TObject);
850          procedure OnlyNewResActionExecute(Sender: TObject);          procedure OnlyNewResActionExecute(Sender: TObject);
851          procedure BrowsBoradHeadActionExecute(Sender: TObject);          procedure BrowsBoradHeadActionExecute(Sender: TObject);
852      procedure BrowsBoradHeadActionUpdate(Sender: TObject);          procedure EditNGActionExecute(Sender: TObject);
     procedure EditNGActionExecute(Sender: TObject);  
     procedure ThreadRangeActionUpdate(Sender: TObject);  
853      procedure ThreadRangeActionExecute(Sender: TObject);      procedure ThreadRangeActionExecute(Sender: TObject);
854                  procedure TabAutoSaveActionExecute(Sender: TObject);                  procedure TabAutoSaveActionExecute(Sender: TObject);
855      procedure TabAutoLoadActionExecute(Sender: TObject);      procedure TabAutoLoadActionExecute(Sender: TObject);
856                  procedure ListViewColumnRightClick(Sender: TObject;                  procedure ListViewColumnRightClick(Sender: TObject;
857        Column: TListColumn; Point: TPoint);        Column: TListColumn; Point: TPoint);
858      procedure JumpToNumOfResActionExecute(Sender: TObject);      procedure JumpToNumOfResActionExecute(Sender: TObject);
     procedure JumpToNumOfResActionUpdate(Sender: TObject);  
859      procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);      procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
860          procedure ListViewCustomDrawItem(Sender: TCustomListView;          procedure ListViewCustomDrawItem(Sender: TCustomListView;
861        Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);        Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
# Line 900  type Line 867  type
867          procedure RightTabCloseActionExecute(Sender: TObject);          procedure RightTabCloseActionExecute(Sender: TObject);
868      procedure RightTabCloseActionUpdate(Sender: TObject);      procedure RightTabCloseActionUpdate(Sender: TObject);
869      procedure LeftTabCloseActionExecute(Sender: TObject);      procedure LeftTabCloseActionExecute(Sender: TObject);
     procedure LeftTabCloseActionUpdate(Sender: TObject);  
870      procedure SameIDResAnchorActionExecute(Sender: TObject);      procedure SameIDResAnchorActionExecute(Sender: TObject);
871      procedure IndividualAbon1ActionExecute(Sender: TObject);      procedure IndividualAbon1ActionExecute(Sender: TObject);
872      procedure IndividualAbon0ActionExecute(Sender: TObject);      procedure IndividualAbon0ActionExecute(Sender: TObject);
# Line 913  type Line 879  type
879      procedure SortActiveColumnActionExecute(Sender: TObject);      procedure SortActiveColumnActionExecute(Sender: TObject);
880      procedure SortNextColumnActionExecute(Sender: TObject);      procedure SortNextColumnActionExecute(Sender: TObject);
881      procedure SortPrevColumnActionExecute(Sender: TObject);      procedure SortPrevColumnActionExecute(Sender: TObject);
882      procedure MessageListViewAdvancedCustomDrawItem(          procedure MessageListViewAdvancedCustomDrawItem(
883        Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;            Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
884        Stage: TCustomDrawStage; var DefaultDraw: Boolean);            Stage: TCustomDrawStage; var DefaultDraw: Boolean);
885      procedure BeLogInOutActionExecute(Sender: TObject);          procedure BeLogInOutActionExecute(Sender: TObject);
886          procedure BeLogInOutActionUpdate(Sender: TObject);          procedure BeLogInOutActionUpdate(Sender: TObject);
887            procedure UnSelectedListViewActionExecute(Sender: TObject);
888            procedure ListViewKeyUp(Sender: TObject; var Key: Word;
889              Shift: TShiftState);
890        procedure FavoriteTreeViewEditing(Sender: TObject; Node: TTreeNode;
891          var AllowEdit: Boolean);
892          private          private
893                  { Private 宣言 }                  { Private 宣言 }
         //RoundList : TRoundList;  
894                  FSortIndex: Integer;                  FSortIndex: Integer;
895                  FSortOrder: Boolean;                  FSortOrder: Boolean;
896    
# Line 941  type Line 911  type
911                  FListStyle: TViewStyle;                         //リストアイコンスタイル                  FListStyle: TViewStyle;                         //リストアイコンスタイル
912                  FItemNoVisible: Boolean;                        //リスト番号表示フラグ                  FItemNoVisible: Boolean;                        //リスト番号表示フラグ
913                  FViewType: TGikoViewType;                       //リストアイテム表示タイプ                  FViewType: TGikoViewType;                       //リストアイテム表示タイプ
914                  FActiveList: TObject;                  FActiveList: TObject;
915                  FActiveContent: TBrowserRecord; //                  FActiveContent: TBrowserRecord; //
916                  FActiveBBS : TBBS;                  FActiveBBS : TBBS;
917                  FHistoryList: TList;                                    //ヒストリリスト                  FHistoryList: TList;                                    //ヒストリリスト
# Line 983  type Line 953  type
953                  FResRangeMenuSelect     : Longint;                      ///< ResRangeButton で選択されている項目 (フォーマットは ResRange 互換)                  FResRangeMenuSelect     : Longint;                      ///< ResRangeButton で選択されている項目 (フォーマットは ResRange 互換)
954                  FStartUp : Boolean;                  FStartUp : Boolean;
955                  FIsHandledWheel : Boolean;                      ///< 既に受け取った WM_MOUSEWHEEL かどうか                  FIsHandledWheel : Boolean;                      ///< 既に受け取った WM_MOUSEWHEEL かどうか
956                  DiffComp: Boolean;                      //Add by Genyakun スレが更新されたときにTrueになる                                  DiffComp: Boolean;                      //Add by Genyakun スレが更新されたときにTrueになる
957                    FOrigenCaption: String;                         //お気に入りツリーのアイテム編集時の編集前の文字列                              
958                  procedure SetBoardTreeNode( inBBS : TBBS );                  procedure SetBoardTreeNode( inBBS : TBBS );
959                  function SetCategoryListItem(ABBS2ch: TBBS): Integer;                  function SetCategoryListItem(ABBS2ch: TBBS): Integer;
960                  function SetBoardListItem(Category: TCategory): Integer;                  function SetBoardListItem(Category: TCategory): Integer;
# Line 1002  type Line 973  type
973                  procedure BrowserMovement(const AName: string); overload;                  procedure BrowserMovement(const AName: string); overload;
974                  procedure BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord); overload;                  procedure BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord); overload;
975                  procedure SelectListItem(List: TList);                  procedure SelectListItem(List: TList);
 //              procedure SetProgressValue(Number: Integer; Value: Integer; Max: Integer = -1);  
976                  procedure DeleteTab(ThreadItem: TThreadItem); overload;                  procedure DeleteTab(ThreadItem: TThreadItem); overload;
977                  procedure DeleteTab(BrowserRecord: TBrowserRecord); overload;                  procedure DeleteTab(BrowserRecord: TBrowserRecord); overload;
978                  function Hook(var Message: TMessage): Boolean;                  function Hook(var Message: TMessage): Boolean;
# Line 1013  type Line 983  type
983                  function GetCoolBand(CoolBar: TCoolBar; Control: TWinControl): TCoolBand;                  function GetCoolBand(CoolBar: TCoolBar; Control: TWinControl): TCoolBand;
984    
985                  procedure SetMenuFont;                  procedure SetMenuFont;
 //              procedure CreateFavMenu(Folder: TFavoriteFolder);  
986                  procedure CreateFavMenu(Node: TTreeNode; MenuItem: TMenuItem);                  procedure CreateFavMenu(Node: TTreeNode; MenuItem: TMenuItem);
987                  procedure FavoriteClick(Sender: TObject; ActiveTab: Boolean); overload;                  procedure FavoriteClick(Sender: TObject; ActiveTab: Boolean); overload;
988                  procedure FavoriteClick(Sender: TObject); overload;                  procedure FavoriteClick(Sender: TObject); overload;
989                  procedure FavoriteDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);                  procedure FavoriteDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
990                  procedure SelectTreeNode(Item: TObject; CallEvent: Boolean);                  procedure SelectTreeNode(Item: TObject; CallEvent: Boolean);
991                  function OnDocumentContextMenu(Sender: TObject): WordBool;                  function OnDocumentContextMenu(Sender: TObject): WordBool;
 //              function GetThreadText(sBoard: string; sThread: string; StNum, ToNum: Integer; Title, First: Boolean): string;  
992                  procedure SetResPopupText(ThreadItem : TThreadItem; StNum, ToNum: Integer; Title, First: Boolean);                  procedure SetResPopupText(ThreadItem : TThreadItem; StNum, ToNum: Integer; Title, First: Boolean);
993                  procedure ShowTextPopup;                  procedure ShowTextPopup;
                 //procedure ShowTextPopup(HintData: THintData);  
 //              procedure SetStdToolBar;  
 //              function GetAction(ActionName: string): TContainedAction;  
994                  procedure SetLinkBar;                  procedure SetLinkBar;
995                  function GetWidthAllToolButton(ToolBar: TToolBar): Integer;                  function GetWidthAllToolButton(ToolBar: TToolBar): Integer;
996                  procedure MenuBarChevronMenu;                  procedure MenuBarChevronMenu;
# Line 1096  type Line 1061  type
1061                  //ブラウザの再描画 true:全てのタブ false:アクティブなタブのみ                  //ブラウザの再描画 true:全てのタブ false:アクティブなタブのみ
1062                  procedure RepaintAllTabsBrowser();                  procedure RepaintAllTabsBrowser();
1063          //リンクの文字列からレスポップアップ用のURLに変換する          //リンクの文字列からレスポップアップ用のURLに変換する
1064          function GetRespopupURL(AText, AThreadURL : string): string;                  function GetRespopupURL(AText, AThreadURL : string): string;
1065          protected          protected
1066                  procedure CreateParams(var Params: TCreateParams); override;                  procedure CreateParams(var Params: TCreateParams); override;
1067                  procedure WndProc(var Message: TMessage); override;                  procedure WndProc(var Message: TMessage); override;
# Line 1167  type Line 1132  type
1132                  procedure IDAnchorPopup(Abody :string);                  procedure IDAnchorPopup(Abody :string);
1133          published          published
1134                  property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton;                  property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton;
1135                    //TActionでGetActiveContentがnil以外で有効になる
1136                    procedure DependActiveCntentActionUpdate(Sender: TObject);
1137                    //TActionでGetActiveContentがnil以外かつログを持っていると有効になる
1138                    procedure DependActiveCntentLogActionUpdate(Sender: TObject);
1139                    //TActionでActiveListがTBoardで有効になる
1140                    procedure DependActiveListTBoardActionUpdate(Sender: TObject);
1141          end;          end;
1142    
1143          TFavoriteMenuItem = class(TMenuItem)          TFavoriteMenuItem = class(TMenuItem)
# Line 1293  var Line 1264  var
1264          wp: TWindowPlacement;          wp: TWindowPlacement;
1265          s: string;          s: string;
1266          newbrowser: TWebBrowser;          newbrowser: TWebBrowser;
1267            ToolButton: TToolButton;
1268  begin  begin
1269  {$IFDEF DEBUG}  {$IFDEF DEBUG}
1270          AllocConsole;          AllocConsole;
# Line 1336  begin Line 1308  begin
1308          BrowserNullTab.Browser.BringToFront;          BrowserNullTab.Browser.BringToFront;
1309          ShowWindow(BrowserNullTab.Browser.Handle, SW_SHOW);          ShowWindow(BrowserNullTab.Browser.Handle, SW_SHOW);
1310    
   
1311          //メニューフォント          //メニューフォント
1312          SetMenuFont;          SetMenuFont;
1313    
# Line 1579  begin Line 1550  begin
1550          ReadToolBarSetting(ActionList, BrowserToolBar);          ReadToolBarSetting(ActionList, BrowserToolBar);
1551          SetToolBarPopup;          SetToolBarPopup;
1552    
1553            //ListToolBarにいるかもしれない絞込みComboBoxを配置
1554            SelectComboBoxPanel.Visible := False;
1555            try
1556                    for i := ListToolBar.ControlCount - 1 downto 0 do
1557                    begin
1558                            if ListToolBar.Controls[ i ].Action = SelectItemAction then
1559                            begin
1560                                    SelectComboBoxPanel.Left := ListToolBar.Controls[ i ].Left;
1561                                    SelectComboBoxPanel.Width := GikoSys.Setting.SelectComboBoxWidth;
1562                                    SelectComboBoxPanel.Parent := ListToolBar;
1563                                    SelectComboBoxPanel.Visible := True;
1564    
1565                                    SelectComboBox.Left := 0;
1566                                    SelectComboBox.Top  := 0;
1567                                    SelectComboBox.Height := SelectComboBoxPanel.ClientHeight;
1568                                    SelectComboBox.Width := SelectComboBoxPanel.Width -
1569                                                                                    SelectComboBoxSplitter.Width;
1570    
1571                                    //一つ見えないボタンを突っ込む
1572                                    ToolButton := TToolButton.Create(ListToolBar);
1573                                    ToolButton.Name := 'SelectComboBoxDummy';
1574                                    ToolButton.Style := tbsSeparator;
1575                                    ToolButton.Width := 0;
1576                                    ToolButton.Left  := ListToolBar.Controls[ i ].Left;
1577                                    ListToolBar.InsertControl(ToolButton);
1578                                    ToolButton.Visible := False;
1579    
1580                                    // スレッド絞込の隣にセパレータがある場合は隠す
1581                                    if (i + 1) < ListToolBar.ControlCount then
1582                                            if ListToolBar.Controls[ i + 1 ] is TToolButton then
1583                                                    if TToolButton( ListToolBar.Controls[ i + 1 ] ).Style = tbsSeparator then
1584                                                            ListToolBar.Controls[ i + 1 ].Visible := False;
1585    
1586    
1587                                    // スレッド絞込ボタンを隠す
1588                                    ListToolBar.Controls[ i ].Visible := False;
1589    
1590                                    break;
1591                            end;
1592                    end;
1593            except
1594            end;
1595    
1596    
1597          //アドレスバー          //アドレスバー
1598          AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;          AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;
# Line 1834  end; Line 1848  end;
1848  //  //
1849  //  //
1850  procedure TGikoForm.FormShow(Sender: TObject);  procedure TGikoForm.FormShow(Sender: TObject);
 var  
         i       :Integer;  
1851  begin  begin
1852          if FStartUp then begin          if FStartUp then begin
1853                  ShowWindow(Application.Handle, SW_HIDE);                  ShowWindow(Application.Handle, SW_HIDE);
# Line 1886  begin Line 1898  begin
1898                  // CoolBar 復元                  // CoolBar 復元
1899                  LoadCoolBarSettings;                  LoadCoolBarSettings;
1900    
                 //ListToolBarにいるかもしれない絞込みComboBoxを配置  
                 try  
                         for i := ListToolBar.ControlCount - 1 downto 0 do  
                         begin  
                                 if ListToolBar.Controls[ i ].Action = SelectItemAction then  
                                 begin  
                                         // スレッド絞込の隣にセパレータがある場合は隠す  
                                         if (i + 1) < ListToolBar.ControlCount then  
                                                 if ListToolBar.Controls[ i + 1 ] is TToolButton then  
                                                         if TToolButton( ListToolBar.Controls[ i + 1 ] ).Style = tbsSeparator then  
                                                                 ListToolBar.Controls[ i + 1 ].Visible := False;  
   
   
                                         // スレッド絞込ボタンを隠す  
                                         ListToolBar.Controls[ i ].Visible := False;  
                                         // スレッド絞込フィールドを挿入  
                                         SelectComboBox.Left :=  ListToolBar.Controls[ i ].Left;  
                                         SelectComboBox.Width := GikoSys.Setting.SelectComboBoxWidth;  
                                         SelectComboBox.Parent := ListToolBar;  
                                         SelectComboBox.Visible := True;  
                                         // スレッド絞込用独自セパレータを挿入  
                                         SelectComboBoxSplitter.Left := SelectComboBox.Left + SelectComboBox.Width;  
                                         SelectComboBoxSplitter.Visible := True;  
                                         SelectComboBoxSplitter.Parent := ListToolBar;  
                                         break;  
                                 end;  
                         end;  
                 except  
                 end;  
1901                  //重要 これがないとツールボタンの更新がおかしくなる                  //重要 これがないとツールボタンの更新がおかしくなる
1902                  ResetBandInfo( ListCoolBar, ListToolBar );  //              ResetBandInfo( ListCoolBar, ListToolBar );
   
1903                  FIsIgnoreResize := rtNone;                  FIsIgnoreResize := rtNone;
1904    
1905                  //TabAutoLoad                  //TabAutoLoad
# Line 2114  begin Line 2096  begin
2096          // TBoard, TThreadItem のデストラクタはプラグインに破棄を伝えるので          // TBoard, TThreadItem のデストラクタはプラグインに破棄を伝えるので
2097          // BoardPluteIns の開放より先に行うこと          // BoardPluteIns の開放より先に行うこと
2098      for i := Length(BoardGroups) - 1 downto 0 do begin      for i := Length(BoardGroups) - 1 downto 0 do begin
2099          BoardGroups[i].Clear;                  //BoardGroups[i].Clear;
2100                    BoardGroups[i].Free;
2101      end;      end;
2102    
2103          try          try
# Line 2211  var Line 2194  var
2194          i                       : Integer;          i                       : Integer;
2195          tmpBool: Boolean;          tmpBool: Boolean;
2196  begin  begin
2197        LockWindowUpdate(Self.Handle);
2198    
2199          //タブクローズ          //タブクローズ
2200          tmpBool := GikoSys.Setting.ShowDialogForAllTabClose;          tmpBool := GikoSys.Setting.ShowDialogForAllTabClose;
2201          GikoSys.Setting.ShowDialogForAllTabClose := false;          GikoSys.Setting.ShowDialogForAllTabClose := false;
# Line 2233  begin Line 2218  begin
2218          end;          end;
2219    
2220          //履歴の保存と破棄          //履歴の保存と破棄
2221          SaveHistory;          try
2222          ClearHistory;                  SaveHistory;
2223                    ClearHistory;
2224            except
2225            end;
2226    
2227          //お気に入りの保存と破棄          //お気に入りの保存と破棄
2228          FavoriteDM.WriteFavorite;          try
2229          FavoriteDM.Clear;                  FavoriteDM.WriteFavorite;
2230                    FavoriteDM.Clear;
2231            except
2232            end;
2233    
2234            //板・スレ・PLUGINの破棄
2235            for i := Length(BoardGroups) - 1 downto 0 do begin
2236                    try
2237                            BoardGroups[i].Free;
2238                    except
2239                    end;
2240            end;
2241          //BBS破棄          //BBS破棄
2242          try          try
2243                  for i := Length( BBSs ) - 1 downto 0 do begin                  for i := Length( BBSs ) - 1 downto 0 do begin
# Line 2254  begin Line 2251  begin
2251          ActiveList := nil;          ActiveList := nil;
2252    
2253          FTreeType := gttNone;          FTreeType := gttNone;
2254          //GikoSys.FBoardURLList.Clear;  
2255          for i := Length(BoardGroups) - 1 downto 0 do begin          //============ここから下で、再生================================//
2256                  BoardGroups[i].Clear;  
2257          end;          // 外部板プラグインをロード(ReadBoardFile, LoadHistory より先に行うこと)
2258            InitializeBoardPlugIns;
2259    
2260          GikoSys.ListBoardFile;          //ボードファイル読込          GikoSys.ListBoardFile;          //ボードファイル読込
2261    
2262          // すべてのBBSを読み込んでおく          // すべてのBBSを読み込んでおく
# Line 2283  begin Line 2282  begin
2282          RoundList.LoadRoundBoardFile;          RoundList.LoadRoundBoardFile;
2283          RoundList.LoadRoundThreadFile;          RoundList.LoadRoundThreadFile;
2284    
2285            LockWindowUpdate(0);
2286          //          //
2287          TabsOpenAction.Execute;          TabsOpenAction.Execute;
2288  end;  end;
# Line 3343  end; Line 3343  end;
3343    
3344  procedure TGikoForm.AppFormDeactivate(Sender: TObject);  procedure TGikoForm.AppFormDeactivate(Sender: TObject);
3345  begin  begin
3346      Application.ProcessMessages;          Application.ProcessMessages;
3347          if Application.Terminated then          if not Application.Terminated then begin
3348                  Exit;                  if PreviewTimer.Enabled then
3349          if PreviewTimer.Enabled then                          PreviewTimer.Enabled := False;
3350                  PreviewTimer.Enabled := False;                  //フォーカスが他のアプリに変わったときにヒントを消去
3351          //フォーカスが他のアプリに変わったときにヒントを消去                  if FHint <> nil then begin
3352          if FHint <> nil then begin                          FHint.ReleaseHandle;
3353                  FHint.ReleaseHandle;                          FHint.ClearAllRes;
3354                  FHint.ClearAllRes;                  end;
3355            //プレビューを隠す
3356                    if FPreviewBrowser <> nil then
3357                            ShowWindow(FPreviewBrowser.Handle, SW_HIDE);
3358          end;          end;
         if FPreviewBrowser <> nil then  
                 ShowWindow(FPreviewBrowser.Handle, SW_HIDE);  
   
3359  end;  end;
3360    
3361  procedure TGikoForm.TreeViewCustomDraw(Sender: TCustomTreeView;  procedure TGikoForm.TreeViewCustomDraw(Sender: TCustomTreeView;
# Line 4007  end; Line 4007  end;
4007  function TGikoForm.GetActiveContent: TThreadItem;  function TGikoForm.GetActiveContent: TThreadItem;
4008  begin  begin
4009          try          try
4010                  if( Assigned(FActiveContent) ) and (Assigned(FActiveContent.Thread))                  if( Assigned(FActiveContent) ) and (FActiveContent <> nil)
4011                          and (FActiveContent <> nil) and (FActiveContent.Thread <> nil) then                          and (Assigned(FActiveContent.Thread)) and (FActiveContent.Thread <> nil) then
4012                          Result := FActiveContent.Thread                          Result := FActiveContent.Thread
4013                  else begin                  else begin
4014              FActiveContent := nil;              FActiveContent := nil;
# Line 5653  begin Line 5653  begin
5653                  List.Free;                  List.Free;
5654          end;          end;
5655  end;  end;
5656    //ActiveListがTCategoyでスレ一覧で1つ以上選択かActiveListがTBoardで有効な
5657    //Actionで共通
5658  procedure TGikoForm.SelectListReloadActionUpdate(Sender: TObject);  procedure TGikoForm.SelectListReloadActionUpdate(Sender: TObject);
5659  begin  begin
5660          if (GetActiveList is TCategory) and (ListView.SelCount > 0) then          //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
5661                  SelectListReloadAction.Enabled := True          if (Sender <> nil) and (Sender is TAction) then begin
5662          else if GetActiveList is TBoard then                  if (GetActiveList is TCategory) and (ListView.SelCount > 0) then
5663                  SelectListReloadAction.Enabled := True                          TAction(Sender).Enabled := True
5664          else                  else if GetActiveList is TBoard then
5665                  SelectListReloadAction.Enabled := False;                          TAction(Sender).Enabled := True
5666                    else
5667                            TAction(Sender).Enabled := False;
5668            end;
5669  end;  end;
5670    //ActiveListがTBoardでスレ一覧で1つ以上選択していると有効になるActionで共通
5671  procedure TGikoForm.SelectThreadReloadActionUpdate(Sender: TObject);  procedure TGikoForm.SelectThreadReloadActionUpdate(Sender: TObject);
5672  begin  begin
5673          if (GetActiveList is TBoard) and (ListView.SelCount > 0) then          //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
5674                  SelectThreadReloadAction.Enabled := True          if (Sender <> nil) and (Sender is TAction) then begin
5675          else                  TAction(Sender).Enabled := (GetActiveList is TBoard) and (ListView.SelCount > 0);
5676                  SelectThreadReloadAction.Enabled := False;          end;
 end;  
   
 procedure TGikoForm.AllItemActionUpdate(Sender: TObject);  
 begin  
         AllItemAction.Enabled := (GetActiveList is TBoard);  
 end;  
   
 procedure TGikoForm.LogItemActionUpdate(Sender: TObject);  
 begin  
         LogItemAction.Enabled := (GetActiveList is TBoard);  
 end;  
   
 procedure TGikoForm.NewItemActionUpdate(Sender: TObject);  
 begin  
         NewItemAction.Enabled := (GetActiveList is TBoard);  
 end;  
   
 procedure TGikoForm.SelectItemActionUpdate(Sender: TObject);  
 begin  
         SelectItemAction.Enabled := (GetActiveList is TBoard);  
5677  end;  end;
5678    
5679  procedure TGikoForm.UpFolderActionUpdate(Sender: TObject);  procedure TGikoForm.UpFolderActionUpdate(Sender: TObject);
# Line 5697  begin Line 5681  begin
5681          UpFolderAction.Enabled := not (GetActiveList is TBBS);          UpFolderAction.Enabled := not (GetActiveList is TBBS);
5682  end;  end;
5683    
 procedure TGikoForm.ThreadEditorActionUpdate(Sender: TObject);  
 begin  
         ThreadEditorAction.Enabled := (GetActiveList is TBoard);  
 end;  
   
5684  procedure TGikoForm.FormResize(Sender: TObject);  procedure TGikoForm.FormResize(Sender: TObject);
5685  begin  begin
5686    
# Line 5726  begin Line 5705  begin
5705    
5706  end;  end;
5707    
 procedure TGikoForm.ScrollTopActionUpdate(Sender: TObject);  
 begin  
         ScrollTopAction.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);  
 end;  
   
 procedure TGikoForm.ScrollLastActionUpdate(Sender: TObject);  
 begin  
         ScrollLastAction.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);  
 end;  
   
 procedure TGikoForm.ScrollNewActionUpdate(Sender: TObject);  
 begin  
         ScrollNewAction.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);  
 end;  
   
5708  procedure TGikoForm.ScrollKokoActionUpdate(Sender: TObject);  procedure TGikoForm.ScrollKokoActionUpdate(Sender: TObject);
5709  begin  begin
5710          ScrollKokoAction.Enabled := (GetActiveContent <> nil)          ScrollKokoAction.Enabled := (GetActiveContent <> nil)
# Line 5749  begin Line 5713  begin
5713    
5714  end;  end;
5715    
5716  procedure TGikoForm.EditorActionUpdate(Sender: TObject);  //ブラウザタブが1つ以上で有効になるActionで共通化
 begin  
         EditorAction.Enabled := GetActiveContent <> nil;  
 end;  
   
 procedure TGikoForm.IEActionUpdate(Sender: TObject);  
 begin  
         IEAction.Enabled := GetActiveContent <> nil;  
 end;  
   
 procedure TGikoForm.ShowThreadActionUpdate(Sender: TObject);  
 begin  
         ShowThreadAction.Enabled := GetActiveContent <> nil;  
 end;  
   
 procedure TGikoForm.ShowBoardActionUpdate(Sender: TObject);  
 begin  
         ShowBoardAction.Enabled := GetActiveContent <> nil;  
 end;  
   
 procedure TGikoForm.ItemReloadActionUpdate(Sender: TObject);  
 begin  
         ItemReloadAction.Enabled := GetActiveContent <> nil;  
 end;  
   
 procedure TGikoForm.URLCopyActionUpdate(Sender: TObject);  
 begin  
         URLCopyAction.Enabled := GetActiveContent <> nil;  
 end;  
   
 procedure TGikoForm.NameCopyActionUpdate(Sender: TObject);  
 begin  
         NameCopyAction.Enabled := GetActiveContent <> nil;  
 end;  
   
 procedure TGikoForm.NameURLCopyActionUpdate(Sender: TObject);  
 begin  
         NameURLCopyAction.Enabled := GetActiveContent <> nil;  
 end;  
   
 procedure TGikoForm.BrowserTabCloseActionUpdate(Sender: TObject);  
 begin  
         BrowserTabCloseAction.Enabled := (BrowserTab.Tabs.Count > 0);  
 end;  
   
 procedure TGikoForm.NotSelectTabCloseActionUpdate(Sender: TObject);  
 begin  
         NotSelectTabCloseAction.Enabled := (BrowserTab.Tabs.Count > 1);  
 end;  
   
5717  procedure TGikoForm.AllTabCloseActionUpdate(Sender: TObject);  procedure TGikoForm.AllTabCloseActionUpdate(Sender: TObject);
5718  begin  begin
5719          AllTabCloseAction.Enabled := (BrowserTab.Tabs.Count > 0);          //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
5720  end;          if (Sender <> nil) and (Sender is TAction) then begin
5721                    TAction(Sender).Enabled := (BrowserTab.Tabs.Count > 0);
5722  procedure TGikoForm.ActiveLogDeleteActionUpdate(Sender: TObject);          end;
 begin  
         ActiveLogDeleteAction.Enabled := GetActiveContent <> nil;  
5723  end;  end;
5724    
5725  procedure TGikoForm.LogDeleteActionExecute(Sender: TObject);  procedure TGikoForm.LogDeleteActionExecute(Sender: TObject);
# Line 6007  end; Line 5920  end;
5920    
5921  function TGikoForm.Hook(var Message: TMessage): Boolean;  function TGikoForm.Hook(var Message: TMessage): Boolean;
5922  begin  begin
5923            //サブフォームがメインメニューを持たないときに、メインフォームの
5924            //メニューのショートカットキーがサブメニューから入力されるのを回避
5925          Result := False;          Result := False;
5926          case Message.Msg of          case Message.Msg of
5927          CM_APPKEYDOWN:          CM_APPKEYDOWN:
5928                  Result := True;                  Result := True;         //ショートカットキー無効
5929            CM_APPSYSCOMMAND:
5930                    Result := True;  // アクセラレータを無効にする
5931          end;          end;
5932  end;  end;
5933    
# Line 6135  begin Line 6052  begin
6052          end;          end;
6053  end;  end;
6054    
6055  procedure TGikoForm.BoardIEActionUpdate(Sender: TObject);  //ActiveListがTBoardかTCategoryでスレ一覧で1つ以上選択していると有効になるActionde共通
 begin  
         if GetActiveList is TBoard then  
                 BoardIEAction.Enabled := True  
         else  
                 BoardIEAction.Enabled := False;  
 end;  
   
 procedure TGikoForm.SelectItemURLCopyActionUpdate(Sender: TObject);  
 begin  
         if ((GetActiveList is TBoard) or (GetActiveList is TCategory))and (ListView.SelCount > 0) then  
                 SelectItemURLCopyAction.Enabled := True  
         else  
                 SelectItemURLCopyAction.Enabled := False;  
 end;  
   
6056  procedure TGikoForm.SelectItemNameCopyActionUpdate(Sender: TObject);  procedure TGikoForm.SelectItemNameCopyActionUpdate(Sender: TObject);
6057  begin  begin
6058          if ((GetActiveList is TBoard) or (GetActiveList is TCategory))and (ListView.SelCount > 0) then          //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
6059                  SelectItemNameCopyAction.Enabled := True          if (Sender <> nil) and (Sender is TAction) then begin
6060          else                  if ((GetActiveList is TBoard) or (GetActiveList is TCategory))and (ListView.SelCount > 0) then
6061                  SelectItemNameCopyAction.Enabled := False;                          TAction(Sender).Enabled := True
6062  end;                  else
6063                            TAction(Sender).Enabled := False;
6064            end;
6065    
 procedure TGikoForm.SelectItemNameURLCopyActionUpdate(Sender: TObject);  
 begin  
         if ((GetActiveList is TBoard) or (GetActiveList is TCategory))and (ListView.SelCount > 0) then  
                 SelectItemNameURLCopyAction.Enabled := True  
         else  
                 SelectItemNameURLCopyAction.Enabled := False;  
6066  end;  end;
6067    
6068  procedure TGikoForm.AllSelectActionUpdate(Sender: TObject);  procedure TGikoForm.AllSelectActionUpdate(Sender: TObject);
6069  begin  begin
6070          if ListView.SelCount > 0 then          AllSelectAction.Enabled := ListView.SelCount > 0;
                 AllSelectAction.Enabled := True  
         else  
                 AllSelectAction.Enabled := False;  
 end;  
   
 procedure TGikoForm.LogDeleteActionUpdate(Sender: TObject);  
 begin  
         if (GetActiveList is TBoard) and (ListView.SelCount > 0) then  
                 LogDeleteAction.Enabled := True  
         else  
                 LogDeleteAction.Enabled := False;  
6071  end;  end;
6072    
6073  procedure TGikoForm.BrowserTabCloseActionExecute(Sender: TObject);  procedure TGikoForm.BrowserTabCloseActionExecute(Sender: TObject);
# Line 6777  begin Line 6664  begin
6664                                  FEvent.OnContextMenu := OnDocumentContextMenu;                                  FEvent.OnContextMenu := OnDocumentContextMenu;
6665                                  FEvent.OnClick := WebBrowserClick;  //追加したOnClickイベント                                  FEvent.OnClick := WebBrowserClick;  //追加したOnClickイベント
6666                          end;                          end;
6667                            
6668                  end;                  end;
6669    
6670                  if (BrowserRecord <> nil) and                  if (BrowserRecord <> nil) and
# Line 7325  begin Line 7213  begin
7213          end;          end;
7214  end;  end;
7215    
7216  procedure TGikoForm.LeftmostTabSelectActionUpdate(Sender: TObject);  //ブラウザタブが1つ以上で左端でないActionで共通
 begin  
         LeftmostTabSelectAction.Enabled := (BrowserTab.TabIndex <> 0) and (BrowserTab.Tabs.Count > 0);  
 end;  
   
7217  procedure TGikoForm.LeftTabSelectActionUpdate(Sender: TObject);  procedure TGikoForm.LeftTabSelectActionUpdate(Sender: TObject);
7218  begin  begin
7219          LeftTabSelectAction.Enabled := (BrowserTab.TabIndex <> 0) and (BrowserTab.Tabs.Count > 0);          //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
7220            if (Sender <> nil) and (Sender is TAction) then begin
7221                    TAction(Sender).Enabled := (BrowserTab.Tabs.Count > 0) and (BrowserTab.TabIndex <> 0);
7222            end;
7223  end;  end;
7224    //ブラウザタブが1つ以上で右端でないActionで共通
7225  procedure TGikoForm.RightTabSelectActionUpdate(Sender: TObject);  procedure TGikoForm.RightTabSelectActionUpdate(Sender: TObject);
7226  begin  begin
7227          RightTabSelectAction.Enabled := (BrowserTab.TabIndex <> BrowserTab.Tabs.Count - 1) and (BrowserTab.Tabs.Count > 0);          //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
7228  end;          if (Sender <> nil) and (Sender is TAction) then begin
7229                    TAction(Sender).Enabled := (BrowserTab.Tabs.Count > 0) and (BrowserTab.TabIndex <> BrowserTab.Tabs.Count - 1);
7230  procedure TGikoForm.RightmostTabSelectActionUpdate(Sender: TObject);          end;
 begin  
         RightmostTabSelectAction.Enabled := (BrowserTab.TabIndex <> BrowserTab.Tabs.Count - 1) and (BrowserTab.Tabs.Count > 0);  
7231  end;  end;
7232    
7233  procedure TGikoForm.WMSettingChange(var Message: TWMWinIniChange);  procedure TGikoForm.WMSettingChange(var Message: TWMWinIniChange);
# Line 7531  begin Line 7416  begin
7416          end;          end;
7417  end;  end;
7418    
 procedure TGikoForm.FavoriteAddActionUpdate(Sender: TObject);  
 begin  
         FavoriteAddAction.Enabled := (GetActiveContent <> nil);  
 end;  
   
7419  procedure TGikoForm.BoardFavoriteAddActionExecute(Sender: TObject);  procedure TGikoForm.BoardFavoriteAddActionExecute(Sender: TObject);
7420  begin  begin
7421          if TObject(ListView.Selected.Data) is TBoard then          if TObject(ListView.Selected.Data) is TBoard then
# Line 7553  begin Line 7433  begin
7433                  ShowFavoriteAddDialog(TObject(ListView.Selected.Data));                  ShowFavoriteAddDialog(TObject(ListView.Selected.Data));
7434  end;  end;
7435    
 procedure TGikoForm.ThreadFavoriteAddActionUpdate(Sender: TObject);  
 begin  
         ThreadFavoriteAddAction.Enabled := (GetActiveList is TBoard) and (ListView.SelCount > 0);  
 end;  
   
7436  procedure TGikoForm.TreeSelectFavoriteAddActionExecute(Sender: TObject);  procedure TGikoForm.TreeSelectFavoriteAddActionExecute(Sender: TObject);
7437  begin  begin
7438          ShowFavoriteAddDialog(TObject(FClickNode.Data));          ShowFavoriteAddDialog(TObject(FClickNode.Data));
# Line 7900  var Line 7775  var
7775  //      KeyData: Integer;  //      KeyData: Integer;
7776  begin  begin
7777          Handled := False;          Handled := False;
7778          if AddressComboBox.Focused or SelectComboBox.Focused then begin          //アドレスもしくは絞り込みコンボボックスもしくはお気に入りが編集中は
7779            //ショートカットなどを無効にする
7780            if ((FavoriteTreeView.Visible) and (FavoriteTreeView.IsEditing)) then begin
7781                  if Msg.CharCode in [VK_BACK] then begin                  if Msg.CharCode in [VK_BACK] then begin
7782                          hComboEdit := GetFocus;                          hComboEdit := GetFocus;
7783                          if hComboEdit <> 0 then                          if hComboEdit <> 0 then
7784                                  SendMessage(hComboEdit, WM_CHAR, Msg.CharCode, Msg.KeyData);                                  SendMessage(hComboEdit, WM_CHAR, Msg.CharCode, Msg.KeyData);
7785  //                              SendMessage(hComboEdit, WM_CHAR, Msg.CharCode, $000E0001);                          Handled := True;
7786            //お気に入りはESCで脱出したいので、それも送る
7787                    end else if Msg.CharCode in [VK_INSERT, VK_DELETE, VK_HOME, VK_END, VK_PRIOR, VK_NEXT, VK_ESCAPE] then begin
7788                            hComboEdit := GetFocus;
7789                            if hComboEdit <> 0 then
7790                                    SendMessage(hComboEdit, WM_KEYDOWN, Msg.CharCode, Msg.KeyData);
7791                          Handled := True;                          Handled := True;
7792                  end;                  end;
7793                  if Msg.CharCode in [VK_INSERT, VK_DELETE, VK_HOME, VK_END, VK_PRIOR, VK_NEXT] then begin          end     else if (AddressComboBox.Focused) or (SelectComboBox.Focused) then begin
7794                    if Msg.CharCode in [VK_BACK] then begin
7795                            hComboEdit := GetFocus;
7796                            if hComboEdit <> 0 then
7797                                    SendMessage(hComboEdit, WM_CHAR, Msg.CharCode, Msg.KeyData);
7798                            Handled := True;
7799                    end else if Msg.CharCode in [VK_INSERT, VK_DELETE, VK_HOME, VK_END, VK_PRIOR, VK_NEXT] then begin
7800                          hComboEdit := GetFocus;                          hComboEdit := GetFocus;
7801                          if hComboEdit <> 0 then                          if hComboEdit <> 0 then
7802                                  SendMessage(hComboEdit, WM_KEYDOWN, Msg.CharCode, Msg.KeyData);                                  SendMessage(hComboEdit, WM_KEYDOWN, Msg.CharCode, Msg.KeyData);
# Line 8235  begin Line 8123  begin
8123                          else                          else
8124                                  Header := IntToStr(Line) + ' 名前: ' + Res.FName + ' [' + res.FMailTo + '] 投稿日: ' + Res.FDateTime;                                  Header := IntToStr(Line) + ' 名前: ' + Res.FName + ' [' + res.FMailTo + '] 投稿日: ' + Res.FDateTime;
8125    
8126                          Body := CustomStringReplace(Res.FBody, '<br> ', #10,true);                                                  Body := DeleteFontTag(Res.FBody);
8127                                                    Body := CustomStringReplace(Body, '<br> ', #10,true);
8128                          Body := CustomStringReplace(Body, '<br>', #10,true);                          Body := CustomStringReplace(Body, '<br>', #10,true);
8129                          Body := CustomStringReplace(Body, '</a>', '',true);                          Body := CustomStringReplace(Body, '</a>', '',true);
8130                          Body := GikoSys.DeleteLink(Body);                          Body := GikoSys.DeleteLink(Body);
# Line 8711  begin Line 8600  begin
8600                                          if ToolBar.Buttons[i].Style = tbsSeparator then                                          if ToolBar.Buttons[i].Style = tbsSeparator then
8601                                                  Item.Caption := '-'                                                  Item.Caption := '-'
8602                                          else begin                                          else begin
8603                                                  Item.Caption := ToolBar.Buttons[i].Caption;                          //スレ絞込みComBoxのTPanelを排除する
8604                                                  Item.Action := ToolBar.Buttons[i].Action;                                                  if TObject(ToolBar.Buttons[i]) is TPanel then begin
8605                                                            Continue;
8606                                                    end else begin
8607                                                            Item.Caption := ToolBar.Buttons[i].Caption;
8608                                                            Item.Action := ToolBar.Buttons[i].Action;
8609                                                    end;
8610                                                  //Item.Visible := True;                                                  //Item.Visible := True;
8611                                          end;                                          end;
8612                                          ChevronPopupMenu.Items.Add(Item);                                          ChevronPopupMenu.Items.Add(Item);
# Line 8923  var Line 8817  var
8817          Dlg: TToolBarSettingDialog;          Dlg: TToolBarSettingDialog;
8818          i: Integer;          i: Integer;
8819          //Component: TComponent;          //Component: TComponent;
8820            ToolButton : TToolButton;
8821  begin  begin
8822          Dlg := TToolBarSettingDialog.Create(Self, ActionList);          Dlg := TToolBarSettingDialog.Create(Self, ActionList);
8823          try          try
# Line 8951  begin Line 8846  begin
8846                                  BrowserCoolBar.Bands[i].MinWidth := BrowserCoolBar.Bands[i].MinWidth - 1;                                  BrowserCoolBar.Bands[i].MinWidth := BrowserCoolBar.Bands[i].MinWidth - 1;
8847                          end;                          end;
8848    
                         SelectComboBox.Visible := False;  
                         SelectComboBoxSplitter.Visible := False;  
   
8849                          SaveToolBarSetting(StdToolBar);                          SaveToolBarSetting(StdToolBar);
8850                          SaveToolBarSetting(ListToolBar);                          SaveToolBarSetting(ListToolBar);
8851                          for i := ListToolBar.ControlCount - 1 downto 0 do                          //ListToolBarにいるかもしれない絞込みComboBoxを配置
8852                          begin                          SelectComboBoxPanel.Visible := False;
8853                                  if ListToolBar.Controls[ i ].Action = SelectItemAction then                          try
8854                                    for i := ListToolBar.ControlCount - 1 downto 0 do
8855                                  begin                                  begin
8856                                          // スレッド絞込の隣にセパレータがある場合は隠す                                          if ListToolBar.Controls[ i ].Action = SelectItemAction then
8857                                          if (i + 1) < ListToolBar.ControlCount then                                          begin
8858                                                  if ListToolBar.Controls[ i + 1 ] is TToolButton then                                                  SelectComboBoxPanel.Left := ListToolBar.Controls[ i ].Left;
8859                                                          if TToolButton( ListToolBar.Controls[ i + 1 ] ).Style = tbsSeparator then                                                  SelectComboBoxPanel.Width := GikoSys.Setting.SelectComboBoxWidth;
8860                                                                  ListToolBar.Controls[ i + 1 ].Visible := False;                                                  SelectComboBoxPanel.Parent := ListToolBar;
8861                                                    SelectComboBoxPanel.Visible := True;
8862                                          // スレッド絞込ボタンを隠す  
8863                                          ListToolBar.Controls[ i ].Visible := False;                                                  SelectComboBox.Left := 0;
8864                                          // スレッド絞込フィールドを挿入                                                  SelectComboBox.Top  := 0;
8865                                          SelectComboBox.Left := ListToolBar.Controls[ i ].Left;                                                  SelectComboBox.Height := SelectComboBoxPanel.ClientHeight;
8866                                          SelectComboBox.Width := GikoSys.Setting.SelectComboBoxWidth;                                                  SelectComboBox.Width := SelectComboBoxPanel.Width -
8867                                          SelectComboBox.Parent := ListToolBar;                                                                                                  SelectComboBoxSplitter.Width;
8868                                          SelectComboBox.Visible := True;  
8869                                          // スレッド絞込用独自セパレータを挿入  
8870                                          SelectComboBoxSplitter.Left := SelectComboBox.Left + SelectComboBox.Width;                                                  //一つ見えないボタンを突っ込む
8871                                          SelectComboBoxSplitter.Parent := ListToolBar;                                                  ToolButton := TToolButton(ListToolBar.FindComponent('SelectComboBoxDummy'));
8872                                          SelectComboBoxSplitter.Visible := True;                                                  if ToolButton <> nil then begin
8873                                          break;                                                          ToolButton.Parent := nil;
8874                                                    end else begin
8875                                                            ToolButton := TToolButton.Create(ListToolBar);
8876                                                            ToolButton.Name := 'SelectComboBoxDummy';
8877                                                    end;
8878    
8879                                                    ToolButton.Style := tbsSeparator;
8880                                                    ToolButton.Width := 0;
8881                                                    ToolButton.Left  := ListToolBar.Controls[ i ].Left;
8882                                                    ListToolBar.InsertControl(ToolButton);
8883                                                    ToolButton.Visible := False;
8884    
8885                                                    // スレッド絞込の隣にセパレータがある場合は隠す
8886                                                    if (i + 1) < ListToolBar.ControlCount then
8887                                                            if ListToolBar.Controls[ i + 1 ] is TToolButton then
8888                                                                    if TToolButton( ListToolBar.Controls[ i + 1 ] ).Style = tbsSeparator then
8889                                                                            ListToolBar.Controls[ i + 1 ].Visible := False;
8890    
8891    
8892                                                    // スレッド絞込ボタンを隠す
8893                                                    ListToolBar.Controls[ i ].Visible := False;
8894    
8895                                                    break;
8896                                            end;
8897                                  end;                                  end;
8898                            except
8899                          end;                          end;
8900                          ResetBandInfo( ListCoolBar, ListToolBar );                          ResetBandInfo( ListCoolBar, ListToolBar );
8901                          SaveToolBarSetting(BrowserToolBar);                          SaveToolBarSetting(BrowserToolBar);
# Line 9254  begin Line 9171  begin
9171    
9172  end;  end;
9173    
 procedure TGikoForm.SelectResActionUpdate(Sender: TObject);  
 begin  
         SelectResAction.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);  
 end;  
   
9174  // 全てのレスを表示  // 全てのレスを表示
9175  procedure TGikoForm.AllResActionExecute(Sender: TObject);  procedure TGikoForm.AllResActionExecute(Sender: TObject);
9176  var  var
# Line 9288  begin Line 9200  begin
9200          end;          end;
9201  end;  end;
9202    
 procedure TGikoForm.AllResActionUpdate(Sender: TObject);  
 begin  
 //      AllResAction.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);  
 end;  
   
9203  procedure TGikoForm.ReloadClick(Sender: TObject);  procedure TGikoForm.ReloadClick(Sender: TObject);
9204  begin  begin
9205          if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin          if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
# Line 9345  begin Line 9252  begin
9252                  pos.X := X;                  pos.X := X;
9253                  pos.Y := Y;                  pos.Y := Y;
9254                  pos := SelectComboBoxSplitter.ClientToScreen( pos );                  pos := SelectComboBoxSplitter.ClientToScreen( pos );
9255                  w := SelectComboBox.Width + (pos.X - DraggingSelectComboBoxPosition.X);                  //w := SelectComboBox.Width + (pos.X - DraggingSelectComboBoxPosition.X);
9256                    w := SelectComboBoxPanel.Width + (pos.X - DraggingSelectComboBoxPosition.X);
9257    
9258                  If w <= 50 Then Begin                  If w <= 50 Then Begin
9259                          // 次の移動の基準が「過ぎてしまった位置」ではなく                          // 次の移動の基準が「過ぎてしまった位置」ではなく
# Line 9357  begin Line 9265  begin
9265                  End;                  End;
9266    
9267                  // チラつき軽減の為                  // チラつき軽減の為
9268                  If SelectComboBox.Width <> w Then Begin                  //If SelectComboBox.Width <> w Then Begin
9269                          SelectComboBox.Width := w;                  If SelectComboBoxPanel.Width <> w Then Begin
9270                            SelectComboBoxPanel.Width := w;
9271                            SelectComboBox.Width := SelectComboBoxPanel.Width - SelectComboBoxSplitter.Width;
9272                          GikoSys.Setting.SelectComboBoxWidth := w;                          GikoSys.Setting.SelectComboBoxWidth := w;
9273                          DraggingSelectComboBoxPosition := pos;                          DraggingSelectComboBoxPosition := pos;
9274    
# Line 9675  begin Line 9585  begin
9585                  VK_SPACE:                  VK_SPACE:
9586                          FavoriteTreeViewDblClick( Sender );                          FavoriteTreeViewDblClick( Sender );
9587                  end;                  end;
9588            end else begin
9589                    //編集中にESCを押したら、編集を終了して、元の文字列に戻す
9590                    if Key = VK_ESCAPE then begin
9591                            if (TTreeView(Sender).Selected <> nil) then begin
9592                                    TTreeView(Sender).Selected.Text := FOrigenCaption;
9593                            end;
9594                            TTreeView(Sender).Selected.Focused := False;
9595                    end;
9596          end;          end;
9597    
9598  end;  end;
# Line 10314  begin Line 10232  begin
10232    
10233  end;  end;
10234    
 procedure TGikoForm.UpBoardActionUpdate(Sender: TObject);  
 begin  
   
         UpBoardAction.Enabled := GetActiveContent <> nil;  
   
 end;  
   
10235  procedure TGikoForm.BrowserTabContextPopup(Sender: TObject;  procedure TGikoForm.BrowserTabContextPopup(Sender: TObject;
10236          MousePos: TPoint; var Handled: Boolean);          MousePos: TPoint; var Handled: Boolean);
10237  var  var
# Line 10766  begin Line 10677  begin
10677    
10678  end;  end;
10679    
 procedure TGikoForm.ResRangeActionUpdate(Sender: TObject);  
 begin  
 //      ResRangeAction.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);  
 end;  
   
10680  function TGikoForm.WebBrowserClick(Sender: TObject): WordBool;  function TGikoForm.WebBrowserClick(Sender: TObject): WordBool;
10681  var  var
10682          p : TPoint;          p : TPoint;
# Line 10838  procedure TGikoForm.SetFocusForBrowserAc Line 10744  procedure TGikoForm.SetFocusForBrowserAc
10744  begin  begin
10745          FActiveContent.FBrowser.SetFocus;          FActiveContent.FBrowser.SetFocus;
10746  end;  end;
10747    //ブラウザがあって、NULLタブ用のなければ有効になるActionで共通
10748  procedure TGikoForm.SetFocusForBrowserActionUpdate(Sender: TObject);  procedure TGikoForm.SetFocusForBrowserActionUpdate(Sender: TObject);
10749  begin  begin
10750          if( FActiveContent <> nil) and (FActiveContent.Browser <> nil) and          //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
10751                  (FActiveContent.Browser <> BrowserNullTab.Browser) then          if (Sender <> nil) and (Sender is TAction) then begin
10752                  SetFocusForBrowserAction.Enabled := true                  if( FActiveContent <> nil) and (FActiveContent.Browser <> nil) and
10753          else                          (FActiveContent.Browser <> BrowserNullTab.Browser) then
10754                  SetFocusForBrowserAction.Enabled := false;                          TAction(Sender).Enabled := true
10755                    else
10756                            TAction(Sender).Enabled := false;
10757            end;
10758  end;  end;
10759    
10760  procedure TGikoForm.SetFocusForThreadListActionExecute(Sender: TObject);  procedure TGikoForm.SetFocusForThreadListActionExecute(Sender: TObject);
 var  
         rct: TRect;  
10761  begin  begin
10762          if FActiveContent <> nil then          if FActiveContent <> nil then
10763                  WebBrowserClick(FActiveContent.Browser); //一回Browserに当てないと動かないときがある                  WebBrowserClick(FActiveContent.Browser); //一回Browserに当てないと動かないときがある
10764          ListView.SetFocus;          ListView.SetFocus;
10765    
10766          if( ListView.Items.Count > 0 ) and (ListView.ItemFocused = nil) then          if( ListView.Items.Count > 0 ) and (ListView.ItemFocused = nil) then
10767                  ListView.Items.Item[0].Selected := true //選択アイテムが無いときは先頭のを選択する                  ListView.Items.Item[0].Selected := true; //選択アイテムが無いときは先頭のを選択する
10768          else if ListView.Items.Count > 0 then begin  
10769                  ListView.Scroll(-ListView.ClientWidth, -ListView.ClientHeight);          //スクロールさせる
10770                  rct := ListView.ItemFocused.DisplayRect(drBounds);          if (ListView.ItemFocused <> nil) then begin
10771                  ListView.Scroll(0, 2 * rct.Top - rct.Bottom);                  ListView.ItemFocused.MakeVisible(False);
                 if ListView.ViewStyle <> vsReport then begin  
                         ListView.Scroll(rct.Left, 0);  
                 end;  
10772          end;          end;
10773  end;  end;
10774    
# Line 10893  begin Line 10798  begin
10798          SetFocusForBrowserAction.Execute;          SetFocusForBrowserAction.Execute;
10799  end;  end;
10800    
 procedure TGikoForm.BrowserMaxAndFocusActionUpdate(Sender: TObject);  
 begin  
         if( FActiveContent <> nil) and (FActiveContent.Browser <> nil) and  
                 (FActiveContent.Browser <> BrowserNullTab.Browser) then  
                 BrowserMaxAndFocusAction.Enabled := true  
         else  
                 BrowserMaxAndFocusAction.Enabled := false;  
 end;  
10801  //スレッド一覧を最大化してフォーカスを当てる  //スレッド一覧を最大化してフォーカスを当てる
10802  procedure TGikoForm.ThreadlistMaxAndFocusActionExecute(Sender: TObject);  procedure TGikoForm.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
10803  begin  begin
# Line 10911  end; Line 10808  end;
10808  procedure TGikoForm.ListViewSelectItem(Sender: TObject; Item: TListItem;  procedure TGikoForm.ListViewSelectItem(Sender: TObject; Item: TListItem;
10809    Selected: Boolean);    Selected: Boolean);
10810  begin  begin
10811    {
10812          if not (GikoSys.Setting.BrowserTabVisible) and (Item <> nil) then          if not (GikoSys.Setting.BrowserTabVisible) and (Item <> nil) then
10813                          if (TObject( Item.Data ) is TThreadItem) then begin                          if (TObject( Item.Data ) is TThreadItem) then begin
10814                                  SelectTimer.Interval := GikoSys.Setting.SelectInterval;                                  SelectTimer.Interval := GikoSys.Setting.SelectInterval;
# Line 10919  begin Line 10816  begin
10816                                  SelectTimer.Interval := 0                                  SelectTimer.Interval := 0
10817          else          else
10818                  SelectTimer.Interval := 0;                  SelectTimer.Interval := 0;
10819    }
10820  end;  end;
10821    
10822  procedure TGikoForm.SelectTimerTimer(Sender: TObject);  procedure TGikoForm.SelectTimerTimer(Sender: TObject);
# Line 11151  begin Line 11048  begin
11048    
11049  end;  end;
11050    
 procedure TGikoForm.LogFolderOpenActionUpdate(Sender: TObject);  
 begin  
         if (GetActiveList is TCategory) and (ListView.SelCount > 0) then  
                 LogFolderOpenAction.Enabled := True  
         else if GetActiveList is TBoard then  
                 LogFolderOpenAction.Enabled := True  
         else  
                 LogFolderOpenAction.Enabled := False;  
 end;  
   
11051  function TGikoForm.GetTabURLs(AStringList: TStringList) : Boolean;  function TGikoForm.GetTabURLs(AStringList: TStringList) : Boolean;
11052  var  var
11053    rec : TBrowserRecord;    rec : TBrowserRecord;
# Line 11236  var Line 11123  var
11123          GikoTab                 : TGikoTabAppend;          GikoTab                 : TGikoTabAppend;
11124          fileName                : string;          fileName                : string;
11125  begin  begin
11126            if FStartUp then begin
11127                    //起動時にタブ自動復元を入れていると、空ページ用のBrowserの
11128                    //描画が終わっていなくて、クリックイベントの設定等に突入するので
11129                    //ここで終わらせておく
11130                    while (Browser.ReadyState <> READYSTATE_COMPLETE) and
11131                                    (Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
11132                            Application.ProcessMessages;
11133                    end;
11134            end;
11135    
11136          fileName := ExtractFilePath(Application.ExeName) + 'tab.sav';          fileName := ExtractFilePath(Application.ExeName) + 'tab.sav';
11137          URLs := TStringList.Create();          URLs := TStringList.Create();
# Line 11380  begin Line 11276  begin
11276    
11277  end;  end;
11278    
 procedure TGikoForm.BrowsBoradHeadActionUpdate(Sender: TObject);  
 begin  
         if (GetActiveList is TCategory) and (ListView.SelCount > 0) then  
                 BrowsBoradHeadAction.Enabled := True  
         else if GetActiveList is TBoard then  
                 BrowsBoradHeadAction.Enabled := True  
         else  
                 BrowsBoradHeadAction.Enabled := False;  
   
 end;  
11279  //NGワードファイルを編集するために開く  //NGワードファイルを編集するために開く
11280  procedure TGikoForm.EditNGActionExecute(Sender: TObject);  procedure TGikoForm.EditNGActionExecute(Sender: TObject);
11281  begin  begin
11282          GikoSys.FAbon.EditNGwords;          GikoSys.FAbon.EditNGwords;
11283  end;  end;
11284    
 procedure TGikoForm.ThreadRangeActionUpdate(Sender: TObject);  
 begin  
         ThreadRangeAction.Enabled := (GetActiveList is TBoard);  
 end;  
   
11285  procedure TGikoForm.ThreadRangeActionExecute(Sender: TObject);  procedure TGikoForm.ThreadRangeActionExecute(Sender: TObject);
11286  begin  begin
11287          case GikoSys.Setting.ThreadRange of          case GikoSys.Setting.ThreadRange of
# Line 11620  begin Line 11501  begin
11501          end;          end;
11502  end;  end;
11503    
 procedure TGikoForm.JumpToNumOfResActionUpdate(Sender: TObject);  
 begin  
         JumpToNumOfResAction.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);  
 end;  
   
11504  procedure TGikoForm.FavoriteTreeViewCollapseActionExecute(Sender: TObject);  procedure TGikoForm.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
11505  var  var
11506          node    : TTreeNode;          node    : TTreeNode;
# Line 11664  var Line 11540  var
11540          P : TPoint;          P : TPoint;
11541  begin  begin
11542      //マウス位置の取得      //マウス位置の取得
11543      GetCursorPos(P);          GetCursorPos(P);
11544      //コンポーネント名取得      //コンポーネント名取得
11545      //ギコナビのフォーム外、もしくは、コンテキストメニュー上だとnilが返る      //ギコナビのフォーム外、もしくは、コンテキストメニュー上だとnilが返る
11546      Comp := FindDragTarget(P, True);      Comp := FindDragTarget(P, True);
# Line 11705  procedure TGikoForm.ListViewCustomDrawIt Line 11581  procedure TGikoForm.ListViewCustomDrawIt
11581  var  var
11582          ThreadItem: TThreadItem;          ThreadItem: TThreadItem;
11583  begin  begin
11584      DefaultDraw := true;          DefaultDraw := true;
11585          if TObject(Item.Data) is TThreadItem then begin          if TObject(Item.Data) is TThreadItem then begin
11586                  ThreadItem := TThreadItem(Item.Data);                  ThreadItem := TThreadItem(Item.Data);
11587                  if ( FUseOddResOddColor ) and ( ThreadItem.Count <> 0 ) and ( ThreadItem.AllResCount <> ThreadItem.Count) then begin                  if ( FUseOddResOddColor ) and ( ThreadItem.Count <> 0 ) and ( ThreadItem.AllResCount <> ThreadItem.Count) then begin
11588                          ListView.Canvas.Brush.Color := FOddColor;                          ListView.Canvas.Brush.Color := FOddColor;
11589                            //選択されているけど、フォーカスがないと、グレイになるので、太字に変更
11590                            if (GikoSys.Setting.UnFocusedBold) and
11591                             (Item.Selected) and (not ListView.Focused) then begin
11592                                    ListView.Canvas.Font.Style := [fsBold];
11593                            end;
11594                  end else begin                  end else begin
11595                          ListView.Canvas.Brush.Color := FListViewBackGroundColor;                          ListView.Canvas.Brush.Color := FListViewBackGroundColor;
11596                  end;                  end;
11597  //              if (ThreadItem.Kokomade <> ThreadItem.Count) and (ThreadItem.IsLogFile) then  
11598                  if ThreadItem.UnRead then                  if ThreadItem.UnRead then
11599                          ListView.Canvas.Font.Style := [fsBold];                          ListView.Canvas.Font.Style := [fsBold];
11600          end;          end;
# Line 11858  begin Line 11739  begin
11739          end;          end;
11740          BrowserTab.Tabs.EndUpdate;          BrowserTab.Tabs.EndUpdate;
11741  end;  end;
11742    //ブラウザタブが2つ以上あれば有効になるアクションで共通化
11743  procedure TGikoForm.RightTabCloseActionUpdate(Sender: TObject);  procedure TGikoForm.RightTabCloseActionUpdate(Sender: TObject);
11744  begin  begin
11745          RightTabCloseAction.Enabled := (BrowserTab.Tabs.Count > 1);          //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
11746            if (Sender <> nil) and (Sender is TAction) then begin
11747                    TAction(Sender).Enabled := (BrowserTab.Tabs.Count > 1);
11748            end;
11749  end;  end;
11750    
11751  procedure TGikoForm.LeftTabCloseActionExecute(Sender: TObject);  procedure TGikoForm.LeftTabCloseActionExecute(Sender: TObject);
# Line 11881  begin Line 11765  begin
11765          BrowserTab.Tabs.EndUpdate;          BrowserTab.Tabs.EndUpdate;
11766  end;  end;
11767    
 procedure TGikoForm.LeftTabCloseActionUpdate(Sender: TObject);  
 begin  
         LeftTabCloseAction.Enabled := (BrowserTab.Tabs.Count > 1);  
 end;  
   
11768  procedure TGikoForm.SameIDResAnchorActionExecute(Sender: TObject);  procedure TGikoForm.SameIDResAnchorActionExecute(Sender: TObject);
11769  var  var
11770          ThreadItem : TThreadItem;          ThreadItem : TThreadItem;
# Line 12218  procedure TGikoForm.MessageListViewAdvan Line 12097  procedure TGikoForm.MessageListViewAdvan
12097    Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;    Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
12098    Stage: TCustomDrawStage; var DefaultDraw: Boolean);    Stage: TCustomDrawStage; var DefaultDraw: Boolean);
12099  begin  begin
12100          //if DiffComp then begin                  //if DiffComp then begin
12101                   //if Odd(Item.Index) then Sender.Canvas.Brush.Color := clBlue;                   //if Odd(Item.Index) then Sender.Canvas.Brush.Color := clBlue;
12102                  //DiffComp := False;                                  //DiffComp := False;
12103  //        end;  //        end;
12104  end;  end;
12105    
# Line 12232  end; Line 12111  end;
12111  procedure TGikoForm.BeLogInOutActionUpdate(Sender: TObject);  procedure TGikoForm.BeLogInOutActionUpdate(Sender: TObject);
12112  begin  begin
12113          if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin          if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
12114          if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true                  if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
12115          else BeLogInOutAction.Checked := false;                  else BeLogInOutAction.Checked := false;
12116          BeLogInOutAction.Enabled := true                  BeLogInOutAction.Enabled := true
12117      end else          end else
12118          BeLogInOutAction.Enabled := false;                  BeLogInOutAction.Enabled := false;
12119    
12120  end;  end;
12121  //リンクの文字列からレスポップアップ用のURLに変換する  //リンクの文字列からレスポップアップ用のURLに変換する
# Line 12281  begin Line 12160  begin
12160      end;      end;
12161    
12162  end;  end;
12163    //ListViewの選択状態を解除する
12164    procedure TGikoForm.UnSelectedListViewActionExecute(Sender: TObject);
12165    begin
12166            if ListView.Selected <> nil then begin
12167                    ListView.Selected.Focused := True;
12168                    ListView.Selected := nil;
12169            end;
12170    end;
12171    
12172    procedure TGikoForm.ListViewKeyUp(Sender: TObject; var Key: Word;
12173      Shift: TShiftState);
12174    begin
12175            //ブラウザタブ無しで、キー移動で読み飛ばしを可能にするための
12176            //無効時間のTimerの処理
12177            if not (GikoSys.Setting.BrowserTabVisible) then begin
12178                    if (GetActiveList is TBoard) then begin
12179                            //Shift Alt Ctrlが話されたときは、方向キーを離していても無視
12180                            if (ssShift in Shift) or (ssAlt in Shift) or (ssCtrl in Shift) then
12181                                    SelectTimer.Interval := 0
12182                            //方向キーならタイマー作動
12183                            else if( Key = VK_LEFT) or (Key = VK_RIGHT) or
12184                                    (Key = VK_UP) or (Key = VK_DOWN) then
12185                                            SelectTimer.Interval := GikoSys.Setting.SelectInterval
12186                            //一般のキーは、タイマー停止
12187                            else
12188                                    SelectTimer.Interval := 0;
12189                    end;
12190            end;
12191    end;
12192    //TActionでGetActiveContentがnil以外で有効になる
12193    procedure TGikoForm.DependActiveCntentActionUpdate(Sender: TObject);
12194    begin
12195            //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
12196            if (Sender <> nil) and (Sender is TAction) then begin
12197                    TAction(Sender).Enabled := (GetActiveContent <> nil);
12198            end;
12199    end;
12200    //TActionでGetActiveContentがnil以外かつログを持っている
12201    procedure TGikoForm.DependActiveCntentLogActionUpdate(Sender: TObject);
12202    begin
12203            //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
12204            if (Sender <> nil) and (Sender is TAction) then begin
12205                    TAction(Sender).Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);
12206            end;
12207    end;
12208    //TActionでActiveListがTBoardで有効になる
12209    procedure TGikoForm.DependActiveListTBoardActionUpdate(Sender: TObject);
12210    begin
12211            //無くてもいいIF文 コードから無理やり呼ばないならチェックしなくても…
12212            if (Sender <> nil) and (Sender is TAction) then begin
12213                    TAction(Sender).Enabled := (GetActiveList is TBoard);
12214            end;
12215    end;
12216    
12217    procedure TGikoForm.FavoriteTreeViewEditing(Sender: TObject;
12218      Node: TTreeNode; var AllowEdit: Boolean);
12219    begin
12220            FOrigenCaption := Node.Text;
12221    end;
12222    
12223  initialization  initialization
12224                                  OleInitialize(nil);                                  OleInitialize(nil);

Legend:
Removed from v.1.515  
changed lines
  Added in v.1.515.2.17

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26