fix: stop shipping the upstream manual, move Scan to the toolbar, MMD version

Three things Ben saw on the running application that all read as "this is still
the tool it was forked from".

1. The upstream 50-page manual was sitting in the repository root as MmdPdf.pdf,
   so it was the document on screen whenever it was opened or restored from the
   last session - a full-page green upstream logo on black. It was never shipped
   in the payload, but it was there to be opened, which is the same thing to
   whoever is looking at the screen. Removed, and added to .gitignore so it does
   not come back with a source drop. With no document, the application opens on
   its own empty view.

2. Scan was in the title bar beside minimise, maximise and close. That is window
   chrome, not a tool. It is a toolbar button now, next to Print in the file
   group, with a caption in every label mode like every other tool. The band
   button style it used has no other user and is gone with it.

3. The footer read v1.7.5, which is the upstream project's version. MMD PDF is
   2026.8.1. Not 1.0: the pilot machines already carry a build numbered 1.7.5,
   and an upgrade has to sort above what it replaces or Intune would read it as
   a downgrade. The Intune detection rule moves with it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 04:24:59 +00:00
co-authored by Claude Opus 5
parent 29850c364a
commit a351e8e9a0
6 changed files with 10 additions and 55 deletions
+1
View File
@@ -1,3 +1,4 @@
bin/ bin/
obj/ obj/
*.user *.user
MmdPdf.pdf
+1 -52
View File
@@ -231,49 +231,6 @@
</Setter> </Setter>
</Style> </Style>
<!-- Solid tool button on the band: flat, 1px border, 4px corner. The one place a
white fill appears on the red ground, so the tool it carries reads as the
action always within reach. -->
<Style x:Key="BandButton" TargetType="Button">
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="Foreground" Value="{DynamicResource TextBrush}"/>
<Setter Property="BorderBrush" Value="#FFFFFF"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="10,0"/>
<Setter Property="Height" Value="24"/>
<Setter Property="Margin" Value="0,0,10,0"/>
<Setter Property="FontFamily" Value="Segoe UI"/>
<Setter Property="FontSize" Value="10.5"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{DynamicResource ControlCornerRadius}"
Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#F1F1EC"/>
<Setter Property="BorderBrush" Value="#F1F1EC"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#E4E3DC"/>
<Setter Property="BorderBrush" Value="#E4E3DC"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.55"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ChromeButton" TargetType="Button"> <Style x:Key="ChromeButton" TargetType="Button">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="{DynamicResource CaptionGlyphBrush}"/> <Setter Property="Foreground" Value="{DynamicResource CaptionGlyphBrush}"/>
@@ -1235,15 +1192,6 @@
Margin="16,0,12,0" TextTrimming="CharacterEllipsis" Margin="16,0,12,0" TextTrimming="CharacterEllipsis"
Foreground="{DynamicResource FilenameBrush}" FontFamily="Consolas" FontSize="11"/> Foreground="{DynamicResource FilenameBrush}" FontFamily="Consolas" FontSize="11"/>
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Right" Margin="{DynamicResource CaptionButtonsMargin}"> <StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Right" Margin="{DynamicResource CaptionButtonsMargin}">
<Button x:Name="BandScanBtn" Click="Scan_Click" Style="{StaticResource BandButton}"
ToolTip="Pull pages off a copier"
WindowChrome.IsHitTestVisibleInChrome="True">
<StackPanel Orientation="Horizontal">
<TextBlock Text="&#xE8FE;" FontFamily="Segoe MDL2 Assets" FontSize="12"
VerticalAlignment="Center" Margin="0,0,6,0"/>
<TextBlock Text="Scan" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button Click="MinimizeBtn_Click" Style="{StaticResource ChromeButton}" <Button Click="MinimizeBtn_Click" Style="{StaticResource ChromeButton}"
Foreground="{DynamicResource CaptionGlyphBrush}" Foreground="{DynamicResource CaptionGlyphBrush}"
WindowChrome.IsHitTestVisibleInChrome="True"> WindowChrome.IsHitTestVisibleInChrome="True">
@@ -1309,6 +1257,7 @@
<Button x:Name="OcrMenuBtn" Content="&#xE70D;" FontSize="10" Width="13" Padding="0" Margin="-6,0,0,0" Style="{StaticResource ToolbarButton}" Click="OcrMenu_Click" ToolTip="{DynamicResource Str_TT_OcrOptions}"/> <Button x:Name="OcrMenuBtn" Content="&#xE70D;" FontSize="10" Width="13" Padding="0" Margin="-6,0,0,0" Style="{StaticResource ToolbarButton}" Click="OcrMenu_Click" ToolTip="{DynamicResource Str_TT_OcrOptions}"/>
<Button Content="&#xE8B9;" Style="{StaticResource ToolbarButton}" Click="SaveFlattened_Click" ToolTip="{DynamicResource Str_TT_SaveFlattened}"/> <Button Content="&#xE8B9;" Style="{StaticResource ToolbarButton}" Click="SaveFlattened_Click" ToolTip="{DynamicResource Str_TT_SaveFlattened}"/>
<Button Content="&#xE749;" Style="{StaticResource ToolbarButton}" Click="Print_Click" ToolTip="{DynamicResource Str_TT_Print}"/> <Button Content="&#xE749;" Style="{StaticResource ToolbarButton}" Click="Print_Click" ToolTip="{DynamicResource Str_TT_Print}"/>
<Button x:Name="ScanBtn" Content="&#xE8FE;" Style="{StaticResource ToolbarButton}" Click="Scan_Click" ToolTip="{DynamicResource Str_TT_Scan}"/>
<StackPanel x:Name="GrpPageOps" Orientation="Horizontal"> <StackPanel x:Name="GrpPageOps" Orientation="Horizontal">
<Rectangle Width="1" Fill="{DynamicResource CardBorderBrush}" Margin="4,6"/> <Rectangle Width="1" Fill="{DynamicResource CardBorderBrush}" Margin="4,6"/>
<Button Content="&#xE710;" Style="{StaticResource ToolbarButton}" Click="Merge_Click" ToolTip="{DynamicResource Str_TT_MergePDFs}"/> <Button Content="&#xE710;" Style="{StaticResource ToolbarButton}" Click="Merge_Click" ToolTip="{DynamicResource Str_TT_MergePDFs}"/>
+5 -3
View File
@@ -13,9 +13,11 @@
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<ApplicationIcon>Resources\mmd-icon.ico</ApplicationIcon> <ApplicationIcon>Resources\mmd-icon.ico</ApplicationIcon>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<Version>1.7.5</Version> <!-- MMD's own version line. 1.7.5 was the upstream project's; it read as that
<AssemblyVersion>1.7.5.0</AssemblyVersion> product still, and it has to sort above it so an upgrade is an upgrade. -->
<FileVersion>1.7.5.0</FileVersion> <Version>2026.8.1</Version>
<AssemblyVersion>2026.8.1.0</AssemblyVersion>
<FileVersion>2026.8.1.0</FileVersion>
<!-- Shown in the About card beside the version so a user can tell how old their build <!-- Shown in the About card beside the version so a user can tell how old their build
is. Must match the date on this version's CHANGELOG section - release.ps1 preflight is. Must match the date on this version's CHANGELOG section - release.ps1 preflight
fails the release if it does not. Bump it with the version. --> fails the release if it does not. Bump it with the version. -->
BIN
View File
Binary file not shown.
+1
View File
@@ -520,6 +520,7 @@ namespace MmdPdf
[""] = "Str_Lbl_Flatten", [""] = "Str_Lbl_Flatten",
[""] = "Str_Lbl_Ocr", [""] = "Str_Lbl_Ocr",
[""] = "Str_Lbl_Print", [""] = "Str_Lbl_Print",
["\ue8fe"] = "Str_Lbl_Scan",
[""] = "Str_Lbl_Merge", [""] = "Str_Lbl_Merge",
[""] = "Str_Lbl_Extract", [""] = "Str_Lbl_Extract",
[""] = "Str_Lbl_Delete", [""] = "Str_Lbl_Delete",
+2
View File
@@ -19,6 +19,7 @@
<sys:String x:Key="Str_TT_SaveAs">Save As (Ctrl+Shift+S)</sys:String> <sys:String x:Key="Str_TT_SaveAs">Save As (Ctrl+Shift+S)</sys:String>
<sys:String x:Key="Str_TT_SaveFlattened">Save Flattened PDF (rasterize all pages - fully uneditable)</sys:String> <sys:String x:Key="Str_TT_SaveFlattened">Save Flattened PDF (rasterize all pages - fully uneditable)</sys:String>
<sys:String x:Key="Str_TT_Print">Print (Ctrl+P)</sys:String> <sys:String x:Key="Str_TT_Print">Print (Ctrl+P)</sys:String>
<sys:String x:Key="Str_TT_Scan">Pull pages off a copier</sys:String>
<sys:String x:Key="Str_TT_MergePDFs">Merge PDFs (combine additional PDFs into this one)</sys:String> <sys:String x:Key="Str_TT_MergePDFs">Merge PDFs (combine additional PDFs into this one)</sys:String>
<sys:String x:Key="Str_TT_ExtractPages">Extract Pages (save selected pages to a new PDF)</sys:String> <sys:String x:Key="Str_TT_ExtractPages">Extract Pages (save selected pages to a new PDF)</sys:String>
<sys:String x:Key="Str_TT_DeletePages">Delete Selected Pages</sys:String> <sys:String x:Key="Str_TT_DeletePages">Delete Selected Pages</sys:String>
@@ -297,6 +298,7 @@ Scale them to a supported size? The pages keep their look and proportions.</sys:
<sys:String x:Key="Str_Lbl_Save">Save</sys:String> <sys:String x:Key="Str_Lbl_Save">Save</sys:String>
<sys:String x:Key="Str_Lbl_Flatten">Flatten</sys:String> <sys:String x:Key="Str_Lbl_Flatten">Flatten</sys:String>
<sys:String x:Key="Str_Lbl_Print">Print</sys:String> <sys:String x:Key="Str_Lbl_Print">Print</sys:String>
<sys:String x:Key="Str_Lbl_Scan">Scan</sys:String>
<sys:String x:Key="Str_Lbl_Select">Select</sys:String> <sys:String x:Key="Str_Lbl_Select">Select</sys:String>
<sys:String x:Key="Str_Lbl_ZoomOut">Zoom Out</sys:String> <sys:String x:Key="Str_Lbl_ZoomOut">Zoom Out</sys:String>
<sys:String x:Key="Str_Lbl_ZoomIn">Zoom In</sys:String> <sys:String x:Key="Str_Lbl_ZoomIn">Zoom In</sys:String>