spready: Add option for automatic row height calculation after file is loaded.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6593 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2018-08-11 10:39:34 +00:00
parent 5d1ba18b74
commit c3a67dc576
2 changed files with 30 additions and 0 deletions

View File

@ -1928,6 +1928,12 @@ object MainForm: TMainForm
Hint = 'Clear format' Hint = 'Clear format'
ImageIndex = 74 ImageIndex = 74
end end
object AcSettingsAutoUpdateRowheights: TAction
Category = 'Settings'
AutoCheck = True
Caption = 'Update row heights after loading'
OnExecute = AcSettingsAutoUpdateRowheightsExecute
end
end end
object ImageList: TImageList object ImageList: TImageList
left = 176 left = 176
@ -4803,6 +4809,10 @@ object MainForm: TMainForm
Action = AcSettingsReadFormulas Action = AcSettingsReadFormulas
AutoCheck = True AutoCheck = True
end end
object MenuItem192: TMenuItem
Action = AcSettingsAutoUpdateRowheights
AutoCheck = True
end
end end
object MnuHelp: TMenuItem object MnuHelp: TMenuItem
Caption = 'Help' Caption = 'Help'

View File

@ -38,6 +38,7 @@ type
AcRowHeight: TAction; AcRowHeight: TAction;
AcColWidth: TAction; AcColWidth: TAction;
AcSettingsReadFormulas: TAction; AcSettingsReadFormulas: TAction;
AcSettingsAutoUpdateRowheights: TAction;
AcWorksheetProtection: TAction; AcWorksheetProtection: TAction;
AcWorksheetRTL: TAction; AcWorksheetRTL: TAction;
AcViewInspector: TAction; AcViewInspector: TAction;
@ -93,6 +94,7 @@ type
MenuItem189: TMenuItem; MenuItem189: TMenuItem;
MenuItem190: TMenuItem; MenuItem190: TMenuItem;
MenuItem191: TMenuItem; MenuItem191: TMenuItem;
MenuItem192: TMenuItem;
MenuItem2: TMenuItem; MenuItem2: TMenuItem;
MenuItem3: TMenuItem; MenuItem3: TMenuItem;
MenuItem4: TMenuItem; MenuItem4: TMenuItem;
@ -447,6 +449,7 @@ type
procedure AcRowAddExecute(Sender: TObject); procedure AcRowAddExecute(Sender: TObject);
procedure AcRowDeleteExecute(Sender: TObject); procedure AcRowDeleteExecute(Sender: TObject);
procedure AcRowHeightExecute(Sender: TObject); procedure AcRowHeightExecute(Sender: TObject);
procedure AcSettingsAutoUpdateRowheightsExecute(Sender: TObject);
procedure AcSettingsReadFormulasExecute(Sender: TObject); procedure AcSettingsReadFormulasExecute(Sender: TObject);
procedure AcSortColAscExecute(Sender: TObject); procedure AcSortColAscExecute(Sender: TObject);
procedure AcSortExecute(Sender: TObject); procedure AcSortExecute(Sender: TObject);
@ -493,6 +496,7 @@ type
AWorksheet: TsWorksheet; ARow, ACol: Cardinal); AWorksheet: TsWorksheet; ARow, ACol: Cardinal);
procedure UpdateCaption; procedure UpdateCaption;
procedure UpdateInspectorColumns; procedure UpdateInspectorColumns;
procedure UpdateRowHeights;
protected protected
procedure ReadFromIni; procedure ReadFromIni;
procedure WriteToIni; procedure WriteToIni;
@ -742,6 +746,12 @@ begin
end; end;
end; end;
procedure TMainForm.AcSettingsAutoUpdateRowheightsExecute(Sender: TObject);
begin
if AcSettingsAutoUpdateRowHeights.Checked then
UpdateRowHeights;
end;
procedure TMainForm.AcWorksheetRTLExecute(Sender: TObject); procedure TMainForm.AcWorksheetRTLExecute(Sender: TObject);
begin begin
if AcWorksheetRTL.Checked then if AcWorksheetRTL.Checked then
@ -1124,6 +1134,8 @@ begin
WorkbookSource.FileName := UTF8ToAnsi(AFileName); // this loads the file WorkbookSource.FileName := UTF8ToAnsi(AFileName); // this loads the file
FMRUMenuManager.AddToRecent(AFileName); FMRUMenuManager.AddToRecent(AFileName);
UpdateCaption; UpdateCaption;
if AcSettingsAutoUpdateRowHeights.Checked then
UpdateRowHeights;
finally finally
Screen.Cursor := crs; Screen.Cursor := crs;
end; end;
@ -1174,6 +1186,8 @@ begin
AcSettingsReadFormulas.Checked := ini.ReadBool('Settings', 'ReadFormulas', true); AcSettingsReadFormulas.Checked := ini.ReadBool('Settings', 'ReadFormulas', true);
AcSettingsReadFormulasExecute(nil); AcSettingsReadFormulasExecute(nil);
AcSettingsAutoUpdateRowHeights.Checked := ini.ReadBool('Settings', 'AutoUpdateRowHeights', false);
finally finally
ini.Free; ini.Free;
end; end;
@ -1233,6 +1247,11 @@ begin
Inspector.DisplayOptions := Inspector.DisplayOptions - [doAutoColResize]; Inspector.DisplayOptions := Inspector.DisplayOptions - [doAutoColResize];
end; end;
procedure TMainForm.UpdateRowHeights;
begin
WorksheetGrid.UpdateRowHeights(-1, true);
end;
procedure TMainForm.WriteToIni; procedure TMainForm.WriteToIni;
var var
ini: TCustomIniFile; ini: TCustomIniFile;
@ -1252,6 +1271,7 @@ begin
ini.WriteBool('Inspector', 'Visible', InspectorTabControl.Visible); ini.WriteBool('Inspector', 'Visible', InspectorTabControl.Visible);
ini.WriteBool('Settings', 'ReadFormulas', AcSettingsReadFormulas.Checked); ini.WriteBool('Settings', 'ReadFormulas', AcSettingsReadFormulas.Checked);
ini.WriteBool('Settings', 'AutoUpdateRowHeights', AcSettingsAutoUpdateRowHeights.Checked);
finally finally
ini.Free; ini.Free;
end; end;