feat: rebrand to MMD PDF, single corporate theme, and remove original text under an edit

- Services/PdfRedactText.cs: strip text whose origin falls inside a CoverAnnotation
  from the page content stream at save time, hooked into PdfBurn.DrawAnnotationsIntoDoc.
  Fixes edited values staying recoverable by text extraction.
- Themes/MMD.xaml replaces all thirteen themes; picker and accent strip removed; no dark mode.
- Rename KillerPDF -> MMD PDF across code, resources, packaging and locale strings; new icon.
- Remove the upstream author credit and the in-app install button.
This commit is contained in:
2026-08-27 07:37:09 +02:00
parent 532485a830
commit 6610acfa44
230 changed files with 9362 additions and 11508 deletions
+18 -16
View File
@@ -7,7 +7,7 @@ using System.Windows.Media;
using System.Windows.Media.Effects;
using System.Windows.Threading;
namespace KillerPDF.Services
namespace MmdPdf.Services
{
internal enum Theme
{
@@ -37,7 +37,7 @@ namespace KillerPDF.Services
private static DarkAccent _darkAccent = DarkAccent.Green;
private static DarkAccent _lightAccent = DarkAccent.Green;
private static DarkAccent _blackAccent = DarkAccent.Green;
// Match the shared KillerTools 98SE palette: classic Win98 navy is the default.
// Match the shared MMD Group IT 98SE palette: classic Win98 navy is the default.
private static DarkAccent _se98Accent = DarkAccent.Blue;
public static Theme Current => _current;
@@ -134,19 +134,21 @@ namespace KillerPDF.Services
{
var uri = theme switch
{
Theme.Light => new Uri("pack://application:,,,/Themes/Light.xaml"),
Theme.Black => new Uri("pack://application:,,,/Themes/Black.xaml"),
Theme.SE98 => new Uri("pack://application:,,,/Themes/98SE.xaml"),
Theme.Blood => new Uri("pack://application:,,,/Themes/Blood.xaml"),
Theme.Greed => new Uri("pack://application:,,,/Themes/Greed.xaml"),
Theme.Cyanotic => new Uri("pack://application:,,,/Themes/Cyanotic.xaml"),
Theme.Ectoplasm => new Uri("pack://application:,,,/Themes/Ectoplasm.xaml"),
Theme.Decay => new Uri("pack://application:,,,/Themes/Decay.xaml"),
Theme.Mourning => new Uri("pack://application:,,,/Themes/Mourning.xaml"),
Theme.Sepulchre => new Uri("pack://application:,,,/Themes/Sepulchre.xaml"),
Theme.Delirium => new Uri("pack://application:,,,/Themes/Delirium.xaml"),
Theme.Malaise => new Uri("pack://application:,,,/Themes/Malaise.xaml"),
_ => new Uri("pack://application:,,,/Themes/Dark.xaml"),
// MMD PDF ships exactly one theme. Every value resolves here so no stored
// preference, and no code path, can put a dark or novelty skin on screen.
_ => new Uri("pack://application:,,,/Themes/MMD.xaml"),
};
var newDict = new ResourceDictionary { Source = uri };
@@ -198,7 +200,7 @@ namespace KillerPDF.Services
string sub = theme == Theme.Light ? "Light/" : theme == Theme.Black ? "Black/" : theme == Theme.SE98 ? "98SE/" : "Dark/";
var accentDict = new ResourceDictionary
{
Source = new Uri($"pack://application:,,,/Themes/Accents/{sub}{accent}.xaml")
Source = new Uri("pack://application:,,,/Themes/MMD.xaml")
};
var target = merged[0];
foreach (object key in accentDict.Keys)