Compare commits

...
5 Commits
Author SHA1 Message Date
blumia a31054b9d0 fix(CI): should use 6.11.2 for both Windows and macOS build 2026-08-19 20:21:57 +08:00
blumia 44e4a709c3 chore: allow drag to move window when maximized when Qt >= 6.11.2
Resolve: https://github.com/BLumia/pineapple-pictures/issues/184

Also use git version of aqtinstall for Qt 6.11.0+ for Windows
miurahr/aqtinstall#1007
2026-08-19 19:06:44 +08:00
715b3d3ebc i18n: Translations update from Hosted Weblate
Co-authored-by: Heimen Stoffels <vistausss@fastmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Tech-Tac <ahmad.tech.tac@gmail.com>
Co-authored-by: VenusGirl <VenusGirl@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/pineapple-pictures/application/ar/
Translate-URL: https://hosted.weblate.org/projects/pineapple-pictures/application/ko/
Translate-URL: https://hosted.weblate.org/projects/pineapple-pictures/application/nl/
Translate-URL: https://hosted.weblate.org/projects/pineapple-pictures/application/tr/
Translate-URL: https://hosted.weblate.org/projects/pineapple-pictures/appstream-metadata/tr/
Translation: pineapple-pictures/AppStream Metadata
Translation: pineapple-pictures/Application
2026-08-19 12:35:07 +08:00
Tech-Tac 7ffb7086ac fix: close button without titlebar position in RTL (#186) 2026-08-06 23:15:06 +08:00
Tech-Tac ed5a3c397b feat(i18n): make titlebar respect RTL (#182) 2026-08-06 00:09:07 +08:00
9 changed files with 58 additions and 43 deletions

No files matched your search

+1 -1
View File
@@ -12,7 +12,7 @@ jobs:
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.10.3'
version: '6.11.2'
modules: 'qtimageformats'
cache: true
- name: Install Conan and Dependencies
+6 -2
View File
@@ -8,7 +8,7 @@ jobs:
strategy:
matrix:
include:
- qt_ver: '6.10.3'
- qt_ver: '6.11.2'
vs: '2022'
aqt_arch: 'win64_msvc2022_64'
msvc_arch: 'x64'
@@ -24,6 +24,8 @@ jobs:
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: |
@@ -45,7 +47,7 @@ jobs:
strategy:
matrix:
include:
- qt_ver: '6.10.3'
- qt_ver: '6.11.2'
vs: '2022'
aqt_arch: 'win64_msvc2022_64'
msvc_arch: 'x64'
@@ -61,6 +63,8 @@ jobs:
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: |
+2 -2
View File
@@ -357,7 +357,7 @@ void MainWindow::leaveEvent(QEvent *event)
void MainWindow::mousePressEvent(QMouseEvent *event)
{
#if defined(Q_OS_WIN)
#if defined(Q_OS_WIN) and QT_VERSION < QT_VERSION_CHECK(6, 11, 2)
const bool shouldAcceptDrag = !isMaximized() && !isFullScreen();
#else
const bool shouldAcceptDrag = !isFullScreen();
@@ -630,7 +630,7 @@ void MainWindow::updateWidgetsPosition()
{
if (m_titleBar->closeButtonOnly()) {
const int bw = m_titleBar->closeButtonWidth();
m_titleBar->setGeometry(width() - bw, 0, bw, m_titleBar->height());
m_titleBar->setGeometry(isRightToLeft() ? 0 : width() - bw, 0, bw, m_titleBar->height());
} else {
m_titleBar->setGeometry(0, 0, width(), m_titleBar->height());
}
+12 -4
View File
@@ -55,7 +55,8 @@ void TitleBar::setCloseButtonOnly(bool only)
QRect TitleBar::closeButtonRect() const
{
const int btnWidth = closeButtonWidth();
return QRect(width() - btnWidth, 0, btnWidth, height());
return QRect(isRightToLeft() ? 0 : width() - btnWidth, 0, btnWidth, height());
}
void TitleBar::paintEvent(QPaintEvent *event)
@@ -72,14 +73,21 @@ void TitleBar::paintEvent(QPaintEvent *event)
const QRect closeRect = closeButtonRect();
// Title text (leave room for the close button).
QRect labelRect = rect().adjusted(8, 0, 0, 0);
QRect labelRect = rect();
if (isRightToLeft()) {
labelRect.adjust(0, 0, -8, 0);
if (m_closeButtonVisible)
labelRect.setLeft(closeRect.right() + 2);
} else {
labelRect.adjust(8, 0, 0, 0);
if (m_closeButtonVisible)
labelRect.setRight(closeRect.left() - 2);
}
const QString title = window() ? window()->windowTitle() : QString();
if (!m_closeButtonOnly && !title.isEmpty()) {
const QString elided = painter.fontMetrics().elidedText(title, Qt::ElideRight, labelRect.width());
const int flags = Qt::AlignLeft | Qt::AlignVCenter | Qt::TextSingleLine;
const int flags = Qt::AlignLeading | Qt::AlignVCenter | Qt::TextSingleLine;
painter.setPen(Qt::black);
painter.drawText(labelRect.adjusted(1, 1, 1, 1), flags, elided);
painter.setPen(Qt::white);
@@ -128,7 +136,7 @@ void TitleBar::mouseMoveEvent(QMouseEvent *event)
}
}
#if defined(Q_OS_WIN)
#if defined(Q_OS_WIN) and QT_VERSION < QT_VERSION_CHECK(6, 11, 2)
const bool shouldAcceptDrag = !window()->isMaximized() && !window()->isFullScreen();
#else
const bool shouldAcceptDrag = !window()->isFullScreen();
+16 -16
View File
@@ -11,7 +11,7 @@
<message>
<location filename="../aboutdialog.cpp" line="32"/>
<source>Launch application with image file path as argument to load the file.</source>
<translation>إطلاق التطبيق مع استخدام مسار ملف الصورة كمُعامل لتحميل الملف.</translation>
<translation>أطلق التطبيق مع استخدام مسار ملف صورة كمُعامل لفتح الملف.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="33"/>
@@ -113,22 +113,22 @@
<location filename="../aboutdialog.cpp" line="63"/>
<source>Copyright (c) %1 %2</source>
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
<translation>حقوق النسخ مملوكة لصالح %1 لعام %2</translation>
<translation>حقوق النسخ مملوكة لصالح %2 لعام %1</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="95"/>
<source>%1 is released under the MIT License.</source>
<translation>%1 منشور تحت رخصة MIT.</translation>
<translation>تم إصدار %1 بموجب ترخيص MIT.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="96"/>
<source>This license grants people a number of freedoms:</source>
<translation>هذه الرخصة تمنح المستخدم عدة حقوق وحريات:</translation>
<translation>هذه الرخصة تمنح المستخدم عدة حريات:</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="97"/>
<source>You are free to use %1, for any purpose</source>
<translation>يحق لك استخدام %1 لأي غرض</translation>
<translation>لك الحرية في استخدام %1 لأي غرض كان</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="98"/>
@@ -138,7 +138,7 @@
<message>
<location filename="../aboutdialog.cpp" line="99"/>
<source>You can study how %1 works and change it</source>
<translation>يمكنك دراسة طريقة عمل %1 وتعديلها</translation>
<translation>يمكنك دراسة طريقة عمل %1 وتعديله</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="100"/>
@@ -148,12 +148,12 @@
<message>
<location filename="../aboutdialog.cpp" line="102"/>
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
<translation>رخصة MIT تضمن لك تلك الحقوق. لا أحد له الحق في سلبهم منك.</translation>
<translation>رخصة MIT تضمن لك تلك الحريات. لا أحد له الحق في سلبهم منك.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="130"/>
<source>Third-party Libraries used by %1</source>
<translation>المكتبات الخارجية المستخدمة من قِبَل %1</translation>
<translation>المكتبات الخارجية المستخدمة في %1</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="153"/>
@@ -244,7 +244,7 @@
<message>
<location filename="../mainwindow.cpp" line="786"/>
<source>Failed to save image: %1</source>
<translation>فشل في حفظ الصورة: %1</translation>
<translation>فشل حفظ الصورة: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="875"/>
@@ -259,7 +259,7 @@
<message>
<location filename="../mainwindow.cpp" line="897"/>
<source>Failed to move file to trash</source>
<translation>فشل النقل إلى سلة المهملات</translation>
<translation>فشل نقل الملف إلى سلة المهملات</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="898"/>
@@ -298,7 +298,7 @@
<location filename="../aboutdialog.cpp" line="47"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation>إبقاء التحويل</translation>
<translation>الحفاظ على التحويلات</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
@@ -503,7 +503,7 @@
<message>
<location filename="../metadatamodel.cpp" line="64"/>
<source>Item type</source>
<translation>نوع العنصر</translation>
<translation>نوع الملف</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="66"/>
@@ -865,7 +865,7 @@
<message>
<location filename="../settingsdialog.cpp" line="129"/>
<source>Show bird&apos;s-eye view</source>
<translation type="unfinished"></translation>
<translation>إظهار إطار مصغر عند التكبير</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="130"/>
@@ -880,12 +880,12 @@
<message>
<location filename="../settingsdialog.cpp" line="132"/>
<source>Auto long image mode</source>
<translation>وضع الصور الطويلة تلقائيًا</translation>
<translation>ملائمة الصور الطويلة تلقائيًا</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="133"/>
<source>Limit SVG support to SVG Tiny 1.2</source>
<translation>حد دعم تنسيق SVG إلي نسخة Tiny 1.2</translation>
<translation>حد دعم تنسيق SVG إلي مواصفة SVG Tiny 1.2</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="134"/>
@@ -895,7 +895,7 @@
<message>
<location filename="../settingsdialog.cpp" line="135"/>
<source>Mouse wheel behavior</source>
<translation>السلوك عند تحريك عجلة الفأرة</translation>
<translation>السلوك عند تمرير عجلة الفأرة</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="136"/>
+2 -2
View File
@@ -872,12 +872,12 @@
<message>
<location filename="../settingsdialog.cpp" line="128"/>
<source>Show title bar</source>
<translation type="unfinished"></translation>
<translation>제목 표시줄 표시</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="129"/>
<source>Show bird&apos;s-eye view</source>
<translation type="unfinished"></translation>
<translation>조감도 보기 표시</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="130"/>
+1 -1
View File
@@ -881,7 +881,7 @@
<message>
<location filename="../settingsdialog.cpp" line="129"/>
<source>Show bird&apos;s-eye view</source>
<translation type="unfinished"></translation>
<translation>Vogelvluchtweergave</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="130"/>
+8 -8
View File
@@ -240,27 +240,27 @@
<location filename="../mainwindow.cpp" line="755"/>
<location filename="../mainwindow.cpp" line="785"/>
<source>Save As</source>
<translation type="unfinished"></translation>
<translation>Farklı Kaydet</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="731"/>
<source>No image is currently open.</source>
<translation type="unfinished"></translation>
<translation>Şu anda açık bir resim yok.</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="743"/>
<source>%1 Image (*.%2)</source>
<translation type="unfinished"></translation>
<translation>%1 Resim (*.%2)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="749"/>
<source>No supported image formats are available.</source>
<translation type="unfinished"></translation>
<translation>Desteklenen resim biçimi yok.</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="786"/>
<source>Failed to save image: %1</source>
<translation type="unfinished"></translation>
<translation>Resim kaydedilemedi: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="875"/>
@@ -324,7 +324,7 @@
<message>
<location filename="../actionmanager.cpp" line="88"/>
<source>Save &amp;As...</source>
<translation type="unfinished"></translation>
<translation>Farklı &amp;Kaydet...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="93"/>
@@ -876,12 +876,12 @@
<message>
<location filename="../settingsdialog.cpp" line="128"/>
<source>Show title bar</source>
<translation type="unfinished"></translation>
<translation>Başlık çubuğunu göster</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="129"/>
<source>Show bird&apos;s-eye view</source>
<translation type="unfinished"></translation>
<translation>Kuş bakışı görünümünü göster</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="130"/>
@@ -2,8 +2,8 @@ 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"
"PO-Revision-Date: 2026-07-29 10:01+0000\n"
"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/pineapple-"
"pictures/appstream-metadata/tr/>\n"
"Language: tr\n"
@@ -11,7 +11,7 @@ msgstr ""
"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"
"X-Generator: Weblate 2026.8.dev0\n"
#. (itstool) path: component/name
#: net.blumia.pineapple-pictures.metainfo.xml:7
@@ -27,23 +27,26 @@ msgstr "Resim Görüntüleyici"
#: 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 ""
"Pineapple Resimler, yakınlaştırma yapıldığında kullanışlı bir gezinme küçük "
"resmi sunan, hafif ve kullanımı kolay bir resim görüntüleyicidir, herhangi "
"bir resim yönetimi desteği içermez."
#. (itstool) path: screenshot/caption
#: net.blumia.pineapple-pictures.metainfo.xml:17
msgid "Main window when an image file is loaded"
msgstr ""
msgstr "Bir resim dosyası yüklendiğinde ana pencere"
#. (itstool) path: screenshot/caption
#: net.blumia.pineapple-pictures.metainfo.xml:22
msgid "Zooming in a raster image"
msgstr ""
msgstr "Raster resimde yakınlaştırma"
#. (itstool) path: screenshot/caption
#: net.blumia.pineapple-pictures.metainfo.xml:27
msgid "Zooming in a vector image"
msgstr ""
msgstr "Vektör resimde yakınlaştırma"
#. (itstool) path: component/developer_name
#: net.blumia.pineapple-pictures.metainfo.xml:34
msgid "Gary (BLumia) Wang et al."
msgstr "Gary (BLumia) Wang et al."
msgstr "Gary (BLumia) Wang ve diğerleri"