Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
042e0d52c9 | ||
|
|
b35d6712f4 | ||
|
|
85cb638be9 | ||
|
|
014372b9c0 | ||
|
|
2131f4ffa3 | ||
|
|
1cb4d55335 | ||
|
|
9b67599979 | ||
|
|
6ff4330f26 | ||
|
|
aa8e8fecf4 | ||
|
|
56af1c154a | ||
|
|
22cae20707 | ||
|
|
447a6b45af | ||
|
|
f946247d1d | ||
|
|
f9991998ed |
@@ -9,6 +9,12 @@ jobs:
|
||||
|
||||
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: Install Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
|
||||
@@ -7,6 +7,12 @@ jobs:
|
||||
runs-on: ubuntu-24.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
|
||||
@@ -26,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
|
||||
|
||||
@@ -3,45 +3,6 @@ name: Windows CI
|
||||
on: [push, pull_request, workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
msvc-qmake-build:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- qt_ver: '6.11.2'
|
||||
vs: '2022'
|
||||
aqt_arch: 'win64_msvc2022_64'
|
||||
msvc_arch: 'x64'
|
||||
|
||||
runs-on: windows-2022
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
arch: ${{ matrix.aqt_arch }}
|
||||
version: ${{ matrix.qt_ver }}
|
||||
modules: 'qtimageformats'
|
||||
cache: true
|
||||
# we need this until miurahr/aqtinstall#1007 ships 3.3.1 for Qt >= 6.11.0 for Windows.
|
||||
aqtsource: 'aqtinstall @ git+https://github.com/miurahr/aqtinstall@16db45a70b5905ad596941b223469bc86a56901e'
|
||||
- name: Build
|
||||
shell: cmd
|
||||
run: |
|
||||
set VS=${{ matrix.vs }}
|
||||
set VCVARS="C:\Program Files (x86)\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
if not exist %VCVARS% set VCVARS="C:\Program Files\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
call %VCVARS% ${{ matrix.msvc_arch }}
|
||||
qmake pineapple-pictures.pro
|
||||
nmake
|
||||
nmake clean
|
||||
windeployqt --verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --no-system-dxc-compiler --skip-plugin-types tls,networkinformation release\ppic.exe
|
||||
- uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: "windows-msvc${{ matrix.vs }}-qt${{ matrix.qt_ver }}-qmake-package"
|
||||
path: release/*
|
||||
|
||||
msvc-cmake-build:
|
||||
|
||||
strategy:
|
||||
@@ -56,6 +17,12 @@ jobs:
|
||||
|
||||
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: Install Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
@@ -64,7 +31,7 @@ jobs:
|
||||
modules: 'qtimageformats'
|
||||
cache: true
|
||||
# we need this until miurahr/aqtinstall#1007 ships 3.3.1 for Qt >= 6.11.0 for Windows.
|
||||
aqtsource: 'aqtinstall @ git+https://github.com/miurahr/aqtinstall@16db45a70b5905ad596941b223469bc86a56901e'
|
||||
aqtsource: 'aqtinstall @ git+https://github.com/miurahr/aqtinstall@16db45a70b5905ad596941b223469bc86a56901a'
|
||||
- name: Build
|
||||
shell: cmd
|
||||
run: |
|
||||
@@ -98,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 =====
|
||||
@@ -125,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
|
||||
|
||||
@@ -96,12 +96,31 @@ set (PPIC_RC_FILES
|
||||
set (EXE_NAME ppic)
|
||||
|
||||
# Translation
|
||||
file (GLOB PPIC_TS_FILES app/translations/*.ts)
|
||||
file (GLOB PPIC_TS_FILES locales/app/*.ts)
|
||||
set (PPIC_CPP_FILES_FOR_I18N ${PPIC_CPP_FILES})
|
||||
|
||||
find_program (UV_EXECUTABLE uv)
|
||||
if (NOT UV_EXECUTABLE)
|
||||
message (FATAL_ERROR "uv is required to run the metaglot tool, install it from https://docs.astral.sh/uv/")
|
||||
endif ()
|
||||
|
||||
if (WIN32)
|
||||
configure_file(assets/pineapple-pictures.rc.in pineapple-pictures.rc @ONLY)
|
||||
list(APPEND PPIC_RC_FILES ${CMAKE_CURRENT_BINARY_DIR}/pineapple-pictures.rc)
|
||||
# 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
|
||||
--manifest ${CMAKE_SOURCE_DIR}/dist/pineapple-pictures.rc.in.toml
|
||||
--po ${CMAKE_SOURCE_DIR}/locales/winrc/*.po
|
||||
--template ${CMAKE_SOURCE_DIR}/dist/pineapple-pictures.rc.in.liquid
|
||||
--output ${PPIC_RC_TEMPLATE_FILE}
|
||||
RESULT_VARIABLE METAGLOT_RESULT
|
||||
)
|
||||
if (NOT METAGLOT_RESULT EQUAL 0)
|
||||
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)
|
||||
list (APPEND PPIC_RC_FILES ${CMAKE_CURRENT_BINARY_DIR}/pineapple-pictures.rc)
|
||||
endif ()
|
||||
|
||||
add_executable (${EXE_NAME}
|
||||
@@ -210,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)
|
||||
set_source_files_properties(assets/icons/app-icon.icns PROPERTIES
|
||||
# Include icon to project
|
||||
set_source_files_properties(dist/sarasacw-picture.icns PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION "Resources"
|
||||
)
|
||||
target_sources(${EXE_NAME} PUBLIC assets/icons/app-icon.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 app-icon.icns # contains the .icns file name, *without* the path.
|
||||
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)
|
||||
@@ -232,20 +298,45 @@ elseif (UNIX)
|
||||
|
||||
# install icon
|
||||
install (
|
||||
FILES assets/icons/app-icon.svg
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps"
|
||||
RENAME net.blumia.pineapple-pictures.svg
|
||||
DIRECTORY dist/freedesktop-icons/
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor"
|
||||
)
|
||||
|
||||
# install shortcut
|
||||
# generate and install desktop entry file
|
||||
set (PPIC_DESKTOP_FILE ${CMAKE_CURRENT_BINARY_DIR}/net.blumia.pineapple-pictures.desktop)
|
||||
execute_process (
|
||||
COMMAND ${UV_EXECUTABLE} tool run metaglot render desktop
|
||||
--manifest ${CMAKE_SOURCE_DIR}/dist/net.blumia.pineapple-pictures.desktop.toml
|
||||
--po ${CMAKE_SOURCE_DIR}/locales/desktop/*.po
|
||||
--template ${CMAKE_SOURCE_DIR}/dist/net.blumia.pineapple-pictures.desktop.liquid
|
||||
--output ${PPIC_DESKTOP_FILE}
|
||||
RESULT_VARIABLE METAGLOT_DESKTOP_RESULT
|
||||
)
|
||||
if (NOT METAGLOT_DESKTOP_RESULT EQUAL 0)
|
||||
message (FATAL_ERROR "Failed to generate .desktop via MetaGlot (exit code: ${METAGLOT_DESKTOP_RESULT}).")
|
||||
endif ()
|
||||
|
||||
install (
|
||||
FILES dist/net.blumia.pineapple-pictures.desktop
|
||||
FILES ${PPIC_DESKTOP_FILE}
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications"
|
||||
)
|
||||
|
||||
# install app metadata file for appstream (and some other stuff using this metadata like snapcraft)
|
||||
# generate and install app metadata file for appstream (and some other stuff using this metadata like snapcraft)
|
||||
set (PPIC_METAINFO_FILE ${CMAKE_CURRENT_BINARY_DIR}/net.blumia.pineapple-pictures.metainfo.xml)
|
||||
execute_process (
|
||||
COMMAND ${UV_EXECUTABLE} tool run metaglot render appstream
|
||||
--manifest ${CMAKE_SOURCE_DIR}/dist/net.blumia.pineapple-pictures.metainfo.xml.toml
|
||||
--po ${CMAKE_SOURCE_DIR}/locales/appstream/*.po
|
||||
--template ${CMAKE_SOURCE_DIR}/dist/net.blumia.pineapple-pictures.metainfo.xml.liquid
|
||||
--output ${PPIC_METAINFO_FILE}
|
||||
RESULT_VARIABLE METAGLOT_METAINFO_RESULT
|
||||
)
|
||||
if (NOT METAGLOT_METAINFO_RESULT EQUAL 0)
|
||||
message (FATAL_ERROR "Failed to generate .metainfo.xml via MetaGlot (exit code: ${METAGLOT_METAINFO_RESULT}).")
|
||||
endif ()
|
||||
|
||||
install (
|
||||
FILES dist/appstream/net.blumia.pineapple-pictures.metainfo.xml
|
||||
FILES ${PPIC_METAINFO_FILE}
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo"
|
||||
)
|
||||
endif()
|
||||
@@ -281,20 +372,6 @@ if (DEFINED QM_FILE_INSTALL_DIR)
|
||||
DESTINATION ${QM_FILE_INSTALL_DIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
install(
|
||||
FILES
|
||||
dist/passoc/generic.ico
|
||||
dist/passoc/jpeg.ico
|
||||
dist/passoc/gif.ico
|
||||
dist/passoc/svg.ico
|
||||
dist/passoc/png.ico
|
||||
dist/passoc/psd.ico
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}/icons"
|
||||
)
|
||||
endif()
|
||||
|
||||
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||
|
||||
# CPACK: General Settings
|
||||
|
||||
@@ -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))*
|
||||
|
||||
### 由贡献者/对应发行版的打包人员维护
|
||||
|
||||
@@ -9,21 +9,27 @@ SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ["README**.md", "NEWS", "assets/**.rc.in", "assets/**.qrc", "dist/appstream/**", "dist/**.in", "dist/**.desktop"]
|
||||
path = ["README**.md", "NEWS", "assets/**.rc.in", "assets/**.qrc", "dist/appstream/**", "dist/**.in", "dist/**.desktop", "dist/**.rc.in.toml", "dist/**.rc.in.liquid"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ["dist/passoc/**"]
|
||||
path = ["locales/app/**.ts", "locales/winrc/**", "assets/plain/translators.html"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "2025 Gary Wang"
|
||||
SPDX-FileCopyrightText = "Translators from hosted.weblate.org"
|
||||
SPDX-License-Identifier = "MIT"
|
||||
|
||||
[[annotations]]
|
||||
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 = "Translators from hosted.weblate.org"
|
||||
SPDX-FileCopyrightText = "2026 yyc12345"
|
||||
SPDX-License-Identifier = "MIT"
|
||||
|
||||
[[annotations]]
|
||||
|
||||
@@ -26,7 +26,7 @@ AboutDialog::AboutDialog(QWidget *parent)
|
||||
// blumia: Chain two arg() here since it seems lupdate will remove one of them if we use
|
||||
// the old `arg(QCoreApp::translate(), tr())` way, but it's worth to mention
|
||||
// `arg(QCoreApp::translate(), this->tr())` works, but lupdate will complain about the usage.
|
||||
const QString HELP_HTML = loadEmbeddedHtml(u":/plain/help.html"_s)
|
||||
const QString HELP_HTML = loadEmbeddedHtml(u":/htmls/help.html"_s)
|
||||
.arg(tr("General Help"))
|
||||
.arg(tr("Launch application with image file path as argument to load the file."))
|
||||
.arg(tr("Passing in a single image file will load all the images in that directory and start viewing from that image."))
|
||||
@@ -48,7 +48,7 @@ AboutDialog::AboutDialog(QWidget *parent)
|
||||
#endif // GIT_DESCRIBE_VERSION_STRING
|
||||
const QString QT_VERSION_ARG = QT_VERSION_STR;
|
||||
const QString QT_ARCH_ARG = QSysInfo::buildCpuArchitecture();
|
||||
const QString ABOUT_HTML = loadEmbeddedHtml(u":/plain/about.html"_s)
|
||||
const QString ABOUT_HTML = loadEmbeddedHtml(u":/htmls/about.html"_s)
|
||||
.arg(APP_NAME_ARG)
|
||||
.arg(tr("Version: %1").arg(APP_VERSION_ARG))
|
||||
.arg(tr("Upstream author"))
|
||||
@@ -57,19 +57,19 @@ AboutDialog::AboutDialog(QWidget *parent)
|
||||
.arg(tr("Built with Qt %1 (%2)").arg(QT_VERSION_ARG).arg(QT_ARCH_ARG))
|
||||
.arg(tr("Source code"));
|
||||
|
||||
const QString SPECIAL_THANKS_HTML = loadEmbeddedHtml(u":/plain/special-thanks.html"_s)
|
||||
const QString SPECIAL_THANKS_HTML = loadEmbeddedHtml(u":/htmls/special-thanks.html"_s)
|
||||
.arg(tr("Contributors"))
|
||||
.arg(tr("List of contributors on GitHub"))
|
||||
.arg(tr("Thanks to all people who contributed to this project."))
|
||||
.arg(tr("Translators"))
|
||||
.arg(tr("I would like to thank the following people who volunteered to translate this application."));
|
||||
|
||||
const QString LICENSE_HTML = loadEmbeddedHtml(u":/plain/license.html"_s)
|
||||
const QString LICENSE_HTML = loadEmbeddedHtml(u":/htmls/license.html"_s)
|
||||
.arg(tr("License"))
|
||||
.arg(tr("This application is released under the MIT License."))
|
||||
.arg(tr("License Verbatim Copy"));
|
||||
|
||||
const QString THIRD_PARTY_LIBS_HTML = loadEmbeddedHtml(u":/plain/third-party-libs.html"_s)
|
||||
const QString THIRD_PARTY_LIBS_HTML = loadEmbeddedHtml(u":/htmls/third-party-libs.html"_s)
|
||||
.arg(tr("Third-party Libraries"))
|
||||
.arg(tr("This application is built on the following free software libraries.", "Free as in freedom"))
|
||||
.arg(tr("Some of them are optional and might not be included with this distribution depending on the build environment."));
|
||||
|
||||
@@ -16,11 +16,8 @@
|
||||
|
||||
static QIcon loadHidpiIcon(const QString &resp, QSize sz = QSize(32, 32))
|
||||
{
|
||||
QSvgRenderer r(resp);
|
||||
QPixmap pm = QPixmap(sz * qApp->devicePixelRatio());
|
||||
pm.fill(Qt::transparent);
|
||||
QPainter p(&pm);
|
||||
r.render(&p);
|
||||
QPixmap pm = QPixmap(resp);
|
||||
pm.scaled(sz * qApp->devicePixelRatio(), Qt::KeepAspectRatio);
|
||||
pm.setDevicePixelRatio(qApp->devicePixelRatio());
|
||||
return QIcon(pm);
|
||||
}
|
||||
@@ -32,7 +29,7 @@ void ActionManager::setupAction(MainWindow *mainWindow)
|
||||
// Declare some convenient macros and lambdas.
|
||||
|
||||
#define ICON_NAME(name)\
|
||||
QStringLiteral(":/icons/" #name ".svg")
|
||||
QStringLiteral(":/icons/" #name ".png")
|
||||
|
||||
#define ACTION_NAME(s) QStringLiteral(STRIFY(s))
|
||||
#define STRIFY(s) #s
|
||||
@@ -52,38 +49,35 @@ void ActionManager::setupAction(MainWindow *mainWindow)
|
||||
/// This macro for register action with our custom icon.
|
||||
#define CREATE_NEW_ICON_ACTION(w, a, i) create_action(w, &a, ICON_NAME(i), ACTION_NAME(a), false)
|
||||
|
||||
// TODO: We may replace all Qt theme icons to our custom icon for visual consistency.
|
||||
// TODO: Some icons are invalid.
|
||||
|
||||
CREATE_NEW_ACTION(mainWindow, actionCopyPixmap);
|
||||
CREATE_NEW_ACTION(mainWindow, actionCopyFilePath);
|
||||
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionPrevPicture, go-previous);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionNextPicture, go-next);
|
||||
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionActualSize, zoom-original);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionFitToScreen, app-icon);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionFitByWidth, app-icon);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionFitByHeight, app-icon);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionActualSize, fit-to-size);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionFitToScreen, fit-to-screen);
|
||||
CREATE_NEW_ACTION(mainWindow, actionFitByWidth);
|
||||
CREATE_NEW_ACTION(mainWindow, actionFitByHeight);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionZoomIn, zoom-in);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionZoomOut, zoom-out);
|
||||
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionFlipHorizontal, app-icon);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionFlipVertical, app-icon);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionRotateClockwise, object-rotate-right);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionRotateCounterClockwise, app-icon);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionFlipHorizontal, flip-horizontal);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionFlipVertical, flip-vertical);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionRotateClockwise, rotate-right);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionRotateCounterClockwise, rotate-left);
|
||||
|
||||
CREATE_NEW_ACTION(mainWindow, actionToggleAvoidResetTransform);
|
||||
CREATE_NEW_ACTION(mainWindow, actionToggleCheckerboard);
|
||||
CREATE_NEW_ACTION(mainWindow, actionTogglePauseAnimation);
|
||||
CREATE_NEW_ACTION(mainWindow, actionAnimationNextFrame);
|
||||
|
||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionTrash, edit-delete);
|
||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionLocateInFileManager, system-file-manager);
|
||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionProperties, document-properties);
|
||||
CREATE_NEW_ACTION(mainWindow, actionTrash/*, edit-delete*/);
|
||||
CREATE_NEW_ACTION(mainWindow, actionLocateInFileManager/*, system-file-manager*/);
|
||||
CREATE_NEW_ICON_ACTION(mainWindow, actionProperties, image-info);
|
||||
|
||||
CREATE_NEW_ACTION(mainWindow, actionSettings);
|
||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionHelp, system-help);
|
||||
CREATE_NEW_ACTION(mainWindow, actionHelp/*, system-help*/);
|
||||
|
||||
// Remove convenient macros
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
// It is too small for modern device,
|
||||
// so I level it up to SVGA resolution 800 x 600.
|
||||
this->setMinimumSize(800, 600);
|
||||
this->setWindowIcon(QIcon(u":/icons/app-icon.svg"_s));
|
||||
this->setWindowIcon(QIcon(u":/icons/app-icon.png"_s));
|
||||
this->setAcceptDrops(true);
|
||||
|
||||
// Initialize playlist manager
|
||||
|
||||
@@ -139,9 +139,6 @@
|
||||
<property name="title">
|
||||
<string>&Copy</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="edit-copy"/>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QMenu" name="m_subMenuTransform">
|
||||
<property name="title">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<center>
|
||||
<p>
|
||||
<img width='128' height='128' src=':/icons/app-icon.svg'/>
|
||||
<img width='128' height='128' src=':/icons/app-icon.png'/>
|
||||
<br/>
|
||||
<!-- Application name -->
|
||||
<span>%1</span>
|
||||
|
Before Width: | Height: | Size: 212 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
@@ -1,15 +0,0 @@
|
||||
<?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 75 75" 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;">
|
||||
<g transform="matrix(1,0,0,1,-119,-102)">
|
||||
<g id="go-next" transform="matrix(1.25,0,0,1.44231,119,-7.61538)">
|
||||
<rect x="0" y="76" width="60" height="52" style="fill:none;"/>
|
||||
<g transform="matrix(0.8,0,0,0.693333,0.260244,25.056)">
|
||||
<circle cx="37.175" cy="110.977" r="33.175" style="fill-opacity:0.15;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g id="path867" transform="matrix(0.8,0,0,0.693333,1.80436,76.0055)">
|
||||
<path d="M31.578,26.175L42.911,37.508L31.578,48.809" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
@@ -1,15 +0,0 @@
|
||||
<?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 75 75" 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;">
|
||||
<g transform="matrix(1,0,0,1,-39,-102)">
|
||||
<g id="go-previous" transform="matrix(1.25,0,0,1.44231,39,-7.61538)">
|
||||
<rect x="0" y="76" width="60" height="52" style="fill:none;"/>
|
||||
<g transform="matrix(0.8,0,0,0.693333,0.260244,25.056)">
|
||||
<circle cx="37.175" cy="110.977" r="33.175" style="fill-opacity:0.15;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g id="path867" transform="matrix(0.8,0,0,0.693333,-1.8205,76.0055)">
|
||||
<path d="M43.442,26.175L32.109,37.508L43.442,48.809" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
@@ -1,17 +0,0 @@
|
||||
<?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 32 32" 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,-74,-7.10543e-15)">
|
||||
<g id="object-rotate-right" transform="matrix(1,0,0,1,74,7.10543e-15)">
|
||||
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
|
||||
<g transform="matrix(1,0,0,1,-1,-0.275147)">
|
||||
<g transform="matrix(1,0,0,1,-74,-7.10543e-15)">
|
||||
<path d="M100,18C100,22.967 95.967,27 91,27C86.033,27 82,22.967 82,18C82,13.033 86.033,9 91,9" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0.984136,-0.177418,0.177418,0.984136,-74.2676,16.4198)">
|
||||
<path d="M89,13L93,9L89,5" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
@@ -1,24 +0,0 @@
|
||||
<?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 32 32" 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,0,-37)">
|
||||
<g id="view-background-checkerboard" transform="matrix(1,0,0,1,0,37)">
|
||||
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
|
||||
<g id="rect814" transform="matrix(0.964431,0,0,0.907545,0.187581,-988.266)">
|
||||
<rect x="6.027" y="1095.56" width="10.369" height="11.019" style="fill:white;fill-opacity:0.87;"/>
|
||||
</g>
|
||||
<g id="rect814-4" transform="matrix(0.984615,0,0,0.898704,-0.143354,-978.502)">
|
||||
<rect x="16.396" y="1106.6" width="10.156" height="11.127" style="fill:white;fill-opacity:0.87;"/>
|
||||
</g>
|
||||
<g id="rect814-2" transform="matrix(0.963684,0,0,0.898697,0.199828,-978.495)">
|
||||
<rect x="6.019" y="1106.6" width="10.377" height="11.127" style="fill:white;fill-opacity:0.07;"/>
|
||||
</g>
|
||||
<g id="rect814-2-6" transform="matrix(0.980558,0,0,0.898693,-0.0768322,-978.47)">
|
||||
<rect x="16.396" y="1095.45" width="10.198" height="11.127" style="fill:white;fill-opacity:0.07;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,0.952381,-74,-34)">
|
||||
<rect x="80" y="42" width="20" height="21" style="fill:none;stroke:white;stroke-width:2.05px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1,24 +0,0 @@
|
||||
<?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 32 32" 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,-37,-37)">
|
||||
<g id="view-fullscreen" transform="matrix(1,0,0,1,37,37)">
|
||||
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
|
||||
<g transform="matrix(1,0,0,1,-36,-37)">
|
||||
<path d="M42,49L42,43L48,43" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,1.22465e-16,1.22465e-16,1,68,-37)">
|
||||
<path d="M42,49L42,43L48,43" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,-2.46519e-32,-2.46519e-32,-1,-36,69)">
|
||||
<path d="M42,49L42,43L48,43" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.11111,0,0,1.14286,-42.3333,-42.8571)">
|
||||
<rect x="48" y="48" width="9" height="7" style="fill:none;stroke:white;stroke-width:1.77px;"/>
|
||||
</g>
|
||||
<g transform="matrix(-1,-1.22465e-16,1.22465e-16,-1,68,69)">
|
||||
<path d="M42,49L42,43L48,43" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
@@ -1,71 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32"
|
||||
height="32"
|
||||
viewBox="0 0 8.4666665 8.4666669"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="window-close.svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.69803922"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="22.627417"
|
||||
inkscape:cx="19.29838"
|
||||
inkscape:cy="15.79404"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1001"
|
||||
inkscape:window-x="-9"
|
||||
inkscape:window-y="-9"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-288.5333)">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.396875;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 2.100237,290.55098 4.3234589,4.22265"
|
||||
id="path817"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.396875;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 2.099406,294.78651 4.3414732,-4.24185"
|
||||
id="path819"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
@@ -1,17 +0,0 @@
|
||||
<?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 32 32" 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="zoom-in" x="0" y="0" width="32" height="32" style="fill:none;"/>
|
||||
<g id="zoom-in1" serif:id="zoom-in">
|
||||
<g>
|
||||
<g transform="matrix(1,0,0,1,-1,0)">
|
||||
<circle cx="16" cy="15" r="9" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0.8,0.8,-0.8,0.8,27.6,-17.2)">
|
||||
<path d="M21,28L26,28" style="fill:none;stroke:white;stroke-width:2.65px;"/>
|
||||
</g>
|
||||
<path d="M11,15L19,15" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
<path d="M15,11L15,19" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,24 +0,0 @@
|
||||
<?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 32 32" 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:square;stroke-miterlimit:1.5;">
|
||||
<g transform="matrix(1,0,0,1,-74,-37)">
|
||||
<g id="zoom-original" transform="matrix(1,0,0,1,74,37)">
|
||||
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
|
||||
<g transform="matrix(1,0,0,1,-73,-37)">
|
||||
<path d="M85,57L85,49L84,49" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-74,-37)">
|
||||
<rect x="89" y="50" width="2" height="2" style="fill:white;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-74,-33)">
|
||||
<rect x="89" y="50" width="2" height="2" style="fill:white;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-64,-37)">
|
||||
<path d="M85,57L85,49L84,49" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,0.952381,-74,-34)">
|
||||
<rect x="80" y="42" width="20" height="21" style="fill:none;stroke:white;stroke-width:2.05px;stroke-linecap:round;stroke-linejoin:round;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
@@ -1,18 +0,0 @@
|
||||
<?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 32 32" 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,-74,0)">
|
||||
<g id="zoom-out" transform="matrix(1,0,0,1,74,0)">
|
||||
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
|
||||
<g>
|
||||
<g transform="matrix(1,0,0,1,-1,0)">
|
||||
<circle cx="16" cy="15" r="9" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
<g transform="matrix(0.8,0.8,-0.8,0.8,27.6,-17.2)">
|
||||
<path d="M21,28L26,28" style="fill:none;stroke:white;stroke-width:2.65px;"/>
|
||||
</g>
|
||||
<path d="M11,15L19,15" style="fill:none;stroke:white;stroke-width:2px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,18 +0,0 @@
|
||||
IDI_ICON1 ICON DISCARDABLE "@CMAKE_CURRENT_SOURCE_DIR@/assets/icons/app-icon.ico"
|
||||
1 VERSIONINFO
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904E4"
|
||||
BEGIN
|
||||
VALUE "FileDescription", "Pineapple Pictures - Image Viewer"
|
||||
VALUE "LegalCopyright", "MIT/Expat License - Copyright (C) 2026 Gary Wang"
|
||||
VALUE "ProductName", "Pineapple Pictures"
|
||||
VALUE "ProductVersion", "@PROJECT_VERSION@"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
@@ -1,19 +1,23 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>icons/zoom-in.svg</file>
|
||||
<file>icons/zoom-out.svg</file>
|
||||
<file>icons/view-fullscreen.svg</file>
|
||||
<file>icons/zoom-original.svg</file>
|
||||
<file>icons/object-rotate-right.svg</file>
|
||||
<file>icons/view-background-checkerboard.svg</file>
|
||||
<file>icons/app-icon.svg</file>
|
||||
<file>icons/window-close.svg</file>
|
||||
<file>icons/go-next.svg</file>
|
||||
<file>icons/go-previous.svg</file>
|
||||
<file>plain/help.html</file>
|
||||
<file>plain/about.html</file>
|
||||
<file>plain/special-thanks.html</file>
|
||||
<file>plain/license.html</file>
|
||||
<file>plain/third-party-libs.html</file>
|
||||
<!-- In-app icon resources -->
|
||||
<file>icons/app-icon.png</file>
|
||||
<file>icons/image-info.png</file>
|
||||
<file>icons/fit-to-screen.png</file>
|
||||
<file>icons/fit-to-size.png</file>
|
||||
<file>icons/zoom-in.png</file>
|
||||
<file>icons/zoom-out.png</file>
|
||||
<file>icons/rotate-left.png</file>
|
||||
<file>icons/rotate-right.png</file>
|
||||
<file>icons/go-next.png</file>
|
||||
<file>icons/go-previous.png</file>
|
||||
<file>icons/flip-horizontal.png</file>
|
||||
<file>icons/flip-vertical.png</file>
|
||||
<!-- HTML resources -->
|
||||
<file>htmls/help.html</file>
|
||||
<file>htmls/about.html</file>
|
||||
<file>htmls/special-thanks.html</file>
|
||||
<file>htmls/license.html</file>
|
||||
<file>htmls/third-party-libs.html</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -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 }}";
|
||||
@@ -1,47 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ca\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr ""
|
||||
@@ -1,47 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr ""
|
||||
@@ -1,47 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr ""
|
||||
@@ -1,47 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: id\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"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr ""
|
||||
@@ -1,47 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr ""
|
||||
@@ -1,47 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: nb_NO\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr ""
|
||||
@@ -1,47 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: pa_PK\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr ""
|
||||
@@ -1,46 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\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"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr ""
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: si\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr ""
|
||||
@@ -1,49 +0,0 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||
"PO-Revision-Date: 2025-12-20 20:00+0000\n"
|
||||
"Last-Translator: Sabri Ünal <yakushabb@gmail.com>\n"
|
||||
"Language-Team: Turkish <https://hosted.weblate.org/projects/pineapple-"
|
||||
"pictures/appstream-metadata/tr/>\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
|
||||
#. (itstool) path: component/name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||
msgid "Pineapple Pictures"
|
||||
msgstr "Pineapple Resimler"
|
||||
|
||||
#. (itstool) path: component/summary
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||
msgid "Image Viewer"
|
||||
msgstr "Resim Görüntüleyici"
|
||||
|
||||
#. (itstool) path: description/p
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||
msgid "Main window when an image file is loaded"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||
msgid "Zooming in a raster image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: screenshot/caption
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||
msgid "Zooming in a vector image"
|
||||
msgstr ""
|
||||
|
||||
#. (itstool) path: component/developer_name
|
||||
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||
msgid "Gary (BLumia) Wang et al."
|
||||
msgstr "Gary (BLumia) Wang et al."
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 787 B |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 281 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
@@ -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 |
@@ -1,16 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Graphics;
|
||||
Comment=Pineapple Pictures is a lightweight image viewer
|
||||
Comment[zh_CN]=菠萝看图是一个轻量级的图像查看器
|
||||
Exec=ppic %F
|
||||
GenericName=Image Viewer
|
||||
GenericName[zh_CN]=图像查看器
|
||||
GenericName[ja]=画像ビューアー
|
||||
Icon=net.blumia.pineapple-pictures
|
||||
Keywords=Picture;Image;Viewer;Jpg;Jpeg;Png;
|
||||
MimeType=image/bmp;image/bmp24;image/jpg;image/jpe;image/jpeg;image/jpeg24;image/jng;image/pcd;image/pcx;image/png;image/tif;image/tiff;image/tiff24;image/dds;image/gif;image/sgi;image/j2k;image/jp2;image/pct;image/wdp;image/arw;image/icb;image/dng;image/vda;image/vst;image/svg;image/ptif;image/mef;image/xbm;image/svg+xml;
|
||||
Name=Pineapple Pictures
|
||||
Name[zh_CN]=菠萝看图
|
||||
StartupNotify=false
|
||||
Type=Application
|
||||
Terminal=false
|
||||
@@ -0,0 +1,18 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name={{ default.strings.name | desktop_escape }}
|
||||
GenericName={{ default.strings.generic_name | desktop_escape }}
|
||||
Comment={{ default.strings.comment | desktop_escape }}
|
||||
Exec=ppic %F
|
||||
Icon=net.blumia.pineapple-pictures
|
||||
Terminal=false
|
||||
StartupNotify=false
|
||||
Categories=Graphics;
|
||||
MimeType=image/bmp;image/bmp24;image/jpg;image/jpe;image/jpeg;image/jpeg24;image/jng;image/pcd;image/pcx;image/png;image/tif;image/tiff;image/tiff24;image/dds;image/gif;image/sgi;image/j2k;image/jp2;image/pct;image/wdp;image/arw;image/icb;image/dng;image/vda;image/vst;image/svg;image/ptif;image/mef;image/xbm;image/svg+xml;
|
||||
Keywords={{ default.strings.keywords | desktop_escape }}
|
||||
{% for lang in languages %}
|
||||
Name[{{ lang.locale }}]={{ lang.strings.name | desktop_escape }}
|
||||
GenericName[{{ lang.locale }}]={{ lang.strings.generic_name | desktop_escape }}
|
||||
Comment[{{ lang.locale }}]={{ lang.strings.comment | desktop_escape }}
|
||||
Keywords[{{ lang.locale }}]={{ lang.strings.keywords | desktop_escape }}
|
||||
{% endfor %}
|
||||
@@ -0,0 +1,18 @@
|
||||
version = 1
|
||||
source_language = "en"
|
||||
|
||||
[strings.name]
|
||||
msgid = "Pineapple Pictures"
|
||||
comment = "Display name of the application."
|
||||
|
||||
[strings.generic_name]
|
||||
msgid = "Image Viewer"
|
||||
comment = "Generic name describing the application category."
|
||||
|
||||
[strings.comment]
|
||||
msgid = "Pineapple Pictures is a lightweight image viewer"
|
||||
comment = "Tooltip-like description of the application."
|
||||
|
||||
[strings.keywords]
|
||||
msgid = "Picture;Image;Viewer;Jpg;Jpeg;Png;"
|
||||
comment = "Search keywords. Semicolon separated list; the trailing semicolon is required."
|
||||
@@ -1,52 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>net.blumia.pineapple-pictures</id>
|
||||
<name>Pineapple Pictures</name>
|
||||
<name xml:lang="es">Pineapple Pictures</name>
|
||||
<name xml:lang="ja">Pineapple Pictures</name>
|
||||
<name xml:lang="ko">Pineapple Pictures</name>
|
||||
<name xml:lang="nl">Pineapple Afbeeldingen</name>
|
||||
<name xml:lang="ru">Pineapple Pictures</name>
|
||||
<name xml:lang="sl">Pineapple Slike</name>
|
||||
<name xml:lang="ta">அன்னாசி படங்கள்</name>
|
||||
<name xml:lang="tr">Pineapple Resimler</name>
|
||||
<name xml:lang="uk">Pineapple Pictures</name>
|
||||
<name xml:lang="vi">Pineapple Pictures</name>
|
||||
<name xml:lang="zh-CN">菠萝看图</name>
|
||||
<summary>Image Viewer</summary>
|
||||
<summary xml:lang="es">Visor de imágenes</summary>
|
||||
<summary xml:lang="ja">画像ビューアー</summary>
|
||||
<summary xml:lang="ko">이미지 뷰어</summary>
|
||||
<summary xml:lang="nl">Afbeeldingsweergave</summary>
|
||||
<summary xml:lang="ru">Просмотр изображений</summary>
|
||||
<summary xml:lang="sl">Pregledovalnik slik</summary>
|
||||
<summary xml:lang="ta">பட பார்வையாளர்</summary>
|
||||
<summary xml:lang="tr">Resim Görüntüleyici</summary>
|
||||
<summary xml:lang="uk">Переглядач зображень</summary>
|
||||
<summary xml:lang="vi">Trình xem ảnh</summary>
|
||||
<summary xml:lang="zh-CN">图像查看器</summary>
|
||||
<name>{{ default.strings.name | xml_escape }}</name>
|
||||
{% for lang in languages %}
|
||||
<name xml:lang="{{ lang.lang }}">{{ lang.strings.name | xml_escape }}</name>
|
||||
{% endfor %}
|
||||
<summary>{{ default.strings.summary | xml_escape }}</summary>
|
||||
{% for lang in languages %}
|
||||
<summary xml:lang="{{ lang.lang }}">{{ lang.strings.summary | xml_escape }}</summary>
|
||||
{% endfor %}
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>MIT</project_license>
|
||||
<description>
|
||||
<p>Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support.</p>
|
||||
<p xml:lang="es">Pineapple Pictures es un visor de imágenes ligero y fácil de usar que viene con una práctica miniatura de navegación al hacer zoom, y no contiene ningún soporte de gestión de imágenes.</p>
|
||||
<p xml:lang="ja">Pineapple Picturesは、ズームイン時に便利なナビゲーションサムネイルを備えた軽量で使いやすい画像ビューアです。画像管理のサポートは含まれていません。</p>
|
||||
<p xml:lang="ko">Pineapple Pictures는 가볍고 사용하기 쉬운 이미지 뷰어로, 확대 시 편리한 내비게이션 썸네일과 함께 제공되며 이미지 관리 지원이 포함되어 있지 않습니다.</p>
|
||||
<p xml:lang="nl">Pineapple Afbeeldingen is een licht en eenvoudig te gebruiken afbeeldingsweergaveprogramma met miniatuurnavigatie na inzoomen. Het programma heeft echter geen fotobeheermogelijkheid.</p>
|
||||
<p xml:lang="ru">Pineapple Pictures - это легкий и простой в использовании просмотрщик изображений, оснащенный удобной навигацией по миниатюрам при увеличении масштаба и не содержащий никакой поддержки управления изображениями.</p>
|
||||
<p xml:lang="sl">Pineapple Pictures je lahek in enostaven pregledovalnik slik, ki ima pri povečavi priročno sličico za navigacijo in ne vsebuje nobene podpore za upravljanje slik.</p>
|
||||
<p xml:lang="ta">அன்னாசி படங்கள் ஒரு இலகுரக மற்றும் பயன்படுத்த எளிதான பட பார்வையாளராகும், இது பெரிதாக்கும்போது ஒரு எளிமையான வழிசெலுத்தல் சிறுபடத்துடன் வருகிறது, மேலும் எந்த பட மேலாண்மை ஆதரவையும் கொண்டிருக்கவில்லை.</p>
|
||||
<p xml:lang="uk">Pineapple Pictures – це легкий і простий у використанні переглядач зображень, який постачається зі зручною навігаційною мініатюрою при збільшенні масштабу і не містить жодної підтримки керування зображеннями.</p>
|
||||
<p xml:lang="vi">Pineapple Pictures là trình xem hình ảnh nhẹ và dễ sử dụng, đi kèm với hình thu nhỏ điều hướng tiện dụng khi phóng to và không chứa bất kỳ hỗ trợ quản lý hình ảnh nào.</p>
|
||||
<p xml:lang="zh-CN">菠萝看图是一个轻量级易用的图像查看器,在图片放大时提供了方便的鸟瞰导航功能,且不包含任何图片管理功能。</p>
|
||||
<p>{{ default.strings.description | xml_escape }}</p>
|
||||
{% for lang in languages %}
|
||||
<p xml:lang="{{ lang.lang }}">{{ lang.strings.description | xml_escape }}</p>
|
||||
{% endfor %}
|
||||
</description>
|
||||
<developer id="net.blumia">
|
||||
<name>Gary (BLumia) Wang et al.</name>
|
||||
<name xml:lang="ja">Gary (BLumia) Wang など</name>
|
||||
<name xml:lang="nl">Gary (BLumia) Wang e.a.</name>
|
||||
<name xml:lang="ru">Gary (BLumia) Wang et al.</name>
|
||||
<name xml:lang="uk">Gary (BLumia) Wang.</name>
|
||||
<name xml:lang="zh-CN">Gary (BLumia) Wang 等人</name>
|
||||
<name>{{ default.strings.developer_name | xml_escape }}</name>
|
||||
{% for lang in languages %}
|
||||
<name xml:lang="{{ lang.lang }}">{{ lang.strings.developer_name | xml_escape }}</name>
|
||||
{% endfor %}
|
||||
</developer>
|
||||
<launchable type="desktop-id">net.blumia.pineapple-pictures.desktop</launchable>
|
||||
<url type="homepage">https://github.com/BLumia/pineapple-pictures</url>
|
||||
@@ -59,45 +34,24 @@
|
||||
</provides>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<caption>Main window when an image file is loaded</caption>
|
||||
<caption xml:lang="es">Ventana principal cuando se carga un archivo de imagen</caption>
|
||||
<caption xml:lang="ja">画像ファイル読み込み時のメインウィンドウ</caption>
|
||||
<caption xml:lang="ko">이미지 파일이 로드될 때 기본 창</caption>
|
||||
<caption xml:lang="nl">Hoofdvenster na het laden van een afbeelding</caption>
|
||||
<caption xml:lang="ru">Основное окно после загрузки файла изображения</caption>
|
||||
<caption xml:lang="sl">Glavno okno ob nalaganju slikovne datoteke</caption>
|
||||
<caption xml:lang="ta">ஒரு படக் கோப்பு ஏற்றப்படும் போது முதன்மையான சாளரம்</caption>
|
||||
<caption xml:lang="uk">Головне вікно після завантаження файлу зображення</caption>
|
||||
<caption xml:lang="vi">Cửa sổ chính khi tải tệp hình ảnh</caption>
|
||||
<caption xml:lang="zh-CN">加载图片后的主窗口</caption>
|
||||
<caption>{{ default.strings.screenshot_caption_main | xml_escape }}</caption>
|
||||
{% for lang in languages %}
|
||||
<caption xml:lang="{{ lang.lang }}">{{ lang.strings.screenshot_caption_main | xml_escape }}</caption>
|
||||
{% endfor %}
|
||||
<image type="source" width="1503" height="640">https://pineapple-pictures.sourceforge.io/ppic-gui-static.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Zooming in a raster image</caption>
|
||||
<caption xml:lang="es">Ampliar una imagen rasterizada</caption>
|
||||
<caption xml:lang="ja">ラスター画像の拡大</caption>
|
||||
<caption xml:lang="ko">래스터 이미지 확대하기</caption>
|
||||
<caption xml:lang="nl">Inzoomen op een roosterafbeelding</caption>
|
||||
<caption xml:lang="ru">Масштабирование растрового изображения</caption>
|
||||
<caption xml:lang="sl">Povečevanje rastrske slike</caption>
|
||||
<caption xml:lang="ta">ராச்டர் படத்தில் பெரிதாக்குதல்</caption>
|
||||
<caption xml:lang="uk">Масштабування растрового зображення</caption>
|
||||
<caption xml:lang="vi">Phóng to hình ảnh raster</caption>
|
||||
<caption xml:lang="zh-CN">放大浏览位图</caption>
|
||||
<caption>{{ default.strings.screenshot_caption_raster | xml_escape }}</caption>
|
||||
{% for lang in languages %}
|
||||
<caption xml:lang="{{ lang.lang }}">{{ lang.strings.screenshot_caption_raster | xml_escape }}</caption>
|
||||
{% endfor %}
|
||||
<image type="source" width="771" height="553">https://pineapple-pictures.sourceforge.io/ppic-zoom-raster.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Zooming in a vector image</caption>
|
||||
<caption xml:lang="es">Ampliar una imagen vectorial</caption>
|
||||
<caption xml:lang="ja">ベクター画像の拡大</caption>
|
||||
<caption xml:lang="ko">벡터 이미지 확대하기</caption>
|
||||
<caption xml:lang="nl">Inzoomen op een vectorafbeelding</caption>
|
||||
<caption xml:lang="ru">Масштабирование векторного изображения</caption>
|
||||
<caption xml:lang="sl">Povečevanje vektorske slike</caption>
|
||||
<caption xml:lang="ta">ஒரு திசையன் படத்தில் பெரிதாக்குதல்</caption>
|
||||
<caption xml:lang="uk">Масштабування векторного зображення</caption>
|
||||
<caption xml:lang="vi">Phóng to hình ảnh vector</caption>
|
||||
<caption xml:lang="zh-CN">放大浏览矢量图</caption>
|
||||
<caption>{{ default.strings.screenshot_caption_vector | xml_escape }}</caption>
|
||||
{% for lang in languages %}
|
||||
<caption xml:lang="{{ lang.lang }}">{{ lang.strings.screenshot_caption_vector | xml_escape }}</caption>
|
||||
{% endfor %}
|
||||
<image type="source" width="771" height="553">https://pineapple-pictures.sourceforge.io/ppic-zoom-svg.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
@@ -0,0 +1,30 @@
|
||||
version = 1
|
||||
source_language = "en"
|
||||
|
||||
[strings.name]
|
||||
msgid = "Pineapple Pictures"
|
||||
comment = "Display name of the application."
|
||||
|
||||
[strings.summary]
|
||||
msgid = "Image Viewer"
|
||||
comment = "One-line summary shown in software centers."
|
||||
|
||||
[strings.description]
|
||||
msgid = "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||
comment = "Description paragraph shown in the details page."
|
||||
|
||||
[strings.developer_name]
|
||||
msgid = "Gary (BLumia) Wang et al."
|
||||
comment = "Name of the application developers."
|
||||
|
||||
[strings.screenshot_caption_main]
|
||||
msgid = "Main window when an image file is loaded"
|
||||
comment = "Caption of the primary screenshot."
|
||||
|
||||
[strings.screenshot_caption_raster]
|
||||
msgid = "Zooming in a raster image"
|
||||
comment = "Caption of the raster image zooming screenshot."
|
||||
|
||||
[strings.screenshot_caption_vector]
|
||||
msgid = "Zooming in a vector image"
|
||||
comment = "Caption of the vector image zooming screenshot."
|
||||
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 73 KiB |
@@ -0,0 +1,72 @@
|
||||
// Generated by MetaGlot. DO NOT EDIT.
|
||||
// Sources: dist/pineapple-pictures.rc.in.toml, locales/winrc/*.po (CMake placeholders are substituted later).
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Icon resources (referenced from the registry as "<exe path>,-<id>")
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
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>")
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
{% for lang in languages -%}
|
||||
// {{ lang.name }}
|
||||
LANGUAGE {{ lang.primary }}, {{ lang.sublanguage }}
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
{%- for i in (1000..1028) -%}
|
||||
{% assign key = i | to_string %}
|
||||
{{ i }} "{{ lang.strings[key] | rc_escape }}"
|
||||
{%- endfor %}
|
||||
END
|
||||
|
||||
{% endfor -%}
|
||||
// ---------------------------------------------------------------------------
|
||||
// Version information (one VERSIONINFO resource per language; Windows picks by resource language)
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
{% for lang in languages -%}
|
||||
LANGUAGE {{ lang.primary }}, {{ lang.sublanguage }}
|
||||
1 VERSIONINFO
|
||||
FILEVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0
|
||||
PRODUCTVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L // VOS_NT_WINDOWS32
|
||||
FILETYPE 0x1L // VFT_APP
|
||||
FILESUBTYPE 0x0L // VFT2_UNKNOWN
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "{{ lang.block_key }}"
|
||||
BEGIN
|
||||
VALUE "Comments", "https://github.com/BLumia/pineapple-pictures"
|
||||
VALUE "CompanyName", "Gary Wang"
|
||||
VALUE "FileDescription", "{{ lang.strings.file_description | rc_escape }}"
|
||||
VALUE "FileVersion", "@PROJECT_VERSION@"
|
||||
VALUE "InternalName", "ppic"
|
||||
VALUE "LegalCopyright", "MIT/Expat License - Copyright (C) 2026 Gary Wang"
|
||||
VALUE "OriginalFilename", "ppic.exe"
|
||||
VALUE "ProductName", "{{ lang.strings.product_name | rc_escape }}"
|
||||
VALUE "ProductVersion", "@PROJECT_VERSION@"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", {{ lang.langid }}, {{ lang.code_page }}
|
||||
END
|
||||
END
|
||||
|
||||
{% endfor -%}
|
||||
@@ -0,0 +1,127 @@
|
||||
version = 1
|
||||
source_language = "en"
|
||||
|
||||
[strings.1000]
|
||||
msgid = "Pineapple Pictures"
|
||||
context = "Explorer"
|
||||
comment = "Application friendly name shown by Explorer, e.g. in the 'Open with' menu."
|
||||
|
||||
[strings.1001]
|
||||
msgid = "JPEG Image"
|
||||
comment = "File type name for: jpg, jpeg, jfif"
|
||||
|
||||
[strings.1002]
|
||||
msgid = "GIF Animation Image"
|
||||
comment = "File type name for: gif"
|
||||
|
||||
[strings.1003]
|
||||
msgid = "PNG Image"
|
||||
comment = "File type name for: png"
|
||||
|
||||
[strings.1004]
|
||||
msgid = "Scalable Vector Graphics"
|
||||
comment = "File type name for: svg"
|
||||
|
||||
[strings.1005]
|
||||
msgid = "WebP Image"
|
||||
comment = "File type name for: webp"
|
||||
|
||||
[strings.1006]
|
||||
msgid = "AV1 Image File"
|
||||
comment = "File type name for: avif"
|
||||
|
||||
[strings.1007]
|
||||
msgid = "Windows Icon Image"
|
||||
comment = "File type name for: ico"
|
||||
|
||||
[strings.1008]
|
||||
msgid = "Apple Icon Image"
|
||||
comment = "File type name for: icns"
|
||||
|
||||
[strings.1009]
|
||||
msgid = "Photoshop Document"
|
||||
comment = "File type name for: psd, psb, pdd, psdt"
|
||||
|
||||
[strings.1010]
|
||||
msgid = "Krita Document"
|
||||
comment = "File type name for: kra"
|
||||
|
||||
[strings.1011]
|
||||
msgid = "GIMP Document"
|
||||
comment = "File type name for: xcf"
|
||||
|
||||
[strings.1012]
|
||||
msgid = "TARGA Image"
|
||||
comment = "File type name for: tga"
|
||||
|
||||
[strings.1013]
|
||||
msgid = "Tagged Image File Format"
|
||||
comment = "File type name for: tif, tiff"
|
||||
|
||||
[strings.1014]
|
||||
msgid = "Bitmap"
|
||||
comment = "File type name for: bmp"
|
||||
|
||||
[strings.1015]
|
||||
msgid = "Wireless Bitmap"
|
||||
comment = "File type name for: wbmp"
|
||||
|
||||
[strings.1016]
|
||||
msgid = "DirectDraw Surface"
|
||||
comment = "File type name for: dds"
|
||||
|
||||
[strings.1017]
|
||||
msgid = "High Dynamic Range Image"
|
||||
comment = "File type name for: hdr"
|
||||
|
||||
[strings.1018]
|
||||
msgid = "Interchange File Format"
|
||||
comment = "File type name for: iff"
|
||||
|
||||
[strings.1019]
|
||||
msgid = "Softimage Picture"
|
||||
comment = "File type name for: pic"
|
||||
|
||||
[strings.1020]
|
||||
msgid = "PiCture eXchange PC Paintbrush Image"
|
||||
comment = "File type name for: pcx"
|
||||
|
||||
[strings.1021]
|
||||
msgid = "Quite OK Image"
|
||||
comment = "File type name for: qoi"
|
||||
|
||||
[strings.1022]
|
||||
msgid = "Sun Raster Image"
|
||||
comment = "File type name for: ras, sun"
|
||||
|
||||
[strings.1023]
|
||||
msgid = "OpenRaster Image"
|
||||
comment = "File type name for: ora"
|
||||
|
||||
[strings.1024]
|
||||
msgid = "Animated Cursor"
|
||||
comment = "File type name for: ani"
|
||||
|
||||
[strings.1025]
|
||||
msgid = "Portable Float Map"
|
||||
comment = "File type name for: pfm, phm"
|
||||
|
||||
[strings.1026]
|
||||
msgid = "Silicon Graphics Image"
|
||||
comment = "File type name for: rgb, rgba, bw, sgi"
|
||||
|
||||
[strings.1027]
|
||||
msgid = "Pixar Raster Image"
|
||||
comment = "File type name for: pxr"
|
||||
|
||||
[strings.1028]
|
||||
msgid = "Scitex Continuous Tone"
|
||||
comment = "File type name for: sct"
|
||||
|
||||
[strings.file_description]
|
||||
msgid = "Pineapple Pictures - Image Viewer"
|
||||
comment = "File description of the executable."
|
||||
|
||||
[strings.product_name]
|
||||
msgid = "Pineapple Pictures"
|
||||
comment = "Display name of the product."
|
||||
@@ -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."
|
||||
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 105 KiB |
|
After Width: | Height: | Size: 54 KiB |