DEADSOFTWARE

Main: Load and save window position and size
authorbinarymaster <x86corez@gmail.com>
Mon, 25 Sep 2017 12:57:29 +0000 (15:57 +0300)
committerbinarymaster <x86corez@gmail.com>
Mon, 25 Sep 2017 12:57:29 +0000 (15:57 +0300)
src/editor/f_main.lfm
src/editor/f_main.pas

index fcc7377e6df71a29c4e52a7d2adb963b3cb7cd50..d35946313f732d2b62f4064ef5577e59885b3f97 100644 (file)
@@ -21,7 +21,6 @@ object MainForm: TMainForm
   OnKeyDown = FormKeyDown
   OnKeyUp = FormKeyUp
   OnResize = FormResize
-  Position = poDefault
   LCLVersion = '1.6.0.4'
   object Splitter1: TSplitter
     Left = 518
index d429811c6222c2066fb0ab2a8f4acde2e9aa11ce..8fd1fa3372b6a4e87fe52580603a0f3a82def031 100644 (file)
@@ -2599,6 +2599,14 @@ begin
 
   config := TConfig.CreateFile(EditorDir+'Editor.cfg');
 
+  if config.ReadInt('Editor', 'XPos', -1) = -1 then
+    Position := poDesktopCenter
+  else begin
+    Left := config.ReadInt('Editor', 'XPos', Left);
+    Top := config.ReadInt('Editor', 'YPos', Top);
+    Width := config.ReadInt('Editor', 'Width', Width);
+    Height := config.ReadInt('Editor', 'Height', Height);
+  end;
   if config.ReadBool('Editor', 'Maximize', False) then
     WindowState := wsMaximized;
   ShowMap := config.ReadBool('Editor', 'Minimap', False);
@@ -4024,6 +4032,10 @@ var
 begin
   config := TConfig.CreateFile(EditorDir+'Editor.cfg');
 
+  config.WriteInt('Editor', 'XPos', Left);
+  config.WriteInt('Editor', 'YPos', Top);
+  config.WriteInt('Editor', 'Width', Width);
+  config.WriteInt('Editor', 'Height', Height);
   config.WriteBool('Editor', 'Maximize', WindowState = wsMaximized);
   config.WriteBool('Editor', 'Minimap', ShowMap);
   config.WriteInt('Editor', 'PanelProps', PanelProps.ClientWidth);