private int selectedPreview = 2;
private bool isPreviousPreviewControlVisible;
-
private bool isNextPreviewControlVisible;
public SummaryViewModel(IScan scanService, IUserSettingService userSettingService)
public string DimensionInfo { get; set; }
public string AspectInfo { get; set; }
-
public bool IsPreviewInfoVisible { get; set; }
public string PreviewInfo { get; set; }
this.CurrentTitle = selectedTitle;
this.Task = encodeTask;
this.UpdateDisplayedInfo();
+ this.SetPreviewControlVisibility();
}
public void SetPreset(Preset currentPreset, EncodeTask encodeTask)
this.PreviewInfo = string.Format(ResourcesUI.SummaryView_PreviewInfo, this.selectedPreview, maxPreview);
this.NotifyOfPropertyChange(() => this.PreviewInfo);
- if (this.selectedPreview == maxPreview)
- {
- this.IsNextPreviewControlVisible = false;
- }
+ this.SetPreviewControlVisibility();
}
public void PreviousPreview()
this.PreviewInfo = string.Format(ResourcesUI.SummaryView_PreviewInfo, this.selectedPreview, maxPreview);
this.NotifyOfPropertyChange(() => this.PreviewInfo);
- if (this.selectedPreview == 1)
- {
- this.IsPreviousPreviewControlVisible = false;
- }
+ this.SetPreviewControlVisibility();
}
- public void SetPreviewControlVisibility(bool isPreviousVisible, bool isNextVisible)
+ public void SetPreviewControlVisibility()
{
if (this.selectedPreview > 1)
{
- this.IsPreviousPreviewControlVisible = isPreviousVisible;
+ this.IsPreviousPreviewControlVisible = true;
}
else
{
if (this.selectedPreview < this.userSettingService.GetUserSetting<int>(UserSettingConstants.PreviewScanCount))
{
- this.IsNextPreviewControlVisible = isNextVisible;
+ this.IsNextPreviewControlVisible = true;
}
else
{
<Grid.ColumnDefinitions>\r
<ColumnDefinition Width="Auto" />\r
<ColumnDefinition Width="Auto" />\r
- <ColumnDefinition Width="*" />\r
+ <ColumnDefinition Width="Auto" />\r
</Grid.ColumnDefinitions>\r
\r
<Label Content="{x:Static Properties:ResourcesUI.MainView_Source}" FontWeight="Bold" Grid.Column="0" />\r
- <TextBlock Text="{Binding Path=SourceLabel}" TextTrimming="CharacterEllipsis" Grid.Column="1" MaxWidth="400" />\r
- <TextBlock Text="{Binding SourceInfo}" HorizontalAlignment="Right" VerticalAlignment="Center" Foreground="DimGray" Grid.Column="2" MaxWidth="400" />\r
+ <TextBlock Text="{Binding Path=SourceLabel}" TextTrimming="CharacterEllipsis" Grid.Column="1" MaxWidth="400" />\r
+ <TextBlock Text="{Binding SourceInfo}" HorizontalAlignment="Right" VerticalAlignment="Center" Foreground="DimGray" Grid.Column="2" Margin="15,0,0,0" MaxWidth="400" />\r
</Grid>\r
\r
<StackPanel Orientation="Horizontal">\r
<RowDefinition Height="*" />
</Grid.RowDefinitions>
- <Grid Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Left" VerticalAlignment="Top">
+ <Grid Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Left" VerticalAlignment="Top" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
- <RowDefinition Height="Auto" MinHeight="26" />
- <RowDefinition Height="Auto" MinHeight="26" />
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="32"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
- <Image Source="{Binding PreviewImage}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="0,5,10,0" x:Name="previewImage" MouseMove="PreviewImage_OnMouseMove" MouseLeave="PreviewImage_OnMouseLeave" Panel.ZIndex="0" Grid.ColumnSpan="2"
+ <Image Source="{Binding PreviewImage}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="0,5,10,0" x:Name="previewImage" Panel.ZIndex="0" Grid.ColumnSpan="2"
MaxWidth="{Binding MaxWidth}" MaxHeight="{Binding MaxHeight}" />
- <Border BorderThickness="1,1,1,1" CornerRadius="8,8,8,8" VerticalAlignment="Center" HorizontalAlignment="Left" Panel.ZIndex="1" cal:Message.Attach="[Event MouseDown] = [Action PreviousPreview]" Grid.ColumnSpan="2"
- Background="Black" Opacity="0.75" Margin="20,0,0,0" Visibility="{Binding IsPreviousPreviewControlVisible, Converter={StaticResource boolToVisConverter}}" >
- <TextBlock Text="<" FontSize="30" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" Padding="8,3" Margin="0" />
+ <Border Grid.Row="1" Grid.ColumnSpan="2" VerticalAlignment="Bottom" HorizontalAlignment="Center" Background="Transparent" Margin="0,5,0,5">
+ <TextBlock Text="{Binding PreviewInfo}" TextAlignment="Center" Visibility="{Binding IsPreviewInfoVisible, Converter={StaticResource boolToVisConverter}}" />
</Border>
- <Border BorderThickness="1,1,1,1" CornerRadius="8,8,8,8" VerticalAlignment="Center" HorizontalAlignment="Right" Panel.ZIndex="1" cal:Message.Attach="[Event MouseDown] = [Action NextPreview]" Grid.ColumnSpan="2"
- Background="Black" Opacity="0.75" Margin="0,0,20,0" Visibility="{Binding IsNextPreviewControlVisible, Converter={StaticResource boolToVisConverter}}">
- <TextBlock Text=">" FontSize="30" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" Padding="8,3" Margin="0" />
- </Border>
+ <Grid Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="2" HorizontalAlignment="Center" Width="84" Visibility="{Binding IsPreviewControlsVisible, Converter={StaticResource boolToVisConverter}}">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="42" />
+ <ColumnDefinition Width="42" />
+ </Grid.ColumnDefinitions>
+ <Border BorderThickness="1,1,1,1" CornerRadius="4,0,0,4" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Column="0" cal:Message.Attach="[Event MouseDown] = [Action PreviousPreview]"
+ Visibility="{Binding IsPreviousPreviewControlVisible,Converter={StaticResource boolToVisConverter}}"
+ Background="Black" Opacity="0.5" Margin="0,0,0,0" >
+ <TextBlock Text="<" FontSize="16" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" Padding="16,1" Margin="0,0,0,4" />
+ </Border>
+
+ <Border BorderThickness="1,1,1,1" CornerRadius="0,4,4,0" VerticalAlignment="Center" HorizontalAlignment="Right" Grid.Column="1" cal:Message.Attach="[Event MouseDown] = [Action NextPreview]"
+ Background="Black" Opacity="0.5" Margin="0,0,0,0"
+ Visibility="{Binding IsNextPreviewControlVisible,Converter={StaticResource boolToVisConverter}}" >
+ <TextBlock Text=">" FontSize="16" Foreground="White" Padding="16,1" VerticalAlignment="Center" TextAlignment="Center" HorizontalAlignment="Center" Margin="0,0,0,4" />
+ </Border>
+
+ </Grid>
+
- <Border BorderThickness="1,1,1,1" CornerRadius="8,8,8,8" VerticalAlignment="Bottom" HorizontalAlignment="Center" Grid.ColumnSpan="2"
- Background="Black" Opacity="0.75" Margin="0,5,0,10">
- <TextBlock Text="{Binding PreviewInfo}" FontSize="14" Foreground="White" Padding="8,3" Visibility="{Binding IsPreviewInfoVisible, Converter={StaticResource boolToVisConverter}}" />
- </Border>
</Grid>
</Grid>
namespace HandBrakeWPF.Views
{
using System.Windows.Controls;
- using System.Windows.Input;
- using System.Windows.Media;
-
- using HandBrakeWPF.ViewModels.Interfaces;
-
- using Image = System.Windows.Controls.Image;
- using Point = System.Windows.Point;
/// <summary>
/// Interaction logic for SummaryView.xaml
{
this.InitializeComponent();
}
-
- private void PreviewImage_OnMouseMove(object sender, MouseEventArgs e)
- {
- Image image = sender as Image;
-
- if (image != null && image.ActualWidth > 0)
- {
- Point p = Mouse.GetPosition(image);
- double width = image.ActualWidth / 2;
-
- bool leftHalf = p.X <= width;
- bool rightHalf = p.X > width;
-
- ((ISummaryViewModel)this.DataContext).SetPreviewControlVisibility(leftHalf, rightHalf);
- }
- }
-
- private void PreviewImage_OnMouseLeave(object sender, MouseEventArgs e)
- {
- HitTestResult result = VisualTreeHelper.HitTest(this.previewImage, e.GetPosition(this.previewImage));
-
- if (result != null && result.VisualHit.GetType() == typeof(Image))
- {
- e.Handled = true;
- return;
- }
-
- ((ISummaryViewModel)this.DataContext).SetPreviewControlVisibility(false, false);
- }
}
}