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.409 by yoffy, Wed Sep 8 08:10:05 2004 UTC revision 1.410 by yoffy, Wed Sep 8 12:50:21 2004 UTC
# Line 925  type Line 925  type
925      procedure ThreadRangeActionExecute(Sender: TObject);      procedure ThreadRangeActionExecute(Sender: TObject);
926      procedure TabAutoSaveActionExecute(Sender: TObject);      procedure TabAutoSaveActionExecute(Sender: TObject);
927      procedure TabAutoLoadActionExecute(Sender: TObject);      procedure TabAutoLoadActionExecute(Sender: TObject);
928        procedure ListViewColumnDragged(Sender: TObject);
929          private          private
930                  { Private 宣言 }                  { Private 宣言 }
931          //RoundList : TRoundList;          //RoundList : TRoundList;
# Line 1082  type Line 1083  type
1083                  function LoadTabURLs : Boolean;                  function LoadTabURLs : Boolean;
1084                  // バンド幅を再計算・再設定する                  // バンド幅を再計算・再設定する
1085                  procedure ResetBandInfo( bar : TGikoCoolBar; band : TToolBar );                  procedure ResetBandInfo( bar : TGikoCoolBar; band : TToolBar );
1086                    /// ListView のカラム幅および位置の保存
1087                    procedure ActiveListColumnSave;
1088          protected          protected
1089                  procedure CreateParams(var Params: TCreateParams); override;                  procedure CreateParams(var Params: TCreateParams); override;
1090                  procedure WndProc(var Message: TMessage); override;                  procedure WndProc(var Message: TMessage); override;
# Line 1896  begin Line 1899  begin
1899  //      Application.OnDeactivate := nil;  //      Application.OnDeactivate := nil;
1900  //      Self.OnDeactivate := nil;  //      Self.OnDeactivate := nil;
1901          try          try
1902                  //column幅                  ActiveListColumnSave;
                 if GetActiveList is TBBS then begin  
                         for i := 0 to ListView.Columns.Count - 1 do  
                                 GikoSys.Setting.BBSColumnWidth[i] := ListView.Column[i].Width;  
                 end else if GetActiveList is TCategory then begin  
                         for i := 0 to ListView.Columns.Count - 1 do  
                                 GikoSys.Setting.CategoryColumnWidth[i] := ListView.Column[i].Width;  
                 end else if GetActiveList is TBoard then begin  
                         for i := 0 to ListView.Columns.Count - 1 do  
                                 GikoSys.Setting.BoardColumnWidth[i] := ListView.Column[i].Width;  
                 end;  
1903          except          except
1904          end;          end;
1905          try          try
# Line 2277  end; Line 2270  end;
2270    
2271  function TGikoForm.SetCategoryListItem(ABBS2ch: TBBS): Integer;  function TGikoForm.SetCategoryListItem(ABBS2ch: TBBS): Integer;
2272  var  var
2273          ListColumn: TListColumn;          TitleColumn     : TListColumn;
2274          i, id : Integer;          ListColumn      : TListColumn;
2275            i, id, idx      : Integer;
2276  begin  begin
2277          ListView.Items.BeginUpdate;          ListView.Items.BeginUpdate;
2278          try          try
2279                  Screen.Cursor := crHourGlass;                  Screen.Cursor := crHourGlass;
2280    
2281                  ListView.Columns.Clear;                  ListView.Columns.Clear;
2282                    TitleColumn := ListView.Columns.Add;
2283                    TitleColumn.Caption := GikoBBSColumnCaption[ Ord( gbbscTitle ) ];
2284                    TitleColumn.Width := GikoSys.Setting.BBSColumnWidth[ Ord( gbbscTitle ) ];
2285                    idx := 0;
2286                  for i := 0 to GikoSys.Setting.BBSColumnOrder.Count - 1 do begin                  for i := 0 to GikoSys.Setting.BBSColumnOrder.Count - 1 do begin
2287                          id := Ord( GikoSys.Setting.BBSColumnOrder[ i ] );                          if GikoSys.Setting.BBSColumnOrder[ i ] = gbbscTitle then begin
2288                          if (Integer( Low( TGikoBBSColumnID ) ) <= id) and                                  TitleColumn.Tag := i;
2289                                  (id <= Integer( High( TGikoBBSColumnID ) )) then begin                                  idx := i;
2290                                  ListColumn := ListView.Columns.Add;                          end else begin
2291  //                                      ListColumn.Tag := id;                                  id := Ord( GikoSys.Setting.BBSColumnOrder[ i ] );
2292                                          ListColumn.Tag := i;                                  if (Integer( Low( TGikoBBSColumnID ) ) <= id) and
2293                                  ListColumn.Caption := GikoBBSColumnCaption[ id ];                                          (id <= Integer( High( TGikoBBSColumnID ) )) then begin
2294                                  ListColumn.Width := GikoSys.Setting.BBSColumnWidth[ id ];                                          ListColumn := ListView.Columns.Add;
2295            //                                      ListColumn.Tag := id;
2296                                                    ListColumn.Tag := i;
2297                                            ListColumn.Caption := GikoBBSColumnCaption[ id ];
2298                                            ListColumn.Width := GikoSys.Setting.BBSColumnWidth[ id ];
2299                                    end;
2300                          end;                          end;
2301                  end;                  end;
2302                    TitleColumn.Index := idx;
2303    
2304                  ListView.Items.Count := 0;                  ListView.Items.Count := 0;
2305                  ListView.Items.Clear;                  ListView.Items.Clear;
# Line 2329  end; Line 2333  end;
2333    
2334  function TGikoForm.SetBoardListItem(Category: TCategory): Integer;  function TGikoForm.SetBoardListItem(Category: TCategory): Integer;
2335  var  var
2336          ListColumn: TListColumn;          TitleColumn     : TListColumn;
2337          i, id : Integer;          ListColumn      : TListColumn;
2338            i, id, idx      : Integer;
2339  begin  begin
2340          ListView.Items.BeginUpdate;          ListView.Items.BeginUpdate;
2341          try          try
2342                  Screen.Cursor := crHourGlass;                  Screen.Cursor := crHourGlass;
2343    
2344                  ListView.Columns.Clear;                  ListView.Columns.Clear;
2345                    TitleColumn := ListView.Columns.Add;
2346                    TitleColumn.Caption := GikoCategoryColumnCaption[ Ord( gccTitle ) ];
2347                    TitleColumn.Width := GikoSys.Setting.CategoryColumnWidth[ Ord( gccTitle ) ];
2348                    idx := 0;
2349                  for i := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin                  for i := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
2350                          id := Ord( GikoSys.Setting.CategoryColumnOrder[ i ] );                          if GikoSys.Setting.CategoryColumnOrder[ i ] = gccTitle then begin
2351                          if (Integer( Low( TGikoCategoryColumnID ) ) <= id) and                                  TitleColumn.Tag := i;
2352                                  (id <= Integer( High( TGikoCategoryColumnID ) )) then begin                                  idx := i;
2353                                  ListColumn := ListView.Columns.Add;                          end else begin
2354  //                                      ListColumn.Tag := id;                                  id := Ord( GikoSys.Setting.CategoryColumnOrder[ i ] );
2355                                    if (Integer( Low( TGikoCategoryColumnID ) ) <= id) and
2356                                            (id <= Integer( High( TGikoCategoryColumnID ) )) then begin
2357                                            ListColumn := ListView.Columns.Add;
2358    //                                              ListColumn.Tag := id;
2359                                          ListColumn.Tag := i;                                          ListColumn.Tag := i;
2360                                  ListColumn.Caption := GikoCategoryColumnCaption[ id ];                                          ListColumn.Caption := GikoCategoryColumnCaption[ id ];
2361                                  ListColumn.Width := GikoSys.Setting.CategoryColumnWidth[ id ];                                          ListColumn.Width := GikoSys.Setting.CategoryColumnWidth[ id ];
2362                                    end;
2363                          end;                          end;
2364                  end;                  end;
2365                    TitleColumn.Index := idx;
2366    
2367                  ListView.Items.Count := 0;                  ListView.Items.Count := 0;
2368                  ListView.Items.Clear;                  ListView.Items.Clear;
# Line 2381  end; Line 2396  end;
2396    
2397  function TGikoForm.SetThreadListItem(Board: TBoard): Integer;  function TGikoForm.SetThreadListItem(Board: TBoard): Integer;
2398  var  var
2399          ListColumn: TListColumn;          TitleColumn     : TListColumn;
2400          i, id : Integer;          ListColumn      : TListColumn;
2401            i, id, idx      : Integer;
2402  begin  begin
2403          ListView.Items.BeginUpdate;          ListView.Items.BeginUpdate;
2404          try          try
# Line 2393  begin Line 2409  begin
2409                  if ListView.Columns.Count <> GikoSys.Setting.BoardColumnOrder.Count then                  if ListView.Columns.Count <> GikoSys.Setting.BoardColumnOrder.Count then
2410                  begin                  begin
2411                          ListView.Columns.Clear;                          ListView.Columns.Clear;
2412                            TitleColumn := ListView.Columns.Add;
2413                            TitleColumn.Caption := GikoBoardColumnCaption[ Ord( gbcTitle ) ];
2414                            TitleColumn.Width := GikoSys.Setting.BoardColumnWidth[ Ord( gbcTitle ) ];
2415                            idx := 0;
2416                          for i := 0 to GikoSys.Setting.BoardColumnOrder.Count - 1 do begin                          for i := 0 to GikoSys.Setting.BoardColumnOrder.Count - 1 do begin
2417                                  id := Ord( GikoSys.Setting.BoardColumnOrder[ i ] );                                  if GikoSys.Setting.BoardColumnOrder[ i ] = gbcTitle then begin
2418                                  if (Integer( Low( TGikoBoardColumnID ) ) <= id) and                                          TitleColumn.Tag := i;
2419                                          (id <= Integer( High( TGikoBoardColumnID ) )) then begin                                          idx := i;
2420                                          ListColumn := ListView.Columns.Add;                                  end else begin
2421                                          ListColumn.Caption := GikoBoardColumnCaption[ id ];                                          id := Ord( GikoSys.Setting.BoardColumnOrder[ i ] );
2422  //                                      ListColumn.Tag := id;                                          if (Integer( Low( TGikoBoardColumnID ) ) <= id) and
2423                                          ListColumn.Tag := i;                                                  (id <= Integer( High( TGikoBoardColumnID ) )) then begin
2424                                          ListColumn.Width := GikoSys.Setting.BoardColumnWidth[ id ];                                                  ListColumn := ListView.Columns.Add;
2425                                          ListColumn.Alignment := GikoBoardColumnAlignment[ id ];                                                  ListColumn.Caption := GikoBoardColumnCaption[ id ];
2426            //                                      ListColumn.Tag := id;
2427                                                    ListColumn.Tag := i;
2428                                                    ListColumn.Width := GikoSys.Setting.BoardColumnWidth[ id ];
2429                                                    ListColumn.Alignment := GikoBoardColumnAlignment[ id ];
2430                                            end;
2431                                  end;                                  end;
2432                          end;                          end;
2433                            TitleColumn.Index := idx;
2434                  end;                  end;
2435    
2436                  ListView.Items.Count := 0;                  ListView.Items.Count := 0;
# Line 3821  begin Line 3847  begin
3847                  Self.Caption := CAPTION_NAME;                  Self.Caption := CAPTION_NAME;
3848                  //Application.Title := CAPTION_NAME;                  //Application.Title := CAPTION_NAME;
3849    
3850    //              ActiveListColumnSave;
3851    
3852                  if Obj is TBBS then begin                  if Obj is TBBS then begin
                         for i := 0 to ListView.Columns.Count - 1 do  
                                 ListView.Column[i].Width := GikoSys.Setting.BBSColumnWidth[i];  
3853                          SetCategoryListItem(TBBS(Obj));                          SetCategoryListItem(TBBS(Obj));
3854                  end else if Obj is TCategory then begin                  end else if Obj is TCategory then begin
                         for i := 0 to ListView.Columns.Count - 1 do  
                                 ListView.Column[i].Width := GikoSys.Setting.CategoryColumnWidth[i];  
3855                          SetBoardListItem(TCategory(Obj));                          SetBoardListItem(TCategory(Obj));
3856                  end else if Obj is TBoard then begin                  end else if Obj is TBoard then begin
3857                          SetThreadListItem(TBoard(Obj));                          SetThreadListItem(TBoard(Obj));
# Line 4398  begin Line 4422  begin
4422                  end;                  end;
4423          end else begin          end else begin
4424                  if Item <> FActiveList then begin                  if Item <> FActiveList then begin
4425                          if GetActiveList is TBBS then begin                          ActiveListColumnSave;
                                 for i := 0 to ListView.Columns.Count - 1 do  
                                         GikoSys.Setting.BBSColumnWidth[i] := ListView.Column[i].Width;  
                         end else if GetActiveList is TCategory then begin  
                                 for i := 0 to ListView.Columns.Count - 1 do  
                                         GikoSys.Setting.CategoryColumnWidth[i] := ListView.Column[i].Width;  
                         end else if GetActiveList is TBoard then begin  
                                 for i := 0 to ListView.Columns.Count - 1 do  
                                         GikoSys.Setting.BoardColumnWidth[i] := ListView.Column[i].Width;  
                         end;  
4426    
4427                          if (Item is TBBS) or (Item is TCategory) then begin                          if (Item is TBBS) or (Item is TCategory) then begin
4428                                  ListView.Columns.Clear;                                  ListView.Columns.Clear;
# Line 10400  begin Line 10415  begin
10415                  Exit;                  Exit;
10416          end;          end;
10417    
10418          if GetActiveList is TBBS then begin          ActiveListColumnSave;
                 for i := 0 to ListView.Columns.Count - 1 do  
                         GikoSys.Setting.BBSColumnWidth[i] := ListView.Column[i].Width;  
         end else if GetActiveList is TCategory then begin  
                 for i := 0 to ListView.Columns.Count - 1 do  
                         GikoSys.Setting.CategoryColumnWidth[i] := ListView.Column[i].Width;  
         end else if GetActiveList is TBoard then begin  
                 for i := 0 to ListView.Columns.Count - 1 do  
                         GikoSys.Setting.BoardColumnWidth[i] := ListView.Column[i].Width;  
         end;  
10419    
10420          if TObject(Node.Data) is TBBS then begin          if TObject(Node.Data) is TBBS then begin
10421                  SetActiveList(Node.data);                  SetActiveList(Node.data);
# Line 11323  begin Line 11329  begin
11329          LoadTabURLs;          LoadTabURLs;
11330  end;  end;
11331    
11332    procedure TGikoForm.ListViewColumnDragged(Sender: TObject);
11333    begin
11334    end;
11335    
11336    /// ListView のカラム幅および位置の保存
11337    procedure TGikoForm.ActiveListColumnSave;
11338    var
11339            ActivListObj    : TObject;
11340            i, id, idx              : Integer;
11341            BBSOrder                        : TGikoBBSColumnList;
11342            CategoryOrder   : TGikoCategoryColumnList;
11343            BoardOrder              : TGikoBoardColumnList;
11344    begin
11345    
11346            ActivListObj := ActiveList;
11347            if ActivListObj is TBBS then begin
11348                    //===== カテゴリリスト =====
11349                    BBSOrder := TGikoBBSColumnList.Create;
11350                    try
11351                            for i := 0 to ListView.Columns.Count - 1 do begin
11352                                    // 順序の取得
11353                                    idx := ListView.Column[ i ].Tag;
11354                                    id := Ord( GikoSys.Setting.BBSColumnOrder[ idx ] );
11355                                    BBSOrder.Add( TGikoBBSColumnID( id ) );
11356                                    // 幅の保存
11357                                    GikoSys.Setting.BBSColumnWidth[ id ] := ListView.Column[ id ].Width;
11358                            end;
11359                            for i := 0 to ListView.Columns.Count - 1 do
11360                                    // 順序の保存
11361                                    GikoSys.Setting.BBSColumnOrder[ i ] := BBSOrder[ i ];
11362                    finally
11363                            BBSOrder.Free;
11364                    end;
11365            end else if ActivListObj is TCategory then begin
11366                    //===== 板リスト =====
11367                    CategoryOrder := TGikoCategoryColumnList.Create;
11368                    try
11369                            for i := 0 to ListView.Columns.Count - 1 do begin
11370                                    // 順序の取得
11371                                    idx := ListView.Column[ i ].Tag;
11372                                    id := Ord( GikoSys.Setting.CategoryColumnOrder[ idx ] );
11373                                    CategoryOrder.Add( TGikoCategoryColumnID( id ) );
11374                                    // 幅の保存
11375                                    GikoSys.Setting.CategoryColumnWidth[ id ] := ListView.Column[ id ].Width;
11376                            end;
11377                            for i := 0 to ListView.Columns.Count - 1 do
11378                                    // 順序の保存
11379                                    GikoSys.Setting.CategoryColumnOrder[ i ] := CategoryOrder[ i ];
11380                    finally
11381                            CategoryOrder.Free;
11382                    end;
11383            end else if ActivListObj is TBoard then begin
11384                    //===== スレリスト =====
11385                    BoardOrder := TGikoBoardColumnList.Create;
11386                    try
11387                            for i := 0 to ListView.Columns.Count - 1 do begin
11388                                    // 順序の取得
11389                                    idx := ListView.Column[ i ].Tag;
11390                                    id := Ord( GikoSys.Setting.BoardColumnOrder[ idx ] );
11391                                    BoardOrder.Add( TGikoBoardColumnID( id ) );
11392                                    // 幅の保存
11393                                    GikoSys.Setting.BoardColumnWidth[i] := ListView.Column[i].Width;
11394                            end;
11395                            for i := 0 to ListView.Columns.Count - 1 do
11396                                    // 順序の保存
11397                                    GikoSys.Setting.BoardColumnOrder[ i ] := BoardOrder[ i ];
11398                    finally
11399                            BoardOrder.Free;
11400                    end;
11401            end;
11402            
11403    end;
11404    
11405  initialization  initialization
11406                                  OleInitialize(nil);                                  OleInitialize(nil);
11407  finalization  finalization

Legend:
Removed from v.1.409  
changed lines
  Added in v.1.410

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