diff --git a/.vscode/launch.json b/.vscode/launch.json index e15ed9c..0ada0e4 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "request": "launch", "preLaunchTask": "build", // 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/ReceiptPDFBuilder.dll", "args": [], "cwd": "${workspaceFolder}", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console diff --git a/.vscode/tasks.json b/.vscode/tasks.json index e70aadf..a73185f 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -7,7 +7,7 @@ "type": "process", "args": [ "build", - "${workspaceFolder}/ReceiptPDFBuilder.csproj", + "${workspaceFolder}/src/ReceiptPDFBuilder.csproj", "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary;ForceNoAlign" ], @@ -19,7 +19,7 @@ "type": "process", "args": [ "publish", - "${workspaceFolder}/ReceiptPDFBuilder.csproj", + "${workspaceFolder}/src/ReceiptPDFBuilder.csproj", "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary;ForceNoAlign" ], @@ -33,7 +33,7 @@ "watch", "run", "--project", - "${workspaceFolder}/ReceiptPDFBuilder.csproj" + "${workspaceFolder}/src/ReceiptPDFBuilder.csproj" ], "problemMatcher": "$msCompile" } diff --git a/README.md b/README.md index ba7a5b1..052ec8e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ MayShow (an intentional misspelling of 明証, pronounced may-shō, a Japanese w 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/). diff --git a/WindowsInstallerScript.iss b/WindowsInstallerScript.iss deleted file mode 100644 index 4a0b84c..0000000 --- a/WindowsInstallerScript.iss +++ /dev/null @@ -1,58 +0,0 @@ -; Script generated by the Inno Setup Script Wizard. -; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! -; Non-commercial use only - -#define MyAppName "MayShow" -#define MyAppVersion "1.1.0" -#define MyAppPublisher "Quickity Quack Productions" -#define MyAppExeName "MayShow.exe" - -[Setup] -; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications. -; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) -AppId={{6020C924-3B49-4D65-A99E-54D7714FB855} -AppName={#MyAppName} -AppVersion={#MyAppVersion} -;AppVerName={#MyAppName} {#MyAppVersion} -AppPublisher={#MyAppPublisher} -DefaultDirName={autopf}\{#MyAppName} -UninstallDisplayIcon={app}\{#MyAppExeName} -; "ArchitecturesAllowed=x64compatible" specifies that Setup cannot run -; on anything but x64 and Windows 11 on Arm. -ArchitecturesAllowed=x64compatible -; "ArchitecturesInstallIn64BitMode=x64compatible" requests that the -; install be done in "64-bit mode" on x64 or Windows 11 on Arm, -; meaning it should use the native 64-bit Program Files directory and -; the 64-bit view of the registry. -ArchitecturesInstallIn64BitMode=x64compatible -DisableProgramGroupPage=yes -; Uncomment the following line to run in non administrative install mode (install for current user only). -;PrivilegesRequired=lowest -OutputBaseFilename=Install {#MyAppName} {#MyAppVersion} -SolidCompression=yes -WizardStyle=modern dynamic -SetupIconFile=ReceiptPDFBuilder-icon.ico -OutputDir=bin - -[Languages] -Name: "english"; MessagesFile: "compiler:Default.isl" - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked - -[Files] -Source: "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: "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: "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 -; NOTE: Don't use "Flags: ignoreversion" on any shared system files - -[Icons] -Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" -Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon - -[Run] -Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent - diff --git a/AppScreenshot.png b/graphics/AppScreenshot.png similarity index 100% rename from AppScreenshot.png rename to graphics/AppScreenshot.png diff --git a/ReceiptPDFBuilder-icon.png b/graphics/ReceiptBuilder-iOS-Default-1024x1024@1x.png similarity index 100% rename from ReceiptPDFBuilder-icon.png rename to graphics/ReceiptBuilder-iOS-Default-1024x1024@1x.png diff --git a/graphics/ReceiptBuilder.icon/Assets/favicon(2).png b/graphics/ReceiptBuilder.icon/Assets/favicon(2).png new file mode 100644 index 0000000..4d6f925 Binary files /dev/null and b/graphics/ReceiptBuilder.icon/Assets/favicon(2).png differ diff --git a/graphics/ReceiptBuilder.icon/icon.json b/graphics/ReceiptBuilder.icon/icon.json new file mode 100644 index 0000000..1e6e114 --- /dev/null +++ b/graphics/ReceiptBuilder.icon/icon.json @@ -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" + } +} \ No newline at end of file diff --git a/ReceiptPDFBuilder-icon.icns b/graphics/ReceiptPDFBuilder-icon.icns similarity index 100% rename from ReceiptPDFBuilder-icon.icns rename to graphics/ReceiptPDFBuilder-icon.icns diff --git a/graphics/ReceiptPDFBuilder-icon.png b/graphics/ReceiptPDFBuilder-icon.png new file mode 100644 index 0000000..33fca3f Binary files /dev/null and b/graphics/ReceiptPDFBuilder-icon.png differ diff --git a/App.axaml b/src/App.axaml similarity index 100% rename from App.axaml rename to src/App.axaml diff --git a/App.axaml.cs b/src/App.axaml.cs similarity index 100% rename from App.axaml.cs rename to src/App.axaml.cs diff --git a/Directory.Build.props b/src/Directory.Build.props similarity index 100% rename from Directory.Build.props rename to src/Directory.Build.props diff --git a/Assets/Fonts/FontAwesome/Font Awesome 7 Brands-Regular-400.otf b/src/Fonts/FontAwesome/Font Awesome 7 Brands-Regular-400.otf similarity index 100% rename from Assets/Fonts/FontAwesome/Font Awesome 7 Brands-Regular-400.otf rename to src/Fonts/FontAwesome/Font Awesome 7 Brands-Regular-400.otf diff --git a/Assets/Fonts/FontAwesome/Font Awesome 7 Free-Regular-400.otf b/src/Fonts/FontAwesome/Font Awesome 7 Free-Regular-400.otf similarity index 100% rename from Assets/Fonts/FontAwesome/Font Awesome 7 Free-Regular-400.otf rename to src/Fonts/FontAwesome/Font Awesome 7 Free-Regular-400.otf diff --git a/Assets/Fonts/FontAwesome/Font Awesome 7 Free-Solid-900.otf b/src/Fonts/FontAwesome/Font Awesome 7 Free-Solid-900.otf similarity index 100% rename from Assets/Fonts/FontAwesome/Font Awesome 7 Free-Solid-900.otf rename to src/Fonts/FontAwesome/Font Awesome 7 Free-Solid-900.otf diff --git a/Assets/Fonts/FontAwesome/LICENSE.txt b/src/Fonts/FontAwesome/LICENSE.txt similarity index 100% rename from Assets/Fonts/FontAwesome/LICENSE.txt rename to src/Fonts/FontAwesome/LICENSE.txt diff --git a/Assets/Fonts/Noto_Sans/OFL.txt b/src/Fonts/Noto_Sans/OFL.txt similarity index 100% rename from Assets/Fonts/Noto_Sans/OFL.txt rename to src/Fonts/Noto_Sans/OFL.txt diff --git a/Assets/Fonts/Noto_Sans/README.txt b/src/Fonts/Noto_Sans/README.txt similarity index 100% rename from Assets/Fonts/Noto_Sans/README.txt rename to src/Fonts/Noto_Sans/README.txt diff --git a/Assets/Fonts/Noto_Sans/static/NotoSans-Bold.ttf b/src/Fonts/Noto_Sans/static/NotoSans-Bold.ttf similarity index 100% rename from Assets/Fonts/Noto_Sans/static/NotoSans-Bold.ttf rename to src/Fonts/Noto_Sans/static/NotoSans-Bold.ttf diff --git a/Assets/Fonts/Noto_Sans/static/NotoSans-Italic.ttf b/src/Fonts/Noto_Sans/static/NotoSans-Italic.ttf similarity index 100% rename from Assets/Fonts/Noto_Sans/static/NotoSans-Italic.ttf rename to src/Fonts/Noto_Sans/static/NotoSans-Italic.ttf diff --git a/Assets/Fonts/Noto_Sans/static/NotoSans-Regular.ttf b/src/Fonts/Noto_Sans/static/NotoSans-Regular.ttf similarity index 100% rename from Assets/Fonts/Noto_Sans/static/NotoSans-Regular.ttf rename to src/Fonts/Noto_Sans/static/NotoSans-Regular.ttf diff --git a/Assets/Fonts/Noto_Sans_JP/OFL.txt b/src/Fonts/Noto_Sans_JP/OFL.txt similarity index 100% rename from Assets/Fonts/Noto_Sans_JP/OFL.txt rename to src/Fonts/Noto_Sans_JP/OFL.txt diff --git a/Assets/Fonts/Noto_Sans_JP/README.txt b/src/Fonts/Noto_Sans_JP/README.txt similarity index 100% rename from Assets/Fonts/Noto_Sans_JP/README.txt rename to src/Fonts/Noto_Sans_JP/README.txt diff --git a/Assets/Fonts/Noto_Sans_JP/static/NotoSansJP-Regular.ttf b/src/Fonts/Noto_Sans_JP/static/NotoSansJP-Regular.ttf similarity index 100% rename from Assets/Fonts/Noto_Sans_JP/static/NotoSansJP-Regular.ttf rename to src/Fonts/Noto_Sans_JP/static/NotoSansJP-Regular.ttf diff --git a/Assets/Fonts/Noto_Sans_JP/static/NotoSansJP-SemiBold.ttf b/src/Fonts/Noto_Sans_JP/static/NotoSansJP-SemiBold.ttf similarity index 100% rename from Assets/Fonts/Noto_Sans_JP/static/NotoSansJP-SemiBold.ttf rename to src/Fonts/Noto_Sans_JP/static/NotoSansJP-SemiBold.ttf diff --git a/Helpers/ChangeNotifier.cs b/src/Helpers/ChangeNotifier.cs similarity index 100% rename from Helpers/ChangeNotifier.cs rename to src/Helpers/ChangeNotifier.cs diff --git a/Helpers/Constants.cs b/src/Helpers/Constants.cs similarity index 100% rename from Helpers/Constants.cs rename to src/Helpers/Constants.cs diff --git a/Helpers/DataGridDropHandler.cs b/src/Helpers/DataGridDropHandler.cs similarity index 100% rename from Helpers/DataGridDropHandler.cs rename to src/Helpers/DataGridDropHandler.cs diff --git a/Helpers/ListExtensions.cs b/src/Helpers/ListExtensions.cs similarity index 100% rename from Helpers/ListExtensions.cs rename to src/Helpers/ListExtensions.cs diff --git a/Helpers/SourceGenerationContext.cs b/src/Helpers/SourceGenerationContext.cs similarity index 100% rename from Helpers/SourceGenerationContext.cs rename to src/Helpers/SourceGenerationContext.cs diff --git a/Helpers/Utilities.cs b/src/Helpers/Utilities.cs similarity index 100% rename from Helpers/Utilities.cs rename to src/Helpers/Utilities.cs diff --git a/Interfaces/IChangeViewModel.cs b/src/Interfaces/IChangeViewModel.cs similarity index 100% rename from Interfaces/IChangeViewModel.cs rename to src/Interfaces/IChangeViewModel.cs diff --git a/Interfaces/ITopLevelGrabber.cs b/src/Interfaces/ITopLevelGrabber.cs similarity index 100% rename from Interfaces/ITopLevelGrabber.cs rename to src/Interfaces/ITopLevelGrabber.cs diff --git a/MainWindow.axaml b/src/MainWindow.axaml similarity index 100% rename from MainWindow.axaml rename to src/MainWindow.axaml diff --git a/MainWindow.axaml.cs b/src/MainWindow.axaml.cs similarity index 100% rename from MainWindow.axaml.cs rename to src/MainWindow.axaml.cs diff --git a/Models/PDFReport.cs b/src/Models/PDFReport.cs similarity index 100% rename from Models/PDFReport.cs rename to src/Models/PDFReport.cs diff --git a/Models/ReportFile.cs b/src/Models/ReportFile.cs similarity index 100% rename from Models/ReportFile.cs rename to src/Models/ReportFile.cs diff --git a/Models/Settings.cs b/src/Models/Settings.cs similarity index 100% rename from Models/Settings.cs rename to src/Models/Settings.cs diff --git a/Program.cs b/src/Program.cs similarity index 100% rename from Program.cs rename to src/Program.cs diff --git a/ReceiptPDFBuilder-icon.ico b/src/ReceiptPDFBuilder-icon.ico similarity index 100% rename from ReceiptPDFBuilder-icon.ico rename to src/ReceiptPDFBuilder-icon.ico diff --git a/ReceiptPDFBuilder.csproj b/src/ReceiptPDFBuilder.csproj similarity index 100% rename from ReceiptPDFBuilder.csproj rename to src/ReceiptPDFBuilder.csproj diff --git a/ViewModels/AboutViewModel.cs b/src/ViewModels/AboutViewModel.cs similarity index 100% rename from ViewModels/AboutViewModel.cs rename to src/ViewModels/AboutViewModel.cs diff --git a/ViewModels/BaseViewModel.cs b/src/ViewModels/BaseViewModel.cs similarity index 100% rename from ViewModels/BaseViewModel.cs rename to src/ViewModels/BaseViewModel.cs diff --git a/ViewModels/EditFileViewModel.cs b/src/ViewModels/EditFileViewModel.cs similarity index 100% rename from ViewModels/EditFileViewModel.cs rename to src/ViewModels/EditFileViewModel.cs diff --git a/ViewModels/MainViewModel.cs b/src/ViewModels/MainViewModel.cs similarity index 100% rename from ViewModels/MainViewModel.cs rename to src/ViewModels/MainViewModel.cs diff --git a/ViewModels/MainWindowViewModel.cs b/src/ViewModels/MainWindowViewModel.cs similarity index 100% rename from ViewModels/MainWindowViewModel.cs rename to src/ViewModels/MainWindowViewModel.cs diff --git a/ViewModels/WarningDeleteItemModel.cs b/src/ViewModels/WarningDeleteItemModel.cs similarity index 100% rename from ViewModels/WarningDeleteItemModel.cs rename to src/ViewModels/WarningDeleteItemModel.cs diff --git a/ViewModels/WarningViewModel.cs b/src/ViewModels/WarningViewModel.cs similarity index 100% rename from ViewModels/WarningViewModel.cs rename to src/ViewModels/WarningViewModel.cs diff --git a/Views/AboutView.axaml b/src/Views/AboutView.axaml similarity index 100% rename from Views/AboutView.axaml rename to src/Views/AboutView.axaml diff --git a/Views/AboutView.axaml.cs b/src/Views/AboutView.axaml.cs similarity index 100% rename from Views/AboutView.axaml.cs rename to src/Views/AboutView.axaml.cs diff --git a/Views/EditFile.axaml b/src/Views/EditFile.axaml similarity index 100% rename from Views/EditFile.axaml rename to src/Views/EditFile.axaml diff --git a/Views/EditFile.axaml.cs b/src/Views/EditFile.axaml.cs similarity index 100% rename from Views/EditFile.axaml.cs rename to src/Views/EditFile.axaml.cs diff --git a/Views/MainView.axaml b/src/Views/MainView.axaml similarity index 100% rename from Views/MainView.axaml rename to src/Views/MainView.axaml diff --git a/Views/MainView.axaml.cs b/src/Views/MainView.axaml.cs similarity index 100% rename from Views/MainView.axaml.cs rename to src/Views/MainView.axaml.cs diff --git a/Views/WarningDeleteItem.axaml b/src/Views/WarningDeleteItem.axaml similarity index 100% rename from Views/WarningDeleteItem.axaml rename to src/Views/WarningDeleteItem.axaml diff --git a/Views/WarningDeleteItem.axaml.cs b/src/Views/WarningDeleteItem.axaml.cs similarity index 100% rename from Views/WarningDeleteItem.axaml.cs rename to src/Views/WarningDeleteItem.axaml.cs diff --git a/Views/WarningView.axaml b/src/Views/WarningView.axaml similarity index 100% rename from Views/WarningView.axaml rename to src/Views/WarningView.axaml diff --git a/Views/WarningView.axaml.cs b/src/Views/WarningView.axaml.cs similarity index 100% rename from Views/WarningView.axaml.cs rename to src/Views/WarningView.axaml.cs diff --git a/app.manifest b/src/app.manifest similarity index 100% rename from app.manifest rename to src/app.manifest