OSDN Git Service

・リスト配置の縦横の設定が保存されない不具合の修正。
authorh677 <h677>
Sun, 27 Nov 2005 15:02:30 +0000 (15:02 +0000)
committerh677 <h677>
Sun, 27 Nov 2005 15:02:30 +0000 (15:02 +0000)
・キャビネット非表示時にBBSの変更で、切り替わらないときのある不具合の修正。
(あと、初期化の処理を一部メソッド化)

Giko.dfm
Giko.pas
GikoDataModule.dfm
GikoDataModule.pas
gikoNavi.res

index eb6aabb..49544ac 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -245,11 +245,11 @@ object GikoForm: TGikoForm
           Left = 0
           Top = 49
           Width = 145
-          Height = 24
+          Height = 42
           AutoSize = True
           BorderWidth = 1
           ButtonHeight = 18
-          ButtonWidth = 42
+          ButtonWidth = 131
           Caption = 'FavoriteToolBar'
           EdgeBorders = [ebLeft, ebRight, ebBottom]
           Flat = True
@@ -261,11 +261,11 @@ object GikoForm: TGikoForm
             Top = 0
             Action = GikoDM.FavoriteAddAction
             AutoSize = True
-            Caption = #36861#21152'...'
+            Wrap = True
           end
           object FavoriteArrangeToolButton: TToolButton
-            Left = 41
-            Top = 0
+            Left = 0
+            Top = 18
             Hint = #12362#27671#12395#20837#12426#25972#29702#12480#12452#12450#12525#12464#12434#38283#12367
             AutoSize = True
             Caption = #25972#29702'...'
@@ -7917,9 +7917,7 @@ object GikoForm: TGikoForm
       end
       object AntiIndivAbonMenuItem: TMenuItem
         Action = GikoDM.AntiIndividualAbonDlgAction
-        Caption = #20491#21029#12354#12412#65374#12435#35299#38500
         GroupIndex = 1
-        Hint = #20491#21029#12354#12412#65374#12435#35299#38500
       end
     end
     object FavoriteMenu: TMenuItem
@@ -7957,15 +7955,12 @@ object GikoForm: TGikoForm
         Caption = 'NG'#12527#12540#12489#35501#12415#36796#12415
         object GoBack: TMenuItem
           Action = GikoDM.GoBackAction
-          Caption = #19968#12388#21069#12408
         end
         object Reload: TMenuItem
           Action = GikoDM.ReloadAction
-          Caption = #20877#35501#12415#36796#12415
         end
         object GoFoward: TMenuItem
           Action = GikoDM.GoFowardAction
-          Caption = #19968#12388#24460#12429
         end
       end
       object N43: TMenuItem
@@ -7985,7 +7980,6 @@ object GikoForm: TGikoForm
       end
       object WikiFAQ: TMenuItem
         Action = GikoDM.WikiFAQWebPageAction
-        Caption = #12462#12467#12490#12499'Wili FAQ'
       end
       object N36: TMenuItem
         Caption = '-'
index 8c9a982..ccb93e5 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -664,6 +664,10 @@ type
                procedure SetScreenCursor(Cursor : TCursor);
                //! \83A\83N\83V\83\87\83\93\82Ì\83`\83F\83b\83N\8fó\91Ô\82Ì\8f\89\8aú\89»
                procedure InitActionChecked();
+               //! \83_\83E\83\93\83\8d\81[\83h\83R\83\93\83g\83\8d\81[\83\8b\83X\83\8c\83b\83h\82Ì\90\90¬
+               procedure CreateControlThread();
+               //! \83u\83\89\83E\83U\82Ì\90\90¬
+               procedure CreateBrowsers(count: Integer);
        protected
                procedure CreateParams(var Params: TCreateParams); override;
                procedure WndProc(var Message: TMessage); override;
@@ -797,6 +801,8 @@ type
                function GetCoolBand(CoolBar: TCoolBar; Control: TWinControl): TCoolBand;
                //
                function WebBrowserClick(Sender: TObject): WordBool;
+               //! \83c\81[\83\8b\83o\81[\82É\83X\83\8c\8di\8d\9e\82Ý\83R\83\93\83{\83{\83b\83N\83X\82ð\90Ý\92è\82·\82é
+               procedure SetSelectComboBox();
        published
                property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton;
        end;
@@ -905,7 +911,6 @@ var
        i: Integer;
        wp: TWindowPlacement;
        s: string;
-       newbrowser: TWebBrowser;
        ToolButton: TToolButton;
 begin
 {$IFDEF DEBUG}
@@ -924,27 +929,7 @@ begin
        FIsIgnoreResize := rtResizing;
 
        FSearchDialog := nil;
-       BrowserNullTab := TBrowserRecord.Create;
-       BrowserNullTab.Browser := Browser;
-       BrowserNullTab.Browser.Navigate(BLANK_HTML);
-       FBrowsers := TList.Create;
-       for i := 0 to BROWSER_COUNT -1 do begin
-               FBrowsers.Add(TWebBrowser.Create(BrowserPanel));
-               newBrowser := FBrowsers[FBrowsers.Count - 1];
-               TOleControl(newBrowser).Parent := BrowserPanel;
-               TOleControl(newBrowser).Align := alNone;
-               TOleControl(newBrowser).Left    := 0;
-               TOleControl(newBrowser).Top     := 0;
-               newBrowser.OnDocumentComplete   := BrowserDocumentComplete;
-               newBrowser.OnBeforeNavigate2    := BrowserBeforeNavigate2;
-               newBrowser.OnEnter                              := BrowserEnter;
-               newBrowser.OnNewWindow2                 := BrowserNewWindow2;
-               newBrowser.OnStatusTextChange   := BrowserStatusTextChange;
-               newBrowser.Navigate(BLANK_HTML);
-               ShowWindow(newBrowser.Handle, SW_HIDE);
-       end;
-       BrowserNullTab.Browser.BringToFront;
-       ShowWindow(BrowserNullTab.Browser.Handle, SW_SHOW);
+       CreateBrowsers(BROWSER_COUNT);
 
        //\83\81\83j\83\85\81[\83t\83H\83\93\83g
        SetMenuFont;
@@ -1151,15 +1136,7 @@ begin
        end;
 
        //\83_\83E\83\93\83\8d\81[\83h\83I\83u\83W\83F\83N\83g
-       FControlThread := TThreadControl.Create(True);
-       FControlThread.MaxThreadCount := 1;
-       FControlThread.Resume;
-       FControlThread.OnDownloadEnd := DownloadEnd;
-       FControlThread.OnDownloadMsg := DownloadMsg;
-       FControlThread.OnWork := Work;
-       FControlThread.OnWorkBegin := WorkBegin;
-       FControlThread.OnWorkEnd := WorkEnd;
-//     ProgressPanel.Width := FControlThread.MaxThreadCount * 12;
+       CreateControlThread();
 
        // \8di\8d\9e\8c\9f\8dõ\97\9a\97ð
        SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
@@ -1185,48 +1162,7 @@ begin
        SetToolBarPopup;
 
        //ListToolBar\82É\82¢\82é\82©\82à\82µ\82ê\82È\82¢\8di\8d\9e\82ÝComboBox\82ð\94z\92u
-       SelectComboBoxPanel.Visible := False;
-       try
-               for i := ListToolBar.ControlCount - 1 downto 0 do
-               begin
-                       if ListToolBar.Controls[ i ].Action = GikoDM.SelectItemAction then
-                       begin
-                               SelectComboBoxPanel.Left := ListToolBar.Controls[ i ].Left;
-                               SelectComboBoxPanel.Width := GikoSys.Setting.SelectComboBoxWidth;
-                               SelectComboBoxPanel.Parent := ListToolBar;
-                               SelectComboBoxPanel.Visible := True;
-
-                               SelectComboBox.Left := 0;
-                               SelectComboBox.Top  := 0;
-                               SelectComboBox.Height := SelectComboBoxPanel.ClientHeight;
-                               SelectComboBox.Width := SelectComboBoxPanel.Width -
-                                                                               SelectComboBoxSplitter.Width;
-
-                               //\88ê\82Â\8c©\82¦\82È\82¢\83{\83^\83\93\82ð\93Ë\82Á\8d\9e\82Þ
-                               ToolButton := TToolButton.Create(ListToolBar);
-                               ToolButton.Name := 'SelectComboBoxDummy';
-                               ToolButton.Style := tbsSeparator;
-                               ToolButton.Width := 0;
-                               ToolButton.Left  := ListToolBar.Controls[ i ].Left;
-                               ListToolBar.InsertControl(ToolButton);
-                               ToolButton.Visible := False;
-
-                               // \83X\83\8c\83b\83h\8di\8d\9e\82Ì\97×\82É\83Z\83p\83\8c\81[\83^\82ª\82 \82é\8fê\8d\87\82Í\89B\82·
-                               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;
-
-
-                               // \83X\83\8c\83b\83h\8di\8d\9e\83{\83^\83\93\82ð\89B\82·
-                               ListToolBar.Controls[ i ].Visible := False;
-
-                               break;
-                       end;
-               end;
-       except
-       end;
-
+       SetSelectComboBox();
 
        //\83A\83h\83\8c\83X\83o\81[
        AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;
@@ -1686,10 +1622,10 @@ begin
        // TBBS \82Í\95Û\8e\9d\82µ\82Ä\82¢\82é TCategory, TBoard, TThreadItem \82·\82×\82Ä\82ð\8aJ\95ú\82·\82é
        // TBoard, TThreadItem \82Ì\83f\83X\83g\83\89\83N\83^\82Í\83v\83\89\83O\83C\83\93\82É\94j\8aü\82ð\93`\82¦\82é\82Ì\82Å
        // BoardPluteIns \82Ì\8aJ\95ú\82æ\82è\90æ\82É\8ds\82¤\82±\82Æ
-    for i := Length(BoardGroups) - 1 downto 0 do begin
+       for i := Length(BoardGroups) - 1 downto 0 do begin
                //BoardGroups[i].Clear;
                BoardGroups[i].Free;
-    end;
+       end;
 
        try
                for i := Length( BBSs ) - 1 downto 0 do begin
@@ -1717,7 +1653,7 @@ begin
                end;
        except
        end;
-    LockWindowUpdate(0);
+       LockWindowUpdate(0);
 end;
 
 // \8ae\8f\8a\82É\82 \82é\83L\83\83\83r\83l\83b\83g\81E BBS \83\81\83j\83\85\81[\82ð\83Z\83b\83g\81^\8dX\90V
@@ -2336,9 +2272,6 @@ end;
 //! \83c\83\8a\81[\83r\83\85\81[\82Ì\83_\83u\83\8b\83N\83\8a\83b\83N\83C\83x\83\93\83g
 // *************************************************************************
 procedure TGikoForm.TreeViewDblClick(Sender: TObject);
-var
-       APoint: TPoint;
-       HitTest: THitTests;
 begin
        if (FClickNode = TreeView.Selected) then begin
                TreeDoubleClick( FClickNode );
@@ -3306,10 +3239,11 @@ begin
                GikoDM.CabinetHistoryAction.Checked := False;
                GikoDM.CabinetFavoriteAction.Checked := False;
 
-               if (FTreeType <> gtt2ch) or (FActiveBBS <> inBBS) then begin
+               if (FTreeType <> gtt2ch) or (FActiveBBS <> inBBS)
+                       or (not (CabinetPanel.Visible)) then begin
                        FTreeType := gtt2ch;
                        HistoryToolBar.Hide;
-            FActiveBBS := inBBS;
+                       FActiveBBS := inBBS;
                        TListViewUtils.SetBoardTreeNode(inBBS, TreeView);
                        TreeView.Items.GetFirstNode.Expanded := True;                           //\83c\83\8a\81[\83g\83b\83v\8d\80\96Ú\82¾\82¯\82ð\8aJ\82­
                        //\83c\83\8a\81[\82Ì\83g\83b\83v\8d\80\96Ú\82ð\91I\91ð\82·\82é
@@ -4387,7 +4321,6 @@ end;
 procedure TGikoForm.SetSelectItemRound(RoundFlag: Boolean; RoundName: string; ParentName: string);
 var
        threadItem : TThreadItem;
-       i: Integer;
 begin
        if ParentName <> 'dummy1' then begin
                SetSelectItemRound(RoundFlag, RoundName);
@@ -7748,6 +7681,7 @@ procedure TGikoForm.GikoApplicationEventsMessage(var Msg: tagMSG;
   var Handled: Boolean);
 var
        wmMsg: TWMKey;
+       hand : HWND;
 begin
        //GikoForm\82ª\83A\83N\83e\83B\83u\82È\82Æ\82«\82¾\82¯\8eó\82¯\8eæ\82é \91¼\82Ì\83t\83H\81[\83\80\82Ì\82ð\89¡\8eæ\82è\82µ\82È\82¢\82½\82ß
        if Self.Active then begin
@@ -7915,6 +7849,107 @@ begin
                end;
        end;
 end;
+// *************************************************************************
+//! \83_\83E\83\93\83\8d\81[\83h\83R\83\93\83g\83\8d\81[\83\8b\83X\83\8c\83b\83h\82Ì\90\90¬
+// *************************************************************************
+procedure TGikoForm.CreateControlThread();
+begin
+       //\83_\83E\83\93\83\8d\81[\83h\83I\83u\83W\83F\83N\83g
+       FControlThread := TThreadControl.Create(True);
+       FControlThread.MaxThreadCount := 1;
+       FControlThread.Resume;
+       FControlThread.OnDownloadEnd := DownloadEnd;
+       FControlThread.OnDownloadMsg := DownloadMsg;
+       FControlThread.OnWork := Work;
+       FControlThread.OnWorkBegin := WorkBegin;
+       FControlThread.OnWorkEnd := WorkEnd;
+end;
+// *************************************************************************
+//! \83u\83\89\83E\83U\82Ì\90\90¬
+// *************************************************************************
+procedure TGikoForm.CreateBrowsers(count: Integer);
+var
+       i: Integer;
+       newBrowser: TWebBrowser;
+begin
+       BrowserNullTab := TBrowserRecord.Create;
+       BrowserNullTab.Browser := Browser;
+       BrowserNullTab.Browser.Navigate(BLANK_HTML);
+       FBrowsers := TList.Create;
+       for i := 0 to count -1 do begin
+               FBrowsers.Add(TWebBrowser.Create(BrowserPanel));
+               newBrowser := FBrowsers[FBrowsers.Count - 1];
+               TOleControl(newBrowser).Parent := BrowserPanel;
+               TOleControl(newBrowser).Align := alNone;
+               TOleControl(newBrowser).Left    := 0;
+               TOleControl(newBrowser).Top     := 0;
+               newBrowser.OnDocumentComplete   := BrowserDocumentComplete;
+               newBrowser.OnBeforeNavigate2    := BrowserBeforeNavigate2;
+               newBrowser.OnEnter                              := BrowserEnter;
+               newBrowser.OnNewWindow2                 := BrowserNewWindow2;
+               newBrowser.OnStatusTextChange   := BrowserStatusTextChange;
+               newBrowser.Navigate(BLANK_HTML);
+               ShowWindow(newBrowser.Handle, SW_HIDE);
+       end;
+       BrowserNullTab.Browser.BringToFront;
+       ShowWindow(BrowserNullTab.Browser.Handle, SW_SHOW);
+end;
+// *************************************************************************
+//! \83c\81[\83\8b\83o\81[\82É\83X\83\8c\8di\8d\9e\82Ý\83R\83\93\83{\83{\83b\83N\83X\82ð\90Ý\92è\82·\82é
+// *************************************************************************
+procedure TGikoForm.SetSelectComboBox();
+const
+       DUMMYCOMPNAME = 'SelectComboBoxDummy';
+var
+       i: Integer;
+       ToolButton: TToolButton;
+begin
+       //ListToolBar\82É\82¢\82é\82©\82à\82µ\82ê\82È\82¢\8di\8d\9e\82ÝComboBox\82ð\94z\92u
+       SelectComboBoxPanel.Visible := False;
+       try
+               for i := ListToolBar.ControlCount - 1 downto 0 do
+               begin
+                       if ListToolBar.Controls[ i ].Action = GikoDM.SelectItemAction then
+                       begin
+                               SelectComboBoxPanel.Left := ListToolBar.Controls[ i ].Left;
+                               SelectComboBoxPanel.Width := GikoSys.Setting.SelectComboBoxWidth;
+                               SelectComboBoxPanel.Parent := ListToolBar;
+                               SelectComboBoxPanel.Visible := True;
+
+                               SelectComboBox.Left := 0;
+                               SelectComboBox.Top  := 0;
+                               SelectComboBox.Height := SelectComboBoxPanel.ClientHeight;
+                               SelectComboBox.Width := SelectComboBoxPanel.Width -
+                                                                               SelectComboBoxSplitter.Width;
+
+                               //\88ê\82Â\8c©\82¦\82È\82¢\83{\83^\83\93\82ð\93Ë\82Á\8d\9e\82Þ
+                               ToolButton := TToolButton(ListToolBar.FindComponent(DUMMYCOMPNAME));
+                               if ToolButton = nil then begin
+                                       ToolButton := TToolButton.Create(ListToolBar);
+                                       ToolButton.Name := DUMMYCOMPNAME;
+                               end;
+                               ToolButton.Style := tbsSeparator;
+                               ToolButton.Width := 0;
+                               ToolButton.Left  := ListToolBar.Controls[ i ].Left;
+                               ListToolBar.InsertControl(ToolButton);
+                               ToolButton.Visible := False;
+
+                               // \83X\83\8c\83b\83h\8di\8d\9e\82Ì\97×\82É\83Z\83p\83\8c\81[\83^\82ª\82 \82é\8fê\8d\87\82Í\89B\82·
+                               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;
+
+
+                               // \83X\83\8c\83b\83h\8di\8d\9e\83{\83^\83\93\82ð\89B\82·
+                               ListToolBar.Controls[ i ].Visible := False;
+
+                               break;
+                       end;
+               end;
+       except
+       end;
+end;
 
 initialization
                                OleInitialize(nil);
index 56a4247..0b50ec4 100644 (file)
@@ -92,7 +92,7 @@ object GikoDM: TGikoDM
       Caption = #12525#12464#26908#32034'(&S)'
       Hint = #12525#12464#26908#32034#12480#12452#12450#12525#12464#12434#34920#31034#12377#12427
       ImageIndex = 34
-      ShortCut = 16454
+      ShortCut = 49222
       OnExecute = SearchActionExecute
     end
     object GikoNaviWebPageAction: TAction
index bf3f718..11660e1 100644 (file)
@@ -1720,59 +1720,7 @@ begin
                        SaveToolBarSetting(GikoForm.StdToolBar);
                        SaveToolBarSetting(GikoForm.ListToolBar);
                        //ListToolBar\82É\82¢\82é\82©\82à\82µ\82ê\82È\82¢\8di\8d\9e\82ÝComboBox\82ð\94z\92u
-                       GikoForm.SelectComboBoxPanel.Visible := False;
-                       try
-                               for i := GikoForm.ListToolBar.ControlCount - 1 downto 0 do
-                               begin
-                                       if GikoForm.ListToolBar.Controls[ i ].Action = SelectItemAction then
-                                       begin
-                                               GikoForm.SelectComboBoxPanel.Left :=
-                                                       GikoForm.ListToolBar.Controls[ i ].Left;
-                                               GikoForm.SelectComboBoxPanel.Width :=
-                                                       GikoSys.Setting.SelectComboBoxWidth;
-                                               GikoForm.SelectComboBoxPanel.Parent :=
-                                                       GikoForm.ListToolBar;
-                                               GikoForm.SelectComboBoxPanel.Visible := True;
-
-                                               GikoForm.SelectComboBox.Left := 0;
-                                               GikoForm.SelectComboBox.Top  := 0;
-                                               GikoForm.SelectComboBox.Height :=
-                                                       GikoForm.SelectComboBoxPanel.ClientHeight;
-                                               GikoForm.SelectComboBox.Width :=
-                                                       GikoForm.SelectComboBoxPanel.Width -
-                                                       GikoForm.SelectComboBoxSplitter.Width;
-
-
-                                               //\88ê\82Â\8c©\82¦\82È\82¢\83{\83^\83\93\82ð\93Ë\82Á\8d\9e\82Þ
-                                               ToolButton := TToolButton(GikoForm.ListToolBar.FindComponent('SelectComboBoxDummy'));
-                                               if ToolButton <> nil then begin
-                                                       ToolButton.Parent := nil;
-                                               end else begin
-                                                       ToolButton := TToolButton.Create(GikoForm.ListToolBar);
-                                                       ToolButton.Name := 'SelectComboBoxDummy';
-                                               end;
-
-                                               ToolButton.Style := tbsSeparator;
-                                               ToolButton.Width := 0;
-                                               ToolButton.Left  := GikoForm.ListToolBar.Controls[ i ].Left;
-                                               GikoForm.ListToolBar.InsertControl(ToolButton);
-                                               ToolButton.Visible := False;
-
-                                               // \83X\83\8c\83b\83h\8di\8d\9e\82Ì\97×\82É\83Z\83p\83\8c\81[\83^\82ª\82 \82é\8fê\8d\87\82Í\89B\82·
-                                               if (i + 1) < GikoForm.ListToolBar.ControlCount then
-                                                       if GikoForm.ListToolBar.Controls[ i + 1 ] is TToolButton then
-                                                               if TToolButton( GikoForm.ListToolBar.Controls[ i + 1 ] ).Style = tbsSeparator then
-                                                                       GikoForm.ListToolBar.Controls[ i + 1 ].Visible := False;
-
-
-                                               // \83X\83\8c\83b\83h\8di\8d\9e\83{\83^\83\93\82ð\89B\82·
-                                               GikoForm.ListToolBar.Controls[ i ].Visible := False;
-
-                                               break;
-                                       end;
-                               end;
-                       except
-                       end;
+                       GikoForm.SetSelectComboBox;
                        GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
                        SaveToolBarSetting(GikoForm.BrowserToolBar);
                end;
index 90726c9..59be6a3 100644 (file)
Binary files a/gikoNavi.res and b/gikoNavi.res differ