Changeset 15 for trunk/UFormMain.pas


Ignore:
Timestamp:
May 21, 2014, 5:33:14 PM (10 years ago)
Author:
chronos
Message:
  • Added: Architecture selection through main menu item Architecture.
  • Added: In comparison show also full ID list for both configuration.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/UFormMain.pas

    r14 r15  
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
    9   ActnList, ComCtrls, StdCtrls, UKConfig, ULastOpenedList, URegistry, MyRegistry;
     9  ActnList, ComCtrls, StdCtrls, UKConfig, ULastOpenedList, URegistry, MyRegistry,
     10  UFindFile;
    1011
    1112const
     
    3334    MenuItem1: TMenuItem;
    3435    MenuItem10: TMenuItem;
     36    MenuItemArch: TMenuItem;
     37    MenuItem12: TMenuItem;
    3538    MenuItemCompareRecent: TMenuItem;
    3639    MenuItem2: TMenuItem;
     
    7275    procedure OpenDir(Dir: string);
    7376    procedure CompareDir(Dir: string);
     77    procedure ReloadArch(Dir: string);
     78    procedure MenuItemArchExecute(Sender: TObject);
    7479  public
    7580    AutoOpen: Boolean;
     
    156161    FormCompare.Memo1.Lines.Assign(Missing1);
    157162    FormCompare.Memo2.Lines.Assign(Missing2);
     163    FormCompare.Memo3.Lines.Assign(List1);
     164    FormCompare.Memo4.Lines.Assign(List2);
    158165    FormCompare.Show;
    159166  finally
     
    163170    List1.Free;
    164171    List2.Free;
     172  end;
     173end;
     174
     175procedure TFormMain.ReloadArch(Dir: string);
     176var
     177  FindFile: TFindFile;
     178  List: TStringList;
     179  I: Integer;
     180  NewMenuItem: TMenuItem;
     181  DirName: string;
     182begin
     183  try
     184    FindFile := TFindFile.Create(nil);
     185    FindFile.FileAttr := [ffaDirectory];
     186    FindFile.Path := Dir;
     187    FindFile.FileMask := '*';
     188    List := FindFile.SearchForFiles;
     189    MenuItemArch.Clear;
     190    for I := 0 to List.Count - 1 do begin
     191      DirName := ExtractFileName(List[I]);
     192      if (DirName <> '..') and (DirName <> '.') and
     193        FileExists(List[I] + DirectorySeparator + 'Kconfig') then begin
     194        NewMenuItem := TMenuItem.Create(MenuItemArch);
     195        NewMenuItem.Caption := DirName;
     196        NewMenuItem.OnClick := MenuItemArchExecute;
     197        if Config.Arch = DirName then NewMenuItem.Checked := True;
     198        MenuItemArch.Add(NewMenuItem);
     199      end;
     200    end;
     201  finally
     202    FindFile.Free;
     203  end
     204end;
     205
     206procedure TFormMain.MenuItemArchExecute(Sender: TObject);
     207begin
     208  if Sender is TMenuItem then begin
     209    Config.Arch := TMenuItem(Sender).Caption;
     210    Reload;
    165211  end;
    166212end;
     
    178224    TreeView1.TopItem.Expanded := True;
    179225    StatusBar1.Panels[0].Text := 'Count: ' + IntToStr(Config.TopNode.GetCount);
     226    ReloadArch(Config.BaseDir + DirectorySeparator + 'arch');
    180227  end else begin
    181228    StatusBar1.Panels[0].Text := '';
Note: See TracChangeset for help on using the changeset viewer.