summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--platform/winrt/gsview/MainWindow.xaml46
-rw-r--r--platform/winrt/gsview/MainWindow.xaml.cs68
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