Skip to content

Commit 4a86962

Browse files
committed
- Fix RememberLastPosition when Re-Excute
1 parent 037c343 commit 4a86962

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

Flow.Launcher/MainWindow.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
PreviewKeyDown="OnKeyDown"
2727
ResizeMode="NoResize"
2828
ShowInTaskbar="False"
29+
SizeChanged="OnSizeChanged"
2930
SizeToContent="Height"
3031
Style="{DynamicResource WindowStyle}"
3132
Topmost="True"

Flow.Launcher/MainWindow.xaml.cs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public MainWindow(Settings settings, MainViewModel mainVM)
4242
DataContext = mainVM;
4343
_viewModel = mainVM;
4444
_settings = settings;
45+
InitializePosition();
4546
InitializeComponent();
4647
}
4748

@@ -69,10 +70,8 @@ private void OnLoaded(object sender, RoutedEventArgs _)
6970
{
7071
// show notify icon when flowlauncher is hidden
7172
InitializeNotifyIcon();
72-
7373
WindowsInteropHelper.DisableControlBox(this);
7474
InitProgressbarAnimation();
75-
InitializePosition();
7675
// since the default main window visibility is visible
7776
// so we need set focus during startup
7877
QueryTextBox.Focus();
@@ -85,9 +84,9 @@ private void OnLoaded(object sender, RoutedEventArgs _)
8584
{
8685
if (_viewModel.WinToggleStatus == true)
8786
{
87+
UpdatePosition();
8888
Activate();
8989
QueryTextBox.Focus();
90-
//UpdatePosition();
9190
_settings.ActivateTimes++;
9291
if (!_viewModel.LastQuerySelected)
9392
{
@@ -156,21 +155,15 @@ private void OnLoaded(object sender, RoutedEventArgs _)
156155

157156
private void InitializePosition()
158157
{
159-
/*
160-
Top = WindowTop();
161-
Left = WindowLeft();
162-
_settings.WindowTop = Top;
163-
_settings.WindowLeft = Left;
164-
*/
165158
if (_settings.RememberLastLaunchLocation)
166159
{
167-
Left = _settings.WindowLeft;
168-
Top = _settings.WindowTop;
160+
this.Top = this._settings.WindowTop;
161+
this.Left = this._settings.WindowLeft;
169162
}
170163
else
171164
{
172-
Left = WindowLeft();
173-
Top = WindowTop();
165+
this.Left = WindowLeft();
166+
this.Top = WindowTop();
174167
}
175168
}
176169

@@ -251,7 +244,6 @@ private void InitProgressbarAnimation()
251244

252245
public void WindowAnimator()
253246
{
254-
//InitializePosition();
255247
UpdatePosition();
256248
Storyboard sb = new Storyboard();
257249
var da = new DoubleAnimation
@@ -277,10 +269,10 @@ public void WindowAnimator()
277269
Duration = TimeSpan.FromSeconds(0.1),
278270
FillBehavior = FillBehavior.Stop
279271
};
280-
Storyboard.SetTargetProperty(da3, new PropertyPath(Window.LeftProperty));
281272
Storyboard.SetTarget(da, this);
282273
Storyboard.SetTargetProperty(da, new PropertyPath(Window.OpacityProperty));
283274
Storyboard.SetTargetProperty(da2, new PropertyPath(Window.TopProperty));
275+
Storyboard.SetTargetProperty(da3, new PropertyPath(Window.LeftProperty));
284276
sb.Children.Add(da);
285277
sb.Children.Add(da2);
286278
sb.Children.Add(da3);
@@ -328,6 +320,7 @@ private void OnContextMenusForSettingsClick(object sender, RoutedEventArgs e)
328320

329321
private void OnDeactivated(object sender, EventArgs e)
330322
{
323+
_viewModel.Save();
331324
if (_settings.HideWhenDeactive)
332325
{
333326
_viewModel.Hide();
@@ -348,6 +341,16 @@ private void UpdatePosition()
348341
}
349342
}
350343

344+
private void OnSizeChanged(object sender, SizeChangedEventArgs e)
345+
{
346+
if (_settings.RememberLastLaunchLocation)
347+
{
348+
return;
349+
_settings.WindowLeft = Left;
350+
_settings.WindowTop = Top;
351+
}
352+
}
353+
351354
private void OnLocationChanged(object sender, EventArgs e)
352355
{
353356
if (_settings.RememberLastLaunchLocation)

0 commit comments

Comments
 (0)