Skip to content

Commit

Permalink
Showing 152 changed files with 65,076 additions and 67,348 deletions.
13 changes: 13 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
Sun May 22 2022 - sledgehammer999 <[email protected]> - v4.4.3
- BUGFIX: Correctly handle changing of temp save path (glassez)
- BUGFIX: Fix storage in SQLite (glassez)
- BUGFIX: Correctly apply content layout when "Skip hash check" is enabled (glassez)
- BUGFIX: Don't corrupt IDs of v2 torrents (glassez)
- BUGFIX: Reduce the number of hashing threads by default (improves hashing speed on HDDs) (summer)
- BUGFIX: Prevent the "update dialog" from blocking input on other windows (summer)
- BUGFIX: Add trackers in exported .torrent files (glassez)
- BUGFIX: Fix wrong GUI behavior in "Optional IP address to bind to" setting (Chocobo1)
- WEBUI: Fix WebUI crash due to missing tags from config (An0n)
- WEBUI: Show correct location path (Chocobo1)
- MACOS: Fix main window freezing after opening a files dialog (glassez)

Tue Mar 22 2022 - sledgehammer999 <[email protected]> - v4.4.2
- FEATURE: Allow to limit max memory working set size (glassez)
- BUGFIX: Fix UI crash when torrent is in a non-existent category (Kevin Cox)
25 changes: 25 additions & 0 deletions cmake/Modules/FindQtTranslations.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Return Qt translations files as list of paths
# It will return .qm files of qt/qtbase that aren't stub files.
# Requires that Qt has been found first because it depends on qmake being available

function(qbt_get_qt_translations qt_translations)
get_target_property(QT_QMAKE_EXECUTABLE Qt::qmake IMPORTED_LOCATION)
execute_process(COMMAND "${QT_QMAKE_EXECUTABLE}" -query QT_INSTALL_TRANSLATIONS
OUTPUT_VARIABLE QT_TRANSLATIONS_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)

FILE(GLOB QT_TEMP_TRANSLATIONS CONFIGURE_DEPENDS
"${QT_TRANSLATIONS_DIR}/qt_??.qm"
"${QT_TRANSLATIONS_DIR}/qt_??_??.qm"
"${QT_TRANSLATIONS_DIR}/qtbase_??.qm"
"${QT_TRANSLATIONS_DIR}/qtbase_??_??.qm")

foreach(TRANSLATION ${QT_TEMP_TRANSLATIONS})
FILE(SIZE "${TRANSLATION}" translation_size)
# Consider files less than 10KB as stub translations
if (translation_size GREATER_EQUAL 10240)
list(APPEND QT_FINAL_TRANSLATIONS "${TRANSLATION}")
endif()
endforeach()

SET(${qt_translations} ${QT_FINAL_TRANSLATIONS} PARENT_SCOPE)
endfunction()
20 changes: 10 additions & 10 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for qbittorrent v4.4.2.
# Generated by GNU Autoconf 2.71 for qbittorrent v4.4.3.
#
# Report bugs to <bugs.qbittorrent.org>.
#
@@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='qbittorrent'
PACKAGE_TARNAME='qbittorrent'
PACKAGE_VERSION='v4.4.2'
PACKAGE_STRING='qbittorrent v4.4.2'
PACKAGE_VERSION='v4.4.3'
PACKAGE_STRING='qbittorrent v4.4.3'
PACKAGE_BUGREPORT='bugs.qbittorrent.org'
PACKAGE_URL='https://www.qbittorrent.org/'

@@ -1329,7 +1329,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures qbittorrent v4.4.2 to adapt to many kinds of systems.
\`configure' configures qbittorrent v4.4.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1400,7 +1400,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of qbittorrent v4.4.2:";;
short | recursive ) echo "Configuration of qbittorrent v4.4.3:";;
esac
cat <<\_ACEOF
@@ -1533,7 +1533,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
qbittorrent configure v4.4.2
qbittorrent configure v4.4.3
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1648,7 +1648,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by qbittorrent $as_me v4.4.2, which was
It was created by qbittorrent $as_me v4.4.3, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -4779,7 +4779,7 @@ fi
# Define the identity of the package.
PACKAGE='qbittorrent'
VERSION='v4.4.2'
VERSION='v4.4.3'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -7254,7 +7254,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by qbittorrent $as_me v4.4.2, which was
This file was extended by qbittorrent $as_me v4.4.3, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7314,7 +7314,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
qbittorrent config.status v4.4.2
qbittorrent config.status v4.4.3
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AC_INIT([qbittorrent], [v4.4.2], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
AC_INIT([qbittorrent], [v4.4.3], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
: ${CFLAGS=""}
2 changes: 1 addition & 1 deletion dist/mac/Info.plist
Original file line number Diff line number Diff line change
@@ -55,7 +55,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>4.4.2</string>
<string>4.4.3</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
Binary file removed dist/qt-translations/qt_fa.qm
Binary file not shown.
Binary file removed dist/qt-translations/qt_gl.qm
Binary file not shown.
Binary file removed dist/qt-translations/qt_lt.qm
Binary file not shown.
Binary file removed dist/qt-translations/qt_pt.qm
Binary file not shown.
Binary file removed dist/qt-translations/qt_sl.qm
Binary file not shown.
Binary file removed dist/qt-translations/qt_sv.qm
Binary file not shown.
Binary file removed dist/qt-translations/qt_zh_CN.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_ar.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_bg.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_ca.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_cs.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_da.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_de.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_es.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_fi.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_fr.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_gd.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_he.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_hu.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_it.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_ja.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_ko.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_lv.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_pl.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_ru.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_sk.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_tr.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_uk.qm
Binary file not shown.
Binary file removed dist/qt-translations/qtbase_zh_TW.qm
Binary file not shown.
2 changes: 1 addition & 1 deletion dist/unix/org.qbittorrent.qBittorrent.appdata.xml
Original file line number Diff line number Diff line change
@@ -74,6 +74,6 @@
<url type="translate">https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent</url>
<content_rating type="oars-1.1"/>
<releases>
<release version="4.4.2" date="2022-03-22"/>
<release version="4.4.3" date="2022-05-22"/>
</releases>
</component>
2 changes: 1 addition & 1 deletion dist/unix/org.qbittorrent.qBittorrent.desktop
Original file line number Diff line number Diff line change
@@ -106,7 +106,7 @@ Name[ja]=qBittorrent
Comment[ka]=ჩამოტვირთე და გააზიარე ფაილები Bittorrent-ის საშუალებით
GenericName[ka]=BitTorrent კლიენტი
Name[ka]=qBittorrent
Comment[ko]=BitTorrent를 통해 파일 받기 및 공유
Comment[ko]=BitTorrent를 통한 파일 다운로드 및 공유
GenericName[ko]=BitTorrent 클라이언트
Name[ko]=qBittorrent
Comment[lt]=Atsisiųskite bei dalinkitės failais BitTorrent tinkle
10 changes: 6 additions & 4 deletions dist/windows/README.txt
Original file line number Diff line number Diff line change
@@ -38,10 +38,12 @@ installer-translations
translations
qt_ar.qm
...
(all the .qm files found in the 'translations' folder of your Qt install. Those files differ between Qt4 and Qt5.
If you want to distribute Qt4 translations it is better to use the ones found in this repo under the path "dist/qt-translations".
They contain extra languages not distributed via the official qt4 sources.
Don't forget to edit the filelist in installer.nsi + uninstaller.nsi to include all your .qm files.)
(All the .qm files found in the 'translations' folder of your Qt install. Those files differ between Qt5 and Qt6.
You will need the files that conform to this globbing expression 'qt_??.qm qt_??_??.qm qtbase_??.qm qtbase_??_??.qm'.
Some of those files will be stubs. Filter any file that is smaller than 10KB in size.
Alternatively you can use the 'gather_qt_translations.py' script found in the same folder as this file.
Run it with '--help' to see its usage.
**YOU MUST** edit the list of .qm files in the 'installer.nsi' to match whatever files are in the 'translations' subfolder.)
qt_zh_TW.qm
installer.nsi
license.txt
31 changes: 31 additions & 0 deletions dist/windows/gather_qt_translations.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/usr/bin/env python3

import argparse
import glob
import os
import shutil
import sys
from typing import List

def isNotStub(path: str) -> bool:
return (os.path.getsize(path) >= (10 * 1024))

def main() -> int:
parser = argparse.ArgumentParser(description='Gather valid Qt translations for NSIS packaging.')
parser.add_argument("qt_translations_folder", help="Qt's translations folder")
parser.add_argument("nsis_packaging_folder", help="NSIS packaging translations folder")
args = parser.parse_args()

tmp_translations: List[str] = glob.glob(f'{args.qt_translations_folder}/qt_??.qm')
tmp_translations += glob.glob(f'{args.qt_translations_folder}/qt_??_??.qm')
tmp_translations += glob.glob(f'{args.qt_translations_folder}/qtbase_??.qm')
tmp_translations += glob.glob(f'{args.qt_translations_folder}qtbase_??_??.qm')

filtered = filter(isNotStub, tmp_translations)
for file in filtered:
shutil.copy2(file, args.nsis_packaging_folder)

return 0

if __name__ == '__main__':
sys.exit(main())
30 changes: 20 additions & 10 deletions macxconf.pri
Original file line number Diff line number Diff line change
@@ -7,13 +7,31 @@ else {
include(conf.pri)
}

# Custom function
# Return Qt translations files as list of paths
# It will return .qm files of qt/qtbase that aren't stub files.
defineReplace(qbt_get_qt_translations) {
# The $$[] syntax queries qmake properties
TMP_TRANSLATIONS = $$files($$[QT_INSTALL_TRANSLATIONS]/qt_??.qm)
TMP_TRANSLATIONS += $$files($$[QT_INSTALL_TRANSLATIONS]/qt_??_??.qm)
TMP_TRANSLATIONS += $$files($$[QT_INSTALL_TRANSLATIONS]/qtbase_??.qm)
TMP_TRANSLATIONS += $$files($$[QT_INSTALL_TRANSLATIONS]/qtbase_??_??.qm)

# Consider files less than 10KB as stub translations
for (TRANSLATION, TMP_TRANSLATIONS) {
TRANSLATION_SIZE = $$system("stat -f%z $${TRANSLATION}", true, EXIT_STATUS)
equals(EXIT_STATUS, 0):!lessThan(TRANSLATION_SIZE, 10240): FINAL_TRANSLATIONS += $${TRANSLATION}
}

return($$FINAL_TRANSLATIONS)
}

QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14

DEFINES += _DARWIN_FEATURE_64_BIT_INODE

LIBS += -framework Carbon -framework IOKit -framework AppKit

QT_LANG_PATH = ../dist/qt-translations
DIST_PATH = ../dist/mac

document_icon.path = Contents/Resources
@@ -25,15 +43,7 @@ qt_conf.files = $$DIST_PATH/qt.conf
QMAKE_BUNDLE_DATA += qt_conf

qt_translations.path = Contents/translations
qt_translations.files = $$files($$QT_LANG_PATH/qtbase_*.qm)
qt_translations.files += \
$$QT_LANG_PATH/qt_fa.qm \
$$QT_LANG_PATH/qt_gl.qm \
$$QT_LANG_PATH/qt_lt.qm \
$$QT_LANG_PATH/qt_pt.qm \
$$QT_LANG_PATH/qt_sl.qm \
$$QT_LANG_PATH/qt_sv.qm \
$$QT_LANG_PATH/qt_zh_CN.qm
qt_translations.files = $$qbt_get_qt_translations()
QMAKE_BUNDLE_DATA += qt_translations

ICON = $$DIST_PATH/qbittorrent_mac.icns
24 changes: 10 additions & 14 deletions src/app/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -16,11 +16,6 @@ if (WEBUI)
"${qBittorrent_BINARY_DIR}/src/webui/www/translations/webui_translations.qrc" COPYONLY)
endif()

FILE(GLOB QT_TRANSLATIONS "${qBittorrent_SOURCE_DIR}/dist/qt-translations/qtbase_*.qm")
foreach(EXTRA_TRANSLATION IN ITEMS "fa" "gl" "lt" "pt" "sl" "sv" "zh_CN")
list(APPEND QT_TRANSLATIONS "${qBittorrent_SOURCE_DIR}/dist/qt-translations/qt_${EXTRA_TRANSLATION}.qm")
endforeach()

# Executable target configuration
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
@@ -65,16 +60,17 @@ endif()
# Additional platform specific configuration
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
set_source_files_properties(${QT_TRANSLATIONS} PROPERTIES MACOSX_PACKAGE_LOCATION translations)
set_source_files_properties(
"${qBittorrent_SOURCE_DIR}/dist/mac/qt.conf"
"${qBittorrent_SOURCE_DIR}/dist/mac/qBitTorrentDocument.icns"
"${qBittorrent_SOURCE_DIR}/dist/mac/qbittorrent_mac.icns"
PROPERTIES
MACOSX_PACKAGE_LOCATION Resources
)

if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
include(FindQtTranslations)
qbt_get_qt_translations(QT_TRANSLATIONS)
set_source_files_properties(${QT_TRANSLATIONS} PROPERTIES MACOSX_PACKAGE_LOCATION translations)
set_source_files_properties(
"${qBittorrent_SOURCE_DIR}/dist/mac/qt.conf"
"${qBittorrent_SOURCE_DIR}/dist/mac/qBitTorrentDocument.icns"
"${qBittorrent_SOURCE_DIR}/dist/mac/qbittorrent_mac.icns"
PROPERTIES
MACOSX_PACKAGE_LOCATION Resources
)
# provide variables for substitution in dist/mac/Info.plist
get_target_property(EXECUTABLE_NAME qbt_app OUTPUT_NAME)
# This variable name should be changed once qmake is no longer used. Refer to the discussion in PR #14813
Loading

0 comments on commit eb7db4e

Please sign in to comment.