Skip to content

Commit 7f0e735

Browse files
Use data binding
1 parent cc45dee commit 7f0e735

File tree

3 files changed

+56
-28
lines changed

3 files changed

+56
-28
lines changed

Flow.Launcher/MainWindow.xaml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@
343343
<StackPanel
344344
x:Name="ResultArea"
345345
Grid.Column="0"
346-
Grid.ColumnSpan="2">
346+
Grid.ColumnSpan="{Binding ResultAreaColumn}">
347347
<Border Style="{DynamicResource WindowRadius}">
348348
<Border.Clip>
349349
<MultiBinding Converter="{StaticResource BorderClipConverter}">
@@ -397,11 +397,13 @@
397397
x:Name="Preview"
398398
Grid.Column="1"
399399
VerticalAlignment="Stretch"
400-
d:DataContext="{d:DesignInstance vm:ResultViewModel}"
401-
DataContext="{Binding SelectedItem, ElementName=ResultListBox}"
402400
Style="{DynamicResource PreviewArea}"
403-
Visibility="Collapsed">
404-
<Border Style="{DynamicResource PreviewBorderStyle}" Visibility="{Binding ShowDefaultPreview}">
401+
Visibility="{Binding PreviewVisible, Converter={StaticResource BoolToVisibilityConverter}}">
402+
<Border
403+
Style="{DynamicResource PreviewBorderStyle}"
404+
d:DataContext="{d:DesignInstance vm:ResultViewModel}"
405+
DataContext="{Binding SelectedItem, ElementName=ResultListBox}"
406+
Visibility="{Binding ShowDefaultPreview}">
405407
<Grid
406408
Margin="20,0,10,0"
407409
VerticalAlignment="Stretch"
@@ -472,7 +474,11 @@
472474
</StackPanel>
473475
</Grid>
474476
</Border>
475-
<Border Style="{DynamicResource PreviewBorderStyle}" Visibility="{Binding ShowCustomizedPreview}">
477+
<Border
478+
d:DataContext="{d:DesignInstance vm:ResultViewModel}"
479+
DataContext="{Binding SelectedItem, ElementName=ResultListBox}"
480+
Style="{DynamicResource PreviewBorderStyle}"
481+
Visibility="{Binding ShowCustomizedPreview}">
476482
<ContentControl Content="{Binding Result.PreviewPanel.Value}" />
477483
</Border>
478484
</Grid>

Flow.Launcher/MainWindow.xaml.cs

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -633,30 +633,11 @@ private void OnKeyDown(object sender, KeyEventArgs e)
633633

634634
public void PreviewReset()
635635
{
636-
if (_settings.AlwaysPreview == true)
637-
{
638-
ResultArea.SetValue(Grid.ColumnSpanProperty, 1);
639-
Preview.Visibility = Visibility.Visible;
640-
}
641-
else
642-
{
643-
ResultArea.SetValue(Grid.ColumnSpanProperty, 2);
644-
Preview.Visibility = Visibility.Collapsed;
645-
}
636+
_viewModel.ResetPreview();
646637
}
647638
public void PreviewToggle()
648639
{
649-
650-
if (Preview.Visibility == Visibility.Collapsed)
651-
{
652-
ResultArea.SetValue(Grid.ColumnSpanProperty, 1);
653-
Preview.Visibility = Visibility.Visible;
654-
}
655-
else
656-
{
657-
ResultArea.SetValue(Grid.ColumnSpanProperty, 2);
658-
Preview.Visibility = Visibility.Collapsed;
659-
}
640+
_viewModel.TogglePreview();
660641
}
661642

662643
private void MoveQueryTextToEnd()

Flow.Launcher/ViewModel/MainViewModel.cs

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public MainViewModel(Settings settings)
104104
RegisterResultsUpdatedEvent();
105105
RegisterClockAndDateUpdateAsync();
106106

107-
SetOpenResultModifiers();
107+
SetOpenResultModifiers(); // TODO?
108108
}
109109

110110
private void RegisterViewUpdate()
@@ -424,6 +424,43 @@ private void DecreaseMaxResult()
424424
Settings.MaxResultsToShow -= 1;
425425
}
426426

427+
[RelayCommand]
428+
public void TogglePreview()
429+
{
430+
if (!PreviewVisible)
431+
{
432+
ShowPreview();
433+
}
434+
else
435+
{
436+
HidePreview();
437+
}
438+
}
439+
440+
private void ShowPreview()
441+
{
442+
ResultAreaColumn = 1;
443+
PreviewVisible = true;
444+
}
445+
446+
private void HidePreview()
447+
{
448+
ResultAreaColumn = 2;
449+
PreviewVisible = false;
450+
}
451+
452+
public void ResetPreview()
453+
{
454+
if (Settings.AlwaysPreview == true)
455+
{
456+
ShowPreview();
457+
}
458+
else
459+
{
460+
HidePreview();
461+
}
462+
}
463+
427464
/// <summary>
428465
/// we need move cursor to end when we manually changed query
429466
/// but we don't want to move cursor to end when query is updated from TextBox
@@ -519,6 +556,10 @@ public double MainWindowWidth
519556

520557
public bool StartWithEnglishMode => Settings.AlwaysStartEn;
521558

559+
public bool PreviewVisible { get; set; } = false;
560+
561+
public int ResultAreaColumn { get; set; } = 1;
562+
522563
#endregion
523564

524565
public void Query()

0 commit comments

Comments
 (0)