Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
042e0d52c9 | ||
|
|
b35d6712f4 | ||
|
|
85cb638be9 | ||
|
|
014372b9c0 | ||
|
|
2131f4ffa3 | ||
|
|
1cb4d55335 | ||
|
|
9b67599979 | ||
|
|
6ff4330f26 |
@@ -32,3 +32,33 @@ jobs:
|
||||
with:
|
||||
name: ubuntu-24.04-deb-package
|
||||
path: build/*.deb
|
||||
|
||||
ubuntu-26-04-build:
|
||||
runs-on: ubuntu-26.04
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
enable-cache: true
|
||||
- name: Install MetaGlot
|
||||
run: uv tool install git+https://github.com/SarasasChipWorkshop/metaglot.git
|
||||
- name: Get build dept.
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install cmake qt6-base-dev qt6-svg-dev qt6-tools-dev libexiv2-dev
|
||||
- name: Build it
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ../
|
||||
make
|
||||
cpack -G DEB
|
||||
- name: Try install it
|
||||
run: |
|
||||
cd build
|
||||
sudo apt install ./*.deb
|
||||
- uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: ubuntu-26.04-deb-package
|
||||
path: build/*.deb
|
||||
|
||||
@@ -65,7 +65,7 @@ jobs:
|
||||
curl -fsSL -o libavif-v1_3_0.zip https://github.com/AOMediaCodec/libavif/archive/v1.3.0.zip
|
||||
7z x libavif-v1_3_0.zip -y -o"dependencies_src"
|
||||
ren .\dependencies_src\libavif-1.3.0 libavif || goto :error
|
||||
cmake ./dependencies_src/libavif -Bbuild_dependencies/libavif -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DAVIF_CODEC_AOM=SYSTEM -DAVIF_CODEC_AOM_DECODE=ON -DAVIF_CODEC_AOM_ENCODE=ON -DAVIF_LIBYUV=LOCAL
|
||||
cmake ./dependencies_src/libavif -Bbuild_dependencies/libavif -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DAVIF_CODEC_AOM=SYSTEM -DAVIF_CODEC_AOM_DECODE=ON -DAVIF_CODEC_AOM_ENCODE=ON -DAVIF_LIBYUV=LOCAL || goto :error
|
||||
cmake --build build_dependencies/libavif --config Release --target=install || goto :error
|
||||
echo ::endgroup::
|
||||
echo ::group::===== expat =====
|
||||
@@ -92,17 +92,23 @@ jobs:
|
||||
echo ::endgroup::
|
||||
:: ------ app ------
|
||||
echo ::group::===== App (Build'n'Install) =====
|
||||
cmake -Bbuild .
|
||||
cmake --build build --config Release
|
||||
cmake --install build --config Release --prefix "%PWD%\build"
|
||||
cmake -Bbuild . || goto :error
|
||||
cmake --build build --config Release || goto :error
|
||||
cmake --install build --config Release --prefix "%PWD%\build" || goto :error
|
||||
echo ::endgroup::
|
||||
:: ------ pkg ------
|
||||
windeployqt --verbose=2 --no-compiler-runtime --no-quick-import --no-translations --no-network --no-opengl-sw --no-system-d3d-compiler --no-system-dxc-compiler --skip-plugin-types tls,networkinformation build\bin\ppic.exe
|
||||
robocopy ./dependencies_bin/bin build/bin *.dll
|
||||
if ErrorLevel 8 (exit /B 1)
|
||||
if ErrorLevel 8 goto :error
|
||||
copy LICENSE build\bin
|
||||
copy build\inno-metadata\ppic.iss build\bin\ppic.iss
|
||||
robocopy build\inno-metadata\Strings build\bin\Strings
|
||||
if ErrorLevel 8 goto :error
|
||||
iscc /Q build\bin\ppic.iss || goto :error
|
||||
exit /B 0
|
||||
:error
|
||||
exit /B 1
|
||||
- uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: "windows-msvc${{ matrix.vs }}-qt${{ matrix.qt_ver }}-cmake-package"
|
||||
path: build/bin/*
|
||||
name: "ppic-windows-msvc${{ matrix.vs }}-qt${{ matrix.qt_ver }}-cmake-setup"
|
||||
path: build/bin/ppic-setup.exe
|
||||
|
||||
@@ -105,6 +105,7 @@ if (NOT UV_EXECUTABLE)
|
||||
endif ()
|
||||
|
||||
if (WIN32)
|
||||
# Setup Windows RC files
|
||||
set (PPIC_RC_TEMPLATE_FILE ${CMAKE_CURRENT_BINARY_DIR}/pineapple-pictures.rc.in)
|
||||
execute_process (
|
||||
COMMAND ${UV_EXECUTABLE} tool run metaglot render rc
|
||||
@@ -115,7 +116,7 @@ if (WIN32)
|
||||
RESULT_VARIABLE METAGLOT_RESULT
|
||||
)
|
||||
if (NOT METAGLOT_RESULT EQUAL 0)
|
||||
message (FATAL_ERROR "Failed to generate pineapple-pictures.rc.in via MetaGlot (exit code: ${METAGLOT_RESULT}). If it is not installed yet, run: uv tool install git+https://github.com/SarasasChipWorkshop/metaglot.git")
|
||||
message (FATAL_ERROR "Failed to generate Windows RC file template via MetaGlot (exit code: ${METAGLOT_RESULT}).")
|
||||
endif ()
|
||||
|
||||
configure_file (${PPIC_RC_TEMPLATE_FILE} ${CMAKE_CURRENT_BINARY_DIR}/pineapple-pictures.rc @ONLY)
|
||||
@@ -228,20 +229,67 @@ if (WIN32)
|
||||
set_target_properties(${EXE_NAME} PROPERTIES
|
||||
WIN32_EXECUTABLE TRUE
|
||||
)
|
||||
|
||||
# Setup Inno Setup script file
|
||||
set (PPIC_INNO_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/inno-metadata)
|
||||
execute_process (
|
||||
COMMAND ${UV_EXECUTABLE} tool run metaglot render inno
|
||||
--manifest ${CMAKE_SOURCE_DIR}/dist/ppic.iss.in.toml
|
||||
--po ${CMAKE_SOURCE_DIR}/locales/inno/*.po
|
||||
--iss-template ${CMAKE_SOURCE_DIR}/dist/ppic.iss.in.liquid
|
||||
--isl-template ${CMAKE_SOURCE_DIR}/dist/ppic.isl.liquid
|
||||
--iss-path ppic.iss.in
|
||||
--isl-path "Strings/{{ lang }}.isl"
|
||||
--output ${PPIC_INNO_OUTPUT_DIR}
|
||||
RESULT_VARIABLE METAGLOT_INNO_RESULT
|
||||
)
|
||||
if (NOT METAGLOT_INNO_RESULT EQUAL 0)
|
||||
message (FATAL_ERROR "Failed to render Inno Setup script via MetaGlot (exit code: ${METAGLOT_INNO_RESULT}).")
|
||||
endif ()
|
||||
configure_file (${PPIC_INNO_OUTPUT_DIR}/ppic.iss.in ${PPIC_INNO_OUTPUT_DIR}/ppic.iss @ONLY)
|
||||
elseif (APPLE)
|
||||
# Include icon to project
|
||||
set_source_files_properties(dist/sarasacw-picture.icns PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION "Resources"
|
||||
)
|
||||
target_sources(${EXE_NAME} PUBLIC dist/sarasacw-picture.icns)
|
||||
target_sources(${EXE_NAME} PRIVATE dist/sarasacw-picture.icns)
|
||||
|
||||
# Setup Info.plist related directory.
|
||||
set (PPIC_PLIST_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/plist-metadata)
|
||||
# Render Info.plist and its strings.
|
||||
execute_process (
|
||||
COMMAND ${UV_EXECUTABLE} tool run metaglot render plist
|
||||
--manifest ${CMAKE_SOURCE_DIR}/dist/Info.plist.in.toml
|
||||
--po ${CMAKE_SOURCE_DIR}/locales/plist/*.po
|
||||
--plist-template ${CMAKE_SOURCE_DIR}/dist/Info.plist.in.liquid
|
||||
--strings-template ${CMAKE_SOURCE_DIR}/dist/InfoPlist.strings.liquid
|
||||
--plist-path Info.plist.in
|
||||
--strings-path "Resources/{{ lang }}.lproj/InfoPlist.strings"
|
||||
--output ${PPIC_PLIST_OUTPUT_DIR}
|
||||
RESULT_VARIABLE METAGLOT_PLIST_RESULT
|
||||
)
|
||||
if (NOT METAGLOT_PLIST_RESULT EQUAL 0)
|
||||
message (FATAL_ERROR "Failed to render Info.plist metadata via MetaGlot (exit code: ${METAGLOT_PLIST_RESULT}).")
|
||||
endif ()
|
||||
# Include these to project.
|
||||
file (GLOB PPIC_PLIST_STRINGS_FILES ${PPIC_PLIST_OUTPUT_DIR}/Resources/*.lproj/InfoPlist.strings)
|
||||
foreach (plist_strings_file ${PPIC_PLIST_STRINGS_FILES})
|
||||
get_filename_component (plist_lproj_dir ${plist_strings_file} DIRECTORY)
|
||||
get_filename_component (plist_lproj_name ${plist_lproj_dir} NAME)
|
||||
set_source_files_properties (${plist_strings_file} PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION "Resources/${plist_lproj_name}"
|
||||
)
|
||||
target_sources (${EXE_NAME} PRIVATE ${plist_strings_file})
|
||||
endforeach ()
|
||||
# See https://cmake.org/cmake/help/v3.15/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.html
|
||||
set_target_properties(${EXE_NAME} PROPERTIES
|
||||
MACOSX_BUNDLE TRUE
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/dist/MacOSXBundleInfo.plist.in
|
||||
MACOSX_BUNDLE_BUNDLE_NAME "Pineapple Pictures"
|
||||
MACOSX_BUNDLE_INFO_PLIST ${PPIC_PLIST_OUTPUT_DIR}/Info.plist.in
|
||||
MACOSX_BUNDLE_INFO_STRING "${PROJECT_VERSION}, Copyright (C) 2026 Gary Wang"
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER net.blumia.pineapple-pictures
|
||||
MACOSX_BUNDLE_ICON_FILE sarasacw-picture.icns # contains the .icns file name, *without* the path.
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
|
||||
)
|
||||
elseif (UNIX)
|
||||
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
@@ -265,7 +313,7 @@ elseif (UNIX)
|
||||
RESULT_VARIABLE METAGLOT_DESKTOP_RESULT
|
||||
)
|
||||
if (NOT METAGLOT_DESKTOP_RESULT EQUAL 0)
|
||||
message (FATAL_ERROR "Failed to generate net.blumia.pineapple-pictures.desktop via MetaGlot (exit code: ${METAGLOT_DESKTOP_RESULT}). If it is not installed yet, run: uv tool install git+https://github.com/SarasasChipWorkshop/metaglot.git")
|
||||
message (FATAL_ERROR "Failed to generate .desktop via MetaGlot (exit code: ${METAGLOT_DESKTOP_RESULT}).")
|
||||
endif ()
|
||||
|
||||
install (
|
||||
@@ -284,7 +332,7 @@ elseif (UNIX)
|
||||
RESULT_VARIABLE METAGLOT_METAINFO_RESULT
|
||||
)
|
||||
if (NOT METAGLOT_METAINFO_RESULT EQUAL 0)
|
||||
message (FATAL_ERROR "Failed to generate net.blumia.pineapple-pictures.metainfo.xml via MetaGlot (exit code: ${METAGLOT_METAINFO_RESULT}). If it is not installed yet, run: uv tool install git+https://github.com/SarasasChipWorkshop/metaglot.git")
|
||||
message (FATAL_ERROR "Failed to generate .metainfo.xml via MetaGlot (exit code: ${METAGLOT_METAINFO_RESULT}).")
|
||||
endif ()
|
||||
|
||||
install (
|
||||
|
||||
@@ -29,6 +29,8 @@ SarasaCW Picture is the **hard fork** of [Pineapple Pictures](https://github.com
|
||||
- [SourceForge](https://sourceforge.net/projects/pineapple-pictures/)
|
||||
- Archlinux AUR: [pineapple-pictures](https://aur.archlinux.org/packages/pineapple-pictures/) | [pineapple-pictures-git](https://aur.archlinux.org/packages/pineapple-pictures-git/)
|
||||
- [Itch.io Store](https://blumia.itch.io/pineapple-pictures)
|
||||
- [Microsoft Store](https://apps.microsoft.com/store/detail/9MXGX66VVGJP)
|
||||
- Flatpak (on FlatHub): [net.blumia.pineapple-pictures](https://flathub.org/apps/net.blumia.pineapple-pictures) *([Should I use the flatpak version?](https://github.com/BLumia/pineapple-pictures/wiki/Container%E2%80%90based-Packaging-Solutions-Support))*
|
||||
|
||||
### Maintained by contributors / certain distro's package maintainers
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ SarasaCW 照片查看器是[菠萝看图](https://github.com/BLumia/pineapple-pi
|
||||
- [SourceForge](https://sourceforge.net/projects/pineapple-pictures/)
|
||||
- Archlinux AUR: [pineapple-pictures](https://aur.archlinux.org/packages/pineapple-pictures/) | [pineapple-pictures-git](https://aur.archlinux.org/packages/pineapple-pictures-git/)
|
||||
- [Itch.io 商店](https://blumia.itch.io/pineapple-pictures)
|
||||
- [Microsoft Store](https://apps.microsoft.com/store/detail/9MXGX66VVGJP)
|
||||
- Flatpak (于 FlatHub): [net.blumia.pineapple-pictures](https://flathub.org/apps/net.blumia.pineapple-pictures) *([我应当使用 flatpak 版吗?](https://github.com/BLumia/pineapple-pictures/wiki/Container%E2%80%90based-Packaging-Solutions-Support))*
|
||||
|
||||
### 由贡献者/对应发行版的打包人员维护
|
||||
|
||||
@@ -21,7 +21,13 @@ SPDX-FileCopyrightText = "Translators from hosted.weblate.org"
|
||||
SPDX-License-Identifier = "MIT"
|
||||
|
||||
[[annotations]]
|
||||
path = "tool/**"
|
||||
path = ["dist/msix/**.svg", "dist/msix/**.toml"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "2026 Gary Wang"
|
||||
SPDX-License-Identifier = "MIT"
|
||||
|
||||
[[annotations]]
|
||||
path = ["app/translations/**.ts", "assets/plain/translators.html"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "2026 yyc12345"
|
||||
SPDX-License-Identifier = "MIT"
|
||||
|
||||
@@ -14,10 +14,8 @@
|
||||
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleLongVersionString</key>
|
||||
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
||||
<string>{{ default.strings.app_name | xml_escape }}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
@@ -29,28 +27,23 @@
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||
<!-- FIXME: this list can't be automatically generated by Qt's CMake API, don't know why. -->
|
||||
<string>MIT/Expat License - Copyright (C) 2026 Gary Wang</string>
|
||||
<!--
|
||||
CFBundleLocalizations is generated from the metadata localization languages (the metaglot
|
||||
"langs" list), while this field by definition describes the application's language
|
||||
availability. This deviation works around an upstream Qt bug: since the Qt 6.7.0 refactor,
|
||||
the CMake function _qt_internal_store_languages_from_ts_files_in_targets loses the parsed
|
||||
TS language codes (a missing list(APPEND)), so Qt's own CFBundleLocalizations generation
|
||||
yields an empty list. Consistency between the metadata languages and the application
|
||||
languages is maintained manually at release time.
|
||||
TODO: drop this workaround and let Qt generate CFBundleLocalizations itself once the
|
||||
upstream bug is fixed and the fix ships in the CI toolchain.
|
||||
-->
|
||||
<key>CFBundleLocalizations</key>
|
||||
<array>
|
||||
<string>en</string>
|
||||
<string>ca</string>
|
||||
<string>de</string>
|
||||
<string>es</string>
|
||||
<string>fr</string>
|
||||
<string>id</string>
|
||||
<string>it</string>
|
||||
<string>ja</string>
|
||||
<string>ko</string>
|
||||
<string>nb_NO</string>
|
||||
<string>nl</string>
|
||||
<string>pa_PK</string>
|
||||
<string>ru</string>
|
||||
<string>si</string>
|
||||
<string>ta</string>
|
||||
<string>tr</string>
|
||||
<string>uk</string>
|
||||
<string>zh_CN</string>
|
||||
{% for lang in langs %}
|
||||
<string>{{ lang }}</string>
|
||||
{% endfor %}
|
||||
</array>
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
<array>
|
||||
@@ -0,0 +1,26 @@
|
||||
version = 1
|
||||
source_language = "en"
|
||||
|
||||
[strings.app_name]
|
||||
msgid = "Pineapple Pictures"
|
||||
comment = "Display name of the application."
|
||||
|
||||
[strings.file_type_jpeg]
|
||||
msgid = "JPEG Image"
|
||||
comment = "Name of the JPEG document type (jpg, jpeg, jfif)."
|
||||
|
||||
[strings.file_type_png]
|
||||
msgid = "PNG Image"
|
||||
comment = "Name of the PNG document type."
|
||||
|
||||
[strings.file_type_webp]
|
||||
msgid = "WebP Image"
|
||||
comment = "Name of the WebP document type."
|
||||
|
||||
[strings.file_type_gif]
|
||||
msgid = "GIF Image"
|
||||
comment = "Name of the GIF document type."
|
||||
|
||||
[strings.file_type_svg]
|
||||
msgid = "SVG Image"
|
||||
comment = "Name of the SVG document type."
|
||||
@@ -0,0 +1,8 @@
|
||||
/* Application display name. The key is the Info.plist key name. */
|
||||
"CFBundleName" = "{{ strings.app_name | plist_strings_escape }}";
|
||||
/* File type names. The key is the source text, covering CFBundleTypeName. */
|
||||
"{{ sources.file_type_jpeg | plist_strings_escape }}" = "{{ strings.file_type_jpeg | plist_strings_escape }}";
|
||||
"{{ sources.file_type_png | plist_strings_escape }}" = "{{ strings.file_type_png | plist_strings_escape }}";
|
||||
"{{ sources.file_type_webp | plist_strings_escape }}" = "{{ strings.file_type_webp | plist_strings_escape }}";
|
||||
"{{ sources.file_type_gif | plist_strings_escape }}" = "{{ strings.file_type_gif | plist_strings_escape }}";
|
||||
"{{ sources.file_type_svg | plist_strings_escape }}" = "{{ strings.file_type_svg | plist_strings_escape }}";
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 192 192" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;"><rect id="generic-export-" serif:id="generic(export)" x="0" y="0" width="192" height="192" style="fill:none;"/><g id="文档背景"><path d="M29,143l0,-119.02c0,-3.301 2.68,-5.98 5.98,-5.98l85.058,0l41.962,41.923l0,83.077l-133,0Z" style="fill:#f8fafc;"/><path d="M120.038,18l42.038,42l-36.12,0c-3.269,-0 -5.919,-2.65 -5.919,-5.919l0,-36.081Z" style="fill:#3b82f6;fill-opacity:0.5;"/><g id="底部"><path d="M162,145.178l0,15.644c0,7.273 -5.905,13.178 -13.178,13.178l-106.644,0c-7.273,0 -13.178,-5.905 -13.178,-13.178l0,-15.644c0,-7.273 5.905,-13.178 13.178,-13.178l106.644,0c7.273,0 13.178,5.905 13.178,13.178Z" style="fill:#f8fafc;"/><rect x="29" y="132" width="133" height="22" style="fill:#f8fafc;"/></g></g><g id="文档符号"><path d="M53.75,117c-0,-0 17.005,-22.869 24.972,-33.582c0.969,-1.303 2.484,-2.087 4.107,-2.126c1.623,-0.039 3.174,0.672 4.204,1.927c8.72,10.627 27.718,33.781 27.718,33.781" style="fill:none;stroke:#3b82f6;stroke-width:6.25px;"/><path d="M103.22,102c-0,-0 3.94,-4.938 6.964,-8.727c0.845,-1.06 2.117,-1.69 3.472,-1.723c1.355,-0.033 2.655,0.536 3.551,1.553c6.849,7.778 21.043,23.897 21.043,23.897" style="fill:none;stroke:#3b82f6;stroke-opacity:0.65;stroke-width:6.25px;"/><use xlink:href="#_Image1" x="99.724" y="88.423" width="42px" height="32px"/><circle cx="106" cy="72" r="6" style="fill:#3b82f6;"/><use xlink:href="#_Image2" x="50.625" y="78.165" width="68px" height="42px"/></g><defs><image id="_Image1" width="42px" height="32px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAgCAYAAABkWOo9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACL0lEQVRYhcWYTW/TQBBAXxzaiIVABeWrQFRBERSKCv3iMP9tD/vb2BMoEgKBVCFoQRUHDlBRpiCqlIOt0BKvs7Hj5B03s6MnZ3dm7AaRiNMW0AHmgXa2/AP4Bux6aw5jc5WhERMkTjvACpAEQo6Bd96aD+MS+5+houL0IXAnMt8XoOutOa5klUPoCQEgTu8SLwlwA3hcyShAUFScXgGWS+TsiNN75ZXyyRUVpwZYq5D3vji9VWH/AAOi4rQJbAIzFXOvZv/KWMh7oqv8Kz9VaADr4vTCGHKdFs0uz8I4EmecAZ6J07NVE/VFxek88KBqwhxawJY4rXSUEuhfnnUiG0AJ2sCGOC0sh0Uk2eXZoPrlGcZl0vNfigRYAsZy4CO4KU5LHa+EdNCYJEvidHHUTaXPTEUeidNro2xIgL2aZIpoAGvidC52QwJsAwe1KYVpkpYtExOceGuOgBfAn1q18pklbQizwwITAG/NT6BLOgBPmnOkT7ZZFNS/TN6ar8Dbuq0CzAFPiwJO3XpvzUfgc51GBVwXpyuhH/PK02vSF7ZpsJgNRgMMiHpresBL4FfdVgGWxenABJdb8L01v0krQa9uqwBPxOmlkwvBzuSt2Qde1a6UTwJsitPzJxeCeGv2gPd1WwWYIa2xLYj/ALEFXK3TqoB94HnsUNJlOm0W4CJwO0p0ym0WoB095k25zR6ONI9mbfYNk5U9AD6VepnLatwCEDWilaQHfAd2vDVHfwFwVYfhCbkXoQAAAABJRU5ErkJggg=="/><image id="_Image2" width="68px" height="42px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAqCAYAAAAK7f2YAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACq0lEQVRogeWZu27UUBCGvzhIQasERC4gSLgmpAgQEAUJGRoQCQUBERGyieBZtpgH4TFoqLfgDRA9DRIFEhqJS0Fhs0rCXmzv+BwnfKXXnjP6PfL51h4hEqK2CDwEzgCfgXftVuNrrH7+MhJjUVG7AWwfOvwDeNtuNb5EaKlDEnpBUTsPvOjy0xjwRtROBW7pAEEDEbVxYBc40eOUCdJQTobr6iDBAhG1UWAHGDQBM8CuqPUKrVJCTsgmcDHnuZeBLVEL/owLEoiorQB3Cl62BGxU0E5fKg9E1K4BT0pevipq9z37GUSlgYjaJPCK4bb3DVG76dTSQCoLRNTGgD3AY8fYErUrDnUGUkkg2cPwJTDtVDIh3XnOOtXru1AVPAKuO9cMIm7ugYjaLeCBd92MysXNNRBRuwA896zZhUrFzS2QHFruSWXi5hJIdreapCMdiiXK+01PvCbkKTDnVKsIK97iNnQgorZKcS33xFXchgpE1OaJ8H+jC1uidtWjUOlARG2K9K1XlLduh0iApqid8yhUGGct92IMeC1qp4cpUjiQbKvbBqaGWbgiJkhDKX2jykzIY2Ch7IIBmAH2yopboUBEbRlYK7NQYC5RUtxyByJqs1Sv5Z6UErdcgYjaBKmWjxZdIDKFxW1gIPu0fLxsV5EpJG55JuQZMFu+n1qQW9z6BiJqa8CyS0txyS1uPQMRtQXSLfa4kEvcugYiatPUR8s9GShu/wSSnbxLmuhxpK+4HQik5lruSU9xOzwh68B8kJbi01XcOoGI2m0g6GfDGrCS7aQdEgBRmyP1jf+R9f3ilmRa3uToabknnU+lCelXtqOq5V4kwKaoJQmwGLubmjAFTCbAz9id1IhfCfAhdhc14WO71fg2AiBq94C7HH8h68Z34BPwvt1q/P4DFjifX1SwAkkAAAAASUVORK5CYII="/></defs></svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 192 192" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1;">
|
||||
<g transform="matrix(1,0,0,1,-233.5,0)">
|
||||
<g id="GIF-export-" serif:id="GIF(export)" transform="matrix(1,0,0,1,233.5,-242)">
|
||||
<rect x="0" y="242" width="192" height="192" style="fill:none;"/>
|
||||
<g id="文档背景" transform="matrix(0.192771,0,0,0.21968,336.192771,253.203661)">
|
||||
<g transform="matrix(5.226799,0,0,4.552083,-1750.366477,-51)">
|
||||
<path d="M30,143L30,23.98C30,20.68 32.66,18 35.935,18L120.354,18L162,59.923L162,143L30,143Z" style="fill:rgb(248,250,252);"/>
|
||||
</g>
|
||||
<g transform="matrix(5.1875,0,0,4.552083,-1744,-51)">
|
||||
<path d="M120.038,18L162.077,60L125.957,60C122.688,60 120.038,57.35 120.038,54.081L120.038,18Z" style="fill:rgb(16,185,129);fill-opacity:0.5;"/>
|
||||
</g>
|
||||
<g id="底部" transform="matrix(1.007576,0,0,1,6.443582,0)">
|
||||
<g transform="matrix(5.1875,0,0,1.225561,-1743.600962,527.814904)">
|
||||
<path d="M162,66.948L162,125.052C162,152.067 156.139,174 148.921,174L43.079,174C35.861,174 30,152.067 30,125.052L30,66.948C30,39.933 35.861,18 43.079,18L148.921,18C156.139,18 162,39.933 162,66.948Z" style="fill:rgb(16,185,129);"/>
|
||||
</g>
|
||||
<g transform="matrix(4.99537,0,0,4.552083,-1712.860221,-51)">
|
||||
<rect x="25" y="132" width="137.077" height="22" style="fill:rgb(16,185,129);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-24.821092,255.962394)">
|
||||
<g transform="matrix(31.25,0,0,31.25,92.328214,149.80372)">
|
||||
<path d="M0.342,0.012C0.287,0.012 0.237,-0.001 0.192,-0.026C0.147,-0.051 0.111,-0.089 0.085,-0.139C0.058,-0.189 0.045,-0.25 0.045,-0.323C0.045,-0.395 0.059,-0.457 0.085,-0.508C0.112,-0.559 0.148,-0.598 0.193,-0.625C0.238,-0.651 0.289,-0.665 0.345,-0.665C0.389,-0.665 0.426,-0.656 0.457,-0.639C0.488,-0.622 0.514,-0.603 0.534,-0.582L0.459,-0.497C0.444,-0.512 0.429,-0.524 0.411,-0.533C0.394,-0.542 0.372,-0.546 0.345,-0.546C0.315,-0.546 0.288,-0.537 0.264,-0.52C0.24,-0.502 0.221,-0.477 0.207,-0.445C0.193,-0.412 0.186,-0.373 0.186,-0.328C0.186,-0.281 0.192,-0.241 0.205,-0.208C0.217,-0.175 0.236,-0.15 0.26,-0.133C0.284,-0.115 0.314,-0.106 0.35,-0.106C0.364,-0.106 0.377,-0.108 0.39,-0.112C0.404,-0.116 0.414,-0.122 0.422,-0.129L0.422,-0.251L0.321,-0.251L0.321,-0.363L0.544,-0.363L0.544,-0.066C0.523,-0.046 0.494,-0.028 0.458,-0.012C0.422,0.004 0.384,0.012 0.342,0.012Z" style="fill:rgb(248,250,252);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(31.25,0,0,31.25,111.077928,149.80372)">
|
||||
<path d="M0.078,-0L0.078,-0.115L0.232,-0.115L0.232,-0.538L0.078,-0.538L0.078,-0.653L0.522,-0.653L0.522,-0.538L0.368,-0.538L0.368,-0.115L0.522,-0.115L0.522,-0L0.078,-0Z" style="fill:rgb(248,250,252);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(31.25,0,0,31.25,129.827642,149.80372)">
|
||||
<path d="M0.11,-0L0.11,-0.653L0.538,-0.653L0.538,-0.538L0.246,-0.538L0.246,-0.375L0.495,-0.375L0.495,-0.26L0.246,-0.26L0.246,-0L0.11,-0Z" style="fill:rgb(248,250,252);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(31.25,0,0,31.25,148.577356,149.80372)">
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1.042067,0,0,1.470481,-504.094952,-475.205263)">
|
||||
<path d="M577.789,536.699L597,569L549,569C549.416,555.658 543.242,548.94 539.404,546.9C558.596,542.819 558.208,538.037 577.789,536.699Z" style="fill:rgb(248,250,252);stroke:rgb(73,217,169);stroke-width:2.94px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.042067,0,0,1.470481,-500.094952,-475.205263)">
|
||||
<path d="M587.385,535L597,569L549,569C549.416,555.658 547.081,547.58 541.323,540.099C558.785,539.334 573.16,536.425 587.385,535Z" style="fill:rgb(248,250,252);stroke:rgb(33,195,141);stroke-width:2.94px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.042067,0,0,1.470481,-496.094952,-475.205263)">
|
||||
<rect x="549" y="535" width="48" height="34" style="fill:rgb(248,250,252);"/>
|
||||
<clipPath id="_clip1">
|
||||
<rect x="549" y="535" width="48" height="34"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#_clip1)">
|
||||
<g transform="matrix(-1.020402,0,0,1,1158.200072,0)">
|
||||
<g transform="matrix(1.219837,0.326128,-0.460205,0.864447,430.623441,-37.614509)">
|
||||
<path d="M314.701,587.339C314.311,586.884 314.332,573.499 314.332,571.745C314.332,569.957 315.109,563.585 316.467,559.39C316.508,559.263 316.565,559.13 316.695,559.065C316.792,559 316.922,558.968 317.052,559.032C318.287,559.39 321.374,562.022 321.472,562.022C322.934,561.795 329.044,561.73 330.506,562.022C330.571,562.022 333.659,559.39 334.894,559.032C335.024,558.968 335.154,559 335.284,559.065C335.381,559.13 335.479,559.26 335.479,559.39C335.804,561.177 338.359,567.994 338.046,573.812C337.952,575.563 337.07,576.244 336.648,576.699C336.388,577.057 314.961,587.697 314.701,587.339Z" style="fill:none;stroke:rgb(16,185,129);stroke-width:2.14px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1.054409,0,0,1.202039,926.151367,432.040487)">
|
||||
<ellipse cx="335.5" cy="107" rx="1.5" ry="1" style="fill:rgb(16,185,129);"/>
|
||||
</g>
|
||||
<g transform="matrix(-1.038849,0,0,1.142554,910.389594,435.158377)">
|
||||
<ellipse cx="335.5" cy="107" rx="1.5" ry="1" style="fill:rgb(16,185,129);"/>
|
||||
</g>
|
||||
<g transform="matrix(-1.100452,-0.187672,0.358068,-1.05441,706.803105,1228.551028)">
|
||||
<path d="M314.028,574.46C314.028,574.46 316.518,572.261 318.713,574.583C318.824,574.7 318.912,574.846 319,575" style="fill:none;stroke:rgb(16,185,129);stroke-width:2.07px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<rect x="549" y="535" width="48" height="34" style="fill:none;stroke:rgb(16,185,129);stroke-width:2.94px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.6 KiB |
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="100%"
|
||||
height="100%"
|
||||
viewBox="0 0 192 192"
|
||||
version="1.1"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;"
|
||||
id="svg9"
|
||||
sodipodi:docname="jpeg.svg"
|
||||
inkscape:version="1.4.4 (dcaf3e7, 2026-05-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:serif="http://www.serif.com/"><sodipodi:namedview
|
||||
id="namedview9"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="3.3645833"
|
||||
inkscape:cx="95.851394"
|
||||
inkscape:cy="96.000001"
|
||||
inkscape:window-width="1536"
|
||||
inkscape:window-height="890"
|
||||
inkscape:window-x="-6"
|
||||
inkscape:window-y="-6"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg9" /><rect
|
||||
id="JPG-export-"
|
||||
serif:id="JPG(export)"
|
||||
x="0"
|
||||
y="0"
|
||||
width="192"
|
||||
height="192"
|
||||
style="fill:none;" /><g
|
||||
id="文档背景"><path
|
||||
d="M29,143l0,-119.02c0,-3.301 2.68,-5.98 5.98,-5.98l85.058,0l41.962,41.923l0,83.077l-133,0Z"
|
||||
style="fill:#f8fafc"
|
||||
id="path1" /><path
|
||||
d="M120.038,18l42.038,42l-36.12,0c-3.269,-0 -5.919,-2.65 -5.919,-5.919l0,-36.081Z"
|
||||
style="fill:#3b82f6;fill-opacity:0.5"
|
||||
id="path2" /><path
|
||||
d="M29,160.822l-0,-28.822l133,0l0,28.822c0,7.273 -5.905,13.178 -13.178,13.178l-106.644,0c-7.273,0 -13.178,-5.905 -13.178,-13.178Z"
|
||||
style="fill:#3b82f6"
|
||||
id="path3" /></g><g
|
||||
transform="matrix(31.25,0,0,31.25,67.761272,163.766113)"
|
||||
id="g4"><path
|
||||
d="M0.274,0.012c-0.036,0 -0.073,-0.008 -0.112,-0.024c-0.038,-0.016 -0.071,-0.044 -0.099,-0.083l0.079,-0.085c0.019,0.024 0.039,0.042 0.061,0.055c0.022,0.013 0.044,0.019 0.066,0.019c0.036,0 0.062,-0.009 0.08,-0.028c0.018,-0.019 0.027,-0.051 0.027,-0.097l0,-0.307l-0.258,0l0,-0.114l0.395,0l0,0.433c0,0.042 -0.008,0.081 -0.023,0.116c-0.015,0.035 -0.04,0.063 -0.075,0.084c-0.035,0.021 -0.082,0.031 -0.141,0.031Z"
|
||||
style="fill:#f8fafc;fill-rule:nonzero;"
|
||||
id="path4" /></g><g
|
||||
transform="matrix(31.25,0,0,31.25,86.510986,163.766113)"
|
||||
id="g5"><path
|
||||
d="M0.079,-0l0,-0.653l0.226,0c0.047,0 0.09,0.006 0.128,0.019c0.038,0.013 0.068,0.034 0.091,0.064c0.022,0.03 0.034,0.071 0.034,0.123c0,0.05 -0.011,0.091 -0.034,0.123c-0.023,0.032 -0.053,0.056 -0.092,0.071c-0.038,0.015 -0.081,0.023 -0.127,0.023l-0.089,0l0,0.228l-0.137,-0Zm0.137,-0.336l0.08,0c0.043,0 0.076,-0.009 0.096,-0.028c0.021,-0.019 0.031,-0.046 0.031,-0.081c0,-0.037 -0.011,-0.062 -0.032,-0.077c-0.022,-0.014 -0.053,-0.022 -0.095,-0.022l-0.08,0l0,0.207Z"
|
||||
style="fill:#f8fafc;fill-rule:nonzero;"
|
||||
id="path5" /></g><g
|
||||
transform="matrix(31.25,0,0,31.25,105.2607,163.766113)"
|
||||
id="g6"><path
|
||||
d="M0.342,0.012c-0.055,0 -0.105,-0.013 -0.15,-0.038c-0.045,-0.025 -0.081,-0.063 -0.107,-0.113c-0.026,-0.05 -0.04,-0.111 -0.04,-0.184c-0,-0.072 0.013,-0.134 0.04,-0.185c0.027,-0.051 0.063,-0.09 0.108,-0.117c0.045,-0.027 0.096,-0.04 0.152,-0.04c0.044,0 0.081,0.008 0.112,0.026c0.031,0.017 0.056,0.036 0.077,0.057l-0.075,0.085c-0.014,-0.015 -0.03,-0.027 -0.047,-0.036c-0.017,-0.009 -0.039,-0.013 -0.066,-0.013c-0.03,0 -0.058,0.009 -0.082,0.026c-0.024,0.018 -0.043,0.043 -0.057,0.075c-0.014,0.033 -0.021,0.072 -0.021,0.117c0,0.046 0.006,0.086 0.019,0.119c0.012,0.033 0.031,0.058 0.055,0.076c0.024,0.018 0.054,0.026 0.09,0.026c0.014,0 0.027,-0.002 0.041,-0.006c0.013,-0.004 0.024,-0.009 0.031,-0.017l0,-0.122l-0.101,0l0,-0.112l0.224,0l0,0.296c-0.022,0.02 -0.05,0.039 -0.086,0.055c-0.036,0.016 -0.075,0.024 -0.116,0.024Z"
|
||||
style="fill:#f8fafc;fill-rule:nonzero;"
|
||||
id="path6" /></g><g
|
||||
transform="matrix(31.25,0,0,31.25,124.010414,163.766113)"
|
||||
id="g7" /><g
|
||||
id="文档符号"><path
|
||||
d="M53.75,117c0,0 17.005,-22.869 24.972,-33.582c0.969,-1.303 2.484,-2.087 4.107,-2.126c1.623,-0.039 3.174,0.672 4.204,1.927c8.72,10.627 27.718,33.781 27.718,33.781"
|
||||
style="fill:none;stroke:#3b82f6;stroke-width:6.25px;"
|
||||
id="path7" /><path
|
||||
d="M103.22,102c-0,-0 3.94,-4.938 6.964,-8.727c0.845,-1.06 2.117,-1.69 3.472,-1.723c1.355,-0.033 2.655,0.536 3.551,1.553c6.849,7.778 21.043,23.897 21.043,23.897"
|
||||
style="fill:none;stroke:#3b82f6;stroke-opacity:0.65;stroke-width:6.25px;"
|
||||
id="path8" /><use
|
||||
xlink:href="#_Image1"
|
||||
x="99.724"
|
||||
y="88.423"
|
||||
width="42px"
|
||||
height="32px"
|
||||
id="use8" /><circle
|
||||
cx="106"
|
||||
cy="72"
|
||||
r="6"
|
||||
style="fill:#3b82f6;"
|
||||
id="circle8" /><use
|
||||
xlink:href="#_Image2"
|
||||
x="50.625"
|
||||
y="78.165"
|
||||
width="68px"
|
||||
height="42px"
|
||||
id="use9" /></g><defs
|
||||
id="defs9"><image
|
||||
id="_Image1"
|
||||
width="42px"
|
||||
height="32px"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAgCAYAAABkWOo9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACL0lEQVRYhcWYTW/TQBBAXxzaiIVABeWrQFRBERSKCv3iMP9tD/vb2BMoEgKBVCFoQRUHDlBRpiCqlIOt0BKvs7Hj5B03s6MnZ3dm7AaRiNMW0AHmgXa2/AP4Bux6aw5jc5WhERMkTjvACpAEQo6Bd96aD+MS+5+houL0IXAnMt8XoOutOa5klUPoCQEgTu8SLwlwA3hcyShAUFScXgGWS+TsiNN75ZXyyRUVpwZYq5D3vji9VWH/AAOi4rQJbAIzFXOvZv/KWMh7oqv8Kz9VaADr4vTCGHKdFs0uz8I4EmecAZ6J07NVE/VFxek88KBqwhxawJY4rXSUEuhfnnUiG0AJ2sCGOC0sh0Uk2eXZoPrlGcZl0vNfigRYAsZy4CO4KU5LHa+EdNCYJEvidHHUTaXPTEUeidNro2xIgL2aZIpoAGvidC52QwJsAwe1KYVpkpYtExOceGuOgBfAn1q18pklbQizwwITAG/NT6BLOgBPmnOkT7ZZFNS/TN6ar8Dbuq0CzAFPiwJO3XpvzUfgc51GBVwXpyuhH/PK02vSF7ZpsJgNRgMMiHpresBL4FfdVgGWxenABJdb8L01v0krQa9uqwBPxOmlkwvBzuSt2Qde1a6UTwJsitPzJxeCeGv2gPd1WwWYIa2xLYj/ALEFXK3TqoB94HnsUNJlOm0W4CJwO0p0ym0WoB095k25zR6ONI9mbfYNk5U9AD6VepnLatwCEDWilaQHfAd2vDVHfwFwVYfhCbkXoQAAAABJRU5ErkJggg==" /><image
|
||||
id="_Image2"
|
||||
width="68px"
|
||||
height="42px"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAqCAYAAAAK7f2YAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACq0lEQVRogeWZu27UUBCGvzhIQasERC4gSLgmpAgQEAUJGRoQCQUBERGyieBZtpgH4TFoqLfgDRA9DRIFEhqJS0Fhs0rCXmzv+BwnfKXXnjP6PfL51h4hEqK2CDwEzgCfgXftVuNrrH7+MhJjUVG7AWwfOvwDeNtuNb5EaKlDEnpBUTsPvOjy0xjwRtROBW7pAEEDEbVxYBc40eOUCdJQTobr6iDBAhG1UWAHGDQBM8CuqPUKrVJCTsgmcDHnuZeBLVEL/owLEoiorQB3Cl62BGxU0E5fKg9E1K4BT0pevipq9z37GUSlgYjaJPCK4bb3DVG76dTSQCoLRNTGgD3AY8fYErUrDnUGUkkg2cPwJTDtVDIh3XnOOtXru1AVPAKuO9cMIm7ugYjaLeCBd92MysXNNRBRuwA896zZhUrFzS2QHFruSWXi5hJIdreapCMdiiXK+01PvCbkKTDnVKsIK97iNnQgorZKcS33xFXchgpE1OaJ8H+jC1uidtWjUOlARG2K9K1XlLduh0iApqid8yhUGGct92IMeC1qp4cpUjiQbKvbBqaGWbgiJkhDKX2jykzIY2Ch7IIBmAH2yopboUBEbRlYK7NQYC5RUtxyByJqs1Sv5Z6UErdcgYjaBKmWjxZdIDKFxW1gIPu0fLxsV5EpJG55JuQZMFu+n1qQW9z6BiJqa8CyS0txyS1uPQMRtQXSLfa4kEvcugYiatPUR8s9GShu/wSSnbxLmuhxpK+4HQik5lruSU9xOzwh68B8kJbi01XcOoGI2m0g6GfDGrCS7aQdEgBRmyP1jf+R9f3ilmRa3uToabknnU+lCelXtqOq5V4kwKaoJQmwGLubmjAFTCbAz9id1IhfCfAhdhc14WO71fg2AiBq94C7HH8h68Z34BPwvt1q/P4DFjifX1SwAkkAAAAASUVORK5CYII=" /><filter
|
||||
style="color-interpolation-filters:sRGB;"
|
||||
inkscape:label="Drop Shadow"
|
||||
id="filter10"
|
||||
x="-0.18034807"
|
||||
y="-0.15384615"
|
||||
width="1.4057832"
|
||||
height="1.3461538"><feFlood
|
||||
result="flood"
|
||||
in="SourceGraphic"
|
||||
flood-opacity="0.501961"
|
||||
flood-color="rgb(0,0,0)"
|
||||
id="feFlood9" /><feGaussianBlur
|
||||
result="blur"
|
||||
in="SourceGraphic"
|
||||
stdDeviation="10.000000"
|
||||
id="feGaussianBlur9" /><feOffset
|
||||
result="offset"
|
||||
in="blur"
|
||||
dx="6.000000"
|
||||
dy="6.000000"
|
||||
id="feOffset9" /><feComposite
|
||||
result="comp1"
|
||||
operator="in"
|
||||
in="flood"
|
||||
in2="offset"
|
||||
id="feComposite9" /><feComposite
|
||||
result="comp2"
|
||||
operator="over"
|
||||
in="SourceGraphic"
|
||||
in2="comp1"
|
||||
id="feComposite10" /></filter></defs></svg>
|
||||
|
After Width: | Height: | Size: 7.9 KiB |
@@ -0,0 +1,215 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="100%"
|
||||
height="100%"
|
||||
viewBox="0 0 192 192"
|
||||
version="1.1"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"
|
||||
id="svg15"
|
||||
sodipodi:docname="png.svg"
|
||||
inkscape:version="1.4.4 (dcaf3e7, 2026-05-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:serif="http://www.serif.com/"><defs
|
||||
id="defs15"><filter
|
||||
style="color-interpolation-filters:sRGB;"
|
||||
inkscape:label="Drop Shadow"
|
||||
id="filter16"
|
||||
x="-0.034765612"
|
||||
y="-0.033796866"
|
||||
width="1.0782226"
|
||||
height="1.0760429"><feFlood
|
||||
result="flood"
|
||||
in="SourceGraphic"
|
||||
flood-opacity="0.501961"
|
||||
flood-color="rgb(0,0,0)"
|
||||
id="feFlood15" /><feGaussianBlur
|
||||
result="blur"
|
||||
in="SourceGraphic"
|
||||
stdDeviation="10.000000"
|
||||
id="feGaussianBlur15" /><feOffset
|
||||
result="offset"
|
||||
in="blur"
|
||||
dx="6.000000"
|
||||
dy="6.000000"
|
||||
id="feOffset15" /><feComposite
|
||||
result="comp1"
|
||||
operator="in"
|
||||
in="flood"
|
||||
in2="offset"
|
||||
id="feComposite15" /><feComposite
|
||||
result="comp2"
|
||||
operator="over"
|
||||
in="SourceGraphic"
|
||||
in2="comp1"
|
||||
id="feComposite16" /></filter></defs><sodipodi:namedview
|
||||
id="namedview15"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="3.3645833"
|
||||
inkscape:cx="95.851394"
|
||||
inkscape:cy="96.000001"
|
||||
inkscape:window-width="1536"
|
||||
inkscape:window-height="890"
|
||||
inkscape:window-x="-6"
|
||||
inkscape:window-y="-6"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="PNG-export-" />
|
||||
<g
|
||||
transform="matrix(1,0,0,1,-469.5,0)"
|
||||
id="g15">
|
||||
<g
|
||||
id="PNG-export-"
|
||||
serif:id="PNG(export)"
|
||||
transform="matrix(0.192771,0,0,0.21968,805.692771,11.203661)">
|
||||
<rect
|
||||
x="-1744"
|
||||
y="-51"
|
||||
width="996"
|
||||
height="874"
|
||||
style="fill:none;"
|
||||
id="rect1" />
|
||||
<g
|
||||
id="文档背景">
|
||||
<g
|
||||
transform="matrix(5.226799,0,0,4.552083,-1750.366477,-51)"
|
||||
id="g1">
|
||||
<path
|
||||
d="M30,143L30,23.98C30,20.68 32.66,18 35.935,18L120.354,18L162,59.923L162,143L30,143Z"
|
||||
style="fill:rgb(248, 250, 252)"
|
||||
id="path1" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(5.1875,0,0,4.552083,-1744,-51)"
|
||||
id="g2">
|
||||
<path
|
||||
d="M120.038,18L162.077,60L125.957,60C122.688,60 120.038,57.35 120.038,54.081L120.038,18Z"
|
||||
style="fill:rgb(139, 92, 246);fill-opacity:0.5"
|
||||
id="path2" />
|
||||
</g>
|
||||
<g
|
||||
id="底部"
|
||||
transform="matrix(1.007576,0,0,1,6.443582,0)">
|
||||
<g
|
||||
transform="matrix(5.1875,0,0,1.225561,-1743.600962,527.814904)"
|
||||
id="g3">
|
||||
<path
|
||||
d="M162,66.948L162,125.052C162,152.067 156.139,174 148.921,174L43.079,174C35.861,174 30,152.067 30,125.052L30,66.948C30,39.933 35.861,18 43.079,18L148.921,18C156.139,18 162,39.933 162,66.948Z"
|
||||
style="fill:rgb(139, 92, 246)"
|
||||
id="path3" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(4.99537,0,0,4.552083,-1712.860221,-51)"
|
||||
id="g4">
|
||||
<rect
|
||||
x="25"
|
||||
y="132"
|
||||
width="137.077"
|
||||
height="22"
|
||||
style="fill:rgb(139, 92, 246)"
|
||||
id="rect3" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(5.1875,0,0,4.552083,-1872.759414,12.55798)"
|
||||
id="g9">
|
||||
<g
|
||||
transform="matrix(31.25,0,0,31.25,92.328214,149.80372)"
|
||||
id="g5">
|
||||
<path
|
||||
d="M0.079,-0L0.079,-0.653L0.305,-0.653C0.352,-0.653 0.395,-0.646 0.433,-0.633C0.471,-0.62 0.502,-0.599 0.524,-0.569C0.547,-0.539 0.558,-0.498 0.558,-0.446C0.558,-0.396 0.547,-0.355 0.524,-0.322C0.501,-0.29 0.47,-0.266 0.432,-0.251C0.394,-0.235 0.351,-0.228 0.305,-0.228L0.216,-0.228L0.216,-0L0.079,-0ZM0.216,-0.336L0.296,-0.336C0.339,-0.336 0.372,-0.346 0.392,-0.364C0.413,-0.383 0.424,-0.41 0.424,-0.446C0.424,-0.482 0.413,-0.508 0.391,-0.522C0.37,-0.537 0.338,-0.544 0.296,-0.544L0.216,-0.544L0.216,-0.336Z"
|
||||
style="fill:rgb(248,250,252);fill-rule:nonzero;"
|
||||
id="path4" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(31.25,0,0,31.25,111.077928,149.80372)"
|
||||
id="g6">
|
||||
<path
|
||||
d="M0.069,-0L0.069,-0.652L0.21,-0.652L0.359,-0.314L0.416,-0.172L0.42,-0.172C0.417,-0.206 0.413,-0.244 0.408,-0.285C0.403,-0.326 0.401,-0.366 0.401,-0.404L0.401,-0.652L0.531,-0.652L0.531,-0L0.39,-0L0.241,-0.339L0.184,-0.481L0.18,-0.481C0.183,-0.445 0.187,-0.407 0.192,-0.367C0.197,-0.327 0.199,-0.287 0.199,-0.25L0.199,-0L0.069,-0Z"
|
||||
style="fill:rgb(248,250,252);fill-rule:nonzero;"
|
||||
id="path5" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(31.25,0,0,31.25,129.827642,149.80372)"
|
||||
id="g7">
|
||||
<path
|
||||
d="M0.342,0.012C0.287,0.012 0.237,-0.001 0.192,-0.026C0.147,-0.051 0.111,-0.089 0.085,-0.139C0.058,-0.189 0.045,-0.25 0.045,-0.323C0.045,-0.395 0.059,-0.457 0.085,-0.508C0.112,-0.559 0.148,-0.598 0.193,-0.625C0.238,-0.651 0.289,-0.665 0.345,-0.665C0.389,-0.665 0.426,-0.656 0.457,-0.639C0.488,-0.622 0.514,-0.603 0.534,-0.582L0.459,-0.497C0.444,-0.512 0.429,-0.524 0.411,-0.533C0.394,-0.542 0.372,-0.546 0.345,-0.546C0.315,-0.546 0.288,-0.537 0.264,-0.52C0.24,-0.502 0.221,-0.477 0.207,-0.445C0.193,-0.412 0.186,-0.373 0.186,-0.328C0.186,-0.281 0.192,-0.241 0.205,-0.208C0.217,-0.175 0.236,-0.15 0.26,-0.133C0.284,-0.115 0.314,-0.106 0.35,-0.106C0.364,-0.106 0.377,-0.108 0.39,-0.112C0.404,-0.116 0.414,-0.122 0.422,-0.129L0.422,-0.251L0.321,-0.251L0.321,-0.363L0.544,-0.363L0.544,-0.066C0.523,-0.046 0.494,-0.028 0.458,-0.012C0.422,0.004 0.384,0.012 0.342,0.012Z"
|
||||
style="fill:rgb(248,250,252);fill-rule:nonzero;"
|
||||
id="path6" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(31.25,0,0,31.25,148.577356,149.80372)"
|
||||
id="g8">
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="文档符号">
|
||||
<g
|
||||
transform="matrix(10.375,0,0,4.552083,-1977.33774,117.427083)"
|
||||
id="g10">
|
||||
<path
|
||||
d="M87,45L87,87L66,87L66,66L76.5,66L76.5,45L87,45Z"
|
||||
style="fill:rgb(139,92,246);"
|
||||
id="path9" />
|
||||
</g>
|
||||
<g
|
||||
id="棋盘格"
|
||||
transform="matrix(1,0,0,1,0,-4.552083)">
|
||||
<g
|
||||
transform="matrix(5.1875,0,0,4.552083,-1744.199519,-69.208333)"
|
||||
id="g11">
|
||||
<rect
|
||||
x="66"
|
||||
y="66"
|
||||
width="21"
|
||||
height="21"
|
||||
style="fill:rgb(139,92,246);fill-opacity:0.2;"
|
||||
id="rect10" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(5.1875,0,0,4.552083,-1635.0625,-69.208333)"
|
||||
id="g12">
|
||||
<rect
|
||||
x="66"
|
||||
y="66"
|
||||
width="21"
|
||||
height="21"
|
||||
style="fill:rgb(139,92,246);fill-opacity:0.5;"
|
||||
id="rect11" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(5.1875,0,0,4.552083,-1634.96274,26.385417)"
|
||||
id="g13">
|
||||
<rect
|
||||
x="66"
|
||||
y="66"
|
||||
width="21"
|
||||
height="21"
|
||||
style="fill:rgb(139,92,246);fill-opacity:0.2;"
|
||||
id="rect12" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(5.1875,0,0,4.552083,-1744.09976,26.385417)"
|
||||
id="g14">
|
||||
<rect
|
||||
x="66"
|
||||
y="66"
|
||||
width="21"
|
||||
height="21"
|
||||
style="fill:rgb(139,92,246);fill-opacity:0.5;"
|
||||
id="rect13" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
@@ -0,0 +1,50 @@
|
||||
[package]
|
||||
name = "ChestnutSoftware.PineapplePictures"
|
||||
version = "1.6.0.0"
|
||||
|
||||
[display]
|
||||
name = "Pineapple Pictures"
|
||||
publisherName = "Chestnut Software"
|
||||
|
||||
[display.zh-CN]
|
||||
name = "菠萝看图"
|
||||
|
||||
[application]
|
||||
id = "PineapplePictures"
|
||||
executable = "ppic.exe"
|
||||
|
||||
[icon]
|
||||
source = "../../assets/icons/app-icon.svg"
|
||||
|
||||
[[fileAssociations]]
|
||||
name = "jpgimages"
|
||||
extensions = ["jpg", "jfif", "jpeg"]
|
||||
logo = "jpeg.svg"
|
||||
|
||||
[[fileAssociations]]
|
||||
name = "pngimages"
|
||||
extensions = ["png"]
|
||||
logo = "png.svg"
|
||||
|
||||
[[fileAssociations]]
|
||||
name = "gifimages"
|
||||
extensions = ["gif"]
|
||||
logo = "gif.svg"
|
||||
|
||||
[[fileAssociations]]
|
||||
name = "svgimages"
|
||||
extensions = ["svg"]
|
||||
logo = "svg.svg"
|
||||
|
||||
[[fileAssociations]]
|
||||
name = "psdimages"
|
||||
extensions = ["psd", "psb", "pdd"]
|
||||
logo = "psd.svg"
|
||||
|
||||
[[fileAssociations]]
|
||||
name = "genericimages"
|
||||
extensions = ["tiff", "tif", "webp", "avif", "bmp", "qoi", "tga", "xcf", "kra", "icns", "ora", "ico"]
|
||||
logo = "generic.svg"
|
||||
|
||||
[resources]
|
||||
languages = ["zh-CN", "en-US"]
|
||||
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 192 192" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(1,0,0,1,-234,-2)">
|
||||
<g id="PSD-export-" serif:id="PSD(export)" transform="matrix(0.192771,0,0,0.21968,570.192771,13.203661)">
|
||||
<rect x="-1744" y="-51" width="996" height="874" style="fill:none;"/>
|
||||
<g id="文档背景">
|
||||
<g transform="matrix(5.226799,0,0,4.552083,-1750.366477,-51)">
|
||||
<path d="M30,143L30,23.98C30,20.68 32.66,18 35.935,18L120.354,18L162,59.923L162,143L30,143Z" style="fill:rgb(248,250,252);"/>
|
||||
</g>
|
||||
<g transform="matrix(5.1875,0,0,4.552083,-1744,-51)">
|
||||
<path d="M120.038,18L162.077,60L125.957,60C122.688,60 120.038,57.35 120.038,54.081L120.038,18Z" style="fill:rgb(0,52,90);fill-opacity:0.5;"/>
|
||||
</g>
|
||||
<g id="底部" transform="matrix(1.007576,0,0,1,6.443582,0)">
|
||||
<g transform="matrix(5.1875,0,0,1.225561,-1743.600962,527.814904)">
|
||||
<path d="M162,66.948L162,125.052C162,152.067 156.139,174 148.921,174L43.079,174C35.861,174 30,152.067 30,125.052L30,66.948C30,39.933 35.861,18 43.079,18L148.921,18C156.139,18 162,39.933 162,66.948Z" style="fill:rgb(0,52,90);"/>
|
||||
</g>
|
||||
<g transform="matrix(4.99537,0,0,4.552083,-1712.860221,-51)">
|
||||
<rect x="25" y="132" width="137.077" height="22" style="fill:rgb(0,52,90);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(5.1875,0,0,4.552083,-1872.759414,12.55798)">
|
||||
<g transform="matrix(31.25,0,0,31.25,92.328214,149.80372)">
|
||||
<path d="M0.079,-0L0.079,-0.653L0.305,-0.653C0.352,-0.653 0.395,-0.646 0.433,-0.633C0.471,-0.62 0.502,-0.599 0.524,-0.569C0.547,-0.539 0.558,-0.498 0.558,-0.446C0.558,-0.396 0.547,-0.355 0.524,-0.322C0.501,-0.29 0.47,-0.266 0.432,-0.251C0.394,-0.235 0.351,-0.228 0.305,-0.228L0.216,-0.228L0.216,-0L0.079,-0ZM0.216,-0.336L0.296,-0.336C0.339,-0.336 0.372,-0.346 0.392,-0.364C0.413,-0.383 0.424,-0.41 0.424,-0.446C0.424,-0.482 0.413,-0.508 0.391,-0.522C0.37,-0.537 0.338,-0.544 0.296,-0.544L0.216,-0.544L0.216,-0.336Z" style="fill:rgb(248,250,252);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(31.25,0,0,31.25,111.077928,149.80372)">
|
||||
<path d="M0.3,0.012C0.255,0.012 0.211,0.004 0.168,-0.012C0.125,-0.029 0.087,-0.052 0.053,-0.083L0.132,-0.177C0.157,-0.156 0.184,-0.139 0.214,-0.126C0.245,-0.113 0.276,-0.106 0.308,-0.106C0.342,-0.106 0.367,-0.112 0.384,-0.124C0.4,-0.137 0.409,-0.152 0.409,-0.17C0.409,-0.187 0.404,-0.201 0.396,-0.211C0.387,-0.221 0.375,-0.229 0.36,-0.237C0.344,-0.244 0.326,-0.252 0.305,-0.26L0.219,-0.297C0.195,-0.307 0.173,-0.319 0.152,-0.334C0.13,-0.35 0.113,-0.369 0.1,-0.392C0.087,-0.415 0.08,-0.442 0.08,-0.474C0.08,-0.509 0.09,-0.542 0.11,-0.57C0.129,-0.599 0.157,-0.622 0.192,-0.639C0.228,-0.656 0.269,-0.665 0.315,-0.665C0.354,-0.665 0.393,-0.657 0.43,-0.643C0.468,-0.628 0.5,-0.607 0.529,-0.58L0.46,-0.493C0.437,-0.51 0.414,-0.523 0.391,-0.533C0.368,-0.542 0.34,-0.546 0.308,-0.546C0.281,-0.546 0.26,-0.541 0.243,-0.53C0.227,-0.519 0.218,-0.503 0.218,-0.482C0.218,-0.467 0.223,-0.455 0.233,-0.446C0.242,-0.437 0.255,-0.429 0.271,-0.422C0.288,-0.414 0.306,-0.407 0.326,-0.399L0.408,-0.364C0.437,-0.354 0.461,-0.341 0.482,-0.325C0.503,-0.309 0.52,-0.29 0.531,-0.268C0.543,-0.245 0.548,-0.218 0.548,-0.187C0.548,-0.152 0.539,-0.119 0.519,-0.088C0.5,-0.058 0.471,-0.034 0.434,-0.015C0.397,0.003 0.352,0.012 0.3,0.012Z" style="fill:rgb(248,250,252);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(31.25,0,0,31.25,129.827642,149.80372)">
|
||||
<path d="M0.073,-0L0.073,-0.653L0.25,-0.653C0.314,-0.653 0.369,-0.641 0.416,-0.618C0.462,-0.595 0.498,-0.559 0.524,-0.511C0.549,-0.464 0.562,-0.403 0.562,-0.329C0.562,-0.255 0.549,-0.194 0.524,-0.145C0.499,-0.096 0.463,-0.06 0.418,-0.036C0.372,-0.012 0.319,-0 0.258,-0L0.073,-0ZM0.21,-0.11L0.242,-0.11C0.279,-0.11 0.311,-0.118 0.338,-0.132C0.365,-0.147 0.385,-0.17 0.4,-0.202C0.414,-0.234 0.422,-0.276 0.422,-0.329C0.422,-0.382 0.414,-0.423 0.4,-0.454C0.385,-0.486 0.365,-0.508 0.338,-0.522C0.311,-0.535 0.279,-0.542 0.242,-0.542L0.21,-0.542L0.21,-0.11Z" style="fill:rgb(248,250,252);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(31.25,0,0,31.25,148.577356,149.80372)">
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(5.1875,0,0,4.552083,-2947.5,-37.34375)">
|
||||
<path d="M356,73.359L356,105.641C356,112.462 350.462,118 343.641,118L311.359,118C304.538,118 299,112.462 299,105.641L299,73.359C299,66.538 304.538,61 311.359,61L343.641,61C350.462,61 356,66.538 356,73.359Z" style="fill:rgb(0,30,54);"/>
|
||||
</g>
|
||||
<g transform="matrix(5.1875,0,0,4.552083,-1868.086637,-257.182297)">
|
||||
<g transform="matrix(37.5,0,0,37.5,99.078128,149.80372)">
|
||||
<path d="M0.079,-0L0.079,-0.653L0.305,-0.653C0.352,-0.653 0.395,-0.646 0.433,-0.633C0.471,-0.62 0.502,-0.599 0.524,-0.569C0.547,-0.539 0.558,-0.498 0.558,-0.446C0.558,-0.396 0.547,-0.355 0.524,-0.322C0.501,-0.29 0.47,-0.266 0.432,-0.251C0.394,-0.235 0.351,-0.228 0.305,-0.228L0.216,-0.228L0.216,-0L0.079,-0ZM0.216,-0.336L0.296,-0.336C0.339,-0.336 0.372,-0.346 0.392,-0.364C0.413,-0.383 0.424,-0.41 0.424,-0.446C0.424,-0.482 0.413,-0.508 0.391,-0.522C0.37,-0.537 0.338,-0.544 0.296,-0.544L0.216,-0.544L0.216,-0.336Z" style="fill:rgb(49,168,255);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(37.5,0,0,37.5,119.327785,149.80372)">
|
||||
<path d="M0.298,0.012C0.254,0.012 0.21,0.004 0.167,-0.011C0.124,-0.026 0.087,-0.044 0.056,-0.064L0.114,-0.149C0.144,-0.13 0.176,-0.115 0.21,-0.105C0.244,-0.094 0.279,-0.089 0.317,-0.089C0.346,-0.089 0.368,-0.094 0.382,-0.103C0.396,-0.113 0.403,-0.124 0.403,-0.137C0.403,-0.145 0.401,-0.151 0.397,-0.157C0.394,-0.163 0.387,-0.168 0.378,-0.173C0.369,-0.177 0.356,-0.182 0.34,-0.186C0.323,-0.191 0.302,-0.196 0.276,-0.201C0.21,-0.216 0.161,-0.235 0.132,-0.26C0.102,-0.285 0.087,-0.316 0.087,-0.354C0.087,-0.399 0.107,-0.436 0.146,-0.464C0.186,-0.492 0.241,-0.506 0.311,-0.506C0.354,-0.506 0.394,-0.5 0.43,-0.486C0.466,-0.472 0.497,-0.456 0.522,-0.439L0.461,-0.357C0.436,-0.373 0.41,-0.385 0.382,-0.393C0.354,-0.401 0.326,-0.405 0.298,-0.405C0.281,-0.405 0.267,-0.403 0.255,-0.4C0.244,-0.396 0.236,-0.39 0.231,-0.384C0.225,-0.377 0.222,-0.369 0.222,-0.361C0.222,-0.346 0.231,-0.335 0.25,-0.328C0.268,-0.321 0.298,-0.312 0.341,-0.303C0.393,-0.291 0.433,-0.278 0.462,-0.264C0.49,-0.25 0.51,-0.233 0.521,-0.214C0.532,-0.195 0.538,-0.172 0.538,-0.145C0.538,-0.116 0.529,-0.09 0.511,-0.066C0.492,-0.042 0.465,-0.023 0.43,-0.009C0.394,0.005 0.35,0.012 0.298,0.012Z" style="fill:rgb(49,168,255);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(37.5,0,0,37.5,141.827441,149.80372)">
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.3 KiB |
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 192 192" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
||||
<g transform="matrix(1,0,0,1,-955,-3)">
|
||||
<g id="SVG-export-" serif:id="SVG(export)" transform="matrix(1,0,0,1,713,-239)">
|
||||
<rect x="242" y="242" width="192" height="192" style="fill:none;"/>
|
||||
<g id="文档背景" transform="matrix(0.192771,0,0,0.21968,578.192771,253.203661)">
|
||||
<g transform="matrix(5.226799,0,0,4.552083,-1750.366477,-51)">
|
||||
<path d="M30,143L30,23.98C30,20.68 32.66,18 35.935,18L120.354,18L162,59.923L162,143L30,143Z" style="fill:rgb(248,250,252);"/>
|
||||
</g>
|
||||
<g transform="matrix(5.1875,0,0,4.552083,-1744,-51)">
|
||||
<path d="M120.038,18L162.077,60L125.957,60C122.688,60 120.038,57.35 120.038,54.081L120.038,18Z" style="fill:rgb(245,158,11);fill-opacity:0.5;"/>
|
||||
</g>
|
||||
<g id="底部" transform="matrix(1.007576,0,0,1,6.443582,0)">
|
||||
<g transform="matrix(5.1875,0,0,1.225561,-1743.600962,527.814904)">
|
||||
<path d="M162,66.948L162,125.052C162,152.067 156.139,174 148.921,174L43.079,174C35.861,174 30,152.067 30,125.052L30,66.948C30,39.933 35.861,18 43.079,18L148.921,18C156.139,18 162,39.933 162,66.948Z" style="fill:rgb(245,158,11);"/>
|
||||
</g>
|
||||
<g transform="matrix(4.99537,0,0,4.552083,-1712.860221,-51)">
|
||||
<rect x="25" y="132" width="137.077" height="22" style="fill:rgb(245,158,11);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,217.407431,255.962394)">
|
||||
<g transform="matrix(31.25,0,0,31.25,92.328214,149.80372)">
|
||||
<path d="M0.3,0.012C0.255,0.012 0.211,0.004 0.168,-0.012C0.125,-0.029 0.087,-0.052 0.053,-0.083L0.132,-0.177C0.157,-0.156 0.184,-0.139 0.214,-0.126C0.245,-0.113 0.276,-0.106 0.308,-0.106C0.342,-0.106 0.367,-0.112 0.384,-0.124C0.4,-0.137 0.409,-0.152 0.409,-0.17C0.409,-0.187 0.404,-0.201 0.396,-0.211C0.387,-0.221 0.375,-0.229 0.36,-0.237C0.344,-0.244 0.326,-0.252 0.305,-0.26L0.219,-0.297C0.195,-0.307 0.173,-0.319 0.152,-0.334C0.13,-0.35 0.113,-0.369 0.1,-0.392C0.087,-0.415 0.08,-0.442 0.08,-0.474C0.08,-0.509 0.09,-0.542 0.11,-0.57C0.129,-0.599 0.157,-0.622 0.192,-0.639C0.228,-0.656 0.269,-0.665 0.315,-0.665C0.354,-0.665 0.393,-0.657 0.43,-0.643C0.468,-0.628 0.5,-0.607 0.529,-0.58L0.46,-0.493C0.437,-0.51 0.414,-0.523 0.391,-0.533C0.368,-0.542 0.34,-0.546 0.308,-0.546C0.281,-0.546 0.26,-0.541 0.243,-0.53C0.227,-0.519 0.218,-0.503 0.218,-0.482C0.218,-0.467 0.223,-0.455 0.233,-0.446C0.242,-0.437 0.255,-0.429 0.271,-0.422C0.288,-0.414 0.306,-0.407 0.326,-0.399L0.408,-0.364C0.437,-0.354 0.461,-0.341 0.482,-0.325C0.503,-0.309 0.52,-0.29 0.531,-0.268C0.543,-0.245 0.548,-0.218 0.548,-0.187C0.548,-0.152 0.539,-0.119 0.519,-0.088C0.5,-0.058 0.471,-0.034 0.434,-0.015C0.397,0.003 0.352,0.012 0.3,0.012Z" style="fill:rgb(248,250,252);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(31.25,0,0,31.25,111.077928,149.80372)">
|
||||
<path d="M0.218,-0L0.019,-0.653L0.164,-0.653L0.247,-0.34C0.258,-0.304 0.267,-0.269 0.274,-0.236C0.282,-0.202 0.291,-0.167 0.301,-0.13L0.305,-0.13C0.316,-0.167 0.325,-0.202 0.333,-0.236C0.341,-0.269 0.35,-0.304 0.359,-0.34L0.441,-0.653L0.581,-0.653L0.382,-0L0.218,-0Z" style="fill:rgb(248,250,252);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(31.25,0,0,31.25,129.827642,149.80372)">
|
||||
<path d="M0.342,0.012C0.287,0.012 0.237,-0.001 0.192,-0.026C0.147,-0.051 0.111,-0.089 0.085,-0.139C0.058,-0.189 0.045,-0.25 0.045,-0.323C0.045,-0.395 0.059,-0.457 0.085,-0.508C0.112,-0.559 0.148,-0.598 0.193,-0.625C0.238,-0.651 0.289,-0.665 0.345,-0.665C0.389,-0.665 0.426,-0.656 0.457,-0.639C0.488,-0.622 0.514,-0.603 0.534,-0.582L0.459,-0.497C0.444,-0.512 0.429,-0.524 0.411,-0.533C0.394,-0.542 0.372,-0.546 0.345,-0.546C0.315,-0.546 0.288,-0.537 0.264,-0.52C0.24,-0.502 0.221,-0.477 0.207,-0.445C0.193,-0.412 0.186,-0.373 0.186,-0.328C0.186,-0.281 0.192,-0.241 0.205,-0.208C0.217,-0.175 0.236,-0.15 0.26,-0.133C0.284,-0.115 0.314,-0.106 0.35,-0.106C0.364,-0.106 0.377,-0.108 0.39,-0.112C0.404,-0.116 0.414,-0.122 0.422,-0.129L0.422,-0.251L0.321,-0.251L0.321,-0.363L0.544,-0.363L0.544,-0.066C0.523,-0.046 0.494,-0.028 0.458,-0.012C0.422,0.004 0.384,0.012 0.342,0.012Z" style="fill:rgb(248,250,252);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(31.25,0,0,31.25,148.577356,149.80372)">
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,0,1)">
|
||||
<path d="M309,307L367,307" style="fill:none;stroke:rgb(59,130,246);stroke-opacity:0.7;stroke-width:2.08px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,3,54)">
|
||||
<path d="M309,307L367,307" style="fill:none;stroke:rgb(59,130,246);stroke-opacity:0.7;stroke-width:2.08px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,0,1)">
|
||||
<path d="M312,360C371,360 308,307 367,307" style="fill:none;stroke:rgb(245,158,11);stroke-width:5.21px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.6,0,0,1.6,-219.4,-180.8)">
|
||||
<circle cx="366.5" cy="305.5" r="2.5" style="fill:rgb(59,130,246);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.6,0,0,1.6,-274.4,-127.8)">
|
||||
<circle cx="366.5" cy="305.5" r="2.5" style="fill:rgb(59,130,246);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.8 KiB |
@@ -7,11 +7,11 @@
|
||||
// Icon resources (referenced from the registry as "<exe path>,-<id>")
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
101 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/embeds/app.ico" // app
|
||||
102 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/embeds/bmp.ico" // bmp
|
||||
103 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/embeds/gif.ico" // gif
|
||||
104 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/embeds/jpg.ico" // jpg
|
||||
105 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/embeds/png.ico" // png
|
||||
101 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/winrc-icos/app.ico" // app
|
||||
102 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/winrc-icos/bmp.ico" // bmp
|
||||
103 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/winrc-icos/gif.ico" // gif
|
||||
104 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/winrc-icos/jpg.ico" // jpg
|
||||
105 ICON "@CMAKE_CURRENT_SOURCE_DIR@/dist/winrc-icos/png.ico" // png
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// String tables (file type descriptions, referenced as "@<exe path>,-<id>")
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
[CustomMessages]
|
||||
MyAppName={{ strings.MyAppName | inno_escape }}
|
||||
MyOther={{ strings.MyOther | inno_escape }}
|
||||
MyAssociateWithFiles={{ strings.MyAssociateWithFiles | inno_escape }}
|
||||
MyInstallVcRedist={{ strings.MyInstallVcRedist | inno_escape }}
|
||||
@@ -0,0 +1,362 @@
|
||||
; Script for generating the Pineapple Pictures installer.
|
||||
|
||||
#define MyAppName "Pineapple Pictures"
|
||||
#define MyAppVersion "@PROJECT_VERSION@"
|
||||
#define MyAppPublisher "BLumia"
|
||||
#define MyAppURL "https://github.com/BLumia/pineapple-pictures"
|
||||
#define MyAppExeName "ppic.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.)
|
||||
{% comment %}
|
||||
The escaped double opening brace in the AppId value below is wrapped in a Liquid raw block,
|
||||
because it would otherwise open a Liquid output tag.
|
||||
{% endcomment %}
|
||||
AppId={% raw %}{{B5291320-FE7C-4069-BF87-A0AC327FCD20}{% endraw %}
|
||||
AppName={cm:MyAppName}
|
||||
AppVersion={#MyAppVersion} ;{#MyAppName} {#MyAppVersion}
|
||||
AppPublisher={#MyAppPublisher}
|
||||
AppPublisherURL={#MyAppURL}
|
||||
AppSupportURL={#MyAppURL}
|
||||
AppUpdatesURL={#MyAppURL}
|
||||
; Explicit literals (via preprocessor defines): the Setup.exe version info resource
|
||||
; must not fall back to AppName, because AppName carries an Inno constant and the
|
||||
; fallback yields an empty string in that case.
|
||||
VersionInfoDescription={#MyAppName} Setup
|
||||
VersionInfoProductName={#MyAppName}
|
||||
DefaultDirName={autopf}\pineapple-pictures
|
||||
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
|
||||
ChangesAssociations=yes
|
||||
DefaultGroupName={cm:MyAppName}
|
||||
AllowNoIcons=yes
|
||||
LicenseFile=LICENSE
|
||||
; Uncomment the following line to run in non administrative install mode (install for current user only).
|
||||
;PrivilegesRequired=lowest
|
||||
PrivilegesRequiredOverridesAllowed=dialog
|
||||
OutputDir=.
|
||||
OutputBaseFilename=ppic-setup
|
||||
SolidCompression=yes
|
||||
WizardStyle=modern
|
||||
|
||||
[Languages]
|
||||
{% for lang in langs -%}
|
||||
{% case lang -%}
|
||||
{% when 'zh_CN' -%}
|
||||
{% assign base = 'compiler:Languages\ChineseSimplified.isl' -%}
|
||||
{% else -%}
|
||||
{% assign base = 'compiler:Default.isl' -%}
|
||||
{% endcase -%}
|
||||
Name: "{{ lang }}"; MessagesFile: "{{ base }},Strings\{{ lang }}.isl"
|
||||
{% endfor -%}
|
||||
|
||||
[Tasks]
|
||||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||||
Name: "associatewithfiles"; Description: "{cm:MyAssociateWithFiles,{#MyAppName}}"; GroupDescription: "{cm:MyOther}"
|
||||
|
||||
[Files]
|
||||
; YYC MARK:
|
||||
; This file MUST be placed with "ppic.exe" before compiling this script.
|
||||
; Otherwise exception will be thrown.
|
||||
Source: "{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "*"; Excludes: "vc_redist.x64.exe,ppic-setup.exe,ppic.iss,Strings"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: "vc_redist.x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
|
||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||
|
||||
[Registry]
|
||||
; Registration scheme follows the app-registration model (App Paths + Applications
|
||||
; keys plus per-family ProgIds), with all display names and icons referenced as
|
||||
; indirect strings into ppic.exe itself (string table 1000-1028, icons 101-105),
|
||||
; so the registry values stay language-neutral and Explorer resolves them per
|
||||
; user UI language. Adding a new file family: copy a family block below, adjust
|
||||
; the ProgId, string ID, icon ID and extension list, then add the extensions to
|
||||
; SupportedTypes. String/icon IDs must exist in the Windows RC resources
|
||||
; (dist/pineapple-pictures.rc.in.toml and dist/winrc-icos).
|
||||
|
||||
; --- Application registration (always installed) ---
|
||||
|
||||
; App Paths: lets the shell resolve "ppic.exe" by name and locates its DLL directory.
|
||||
Root: HKA; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\ppic.exe"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\ppic.exe"; ValueType: string; ValueName: "Path"; ValueData: "{app}"
|
||||
; Applications: makes ppic.exe itself appear in the "Open with" lists.
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe"; ValueType: string; ValueName: "FriendlyAppName"; ValueData: "@{app}\ppic.exe,-1000"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe"; ValueType: string; ValueName: "NoOpenWith"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-101"
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
; SupportedTypes: declares the supported types to filter the "Open with" dialog.
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".ani"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".apng"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".avif"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".bmp"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".bw"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".dds"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".exr"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".gif"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".hdr"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".icns"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".ico"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".iff"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".jfif"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".jpeg"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".jpg"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".kra"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".ora"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".pdd"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".pcx"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".pfm"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".phm"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".pic"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".png"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".psb"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".psd"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".psdt"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".pxr"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".qoi"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".ras"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".rgb"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".rgba"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".sct"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".sgi"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".sun"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".svg"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".tga"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".tif"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".tiff"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".wbmp"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".webp"; ValueData: ""
|
||||
Root: HKA; Subkey: "Software\Classes\Applications\ppic.exe\SupportedTypes"; ValueType: string; ValueName: ".xcf"; ValueData: ""
|
||||
|
||||
; --- File type ProgId declarations (always installed) ---
|
||||
; Per family: one ProgId shared by its extensions, always registered. Default
|
||||
; value and FriendlyTypeName both carry the indirect string; DefaultIcon
|
||||
; references the embedded icon by resource ID (101 app, 102 bmp, 103 gif,
|
||||
; 104 jpg, 105 png). Only the OpenWithProgids line(s) at the end of each
|
||||
; family block claim the actual association and are gated by the installer
|
||||
; task "associatewithfiles".
|
||||
|
||||
; JPEG family (string 1001, icon 104)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Jpeg"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1001"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Jpeg"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1001"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Jpeg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Jpeg\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.jpg\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Jpeg"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.jpeg\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Jpeg"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.jfif\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Jpeg"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; GIF family (string 1002, icon 103)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Gif"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1002"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Gif"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1002"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Gif\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-103"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Gif\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.gif\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Gif"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; PNG family (string 1003, icon 105)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Png"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1003"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Png"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1003"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Png\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-105"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Png\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.png\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Png"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.apng\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Png"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; SVG (string 1004, icon 105 - transparency capable)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Svg"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1004"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Svg"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1004"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Svg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-105"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Svg\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.svg\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Svg"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; WebP (string 1005, icon 105 - transparency capable)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Webp"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1005"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Webp"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1005"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Webp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-105"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Webp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.webp\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Webp"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; AVIF (string 1006, icon 105 - transparency capable)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Avif"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1006"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Avif"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1006"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Avif\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-105"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Avif\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.avif\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Avif"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; ICO (string 1007, icon 105 - transparency capable)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ico"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1007"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ico"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1007"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ico\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-105"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ico\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.ico\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Ico"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; ICNS (string 1008, icon 105 - transparency capable)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Icns"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1008"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Icns"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1008"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Icns\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-105"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Icns\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.icns\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Icns"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Photoshop family (string 1009, icon 102 - artwork)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Psd"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1009"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Psd"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1009"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Psd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-102"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Psd\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.psd\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Psd"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.psb\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Psd"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.pdd\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Psd"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.psdt\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Psd"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Krita (string 1010, icon 102 - artwork)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Kra"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1010"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Kra"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1010"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Kra\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-102"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Kra\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.kra\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Kra"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; GIMP XCF (string 1011, icon 102 - artwork)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Xcf"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1011"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Xcf"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1011"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Xcf\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-102"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Xcf\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.xcf\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Xcf"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; TARGA (string 1012, icon 102 - artwork)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Tga"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1012"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Tga"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1012"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Tga\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-102"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Tga\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.tga\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Tga"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; TIFF family (string 1013, icon 104 - photo)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Tif"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1013"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Tif"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1013"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Tif\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Tif\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.tif\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Tif"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.tiff\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Tif"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; BMP (string 1014, icon 102)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Bmp"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1014"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Bmp"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1014"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Bmp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-102"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Bmp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.bmp\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Bmp"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Wireless BMP (string 1015, icon 102)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Wbmp"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1015"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Wbmp"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1015"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Wbmp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-102"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Wbmp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.wbmp\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Wbmp"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; DirectDraw Surface (string 1016, icon 102 - artwork)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Dds"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1016"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Dds"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1016"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Dds\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-102"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Dds\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.dds\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Dds"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; HDR family incl. EXR (string 1017, icon 104 - photo)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Hdr"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1017"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Hdr"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1017"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Hdr\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Hdr\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.hdr\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Hdr"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.exr\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Hdr"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; IFF (string 1018, icon 104 - fallback)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Iff"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1018"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Iff"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1018"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Iff\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Iff\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.iff\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Iff"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Softimage PIC (string 1019, icon 104 - fallback)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pic"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1019"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pic"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1019"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pic\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pic\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.pic\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Pic"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; PCX (string 1020, icon 104 - fallback)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pcx"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1020"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pcx"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1020"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pcx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pcx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.pcx\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Pcx"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; QOI (string 1021, icon 105 - transparency capable)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Qoi"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1021"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Qoi"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1021"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Qoi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-105"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Qoi\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.qoi\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Qoi"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Sun Raster family (string 1022, icon 104 - fallback)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ras"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1022"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ras"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1022"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ras\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ras\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.ras\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Ras"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.sun\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Ras"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; OpenRaster (string 1023, icon 102 - artwork)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ora"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1023"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ora"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1023"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ora\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-102"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ora\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.ora\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Ora"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Animated Cursor (string 1024, icon 103 - animated)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ani"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1024"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ani"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1024"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ani\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-103"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Ani\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.ani\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Ani"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Portable Float Map family (string 1025, icon 104 - photo/HDR)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pfm"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1025"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pfm"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1025"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pfm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pfm\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.pfm\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Pfm"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.phm\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Pfm"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Silicon Graphics family (string 1026, icon 104 - fallback)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Rgb"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1026"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Rgb"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1026"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Rgb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Rgb\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.rgb\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Rgb"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.rgba\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Rgb"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.bw\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Rgb"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
Root: HKA; Subkey: "Software\Classes\.sgi\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Rgb"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Pixar (string 1027, icon 104 - fallback)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pxr"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1027"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pxr"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1027"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pxr\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Pxr\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.pxr\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Pxr"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
; Scitex CT (string 1028, icon 104 - fallback)
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Sct"; ValueType: string; ValueName: ""; ValueData: "@{app}\ppic.exe,-1028"; Flags: uninsdeletekey
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Sct"; ValueType: string; ValueName: "FriendlyTypeName"; ValueData: "@{app}\ppic.exe,-1028"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Sct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\ppic.exe,-104"
|
||||
Root: HKA; Subkey: "Software\Classes\PineapplePictures.Sct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\ppic.exe"" ""%1"""
|
||||
Root: HKA; Subkey: "Software\Classes\.sct\OpenWithProgids"; ValueType: string; ValueName: "PineapplePictures.Sct"; ValueData: ""; Flags: uninsdeletevalue uninsdeletekeyifempty; Tasks: associatewithfiles
|
||||
|
||||
[Icons]
|
||||
Name: "{group}\{cm:MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
||||
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "https://github.com/BLumia/pineapple-pictures"
|
||||
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
|
||||
Name: "{autodesktop}\{cm:MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
|
||||
|
||||
[Run]
|
||||
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#MyAppName}}"; Flags: nowait postinstall skipifsilent
|
||||
Filename: "{tmp}\vc_redist.x64.exe"; Parameters: "/install /quiet /norestart"; StatusMsg: "{cm:MyInstallVcRedist}"; Flags: waituntilterminated
|
||||
@@ -0,0 +1,18 @@
|
||||
version = 1
|
||||
source_language = "en"
|
||||
|
||||
[strings.MyAppName]
|
||||
msgid = "Pineapple Pictures"
|
||||
comment = "Display name of the application, used in the installer UI."
|
||||
|
||||
[strings.MyOther]
|
||||
msgid = "Other:"
|
||||
comment = "Group caption for the extra installer task options."
|
||||
|
||||
[strings.MyAssociateWithFiles]
|
||||
msgid = "Associate %1 with its supported file types."
|
||||
comment = "Installer task description. %1 is the application name."
|
||||
|
||||
[strings.MyInstallVcRedist]
|
||||
msgid = "Installing Microsoft Visual C++ Redistributable..."
|
||||
comment = "Status message shown while installing the VC++ runtime."
|
||||
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
@@ -0,0 +1,28 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MetaGlot/polib\n"
|
||||
|
||||
#. Display name of the application, used in the installer UI.
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. Group caption for the extra installer task options.
|
||||
msgid "Other:"
|
||||
msgstr ""
|
||||
|
||||
#. Installer task description. %1 is the application name.
|
||||
msgid "Associate %1 with its supported file types."
|
||||
msgstr ""
|
||||
|
||||
#. Status message shown while installing the VC++ runtime.
|
||||
msgid "Installing Microsoft Visual C++ Redistributable..."
|
||||
msgstr ""
|
||||
@@ -0,0 +1,24 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: pineapple-pictures\n"
|
||||
"Language: zh_CN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. Display name of the application, used in the installer UI.
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr "菠萝看图"
|
||||
|
||||
#. Group caption for the extra installer task options.
|
||||
msgid "Other:"
|
||||
msgstr "其他:"
|
||||
|
||||
#. Installer task description. %1 is the application name.
|
||||
msgid "Associate %1 with its supported file types."
|
||||
msgstr "将 %1 与其支持的文件类型关联。"
|
||||
|
||||
#. Status message shown while installing the VC++ runtime.
|
||||
msgid "Installing Microsoft Visual C++ Redistributable..."
|
||||
msgstr "正在安装 Microsoft Visual C++ 运行库..."
|
||||
@@ -0,0 +1,36 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MetaGlot/polib\n"
|
||||
|
||||
#. Display name of the application.
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. Name of the JPEG document type (jpg, jpeg, jfif).
|
||||
msgid "JPEG Image"
|
||||
msgstr ""
|
||||
|
||||
#. Name of the PNG document type.
|
||||
msgid "PNG Image"
|
||||
msgstr ""
|
||||
|
||||
#. Name of the WebP document type.
|
||||
msgid "WebP Image"
|
||||
msgstr ""
|
||||
|
||||
#. Name of the GIF document type.
|
||||
msgid "GIF Image"
|
||||
msgstr ""
|
||||
|
||||
#. Name of the SVG document type.
|
||||
msgid "SVG Image"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,32 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: pineapple-pictures\n"
|
||||
"Language: zh_CN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. Display name of the application.
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr "菠萝看图"
|
||||
|
||||
#. Name of the JPEG document type (jpg, jpeg, jfif).
|
||||
msgid "JPEG Image"
|
||||
msgstr "JPEG 图像"
|
||||
|
||||
#. Name of the PNG document type.
|
||||
msgid "PNG Image"
|
||||
msgstr "PNG 图像"
|
||||
|
||||
#. Name of the WebP document type.
|
||||
msgid "WebP Image"
|
||||
msgstr "WebP 图像"
|
||||
|
||||
#. Name of the GIF document type.
|
||||
msgid "GIF Image"
|
||||
msgstr "GIF 图像"
|
||||
|
||||
#. Name of the SVG document type.
|
||||
msgid "SVG Image"
|
||||
msgstr "SVG 图像"
|
||||