13 Commits

Author SHA1 Message Date
mbabienco 5b87eb7d87 Use Avalonia 12 preview versions for DialogHost, progress ring 2026-02-20 15:10:53 +09:00
mbabienco f3dd4bec82 Attempt to build on Avalonia 12
Fails, likely due to dependencies relying on 11
2026-02-20 14:42:52 +09:00
mbabienco 16f6aa511c Rename WarningDeleteItemModel to WarningDeleteItemViewModel 2026-02-18 09:49:54 +09:00
mbabienco b2917eda6b Add basic script for Linux building 2026-02-18 09:41:06 +09:00
mbabienco 2075a0be20 Namespace is now MayShow 2026-02-18 09:36:17 +09:00
mbabienco cc821da4da Update Add Item button title 2026-02-18 09:33:30 +09:00
mbabienco a466f04d20 Rename project files and fix installer w.r.t. new paths 2026-02-18 09:33:17 +09:00
mbabienco f4ed36ad38 Restore font files to right place
Moved to wrong folder on accident
2026-02-18 09:30:09 +09:00
mbabienco f6c7a205a8 Restore Windows installer
Accidentally put it in .gitignore folder
2026-02-18 09:28:30 +09:00
mbabienco b197f43341 Move files for better organization 2026-02-18 09:24:20 +09:00
mbabienco 6e23371858 Update README.md 2026-02-17 18:50:12 +09:00
mbabienco 75beb3d584 Fix typo 2026-02-17 18:43:37 +09:00
mbabienco 9ed6755072 Update README.md 2026-02-17 18:17:45 +09:00
61 changed files with 148 additions and 105 deletions
+1 -1
View File
@@ -10,7 +10,7 @@
"request": "launch", "request": "launch",
"preLaunchTask": "build", "preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path. // If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/bin/Debug/net10.0/osx-arm64/ReceiptPDFBuilder.dll", "program": "${workspaceFolder}/src/bin/Debug/net10.0/osx-arm64/MayShow.dll",
"args": [], "args": [],
"cwd": "${workspaceFolder}", "cwd": "${workspaceFolder}",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
+3 -3
View File
@@ -7,7 +7,7 @@
"type": "process", "type": "process",
"args": [ "args": [
"build", "build",
"${workspaceFolder}/ReceiptPDFBuilder.csproj", "${workspaceFolder}/src/MayShow.csproj",
"/property:GenerateFullPaths=true", "/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign" "/consoleloggerparameters:NoSummary;ForceNoAlign"
], ],
@@ -19,7 +19,7 @@
"type": "process", "type": "process",
"args": [ "args": [
"publish", "publish",
"${workspaceFolder}/ReceiptPDFBuilder.csproj", "${workspaceFolder}/src/MayShow.csproj",
"/property:GenerateFullPaths=true", "/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign" "/consoleloggerparameters:NoSummary;ForceNoAlign"
], ],
@@ -33,7 +33,7 @@
"watch", "watch",
"run", "run",
"--project", "--project",
"${workspaceFolder}/ReceiptPDFBuilder.csproj" "${workspaceFolder}/src/MayShow.csproj"
], ],
"problemMatcher": "$msCompile" "problemMatcher": "$msCompile"
} }
+5 -1
View File
@@ -1,6 +1,10 @@
# MayShow
MayShow (an intentional misspelling of 明証, pronounced may-shō, a Japanese word meaning proof, evidence, or corroboration) is a PDF report creation tool.
Throws a folder of images and PDFs into a single PDF. Simple tool for my own use, really, but maybe helpful to someone else. Throws a folder of images and PDFs into a single PDF. Simple tool for my own use, really, but maybe helpful to someone else.
![App screenshot](AppScreenshot.png) ![App screenshot](graphics/AppScreenshot.png)
Icon is from [Font Awesome](https://fontawesome.com/license/free) and generated via [Gauger's FontAwesome icon tool](https://gauger.me/fonticon/) and the macOS software [Icon Composer](https://developer.apple.com/icon-composer/). Icon is from [Font Awesome](https://fontawesome.com/license/free) and generated via [Gauger's FontAwesome icon tool](https://gauger.me/fonticon/) and the macOS software [Icon Composer](https://developer.apple.com/icon-composer/).

Before

Width:  |  Height:  |  Size: 421 KiB

After

Width:  |  Height:  |  Size: 421 KiB

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

+27
View File
@@ -0,0 +1,27 @@
{
"fill" : "system-dark",
"groups" : [
{
"layers" : [
{
"image-name" : "favicon(2).png",
"name" : "favicon(2)"
}
],
"shadow" : {
"kind" : "neutral",
"opacity" : 0.5
},
"translucency" : {
"enabled" : true,
"value" : 0.5
}
}
],
"supported-platforms" : {
"circles" : [
"watchOS"
],
"squares" : "shared"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

@@ -31,8 +31,8 @@ DisableProgramGroupPage=yes
OutputBaseFilename=Install {#MyAppName} {#MyAppVersion} OutputBaseFilename=Install {#MyAppName} {#MyAppVersion}
SolidCompression=yes SolidCompression=yes
WizardStyle=modern dynamic WizardStyle=modern dynamic
SetupIconFile=ReceiptPDFBuilder-icon.ico SetupIconFile=../src/MayShow-icon.ico
OutputDir=bin OutputDir=..\src\bin
[Languages] [Languages]
Name: "english"; MessagesFile: "compiler:Default.isl" Name: "english"; MessagesFile: "compiler:Default.isl"
@@ -41,12 +41,12 @@ Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files] [Files]
Source: "bin\Release\net10.0\win-x64\publish\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion Source: "..\src\bin\Release\net10.0\win-x64\publish\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\Release\net10.0\win-x64\publish\av_libglesv2.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\src\bin\Release\net10.0\win-x64\publish\av_libglesv2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\Release\net10.0\win-x64\publish\libHarfBuzzSharp.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\src\bin\Release\net10.0\win-x64\publish\libHarfBuzzSharp.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\Release\net10.0\win-x64\publish\libSkiaSharp.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\src\bin\Release\net10.0\win-x64\publish\libSkiaSharp.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\Release\net10.0\win-x64\publish\Magick.Native-Q16-x64.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\src\bin\Release\net10.0\win-x64\publish\Magick.Native-Q16-x64.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\Release\net10.0\win-x64\publish\Assets\*"; DestDir: "{app}\Assets"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "..\src\bin\Release\net10.0\win-x64\publish\Assets\*"; DestDir: "{app}\Assets"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons] [Icons]
+16
View File
@@ -0,0 +1,16 @@
#!/bin/bash
SRC_DIR="src" # user ran script from main folder
if [ ! -d "$SRC_DIR" ]; then
SRC_DIR= "../src" # try
fi
if [ ! -d "$SRC_DIR" ]; then
echo "Please run from "installers" dir or from main repo directory"
exit 1
fi
cd "$SRC_DIR"
echo "Building release for linux-x64..."
dotnet publish -c Release -r linux-x64 -p:StripSymbols=False -p:PublishAot=False
echo "Building release for linux-arm64..."
dotnet publish -c Release -r linux-arm64 -p:StripSymbols=False -p:PublishAot=False
# TODO: add automatic zipping and version number setting for ease of use
+5 -5
View File
@@ -1,11 +1,11 @@
<Application xmlns="https://github.com/avaloniaui" <Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ReceiptPDFBuilder.App" x:Class="MayShow.App"
xmlns:viewModels="clr-namespace:ReceiptPDFBuilder.ViewModels" xmlns:viewModels="clr-namespace:MayShow.ViewModels"
xmlns:views="clr-namespace:ReceiptPDFBuilder.Views" xmlns:views="clr-namespace:MayShow.Views"
xmlns:dialogHostAvalonia="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia" xmlns:dialogHostAvalonia="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia"
xmlns:behaviors="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia" xmlns:behaviors="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia"
xmlns:helpers="clr-namespace:ReceiptPDFBuilder.Helpers" xmlns:helpers="clr-namespace:MayShow.Helpers"
RequestedThemeVariant="Default" RequestedThemeVariant="Default"
Name="MayShow"> Name="MayShow">
<Application.Styles> <Application.Styles>
@@ -88,7 +88,7 @@
<DataTemplate DataType="{x:Type viewModels:MainViewModel}"> <DataTemplate DataType="{x:Type viewModels:MainViewModel}">
<views:MainView/> <views:MainView/>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type viewModels:WarningDeleteItemModel}"> <DataTemplate DataType="{x:Type viewModels:WarningDeleteItemViewModel}">
<views:WarningDeleteItem/> <views:WarningDeleteItem/>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type viewModels:EditFileViewModel}"> <DataTemplate DataType="{x:Type viewModels:EditFileViewModel}">
+3 -3
View File
@@ -4,10 +4,10 @@ using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
using DialogHostAvalonia; using DialogHostAvalonia;
using ReceiptPDFBuilder; using MayShow;
using ReceiptPDFBuilder.ViewModels; using MayShow.ViewModels;
namespace ReceiptPDFBuilder; namespace MayShow;
public partial class App : Application public partial class App : Application
{ {
@@ -1,5 +1,5 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<AvaloniaVersion>11.3.12</AvaloniaVersion> <AvaloniaVersion>12.0.0-preview1</AvaloniaVersion>
</PropertyGroup> </PropertyGroup>
</Project> </Project>
@@ -4,7 +4,7 @@ using System.ComponentModel;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Text; using System.Text;
namespace ReceiptPDFBuilder.Helpers namespace MayShow.Helpers
{ {
// https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.inotifypropertychanged?view=netframework-4.7.2 // https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.inotifypropertychanged?view=netframework-4.7.2
@@ -1,7 +1,7 @@
using System; using System;
namespace ReceiptPDFBuilder.Helpers; namespace MayShow.Helpers;
class Constants class Constants
{ {
@@ -3,10 +3,10 @@ using Avalonia.Controls;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.VisualTree; using Avalonia.VisualTree;
using Avalonia.Xaml.Interactions.DragAndDrop; using Avalonia.Xaml.Interactions.DragAndDrop;
using ReceiptPDFBuilder.Models; using MayShow.Models;
using ReceiptPDFBuilder.ViewModels; using MayShow.ViewModels;
namespace ReceiptPDFBuilder.Helpers; namespace MayShow.Helpers;
class DataGridDropHandler : BaseDataGridDropHandler<ReportFile> class DataGridDropHandler : BaseDataGridDropHandler<ReportFile>
{ {
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading; using System.Threading;
namespace ReceiptPDFBuilders.Helpers; namespace MayShows.Helpers;
public static class ThreadSafeRandom public static class ThreadSafeRandom
{ {
@@ -1,7 +1,7 @@
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using ReceiptPDFBuilder.Models; using MayShow.Models;
namespace ReceiptPDFBuilder.Helpers; namespace MayShow.Helpers;
[JsonSerializable(typeof(Settings))] [JsonSerializable(typeof(Settings))]
[JsonSerializable(typeof(ReportFile))] [JsonSerializable(typeof(ReportFile))]
@@ -5,7 +5,7 @@ using System.Text.Json;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
namespace ReceiptPDFBuilders.Helpers; namespace MayShows.Helpers;
class Utilities class Utilities
{ {
@@ -1,6 +1,6 @@
using ReceiptPDFBuilder.ViewModels; using MayShow.ViewModels;
namespace ReceiptPDFBuilder.Interfaces namespace MayShow.Interfaces
{ {
interface IChangeViewModel interface IChangeViewModel
{ {
@@ -1,6 +1,6 @@
using Avalonia.Controls; using Avalonia.Controls;
namespace ReceiptPDFBuilder.Interfaces namespace MayShow.Interfaces
{ {
interface ITopLevelGrabber interface ITopLevelGrabber
{ {
+2 -2
View File
@@ -3,9 +3,9 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="ReceiptPDFBuilder.MainWindow" x:Class="MayShow.MainWindow"
Title="MayShow" Title="MayShow"
xmlns:vm="clr-namespace:ReceiptPDFBuilder.ViewModels" xmlns:vm="clr-namespace:MayShow.ViewModels"
xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia" xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia"
x:DataType="vm:MainWindowViewModel" x:DataType="vm:MainWindowViewModel"
Width="800" Width="800"
@@ -1,8 +1,8 @@
using Avalonia.Controls; using Avalonia.Controls;
using ReceiptPDFBuilder.Interfaces; using MayShow.Interfaces;
using ReceiptPDFBuilder.ViewModels; using MayShow.ViewModels;
namespace ReceiptPDFBuilder; namespace MayShow;
public partial class MainWindow : Window, ITopLevelGrabber public partial class MainWindow : Window, ITopLevelGrabber
{ {

Before

Width:  |  Height:  |  Size: 401 KiB

After

Width:  |  Height:  |  Size: 401 KiB

@@ -13,7 +13,7 @@
<PublishAot>true</PublishAot> <PublishAot>true</PublishAot>
<AssemblyName>MayShow</AssemblyName> <AssemblyName>MayShow</AssemblyName>
<AssemblyVersion>1.1.0</AssemblyVersion> <!-- Also update Constants version --> <AssemblyVersion>1.1.0</AssemblyVersion> <!-- Also update Constants version -->
<ApplicationIcon>ReceiptPDFBuilder-icon.ico</ApplicationIcon> <ApplicationIcon>MayShow-icon.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<TrimmerRootAssembly Include="PdfSharp" /> <TrimmerRootAssembly Include="PdfSharp" />
@@ -42,14 +42,10 @@
<PackageReference Include="Avalonia.Themes.Fluent" Version="$(AvaloniaVersion)" /> <PackageReference Include="Avalonia.Themes.Fluent" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="$(AvaloniaVersion)" /> <PackageReference Include="Avalonia.Fonts.Inter" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.Controls.DataGrid" Version="$(AvaloniaVersion)" /> <PackageReference Include="Avalonia.Controls.DataGrid" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)">
<IncludeAssets Condition="'$(Configuration)' != 'Debug'">None</IncludeAssets>
<PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
</PackageReference>
<PackageReference Include="PDFsharp-MigraDoc" Version="6.2.3" /> <PackageReference Include="PDFsharp-MigraDoc" Version="6.2.3" />
<PackageReference Include="Magick.NET-Q16-AnyCPU" Version="14.10.2" /> <PackageReference Include="Magick.NET-Q16-AnyCPU" Version="14.10.2" />
<PackageReference Include="Deadpikle.AvaloniaProgressRing" Version="0.10.11-preview20251127001" /> <PackageReference Include="Deadpikle.AvaloniaProgressRing" Version="0.11.0-preview20260220" />
<PackageReference Include="DialogHost.Avalonia" Version="0.10.4" /> <PackageReference Include="DialogHost.Avalonia" Version="0.10.4-avalonia12" />
<PackageReference Include="Xaml.Behaviors.Interactions.DragAndDrop.DataGrid" Version="11.3.9.5" /> <PackageReference Include="Xaml.Behaviors.Interactions.DragAndDrop.DataGrid" Version="11.3.9.5" />
</ItemGroup> </ItemGroup>
</Project> </Project>
@@ -5,9 +5,9 @@ using System.Text;
using System.Text.Json; using System.Text.Json;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Threading.Tasks; using System.Threading.Tasks;
using ReceiptPDFBuilder.Helpers; using MayShow.Helpers;
namespace ReceiptPDFBuilder.Models; namespace MayShow.Models;
class PDFReport : ChangeNotifier class PDFReport : ChangeNotifier
{ {
@@ -1,9 +1,9 @@
using System; using System;
using System.IO; using System.IO;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using ReceiptPDFBuilder.Helpers; using MayShow.Helpers;
namespace ReceiptPDFBuilder.Models; namespace MayShow.Models;
class ReportFile : ChangeNotifier class ReportFile : ChangeNotifier
{ {
@@ -4,10 +4,10 @@ using System.Text;
using System.Text.Json; using System.Text.Json;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Threading.Tasks; using System.Threading.Tasks;
using ReceiptPDFBuilder.Helpers; using MayShow.Helpers;
using ReceiptPDFBuilders.Helpers; using MayShows.Helpers;
namespace ReceiptPDFBuilder.Models; namespace MayShow.Models;
class Settings : ChangeNotifier class Settings : ChangeNotifier
{ {
@@ -34,7 +34,7 @@ class Settings : ChangeNotifier
{ {
var path = Path.Combine( var path = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"ReceiptPDFBuilder" "ReceiptPDFBuilder" // legacy name for existing settings prior to app name change
); );
if (!Directory.Exists(path)) if (!Directory.Exists(path))
{ {
+1 -1
View File
@@ -1,7 +1,7 @@
using Avalonia; using Avalonia;
using System; using System;
namespace ReceiptPDFBuilder; namespace MayShow;
class Program class Program
{ {
@@ -15,10 +15,10 @@ using MigraDoc.Rendering;
using PdfSharp.Fonts; using PdfSharp.Fonts;
using PdfSharp.Pdf.IO; using PdfSharp.Pdf.IO;
using PdfSharp.Snippets.Font; using PdfSharp.Snippets.Font;
using ReceiptPDFBuilder.Interfaces; using MayShow.Interfaces;
using ReceiptPDFBuilder.Models; using MayShow.Models;
namespace ReceiptPDFBuilder.ViewModels; namespace MayShow.ViewModels;
class AboutViewModel class AboutViewModel
{ {
@@ -1,11 +1,11 @@
using Avalonia.Controls; using Avalonia.Controls;
using ReceiptPDFBuilder.Helpers; using MayShow.Helpers;
using ReceiptPDFBuilder.Interfaces; using MayShow.Interfaces;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
namespace ReceiptPDFBuilder.ViewModels namespace MayShow.ViewModels
{ {
class BaseViewModel : ChangeNotifier class BaseViewModel : ChangeNotifier
{ {
@@ -15,10 +15,10 @@ using MigraDoc.Rendering;
using PdfSharp.Fonts; using PdfSharp.Fonts;
using PdfSharp.Pdf.IO; using PdfSharp.Pdf.IO;
using PdfSharp.Snippets.Font; using PdfSharp.Snippets.Font;
using ReceiptPDFBuilder.Interfaces; using MayShow.Interfaces;
using ReceiptPDFBuilder.Models; using MayShow.Models;
namespace ReceiptPDFBuilder.ViewModels; namespace MayShow.ViewModels;
class EditFileViewModel : BaseViewModel class EditFileViewModel : BaseViewModel
{ {
@@ -16,12 +16,12 @@ using MigraDoc.Rendering;
using PdfSharp.Fonts; using PdfSharp.Fonts;
using PdfSharp.Pdf.IO; using PdfSharp.Pdf.IO;
using PdfSharp.Snippets.Font; using PdfSharp.Snippets.Font;
using ReceiptPDFBuilder.Helpers; using MayShow.Helpers;
using ReceiptPDFBuilder.Interfaces; using MayShow.Interfaces;
using ReceiptPDFBuilder.Models; using MayShow.Models;
using ReceiptPDFBuilders.Helpers; using MayShows.Helpers;
namespace ReceiptPDFBuilder.ViewModels; namespace MayShow.ViewModels;
class MainViewModel : BaseViewModel, IFontResolver class MainViewModel : BaseViewModel, IFontResolver
{ {
@@ -214,7 +214,7 @@ class MainViewModel : BaseViewModel, IFontResolver
public async void RemoveFileImpl(ReportFile file) public async void RemoveFileImpl(ReportFile file)
{ {
var result = await DialogHost.Show(new WarningDeleteItemModel(file)); var result = await DialogHost.Show(new WarningDeleteItemViewModel(file));
if (result != null && (bool)result) if (result != null && (bool)result)
{ {
var idx = ReportFiles.IndexOf(file); var idx = ReportFiles.IndexOf(file);
@@ -1,10 +1,10 @@
using ReceiptPDFBuilder.Helpers; using MayShow.Helpers;
using ReceiptPDFBuilder.Interfaces; using MayShow.Interfaces;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
namespace ReceiptPDFBuilder.ViewModels namespace MayShow.ViewModels
{ {
class MainWindowViewModel : ChangeNotifier, IChangeViewModel class MainWindowViewModel : ChangeNotifier, IChangeViewModel
{ {
@@ -1,14 +1,14 @@
using DialogHostAvalonia; using DialogHostAvalonia;
using ReceiptPDFBuilder.Helpers; using MayShow.Helpers;
using ReceiptPDFBuilder.Models; using MayShow.Models;
namespace ReceiptPDFBuilder.ViewModels namespace MayShow.ViewModels
{ {
class WarningDeleteItemModel : ChangeNotifier class WarningDeleteItemViewModel : ChangeNotifier
{ {
ReportFile _file; ReportFile _file;
public WarningDeleteItemModel(ReportFile file) public WarningDeleteItemViewModel(ReportFile file)
{ {
_file = file; _file = file;
} }
@@ -2,7 +2,7 @@
using DialogHostAvalonia; using DialogHostAvalonia;
namespace ReceiptPDFBuilder.ViewModels; namespace MayShow.ViewModels;
class WarningViewModel class WarningViewModel
{ {
@@ -3,9 +3,9 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="ReceiptPDFBuilder.Views.AboutView" x:Class="MayShow.Views.AboutView"
xmlns:models="clr-namespace:ReceiptPDFBuilder.Models" xmlns:models="clr-namespace:MayShow.Models"
xmlns:vm="clr-namespace:ReceiptPDFBuilder.ViewModels" xmlns:vm="clr-namespace:MayShow.ViewModels"
xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia" xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia"
x:DataType="vm:AboutViewModel"> x:DataType="vm:AboutViewModel">
<StackPanel Orientation="Vertical" <StackPanel Orientation="Vertical"
@@ -15,7 +15,7 @@
TextWrapping="Wrap" TextWrapping="Wrap"
FontSize="18" FontSize="18"
FontWeight="Bold"/> FontWeight="Bold"/>
<TextBlock Text="MayShow (an intentional mispelling of 明証, pronounced may-shō, a Japanese word meaning proof, evidence, or corroboration) is a PDF report creation tool. It was built by MB for A in 2026. May the quacking of ducks always be in your favor. Thanks for using our software!" <TextBlock Text="MayShow (an intentional misspelling of 明証, pronounced may-shō, a Japanese word meaning proof, evidence, or corroboration) is a PDF report creation tool. It was built by MB for A in 2026. May the quacking of ducks always be in your favor. Thanks for using our software!"
MaxWidth="300" MaxWidth="300"
TextWrapping="Wrap" TextWrapping="Wrap"
FontSize="14"/> FontSize="14"/>
@@ -3,7 +3,7 @@ using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
namespace ReceiptPDFBuilder.Views namespace MayShow.Views
{ {
public partial class AboutView : UserControl public partial class AboutView : UserControl
{ {
@@ -5,9 +5,9 @@
mc:Ignorable="d" mc:Ignorable="d"
d:DesignWidth="800" d:DesignWidth="800"
d:DesignHeight="450" d:DesignHeight="450"
x:Class="ReceiptPDFBuilder.Views.EditFile" x:Class="MayShow.Views.EditFile"
xmlns:models="clr-namespace:ReceiptPDFBuilder.Models" xmlns:models="clr-namespace:MayShow.Models"
xmlns:vm="clr-namespace:ReceiptPDFBuilder.ViewModels" xmlns:vm="clr-namespace:MayShow.ViewModels"
xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia" xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia"
x:DataType="vm:EditFileViewModel"> x:DataType="vm:EditFileViewModel">
<ScrollViewer AllowAutoHide="False"> <ScrollViewer AllowAutoHide="False">
@@ -3,7 +3,7 @@ using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
namespace ReceiptPDFBuilder.Views namespace MayShow.Views
{ {
public partial class EditFile : UserControl public partial class EditFile : UserControl
{ {
@@ -3,11 +3,11 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="ReceiptPDFBuilder.Views.MainView" x:Class="MayShow.Views.MainView"
xmlns:helpers="clr-namespace:ReceiptPDFBuilder.Helpers" xmlns:helpers="clr-namespace:MayShow.Helpers"
xmlns:models="clr-namespace:ReceiptPDFBuilder.Models" xmlns:models="clr-namespace:MayShow.Models"
xmlns:views="clr-namespace:ReceiptPDFBuilder.Views" xmlns:views="clr-namespace:MayShow.Views"
xmlns:vm="clr-namespace:ReceiptPDFBuilder.ViewModels" xmlns:vm="clr-namespace:MayShow.ViewModels"
xmlns:progRing="clr-namespace:AvaloniaProgressRing;assembly=AvaloniaProgressRing" xmlns:progRing="clr-namespace:AvaloniaProgressRing;assembly=AvaloniaProgressRing"
x:DataType="vm:MainViewModel"> x:DataType="vm:MainViewModel">
<Grid ColumnDefinitions="*" <Grid ColumnDefinitions="*"
@@ -224,7 +224,7 @@
Spacing="4"> Spacing="4">
<Button Command="{Binding AddItem}" <Button Command="{Binding AddItem}"
IsEnabled="{Binding !IsCreatingPDF}"> IsEnabled="{Binding !IsCreatingPDF}">
<TextBlock><Run Text="&#x002b;" FontFamily="{StaticResource FontAwesomeSolid}"/> Add Item</TextBlock> <TextBlock><Run Text="&#x002b;" FontFamily="{StaticResource FontAwesomeSolid}"/> Add Item(s)</TextBlock>
</Button> </Button>
<Button Command="{Binding SaveInterimReportInfo}" <Button Command="{Binding SaveInterimReportInfo}"
IsEnabled="{Binding HasWorkingFolderAndNotMakingPDF}"> IsEnabled="{Binding HasWorkingFolderAndNotMakingPDF}">
@@ -4,7 +4,7 @@ using Avalonia.Controls;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
namespace ReceiptPDFBuilder.Views namespace MayShow.Views
{ {
public partial class MainView : UserControl public partial class MainView : UserControl
{ {
@@ -3,11 +3,11 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="ReceiptPDFBuilder.Views.WarningDeleteItem" x:Class="MayShow.Views.WarningDeleteItem"
xmlns:models="clr-namespace:ReceiptPDFBuilder.Models" xmlns:models="clr-namespace:MayShow.Models"
xmlns:vm="clr-namespace:ReceiptPDFBuilder.ViewModels" xmlns:vm="clr-namespace:MayShow.ViewModels"
xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia" xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia"
x:DataType="vm:WarningDeleteItemModel"> x:DataType="vm:WarningDeleteItemViewModel">
<StackPanel HorizontalAlignment="Center" <StackPanel HorizontalAlignment="Center"
Margin="6" Margin="6"
Spacing="8"> Spacing="8">
@@ -3,7 +3,7 @@ using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
namespace ReceiptPDFBuilder.Views namespace MayShow.Views
{ {
public partial class WarningDeleteItem : UserControl public partial class WarningDeleteItem : UserControl
{ {
@@ -3,9 +3,9 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="ReceiptPDFBuilder.Views.WarningView" x:Class="MayShow.Views.WarningView"
xmlns:models="clr-namespace:ReceiptPDFBuilder.Models" xmlns:models="clr-namespace:MayShow.Models"
xmlns:vm="clr-namespace:ReceiptPDFBuilder.ViewModels" xmlns:vm="clr-namespace:MayShow.ViewModels"
xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia" xmlns:dialogHost="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia"
x:DataType="vm:WarningViewModel"> x:DataType="vm:WarningViewModel">
<StackPanel Orientation="Vertical" <StackPanel Orientation="Vertical"
@@ -3,7 +3,7 @@ using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
namespace ReceiptPDFBuilder.Views namespace MayShow.Views
{ {
public partial class WarningView : UserControl public partial class WarningView : UserControl
{ {
+1 -1
View File
@@ -3,7 +3,7 @@
<!-- This manifest is used on Windows only. <!-- This manifest is used on Windows only.
Don't remove it as it might cause problems with window transparency and embedded controls. Don't remove it as it might cause problems with window transparency and embedded controls.
For more details visit https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests --> For more details visit https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests -->
<assemblyIdentity version="1.1.0.0" name="ReceiptPDFBuilder.Desktop"/> <assemblyIdentity version="1.1.0.0" name="MayShow.Desktop"/>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application> <application>