Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9dd34b3fce | ||
|
|
adfe6c51da | ||
|
|
96565b2ccf | ||
|
|
107440145a | ||
|
|
1c55e3194e | ||
|
|
9021ff2579 | ||
|
|
10e1e91e7b | ||
|
|
ef887d7a06 | ||
|
|
5446d94966 | ||
|
|
a2f42c2e3d |
@@ -12,8 +12,9 @@ jobs:
|
|||||||
- name: Install Qt
|
- name: Install Qt
|
||||||
uses: jurplel/install-qt-action@v4
|
uses: jurplel/install-qt-action@v4
|
||||||
with:
|
with:
|
||||||
version: '6.9.2'
|
version: '6.10.1'
|
||||||
modules: 'qtimageformats'
|
modules: 'qtimageformats'
|
||||||
|
cache: true
|
||||||
- name: Install Conan and Dependencies
|
- name: Install Conan and Dependencies
|
||||||
id: conan
|
id: conan
|
||||||
working-directory: ./
|
working-directory: ./
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- qt_ver: '6.9.2'
|
- qt_ver: '6.10.1'
|
||||||
vs: '2022'
|
vs: '2022'
|
||||||
aqt_arch: 'win64_msvc2022_64'
|
aqt_arch: 'win64_msvc2022_64'
|
||||||
msvc_arch: 'x64'
|
msvc_arch: 'x64'
|
||||||
@@ -23,6 +23,7 @@ jobs:
|
|||||||
arch: ${{ matrix.aqt_arch }}
|
arch: ${{ matrix.aqt_arch }}
|
||||||
version: ${{ matrix.qt_ver }}
|
version: ${{ matrix.qt_ver }}
|
||||||
modules: 'qtimageformats'
|
modules: 'qtimageformats'
|
||||||
|
cache: true
|
||||||
- name: Build
|
- name: Build
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: |
|
||||||
@@ -44,7 +45,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- qt_ver: '6.9.2'
|
- qt_ver: '6.10.1'
|
||||||
vs: '2022'
|
vs: '2022'
|
||||||
aqt_arch: 'win64_msvc2022_64'
|
aqt_arch: 'win64_msvc2022_64'
|
||||||
msvc_arch: 'x64'
|
msvc_arch: 'x64'
|
||||||
@@ -59,6 +60,7 @@ jobs:
|
|||||||
arch: ${{ matrix.aqt_arch }}
|
arch: ${{ matrix.aqt_arch }}
|
||||||
version: ${{ matrix.qt_ver }}
|
version: ${{ matrix.qt_ver }}
|
||||||
modules: 'qtimageformats'
|
modules: 'qtimageformats'
|
||||||
|
cache: true
|
||||||
- name: Build
|
- name: Build
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: |
|
||||||
@@ -82,10 +84,9 @@ jobs:
|
|||||||
ren .\dependencies_src\zlib-1.3.1 zlib || goto :error
|
ren .\dependencies_src\zlib-1.3.1 zlib || goto :error
|
||||||
cmake ./dependencies_src/zlib -Bbuild_dependencies/zlib -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
cmake ./dependencies_src/zlib -Bbuild_dependencies/zlib -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
||||||
cmake --build build_dependencies/zlib --config Release --target=install || goto :error
|
cmake --build build_dependencies/zlib --config Release --target=install || goto :error
|
||||||
curl -fsSL -o expat_src.zip https://github.com/libexpat/libexpat/archive/R_2_6_2.zip
|
|
||||||
echo ::endgroup::
|
echo ::endgroup::
|
||||||
echo ::group::===== AOM for libavif AVI decoding support =====
|
echo ::group::===== AOM for libavif AVI decoding support =====
|
||||||
git clone -q -b v3.12.0 --depth 1 https://aomedia.googlesource.com/aom dependencies_src/aom
|
git clone -q -b v3.13.1 --depth 1 https://aomedia.googlesource.com/aom dependencies_src/aom
|
||||||
cmake ./dependencies_src/aom -Bbuild_dependencies/aom -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DAOM_TARGET_CPU=generic -DENABLE_TESTS=OFF -DENABLE_TESTDATA=OFF -DENABLE_TOOLS=OFF -DENABLE_EXAMPLES=0 || goto :error
|
cmake ./dependencies_src/aom -Bbuild_dependencies/aom -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DAOM_TARGET_CPU=generic -DENABLE_TESTS=OFF -DENABLE_TESTDATA=OFF -DENABLE_TOOLS=OFF -DENABLE_EXAMPLES=0 || goto :error
|
||||||
cmake --build build_dependencies/aom --config Release --target=install || goto :error
|
cmake --build build_dependencies/aom --config Release --target=install || goto :error
|
||||||
echo ::endgroup::
|
echo ::endgroup::
|
||||||
@@ -97,8 +98,9 @@ jobs:
|
|||||||
cmake --build build_dependencies/libavif --config Release --target=install || goto :error
|
cmake --build build_dependencies/libavif --config Release --target=install || goto :error
|
||||||
echo ::endgroup::
|
echo ::endgroup::
|
||||||
echo ::group::===== expat =====
|
echo ::group::===== expat =====
|
||||||
|
curl -fsSL -o expat_src.zip https://github.com/libexpat/libexpat/archive/R_2_7_3.zip
|
||||||
7z x expat_src.zip -y -o"dependencies_src"
|
7z x expat_src.zip -y -o"dependencies_src"
|
||||||
ren .\dependencies_src\libexpat-R_2_6_2 expat || goto :error
|
ren .\dependencies_src\libexpat-R_2_7_3 expat || goto :error
|
||||||
cmake ./dependencies_src/expat/expat -Bbuild_dependencies/expat -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
cmake ./dependencies_src/expat/expat -Bbuild_dependencies/expat -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
||||||
cmake --build build_dependencies/expat --config Release --target=install || goto :error
|
cmake --build build_dependencies/expat --config Release --target=install || goto :error
|
||||||
echo ::endgroup::
|
echo ::endgroup::
|
||||||
@@ -114,7 +116,7 @@ jobs:
|
|||||||
echo ::endgroup::
|
echo ::endgroup::
|
||||||
echo ::group::===== KImageFormats =====
|
echo ::group::===== KImageFormats =====
|
||||||
git clone -q https://invent.kde.org/frameworks/kimageformats.git dependencies_src/kimageformats
|
git clone -q https://invent.kde.org/frameworks/kimageformats.git dependencies_src/kimageformats
|
||||||
cmake .\dependencies_src\kimageformats -Bbuild_dependencies/kimageformats -DKDE_INSTALL_QTPLUGINDIR=%QT_ROOT_DIR%\plugins || goto :error
|
cmake .\dependencies_src\kimageformats -Bbuild_dependencies/kimageformats -DBUILD_TESTING=OFF -DKDE_INSTALL_QTPLUGINDIR=%QT_ROOT_DIR%\plugins || goto :error
|
||||||
cmake --build build_dependencies/kimageformats --config Release --target=install || goto :error
|
cmake --build build_dependencies/kimageformats --config Release --target=install || goto :error
|
||||||
echo ::endgroup::
|
echo ::endgroup::
|
||||||
:: ------ app ------
|
:: ------ app ------
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
project(pineapple-pictures VERSION 1.2.0) # don't forget to update NEWS file and AppStream metadata.
|
project(pineapple-pictures VERSION 1.2.1) # don't forget to update NEWS file and AppStream metadata.
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
include(FeatureSummary)
|
include(FeatureSummary)
|
||||||
|
|||||||
@@ -1,3 +1,19 @@
|
|||||||
|
Version 1.2.1
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
Released: 2025-11-22
|
||||||
|
|
||||||
|
Bugfixes:
|
||||||
|
* Fix incorrect color when display some CMYK images.
|
||||||
|
|
||||||
|
Miscellaneous:
|
||||||
|
* Now use Qt 6.10.1 for pre-built binary
|
||||||
|
* Update README description and AppStream metainfo
|
||||||
|
* Update translations
|
||||||
|
* Update libavif, AOM and expat version for Windows binary build
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
albanobattistella
|
||||||
|
|
||||||
Version 1.2.0
|
Version 1.2.0
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
Released: 2025-09-21
|
Released: 2025-09-21
|
||||||
|
|||||||
@@ -25,10 +25,20 @@ Pineapple Pictures is a lightweight image viewer that allows you view JPEG, PNG,
|
|||||||
|
|
||||||
[](https://repology.org/project/pineapple-pictures/versions)
|
[](https://repology.org/project/pineapple-pictures/versions)
|
||||||
|
|
||||||
## Help Translation!
|
## Contribution
|
||||||
|
|
||||||
|
Beside feedback and code contribution, other contributions are also welcome!
|
||||||
|
|
||||||
|
### Help Translation!
|
||||||
|
|
||||||
[Translate this project on Weblate!](https://hosted.weblate.org/projects/pineapple-pictures/)
|
[Translate this project on Weblate!](https://hosted.weblate.org/projects/pineapple-pictures/)
|
||||||
|
|
||||||
|
### Funding
|
||||||
|
|
||||||
|
[](https://ko-fi.com/blumia)
|
||||||
|
|
||||||
|
[Afdian](https://afdian.com/a/BLumia)
|
||||||
|
|
||||||
## Build it manually:
|
## Build it manually:
|
||||||
|
|
||||||
Current state, we need:
|
Current state, we need:
|
||||||
|
|||||||
+11
-1
@@ -26,10 +26,20 @@
|
|||||||
|
|
||||||
[](https://repology.org/project/pineapple-pictures/versions)
|
[](https://repology.org/project/pineapple-pictures/versions)
|
||||||
|
|
||||||
## 帮助翻译!
|
## 参与贡献
|
||||||
|
|
||||||
|
除了参与反馈和代码贡献外,也欢迎各种类型的贡献!
|
||||||
|
|
||||||
|
### 帮助翻译!
|
||||||
|
|
||||||
[在 Weblate 上帮助此项目翻译到更多语言!](https://hosted.weblate.org/projects/pineapple-pictures/)
|
[在 Weblate 上帮助此项目翻译到更多语言!](https://hosted.weblate.org/projects/pineapple-pictures/)
|
||||||
|
|
||||||
|
### 打赏
|
||||||
|
|
||||||
|
[Afdian | 爱发电](https://afdian.com/a/BLumia)
|
||||||
|
|
||||||
|
[](https://ko-fi.com/blumia)
|
||||||
|
|
||||||
## 手动构建步骤:
|
## 手动构建步骤:
|
||||||
|
|
||||||
当前状态,我们需要先确保如下依赖可用:
|
当前状态,我们需要先确保如下依赖可用:
|
||||||
|
|||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2025 Gary Wang <git@blumia.net>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ AboutDialog::AboutDialog(QWidget *parent)
|
|||||||
|
|
||||||
const QString mitLicense(QStringLiteral(R"(Expat/MIT License
|
const QString mitLicense(QStringLiteral(R"(Expat/MIT License
|
||||||
|
|
||||||
Copyright (c) 2025 BLumia
|
Copyright © 2025 BLumia
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QColorSpace>
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QMimeData>
|
#include <QMimeData>
|
||||||
@@ -53,6 +54,18 @@ void GraphicsView::showFileFromPath(const QString &filePath)
|
|||||||
} else if (!imageReader.canRead()) {
|
} else if (!imageReader.canRead()) {
|
||||||
showText(tr("Image data is invalid or currently unsupported"));
|
showText(tr("Image data is invalid or currently unsupported"));
|
||||||
} else {
|
} else {
|
||||||
|
#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
|
||||||
|
QImage && img = imageReader.read();
|
||||||
|
if (img.isNull()) {
|
||||||
|
showText(tr("Image data is invalid or currently unsupported"));
|
||||||
|
} else {
|
||||||
|
if (img.format() == QImage::Format_CMYK8888) {
|
||||||
|
img.convertToColorSpace(QColorSpace::SRgb);
|
||||||
|
}
|
||||||
|
img.setDevicePixelRatio(devicePixelRatioF());
|
||||||
|
showImage(img);
|
||||||
|
}
|
||||||
|
#else
|
||||||
QPixmap && pixmap = QPixmap::fromImageReader(&imageReader);
|
QPixmap && pixmap = QPixmap::fromImageReader(&imageReader);
|
||||||
if (pixmap.isNull()) {
|
if (pixmap.isNull()) {
|
||||||
showText(tr("Image data is invalid or currently unsupported"));
|
showText(tr("Image data is invalid or currently unsupported"));
|
||||||
@@ -60,6 +73,7 @@ void GraphicsView::showFileFromPath(const QString &filePath)
|
|||||||
pixmap.setDevicePixelRatio(devicePixelRatioF());
|
pixmap.setDevicePixelRatio(devicePixelRatioF());
|
||||||
showImage(pixmap);
|
showImage(pixmap);
|
||||||
}
|
}
|
||||||
|
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -321,7 +321,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="105"/>
|
<location filename="../actionmanager.cpp" line="105"/>
|
||||||
<source>Fit long image</source>
|
<source>Fit long image</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Adatta immagine lunga</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="108"/>
|
<location filename="../actionmanager.cpp" line="108"/>
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
<launchable type="desktop-id">net.blumia.pineapple-pictures.desktop</launchable>
|
<launchable type="desktop-id">net.blumia.pineapple-pictures.desktop</launchable>
|
||||||
<url type="homepage">https://github.com/BLumia/pineapple-pictures</url>
|
<url type="homepage">https://github.com/BLumia/pineapple-pictures</url>
|
||||||
<url type="bugtracker">https://github.com/BLumia/pineapple-pictures/issues</url>
|
<url type="bugtracker">https://github.com/BLumia/pineapple-pictures/issues</url>
|
||||||
|
<url type="donation">https://ko-fi.com/blumia</url>
|
||||||
<url type="translate">https://hosted.weblate.org/projects/pineapple-pictures/</url>
|
<url type="translate">https://hosted.weblate.org/projects/pineapple-pictures/</url>
|
||||||
<provides>
|
<provides>
|
||||||
<binary>ppic</binary>
|
<binary>ppic</binary>
|
||||||
@@ -80,6 +81,23 @@
|
|||||||
</screenshot>
|
</screenshot>
|
||||||
</screenshots>
|
</screenshots>
|
||||||
<releases>
|
<releases>
|
||||||
|
<release type="stable" version="1.2.1" date="2025-11-22T00:00:00Z">
|
||||||
|
<description>
|
||||||
|
<p>This release fixes the following bug:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fix incorrect color when display some CMYK images.</li>
|
||||||
|
</ul>
|
||||||
|
<p>This release includes the following changes:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Now use Qt 6.10.1 for pre-built binary</li>
|
||||||
|
<li>Update README description and AppStream metainfo</li>
|
||||||
|
<li>Update translations</li>
|
||||||
|
<li>Update libavif, AOM and expat version for Windows binary build</li>
|
||||||
|
</ul>
|
||||||
|
<p>With contributions from:</p>
|
||||||
|
<p>albanobattistella</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
<release type="stable" version="1.2.0" date="2025-09-21T00:00:00Z">
|
<release type="stable" version="1.2.0" date="2025-09-21T00:00:00Z">
|
||||||
<description>
|
<description>
|
||||||
<p>This release adds the following features:</p>
|
<p>This release adds the following features:</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user