Enable (re)storing a VirtualTree layout on different forms without naming conflicts in registry. Plus: use that in the new table editor.

This commit is contained in:
Ansgar Becker
2009-05-12 22:41:24 +00:00
parent 7f32b33505
commit 5209995eed
2 changed files with 20 additions and 9 deletions

View File

@ -798,8 +798,6 @@ type
function GetSelectedTable: WideString; function GetSelectedTable: WideString;
procedure SetSelectedDatabase(db: WideString); procedure SetSelectedDatabase(db: WideString);
procedure SetSelectedTable(table: WideString); procedure SetSelectedTable(table: WideString);
procedure SaveListSetup( List: TVirtualStringTree );
procedure RestoreListSetup( List: TVirtualStringTree );
procedure SetVisibleListColumns( List: TVirtualStringTree; Columns: WideStrings.TWideStringList ); procedure SetVisibleListColumns( List: TVirtualStringTree; Columns: WideStrings.TWideStringList );
function GetTableSize(ds: TDataSet): Int64; function GetTableSize(ds: TDataSet): Int64;
procedure ToggleFilterPanel(ForceVisible: Boolean = False); procedure ToggleFilterPanel(ForceVisible: Boolean = False);
@ -934,6 +932,8 @@ type
procedure DataViewClick(Sender: TObject); procedure DataViewClick(Sender: TObject);
procedure LoadDataView(ViewName: String); procedure LoadDataView(ViewName: String);
function GetRegKeyTable: String; function GetRegKeyTable: String;
procedure SaveListSetup( List: TVirtualStringTree );
procedure RestoreListSetup( List: TVirtualStringTree );
function GetCollations: TDataset; function GetCollations: TDataset;
end; end;
@ -6672,7 +6672,7 @@ end;
procedure TMainForm.SaveListSetup( List: TVirtualStringTree ); procedure TMainForm.SaveListSetup( List: TVirtualStringTree );
var var
i : Byte; i : Byte;
ColWidths, ColsVisible, ColPos : String; ColWidths, ColsVisible, ColPos, Regname: String;
begin begin
ColWidths := ''; ColWidths := '';
ColsVisible := ''; ColsVisible := '';
@ -6699,9 +6699,12 @@ begin
end; end;
OpenRegistry; OpenRegistry;
MainReg.WriteString( REGPREFIX_COLWIDTHS + List.Name, ColWidths ); Regname := List.Name;
MainReg.WriteString( REGPREFIX_COLSVISIBLE + List.Name, ColsVisible ); if GetParentForm(List) <> Self then
MainReg.WriteString( REGPREFIX_COLPOS + List.Name, ColPos ); Regname := GetParentForm(List).Name + '.' + Regname;
MainReg.WriteString( REGPREFIX_COLWIDTHS + Regname, ColWidths );
MainReg.WriteString( REGPREFIX_COLSVISIBLE + Regname, ColsVisible );
MainReg.WriteString( REGPREFIX_COLPOS + Regname, ColPos );
end; end;
@ -6714,11 +6717,15 @@ var
colwidth, colpos : Integer; colwidth, colpos : Integer;
Value : WideString; Value : WideString;
ValueList : WideStrings.TWideStringList; ValueList : WideStrings.TWideStringList;
Regname: String;
begin begin
ValueList := WideStrings.TWideStringList.Create; ValueList := WideStrings.TWideStringList.Create;
// Column widths // Column widths
Value := GetRegValue(REGPREFIX_COLWIDTHS + List.Name, ''); Regname := List.Name;
if GetParentForm(List) <> Self then
Regname := GetParentForm(List).Name + '.' + Regname;
Value := GetRegValue(REGPREFIX_COLWIDTHS + Regname, '');
if Value <> '' then begin if Value <> '' then begin
ValueList := Explode( ',', Value ); ValueList := Explode( ',', Value );
for i := 0 to ValueList.Count - 1 do for i := 0 to ValueList.Count - 1 do
@ -6731,14 +6738,14 @@ begin
end; end;
// Column visibility // Column visibility
Value := GetRegValue(REGPREFIX_COLSVISIBLE + List.Name, ''); Value := GetRegValue(REGPREFIX_COLSVISIBLE + Regname, '');
if Value <> '' then begin if Value <> '' then begin
ValueList := Explode( ',', Value ); ValueList := Explode( ',', Value );
SetVisibleListColumns( List, ValueList ); SetVisibleListColumns( List, ValueList );
end; end;
// Column position // Column position
Value := GetRegValue(REGPREFIX_COLPOS + List.Name, ''); Value := GetRegValue(REGPREFIX_COLPOS + Regname, '');
if Value <> '' then begin if Value <> '' then begin
ValueList := Explode( ',', Value ); ValueList := Explode( ',', Value );
for i := 0 to ValueList.Count - 1 do for i := 0 to ValueList.Count - 1 do

View File

@ -182,6 +182,8 @@ begin
InheritFont(Font); InheritFont(Font);
FixVT(listColumns); FixVT(listColumns);
FixVT(treeIndexes); FixVT(treeIndexes);
Mainform.RestoreListSetup(listColumns);
Mainform.RestoreListSetup(treeIndexes);
FLoaded := False; FLoaded := False;
comboRowFormat.Items.CommaText := 'DEFAULT,DYNAMIC,FIXED,COMPRESSED,REDUNDANT,COMPACT'; comboRowFormat.Items.CommaText := 'DEFAULT,DYNAMIC,FIXED,COMPRESSED,REDUNDANT,COMPACT';
comboInsertMethod.Items.CommaText := 'NO,FIRST,LAST'; comboInsertMethod.Items.CommaText := 'NO,FIRST,LAST';
@ -204,6 +206,8 @@ begin
MainReg.WriteInteger(REGNAME_TABLEEDITOR_WIDTH, Width); MainReg.WriteInteger(REGNAME_TABLEEDITOR_WIDTH, Width);
MainReg.WriteInteger(REGNAME_TABLEEDITOR_HEIGHT, Height); MainReg.WriteInteger(REGNAME_TABLEEDITOR_HEIGHT, Height);
MainReg.WriteInteger(REGNAME_TABLEEDITOR_TABSHEIGHT, PageControlMain.Height); MainReg.WriteInteger(REGNAME_TABLEEDITOR_TABSHEIGHT, PageControlMain.Height);
Mainform.SaveListSetup(listColumns);
Mainform.SaveListSetup(treeIndexes);
end; end;