diff options
-rw-r--r-- | platform/winrt/gsview/MainWindow.xaml | 46 | ||||
-rw-r--r-- | platform/winrt/gsview/MainWindow.xaml.cs | 68 |
2 files changed, 88 insertions, 26 deletions
diff --git a/platform/winrt/gsview/MainWindow.xaml b/platform/winrt/gsview/MainWindow.xaml index 8f359e72..21bbbde3 100644 --- a/platform/winrt/gsview/MainWindow.xaml +++ b/platform/winrt/gsview/MainWindow.xaml @@ -2,7 +2,8 @@ xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - Title="gsview" Height="850" Width="714" UseLayoutRounding="True" > + Title="gsview" Height="850" Width="714" UseLayoutRounding="True" + KeyDown="OnKeyDownHandler"> <!-- UseLayoutRounding needed to avoid funny interpolation effects on pages --> <Window.Resources> @@ -166,14 +167,10 @@ <MenuItem.Icon> <Image Source="Resources/saveHS.png" /> </MenuItem.Icon> - <MenuItem Header="PDF" Click="ExtractPDF" x:Name="xaml_extractpdf"> - </MenuItem> - <MenuItem Header="EPS" Click="ExtractEPS" x:Name="xaml_extracteps"> - </MenuItem> - <MenuItem Header="PS" Click="ExtractPS" x:Name="xaml_extractps"> - </MenuItem> - <MenuItem Header="SVG" Click="ExtractSVG" x:Name="xaml_extractsvg"> - </MenuItem> + <MenuItem Header="PDF" Click="ExtractPDF" x:Name="xaml_extractpdf"/> + <MenuItem Header="EPS" Click="ExtractEPS" x:Name="xaml_extracteps"/> + <MenuItem Header="PS" Click="ExtractPS" x:Name="xaml_extractps"/> + <MenuItem Header="SVG" Click="ExtractSVG" x:Name="xaml_extractsvg"/> </MenuItem> <MenuItem Header="Page Conversions..." Click="ConvertClick" x:Name="xaml_conversions"> </MenuItem> @@ -203,18 +200,12 @@ </MenuItem> <Separator /> <MenuItem Header="Paste Page To" x:Name="xaml_pastpageto"> - <MenuItem Header="BMP" Click="PastePage" Tag="BMP"> - </MenuItem> - <MenuItem Header="GIF" Click="PastePage" Tag="GIF"> - </MenuItem> - <MenuItem Header="JPEG" Click="PastePage" Tag="JPG"> - </MenuItem> - <MenuItem Header="PNG" Click="PastePage" Tag="PNG"> - </MenuItem> - <MenuItem Header="TIFF" Click="PastePage" Tag="TIF"> - </MenuItem> - <MenuItem Header="WDP" Click="PastePage" Tag="WDP"> - </MenuItem> + <MenuItem Header="BMP" Click="PastePage" Tag="BMP"/> + <MenuItem Header="GIF" Click="PastePage" Tag="GIF"/> + <MenuItem Header="JPEG" Click="PastePage" Tag="JPG"/> + <MenuItem Header="PNG" Click="PastePage" Tag="PNG"/> + <MenuItem Header="TIFF" Click="PastePage" Tag="TIF"/> + <MenuItem Header="WDP" Click="PastePage" Tag="WDP"/> </MenuItem> <MenuItem Header="Copy Text" x:Name="xaml_copytext"/> </MenuItem> @@ -224,15 +215,18 @@ <MenuItem Header="_Find" Click="Search"/> </MenuItem> <MenuItem Header="_Options"> - <MenuItem Header="Output Intents" Click="OutputIntents"> - </MenuItem> + <MenuItem Header="Output Intents" Click="OutputIntents" /> <MenuItem Header="Zoom Control" IsCheckable="true" Checked="ShowFooter" Unchecked="HideFooter"/> + <MenuItem Header="Enable AntiAlias" IsCheckable="True" IsChecked="True" Checked="OnAAChecked"/> </MenuItem> - <MenuItem Header="_Help" Click="OnHelpClick"/> - <MenuItem Header="About" Click="OnAboutClick"/> + <MenuItem Header="_Help"> + <MenuItem Header="GSView Help" Click="OnHelpClick"/> + <MenuItem Header="About" Click="OnAboutClick"/> + </MenuItem> </Menu> - <!-- List of icons for page navigation, print, etc --> + + <!-- List of icons for page navigation, print, etc --> <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Background="WhiteSmoke"> <Button x:Name="xaml_open" Width="20" Height="20" Click="OpenFile" Background="Transparent" BorderBrush="Transparent" Margin="10,0,0,0"> <Button.Template> diff --git a/platform/winrt/gsview/MainWindow.xaml.cs b/platform/winrt/gsview/MainWindow.xaml.cs index 9b207123..e3a8542a 100644 --- a/platform/winrt/gsview/MainWindow.xaml.cs +++ b/platform/winrt/gsview/MainWindow.xaml.cs @@ -137,6 +137,8 @@ public static class DocumentTypes public const string XPS = "XPS"; public const string EPS = "Encapsulated PostScript"; public const string CBZ = "Comic Book Archive"; + public const string PNG = "Portable Network Graphics Image"; + public const string JPG = "Joint Photographic Experts Group Image"; public const string UNKNOWN = "Unknown"; } @@ -563,6 +565,15 @@ namespace gsview case ".CBZ": m_document_type = DocumentTypes.CBZ; break; + case ".PNG": + m_document_type = DocumentTypes.PNG; + break; + case ".JPG": + m_document_type = DocumentTypes.JPG; + break; + case ".JPEG": + m_document_type = DocumentTypes.JPG; + break; default: { ShowMessage(NotifyType_t.MESS_STATUS, "Unknown File Type"); @@ -1044,6 +1055,22 @@ namespace gsview } } + /* Scroll to offset */ + private void OffsetScroll(double offset) + { + if (m_num_pages == 1) + return; + /* Get access to the scrollviewer */ + ScrollViewer viewer = FindScrollViewer(xaml_PageList); + if (viewer != null) + { + double curr_value = viewer.VerticalOffset; + if (curr_value < 0 || curr_value > viewer.MaxHeight) + return; + viewer.ScrollToVerticalOffset(curr_value + offset); + } + } + /* Render +/- the look ahead from where we are if blank page is present */ async private void RenderRange(int new_page, bool scrollto, bool newzoom, double zoom_offset) { @@ -4083,5 +4110,46 @@ namespace gsview OnForwardPageClick(null, null); } } + + private void OnAAChecked(object sender, RoutedEventArgs e) + { + + } + + private void OnKeyDownHandler(object sender, System.Windows.Input.KeyEventArgs e) + { + switch (e.Key) + { + case Key.Left: + if (m_currpage == 0 || !m_init_done) + return; + m_ignorescrollchange = true; + RenderRange(m_currpage - 1, true, false, 0); + e.Handled = true; + break; + + case Key.Right: + if (m_currpage == m_num_pages - 1 || !m_init_done) + return; + m_ignorescrollchange = true; + RenderRange(m_currpage + 1, true, false, 0); + e.Handled = true; + break; + + case Key.Up: + if (!m_init_done) + return; + e.Handled = true; + OffsetScroll(-Constants.VERT_SCROLL_STEP); + break; + + case Key.Down: + if (!m_init_done) + return; + e.Handled = true; + OffsetScroll(Constants.VERT_SCROLL_STEP); + break; + } + } } }
\ No newline at end of file |