From a115f37c9513ed4df2ce4f38a0b6ff5e182600ff Mon Sep 17 00:00:00 2001 From: Denys Konovalov Date: Sat, 14 Sep 2024 23:22:12 +0200 Subject: [PATCH] add windows build support --- .gitignore | 1 + Photomator.nsi | 74 ++++++++++++++++++ Photomator/Lib.cs | 15 ++++ Photomator/Photomator.csproj | 22 +++++- Photomator/Program.cs | 6 +- .../de.cantorgymnasium.Photomator.ico | Bin 0 -> 37148 bytes Photomator/Resources/loaders.cache | 7 ++ Photomator/Views/StatusDialog.cs | 20 ++++- 8 files changed, 138 insertions(+), 7 deletions(-) create mode 100644 Photomator.nsi create mode 100644 Photomator/Resources/de.cantorgymnasium.Photomator.ico create mode 100644 Photomator/Resources/loaders.cache diff --git a/.gitignore b/.gitignore index a437a65..e498ca0 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ project.lock.json .DS_Store *.pyc +*.exe nupkg/ # Visual Studio Code diff --git a/Photomator.nsi b/Photomator.nsi new file mode 100644 index 0000000..e3f6dce --- /dev/null +++ b/Photomator.nsi @@ -0,0 +1,74 @@ +Unicode true + +!include "MUI2.nsh" +!include "x64.nsh" +!include "nsDialogs.nsh" +!include "FileFunc.nsh" + +Function .onInit + ${If} ${RunningX64} + # 64 bit code + SetRegView 64 + ${Else} + # 32 bit code + MessageBox MB_OK "Photomator unterstützt nur 64-Bit-Systeme." + Abort + ${EndIf} +FunctionEnd + +!define ARP "Software\Microsoft\Windows\CurrentVersion\Uninstall\Photomator" + +Name "Photomator" +OutFile "photomator-setup.exe" + +BrandingText "Copyright (c) 2024 Denys Konovalov" + +InstallDir "$PROGRAMFILES\GCG\Photomator" + +RequestExecutionLevel admin + +!insertmacro MUI_LANGUAGE "German" + +!define MUI_ABORTWARNING + +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +Section "Install" + SetOutPath $INSTDIR + + File /nonfatal /a /r "Photomator\bin\Release\net8.0\win-x64\publish\" + + CreateShortcut "$SMPROGRAMS\Photomator.lnk" "$INSTDIR\bin\Photomator.exe" + + WriteUninstaller "$INSTDIR\Uninstall.exe" + + ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 + IntFmt $0 "0x%08X" $0 + WriteRegDWORD HKLM "${ARP}" "EstimatedSize" "$0" + + WriteRegStr HKLM "${ARP}" "DisplayName" "Photomator" + WriteRegStr HKLM "${ARP}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKLM "${ARP}" "Publisher" "Georg-Cantor-Gymnasium Halle (Saale)" + WriteRegStr HKLM "${ARP}" "VersionMajor" "0" + WriteRegStr HKLM "${ARP}" "VersionMinor" "01" + WriteRegStr HKLM "${ARP}" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\"" +SectionEnd + +Section "uninstall" + SetRegView 64 + + Delete "$SMPROGRAMS\Photomator.lnk" + + Delete "$INSTDIR\Uninstall.exe" + RMDir /R "$INSTDIR\bin\" + RMDir /R "$INSTDIR\lib\" + RMDir /R "$INSTDIR\share\" + + DeleteRegKey HKLM "${ARP}" + + RMDir /R $INSTDIR +SectionEnd \ No newline at end of file diff --git a/Photomator/Lib.cs b/Photomator/Lib.cs index a7d1336..c023214 100644 --- a/Photomator/Lib.cs +++ b/Photomator/Lib.cs @@ -1,10 +1,25 @@ using SixLabors.ImageSharp; using SixLabors.ImageSharp.Formats.Webp; using SixLabors.ImageSharp.Processing; +using System.Runtime.InteropServices; namespace Photomator; public static class Lib { + const int SW_HIDE = 0; + const int SW_SHOW = 5; + readonly static IntPtr handle = GetConsoleWindow(); + [DllImport("kernel32.dll")] static extern IntPtr GetConsoleWindow(); + [DllImport("user32.dll")] static extern bool ShowWindow(IntPtr hWnd,int nCmdShow); + + public static void HideConsole() { + ShowWindow(handle,SW_HIDE); + } + + public static void ShowConsole() { + ShowWindow(handle,SW_SHOW); + } + public static async Task Convert(string src, string dest, ConvertOptions options) { Image img = await Image.LoadAsync(src); img.Mutate(i => { diff --git a/Photomator/Photomator.csproj b/Photomator/Photomator.csproj index 73e7b64..3fa513e 100644 --- a/Photomator/Photomator.csproj +++ b/Photomator/Photomator.csproj @@ -5,6 +5,8 @@ net8.0 enable enable + true + Resources\de.cantorgymnasium.Photomator.ico @@ -17,8 +19,26 @@ - + + + + + + + + + + + + + + + + + + + diff --git a/Photomator/Program.cs b/Photomator/Program.cs index 732b83e..44315c5 100644 --- a/Photomator/Program.cs +++ b/Photomator/Program.cs @@ -11,10 +11,12 @@ public partial class Program { public static int Main() => new Program().Run(); public Program() { + Lib.HideConsole(); _application = Adw.Application.New("de.cantorgymnasium.Photomator", Gio.ApplicationFlags.FlagsNone); Gtk.Window.SetDefaultIconName("de.cantorgymnasium.Photomator"); - if (File.Exists(Path.GetFullPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)!) + "/de.cantorgymnasium.Photomator.gresource")) - Gio.Functions.ResourcesRegister(Gio.Functions.ResourceLoad(Path.GetFullPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)!) + "/de.cantorgymnasium.Photomator.gresource")); + string localPath = Path.GetFullPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)!) + "/de.cantorgymnasium.Photomator.gresource"; + if (File.Exists(localPath)) + Gio.Functions.ResourcesRegister(Gio.Functions.ResourceLoad(localPath)); else { var prefixes = new List { Directory.GetParent(Directory.GetParent(Path.GetFullPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)!))!.FullName)!.FullName, diff --git a/Photomator/Resources/de.cantorgymnasium.Photomator.ico b/Photomator/Resources/de.cantorgymnasium.Photomator.ico new file mode 100644 index 0000000000000000000000000000000000000000..0e75b698f75fa17a8d99122592d7499aad9ebdce GIT binary patch literal 37148 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 literal 0 HcmV?d00001 diff --git a/Photomator/Resources/loaders.cache b/Photomator/Resources/loaders.cache new file mode 100644 index 0000000..01e3ebb --- /dev/null +++ b/Photomator/Resources/loaders.cache @@ -0,0 +1,7 @@ +"lib\\gdk-pixbuf-2.0\\2.10.0\\loaders\\libpixbufloader-svg.dll" +"svg" 6 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL" +"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" "image/svg+xml-compressed" "" +"svg" "svgz" "svg.gz" "" +" { - FileLauncher fileLauncher = FileLauncher.New(Gio.FileHelper.NewForPath(dest)); - await fileLauncher.LaunchAsync(_mainWindow); + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { + FileLauncher fileLauncher = FileLauncher.New(Gio.FileHelper.NewForPath(dest)); + await fileLauncher.LaunchAsync(_mainWindow); + } else { + Process.Start("explorer.exe", @$"{dest}"); + } + Close(); }; btnOpen.SetCssClasses(["pill", "suggested-action"]); @@ -102,8 +109,13 @@ public partial class StatusDialog : Adw.Window { if (convertErrors.Length < number) { Button btnOpen = Button.NewWithLabel("Ordner öffnen"); btnOpen.OnClicked += async (_, _) => { - FileLauncher fileLauncher = FileLauncher.New(Gio.FileHelper.NewForPath(dest)); - await fileLauncher.LaunchAsync(_mainWindow); + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { + FileLauncher fileLauncher = FileLauncher.New(Gio.FileHelper.NewForPath(dest)); + await fileLauncher.LaunchAsync(_mainWindow); + } else { + Process.Start("explorer.exe", @$"{dest}"); + } + Close(); }; btnOpen.SetCssClasses(["pill", "suggested-action"]);