mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-20 21:33:27 -07:00
Merge pull request #13659 from FranciscoPombal/whitespacev2
File health: trailing newlines, whitespace, etc fixes and GitHub Actions workflow
This commit is contained in:
commit
b249216db6
88 changed files with 555 additions and 424 deletions
1
.github/ISSUE_TEMPLATE.md
vendored
1
.github/ISSUE_TEMPLATE.md
vendored
|
@ -17,4 +17,3 @@
|
||||||
|
|
||||||
### Extra info(if any)
|
### Extra info(if any)
|
||||||
(type here)
|
(type here)
|
||||||
|
|
||||||
|
|
75
.github/workflows/file_health.sh
vendored
Executable file
75
.github/workflows/file_health.sh
vendored
Executable file
|
@ -0,0 +1,75 @@
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
set -o nounset
|
||||||
|
|
||||||
|
# Assumption: file names don't contain `:` (for the `cut` invocation).
|
||||||
|
# Safe to assume, as such a character in a filename would cause trouble on Windows, a platform we support
|
||||||
|
|
||||||
|
# any regression turn this non-zero
|
||||||
|
regressions=0
|
||||||
|
|
||||||
|
# exclusions (these are just grep extended regular expressions to match against paths relative to the root of the repository)
|
||||||
|
exclusions_nonutf8='(.*(7z|gif|ic(ns|o)|png|qm|zip))'
|
||||||
|
exclusions_bom='src/base/unicodestrings.h'
|
||||||
|
exclusions_tw='(*.ts)|src/webui/www/private/scripts/lib/mootools-1.2-more.js'
|
||||||
|
exclusions_no_lf='(*.ts)|(.*svg)|compile_commands.json|src/webui/www/private/scripts/lib/mootools-1.2-(core-yc.js|more.js)'
|
||||||
|
|
||||||
|
echo -e "*** Detect files not encoded in UTF-8 ***\n"
|
||||||
|
|
||||||
|
find . -path ./build -prune -false -o -path ./.git -prune -false -o -type f -exec file --mime {} \; | sort \
|
||||||
|
| grep -v -e "charset=us-ascii" -e "charset=utf-8" | cut -d ":" -f 1 \
|
||||||
|
| grep -E -v -e "${exclusions_nonutf8}" \
|
||||||
|
| tee >(echo -e "\n--> Files not encoded in UTF-8: found" "$(wc -l < /dev/stdin)" "regression(s)") \
|
||||||
|
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||||
|
regressions=$((regressions+$?))
|
||||||
|
|
||||||
|
echo -e "*** Detect files encoded in UTF-8 with BOM ***\n"
|
||||||
|
|
||||||
|
grep --exclude-dir={.git,build} -rIl $'\xEF\xBB\xBF' | sort \
|
||||||
|
| grep -E -v -e "${exclusions_bom}" \
|
||||||
|
| tee >(echo -e "\n--> Files encoded in UTF-8 with BOM: found" "$(wc -l < /dev/stdin)" "regression(s)") \
|
||||||
|
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||||
|
regressions=$((regressions+$?))
|
||||||
|
|
||||||
|
echo -e "*** Detect usage of CR byte ***\n"
|
||||||
|
|
||||||
|
grep --exclude-dir={.git,build} -rIlU $'\x0D' | sort \
|
||||||
|
| tee >(echo -e "\n--> Usage of CR byte: found" "$(wc -l < /dev/stdin)" "regression(s)") \
|
||||||
|
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||||
|
regressions=$((regressions+$?))
|
||||||
|
|
||||||
|
echo -e "*** Detect trailing whitespace in lines ***\n"
|
||||||
|
|
||||||
|
grep --exclude-dir={.git,build} -rIl "[[:blank:]]$" | sort \
|
||||||
|
| grep -E -v -e "${exclusions_tw}" \
|
||||||
|
| tee >(echo -e "\n--> Trailing whitespace in lines: found" "$(wc -l < /dev/stdin)" "regression(s)") \
|
||||||
|
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0';
|
||||||
|
regressions=$((regressions+$?))
|
||||||
|
|
||||||
|
echo -e "*** Detect too many trailing newlines ***\n"
|
||||||
|
|
||||||
|
find . -path ./build -prune -false -o -path ./.git -prune -false -o -type f -exec file --mime {} \; | sort \
|
||||||
|
| grep -e "charset=us-ascii" -e "charset=utf-8" | cut -d ":" -f 1 \
|
||||||
|
| xargs -L1 -I my_input bash -c 'test "$(tail -q -c2 "my_input" | hexdump -C | grep "0a 0a")" && echo "my_input"' \
|
||||||
|
| tee >(echo -e "\n--> Too many trailing newlines: found" "$(wc -l < /dev/stdin)" "regression(s)") \
|
||||||
|
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||||
|
regressions=$((regressions+$?))
|
||||||
|
|
||||||
|
echo -e "*** Detect no trailing newline ***\n"
|
||||||
|
|
||||||
|
find . -path ./build -prune -false -o -path ./.git -prune -false -o -type f -exec file --mime {} \; | sort \
|
||||||
|
| grep -e "charset=us-ascii" -e "charset=utf-8" | cut -d ":" -f 1 \
|
||||||
|
| grep -E -v -e "${exclusions_no_lf}" \
|
||||||
|
| xargs -L1 -I my_input bash -c 'test "$(tail -q -c1 "my_input" | hexdump -C | grep "0a")" || echo "my_input"' \
|
||||||
|
| tee >(echo -e "\n--> No trailing newline: found" "$(wc -l < /dev/stdin)" "regression(s)") \
|
||||||
|
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||||
|
regressions=$((regressions+$?))
|
||||||
|
|
||||||
|
if [ "$regressions" -ne 0 ]; then
|
||||||
|
regressions=1
|
||||||
|
echo "File health regressions found. Please fix them (or add them as exclusions)."
|
||||||
|
else
|
||||||
|
echo "All OK, no file health regressions found."
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit $regressions;
|
27
.github/workflows/file_health.yaml
vendored
Normal file
27
.github/workflows/file_health.yaml
vendored
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
name: GitHub Actions file health check
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ '**' ]
|
||||||
|
pull_request:
|
||||||
|
types: [edited, opened, reopened, synchronize]
|
||||||
|
branches: [ '**' ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check_file_health:
|
||||||
|
name: Check file health
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: checkout repository
|
||||||
|
uses: actions/checkout@v2.3.3
|
||||||
|
|
||||||
|
- name: install zsh
|
||||||
|
run: |
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install zsh
|
||||||
|
|
||||||
|
- name: run check file health script
|
||||||
|
run: |
|
||||||
|
./.github/workflows/file_health.sh
|
|
@ -1,12 +1,14 @@
|
||||||
All new code **must** follow the following coding guidelines.
|
# Coding Guidelines
|
||||||
If you make changes in a file that still uses another coding style, make sure that you follow these guidelines for your changes.
|
|
||||||
|
All new code **must** follow the following coding guidelines. \
|
||||||
|
If you make changes in a file that still uses another coding style, make sure that you follow these guidelines for your changes. \
|
||||||
For programming languages other than C++ (e.g. JavaScript) used in this repository and submodules, unless otherwise specified, coding guidelines listed here applies as much as possible.
|
For programming languages other than C++ (e.g. JavaScript) used in this repository and submodules, unless otherwise specified, coding guidelines listed here applies as much as possible.
|
||||||
|
|
||||||
**Note 1:** I will not take your head if you forget and use another style. However, most probably the request will be delayed until you fix your coding style.
|
**Note 1:** I will not take your head if you forget and use another style. However, most probably the request will be delayed until you fix your coding style. \
|
||||||
**Note 2:** You can use the `uncrustify` program/tool to clean up any source file. Use it with the `uncrustify.cfg` configuration file found in the root folder.
|
**Note 2:** You can use the `uncrustify` program/tool to clean up any source file. Use it with the `uncrustify.cfg` configuration file found in the root folder. \
|
||||||
**Note 3:** There is also a style for QtCreator but it doesn't cover all cases. In QtCreator `Tools->Options...->C++->Code Style->Import...` and choose the `codingStyleQtCreator.xml` file found in the root folder.
|
**Note 3:** There is also a style for QtCreator but it doesn't cover all cases. In QtCreator `Tools->Options...->C++->Code Style->Import...` and choose the `codingStyleQtCreator.xml` file found in the root folder.
|
||||||
|
|
||||||
### Table Of Contents
|
## Table Of Contents
|
||||||
|
|
||||||
* [1. New lines & curly braces](#1-new-lines--curly-braces)
|
* [1. New lines & curly braces](#1-new-lines--curly-braces)
|
||||||
* [a. Function blocks, class/struct definitions, namespaces](#a-function-blocks-classstruct-definitions-namespaces)
|
* [a. Function blocks, class/struct definitions, namespaces](#a-function-blocks-classstruct-definitions-namespaces)
|
||||||
|
@ -29,11 +31,13 @@ For programming languages other than C++ (e.g. JavaScript) used in this reposito
|
||||||
* [9. Misc](#9-misc)
|
* [9. Misc](#9-misc)
|
||||||
* [10. Git commit message](#10-git-commit-message)
|
* [10. Git commit message](#10-git-commit-message)
|
||||||
* [11. Not covered above](#11-not-covered-above)
|
* [11. Not covered above](#11-not-covered-above)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 1. New lines & curly braces ###
|
## 1. New lines & curly braces
|
||||||
|
|
||||||
|
### a. Function blocks, class/struct definitions, namespaces
|
||||||
|
|
||||||
#### a. Function blocks, class/struct definitions, namespaces ####
|
|
||||||
```c++
|
```c++
|
||||||
int myFunction(int a)
|
int myFunction(int a)
|
||||||
{
|
{
|
||||||
|
@ -79,7 +83,8 @@ namespace Name
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### b. Other code blocks ####
|
### b. Other code blocks
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
if (condition) {
|
if (condition) {
|
||||||
// code
|
// code
|
||||||
|
@ -99,7 +104,8 @@ default:
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### c. Blocks in switch's case labels ####
|
### c. Blocks in switch's case labels
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
switch (var) {
|
switch (var) {
|
||||||
case 1: {
|
case 1: {
|
||||||
|
@ -117,8 +123,10 @@ default:
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### d. If-else statements ####
|
### d. If-else statements
|
||||||
|
|
||||||
The `else if`/`else` must be on their own lines:
|
The `else if`/`else` must be on their own lines:
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
if (condition) {
|
if (condition) {
|
||||||
// code
|
// code
|
||||||
|
@ -131,8 +139,10 @@ else {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### e. Single statement if blocks ####
|
### e. Single statement if blocks
|
||||||
|
|
||||||
Most single statement if blocks should look like this:
|
Most single statement if blocks should look like this:
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
if (condition)
|
if (condition)
|
||||||
a = a + b;
|
a = a + b;
|
||||||
|
@ -141,6 +151,7 @@ if (condition)
|
||||||
One acceptable exception to this can be `return`, `break` or `continue` statements,
|
One acceptable exception to this can be `return`, `break` or `continue` statements,
|
||||||
provided that the test condition isn't very long and its body statement occupies only one line.
|
provided that the test condition isn't very long and its body statement occupies only one line.
|
||||||
However you can still choose to use the first rule.
|
However you can still choose to use the first rule.
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
if (a > 0) return;
|
if (a > 0) return;
|
||||||
|
|
||||||
|
@ -150,10 +161,12 @@ while (p) {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### f. Acceptable conditions to omit braces ####
|
### f. Acceptable conditions to omit braces
|
||||||
|
|
||||||
When the conditional statement in `if`/`else` has only one line and its body occupy only one line,
|
When the conditional statement in `if`/`else` has only one line and its body occupy only one line,
|
||||||
this also applies to loops statements.
|
this also applies to loops statements. \
|
||||||
Notice that for a series of `if - else` branches, if one branch needs braces then all branches must add braces.
|
Notice that for a series of `if - else` branches, if one branch needs braces then all branches must add braces.
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
if (a < b) // conditional statement
|
if (a < b) // conditional statement
|
||||||
do(a); // body
|
do(a); // body
|
||||||
|
@ -177,9 +190,11 @@ else {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### g. Brace enclosed initializers ####
|
### g. Brace enclosed initializers
|
||||||
Unlike single-line functions, you must not insert spaces between the brackets and concluded expressions.<br/>
|
|
||||||
|
Unlike single-line functions, you must not insert spaces between the brackets and concluded expressions. \
|
||||||
But you must insert a space between the variable name and initializer.
|
But you must insert a space between the variable name and initializer.
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
Class obj {}; // empty
|
Class obj {}; // empty
|
||||||
Class obj {expr};
|
Class obj {expr};
|
||||||
|
@ -187,15 +202,18 @@ Class obj {expr1, /*...,*/ exprN};
|
||||||
QVariantMap map {{"key1", 5}, {"key2", 10}};
|
QVariantMap map {{"key1", 5}, {"key2", 10}};
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Indentation ###
|
## 2. Indentation
|
||||||
|
|
||||||
4 spaces.
|
4 spaces.
|
||||||
|
|
||||||
### 3. File encoding and line endings ###
|
## 3. File encoding and line endings
|
||||||
|
|
||||||
UTF-8 and Unix-like line ending (LF). Unless some platform specific files need other encodings/line endings.
|
UTF-8 and Unix-like line ending (LF). Unless some platform specific files need other encodings/line endings.
|
||||||
|
|
||||||
### 4. Initialization lists ###
|
## 4. Initialization lists
|
||||||
|
|
||||||
Initialization lists should be vertical. This will allow for more easily readable diffs. The initialization colon should be indented and in its own line along with first argument. The rest of the arguments should be indented too and have the comma prepended.
|
Initialization lists should be vertical. This will allow for more easily readable diffs. The initialization colon should be indented and in its own line along with first argument. The rest of the arguments should be indented too and have the comma prepended.
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
myClass::myClass(int a, int b, int c, int d)
|
myClass::myClass(int a, int b, int c, int d)
|
||||||
: m_a(a)
|
: m_a(a)
|
||||||
|
@ -207,8 +225,10 @@ myClass::myClass(int a, int b, int c, int d)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5. Enums ###
|
## 5. Enums
|
||||||
|
|
||||||
Enums should be vertical. This will allow for more easily readable diffs. The members should be indented.
|
Enums should be vertical. This will allow for more easily readable diffs. The members should be indented.
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
enum Days
|
enum Days
|
||||||
{
|
{
|
||||||
|
@ -222,11 +242,14 @@ enum Days
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
### 6. Names ###
|
## 6. Names
|
||||||
|
|
||||||
All names should be camelCased.
|
All names should be camelCased.
|
||||||
|
|
||||||
#### a. Type names and namespaces ####
|
### a. Type names and namespaces
|
||||||
|
|
||||||
Type names and namespaces start with Upper case letter (except POD types).
|
Type names and namespaces start with Upper case letter (except POD types).
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
class ClassName {};
|
class ClassName {};
|
||||||
|
|
||||||
|
@ -241,14 +264,18 @@ namespace NamespaceName
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### b. Variable names ####
|
### b. Variable names
|
||||||
|
|
||||||
Variable names start with lower case letter.
|
Variable names start with lower case letter.
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
int myVar;
|
int myVar;
|
||||||
```
|
```
|
||||||
|
|
||||||
#### c. Private member variable names ####
|
### c. Private member variable names
|
||||||
|
|
||||||
Private member variable names start with lower case letter and should have ```m_``` prefix.
|
Private member variable names start with lower case letter and should have ```m_``` prefix.
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
class MyClass
|
class MyClass
|
||||||
{
|
{
|
||||||
|
@ -256,23 +283,26 @@ class MyClass
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 7. Header inclusion order ###
|
## 7. Header inclusion order
|
||||||
The headers should be placed in the following group order:
|
|
||||||
1. Module header (in .cpp)
|
|
||||||
2. C++ Standard Library headers
|
|
||||||
3. System headers
|
|
||||||
4. Boost library headers
|
|
||||||
5. Libtorrent headers
|
|
||||||
6. Qt headers
|
|
||||||
7. qBittorrent's own headers, starting from the *base* headers.
|
|
||||||
|
|
||||||
The headers should be ordered alphabetically within each group.
|
The headers should be placed in the following group order:
|
||||||
If there are conditionals for the same header group, then put them at the bottom of the respective group.
|
|
||||||
|
1. Module header (in .cpp)
|
||||||
|
2. C++ Standard Library headers
|
||||||
|
3. System headers
|
||||||
|
4. Boost library headers
|
||||||
|
5. Libtorrent headers
|
||||||
|
6. Qt headers
|
||||||
|
7. qBittorrent's own headers, starting from the *base* headers.
|
||||||
|
|
||||||
|
The headers should be ordered alphabetically within each group. \
|
||||||
|
If there are conditionals for the same header group, then put them at the bottom of the respective group. \
|
||||||
If there are conditionals that contain headers from several different header groups, then put them above the "qBittorrent's own headers" group.
|
If there are conditionals that contain headers from several different header groups, then put them above the "qBittorrent's own headers" group.
|
||||||
|
|
||||||
One exception is the header containing the library version (for example, QtGlobal), this particular header isn't constrained by the aforementioned order.
|
One exception is the header containing the library version (for example, QtGlobal), this particular header isn't constrained by the aforementioned order.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
// file: examplewidget.cpp
|
// file: examplewidget.cpp
|
||||||
|
|
||||||
|
@ -322,8 +352,10 @@ Example:
|
||||||
#include "ui_examplewidget.h"
|
#include "ui_examplewidget.h"
|
||||||
```
|
```
|
||||||
|
|
||||||
### 8. Include guard ###
|
## 8. Include guard
|
||||||
|
|
||||||
`#pragma once` should be used instead of "include guard" in new code:
|
`#pragma once` should be used instead of "include guard" in new code:
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
// examplewidget.h
|
// examplewidget.h
|
||||||
|
|
||||||
|
@ -338,75 +370,73 @@ class ExampleWidget : public QWidget
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 9. Misc ###
|
## 9. Misc
|
||||||
|
|
||||||
* Line breaks for long lines with operation:
|
* Line breaks for long lines with operation:
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
a += "b"
|
a += "b"
|
||||||
+ "c"
|
+ "c"
|
||||||
+ "d";
|
+ "d";
|
||||||
```
|
```
|
||||||
|
|
||||||
* **auto** keyword
|
* **auto** keyword
|
||||||
|
|
||||||
We allow the use of the **auto** keyword only where it is strictly necessary
|
We allow the use of the **auto** keyword only where it is strictly necessary (for example, to declare a lambda object, etc.), or where it **enhances** the readability of the code. \
|
||||||
(for example, to declare a lambda object, etc.), or where it **enhances** the readability of the code.
|
Declarations for which one can gather enough information about the object interface (type) from its name or the usage pattern (an iterator or a loop variable are good examples of clear patterns) or the right part of the expression nicely fit here.
|
||||||
Declarations for which one can gather enough information about the object interface (type) from its name
|
|
||||||
or the usage pattern (an iterator or a loop variable are good examples of clear patterns)
|
When weighing whether to use an auto-typed variable please think about potential reviewers of your code, who will read it as a plain diff (on github.com, for instance). \
|
||||||
or the right part of the expression nicely fit here.<br/>
|
Please make sure that such reviewers can understand the code completely and without excessive effort.
|
||||||
<br/>
|
|
||||||
When weighing whether to use an auto-typed variable please think about potential reviewers of your code,
|
Some valid use cases:
|
||||||
who will read it as a plain diff (on github.com, for instance). Please make sure that such reviewers can
|
|
||||||
understand the code completely and without excessive effort.<br/>
|
* Container iteration and casts:
|
||||||
<br/>
|
|
||||||
Some valid use cases:
|
```c++
|
||||||
```c++
|
template <typename List>
|
||||||
template <typename List>
|
void doSomethingWithList(const List &list)
|
||||||
void doSomethingWithList(const List &list)
|
{
|
||||||
{
|
foreach (const auto &item, list) {
|
||||||
foreach (const auto &item, list) {
|
// we don't know item type here so we use 'auto' keyword
|
||||||
// we don't know item type here so we use 'auto' keyword
|
// do something with item
|
||||||
// do something with item
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
for (auto it = container.begin(), end = container.end(); it != end; ++it) {
|
for (auto it = container.begin(), end = container.end(); it != end; ++it) {
|
||||||
// we don't need to know the exact iterator type,
|
// we don't need to know the exact iterator type,
|
||||||
// because all iterators have the same interface
|
// because all iterators have the same interface
|
||||||
}
|
}
|
||||||
|
|
||||||
auto spinBox = static_cast<QSpinBox*>(sender());
|
auto spinBox = static_cast<QSpinBox*>(sender());
|
||||||
// we know the variable type based on the right-hand expression
|
// we know the variable type based on the right-hand expression
|
||||||
```
|
```
|
||||||
|
|
||||||
* Notice the spaces in the following specific situations:
|
* Notice the spaces in the following specific situations:
|
||||||
```c++
|
|
||||||
// Before and after the assignment and other binary (and ternary) operators there should be a space
|
|
||||||
// There should not be a space between increment/decrement and its operand
|
|
||||||
a += 20;
|
|
||||||
a = (b <= MAX_B ? b : MAX_B);
|
|
||||||
++a;
|
|
||||||
--b;
|
|
||||||
|
|
||||||
for (int a = 0; a < b; ++b) {
|
```c++
|
||||||
}
|
// Before and after the assignment and other binary (and ternary) operators there should be a space
|
||||||
|
// There should not be a space between increment/decrement and its operand
|
||||||
// Range-based for loop, spaces before and after the colon
|
a += 20;
|
||||||
for (auto i : container) {
|
a = (b <= MAX_B ? b : MAX_B);
|
||||||
}
|
++a;
|
||||||
|
--b;
|
||||||
// Derived class, spaces before and after the colon
|
for (int a = 0; a < b; ++b) {
|
||||||
class Derived : public Base
|
}
|
||||||
{
|
// Range-based for loop, spaces before and after the colon
|
||||||
};
|
for (auto i : container) {
|
||||||
```
|
}
|
||||||
|
// Derived class, spaces before and after the colon
|
||||||
|
class Derived : public Base
|
||||||
|
{
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
* Prefer pre-increment, pre-decrement operators
|
* Prefer pre-increment, pre-decrement operators
|
||||||
```c++
|
|
||||||
++i, --j; // Yes
|
```c++
|
||||||
i++, j--; // No
|
++i, --j; // Yes
|
||||||
```
|
i++, j--; // No
|
||||||
|
```
|
||||||
|
|
||||||
* private/public/protected must not be indented
|
* private/public/protected must not be indented
|
||||||
|
|
||||||
|
@ -414,7 +444,8 @@ i++, j--; // No
|
||||||
|
|
||||||
* Method definitions aren't allowed in header files
|
* Method definitions aren't allowed in header files
|
||||||
|
|
||||||
### 10. Git commit message ###
|
## 10. Git commit message
|
||||||
|
|
||||||
1. Limit the subject line to 50 characters. Subject should contain only the very essence of the changes (you should avoid extra details and internals)
|
1. Limit the subject line to 50 characters. Subject should contain only the very essence of the changes (you should avoid extra details and internals)
|
||||||
2. Separate subject from body with a blank line
|
2. Separate subject from body with a blank line
|
||||||
3. Capitalize the subject line
|
3. Capitalize the subject line
|
||||||
|
@ -424,6 +455,7 @@ i++, j--; // No
|
||||||
7. Use the body to explain what and why vs. how
|
7. Use the body to explain what and why vs. how
|
||||||
8. If commit fixes a reported issue, mention it in the message body (e.g. `Closes #4134.`)
|
8. If commit fixes a reported issue, mention it in the message body (e.g. `Closes #4134.`)
|
||||||
|
|
||||||
### 11. Not covered above ###
|
## 11. Not covered above
|
||||||
If something isn't covered above, just follow the same style the file you are editing has.
|
|
||||||
|
If something isn't covered above, just follow the same style the file you are editing has. \
|
||||||
*This guide is not exhaustive and the style for a particular piece of code not specified here will be determined by project members on code review.*
|
*This guide is not exhaustive and the style for a particular piece of code not specified here will be determined by project members on code review.*
|
||||||
|
|
1
TODO
1
TODO
|
@ -1,2 +1 @@
|
||||||
See https://blueprints.launchpad.net/qbittorrent/
|
See https://blueprints.launchpad.net/qbittorrent/
|
||||||
|
|
||||||
|
|
1
dist/mac/CMakeLists.txt
vendored
1
dist/mac/CMakeLists.txt
vendored
|
@ -0,0 +1 @@
|
||||||
|
# empty
|
3
dist/windows/README.txt
vendored
3
dist/windows/README.txt
vendored
|
@ -8,7 +8,8 @@ TRANSLATORS:
|
||||||
english message to help you with the translation.
|
english message to help you with the translation.
|
||||||
4. Edit only the part inside the quotation marks(""). Unless you know
|
4. Edit only the part inside the quotation marks(""). Unless you know
|
||||||
what you are doing.
|
what you are doing.
|
||||||
5. Save the files with utf8 encoding and BOM.
|
5. Save the files with UTF-8 encoding, without BOM
|
||||||
|
(this should be the default in any modern text editor).
|
||||||
6. Submit your changes: 1) as a pull request to the official git repo or
|
6. Submit your changes: 1) as a pull request to the official git repo or
|
||||||
2) open an issue to the bugtracker and attach them or 3) via email or
|
2) open an issue to the bugtracker and attach them or 3) via email or
|
||||||
4)the same way you provide the translations for qbt itself
|
4)the same way you provide the translations for qbt itself
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_AFRIKAANS} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_AFRIKAANS} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_ALBANIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_ALBANIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_ARABIC} "qBittorrent (مطلوب)"
|
LangString inst_qbt_req ${LANG_ARABIC} "qBittorrent (مطلوب)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_BASQUE} "qBittorrent (beharrezkoa)"
|
LangString inst_qbt_req ${LANG_BASQUE} "qBittorrent (beharrezkoa)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_BELARUSIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_BELARUSIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_BOSNIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_BOSNIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_BRETON} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_BRETON} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_BULGARIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_BULGARIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_CATALAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_CATALAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_CROATIAN} "qBittorrent (neophodno)"
|
LangString inst_qbt_req ${LANG_CROATIAN} "qBittorrent (neophodno)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_CZECH} "qBittorrent (vyžadováno)"
|
LangString inst_qbt_req ${LANG_CZECH} "qBittorrent (vyžadováno)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_DANISH} "qBittorrent (påkrævet)"
|
LangString inst_qbt_req ${LANG_DANISH} "qBittorrent (påkrævet)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_DUTCH} "qBittorrent (vereist)"
|
LangString inst_qbt_req ${LANG_DUTCH} "qBittorrent (vereist)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_ESPERANTO} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_ESPERANTO} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_ESTONIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_ESTONIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_FARSI} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_FARSI} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_FINNISH} "qBittorrent (pakollinen)"
|
LangString inst_qbt_req ${LANG_FINNISH} "qBittorrent (pakollinen)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_FRENCH} "qBittorrent (requis)"
|
LangString inst_qbt_req ${LANG_FRENCH} "qBittorrent (requis)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_GALICIAN} "qBittorrent (necesario)"
|
LangString inst_qbt_req ${LANG_GALICIAN} "qBittorrent (necesario)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_GERMAN} "qBittorrent (erforderlich)"
|
LangString inst_qbt_req ${LANG_GERMAN} "qBittorrent (erforderlich)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_GREEK} "qBittorrent (απαιτείται)"
|
LangString inst_qbt_req ${LANG_GREEK} "qBittorrent (απαιτείται)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_HEBREW} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_HEBREW} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_HUNGARIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_HUNGARIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_ICELANDIC} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_ICELANDIC} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_INDONESIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_INDONESIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_IRISH} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_IRISH} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_ITALIAN} "qBittorrent (necessario)"
|
LangString inst_qbt_req ${LANG_ITALIAN} "qBittorrent (necessario)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_KOREAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_KOREAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_KURDISH} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_KURDISH} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_LATVIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_LATVIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_LITHUANIAN} "qBittorrent (reikalingas)"
|
LangString inst_qbt_req ${LANG_LITHUANIAN} "qBittorrent (reikalingas)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_LUXEMBOURGISH} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_LUXEMBOURGISH} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_MACEDONIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_MACEDONIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_MALAY} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_MALAY} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_MONGOLIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_MONGOLIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_NORWEGIAN} "qBittorrent (kreves)"
|
LangString inst_qbt_req ${LANG_NORWEGIAN} "qBittorrent (kreves)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_NORWEGIANNYNORSK} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_NORWEGIANNYNORSK} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_POLISH} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_POLISH} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_PORTUGUESE} "qBittorrent (obrigatório)"
|
LangString inst_qbt_req ${LANG_PORTUGUESE} "qBittorrent (obrigatório)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_PORTUGUESEBR} "qBittorrent (requerido)"
|
LangString inst_qbt_req ${LANG_PORTUGUESEBR} "qBittorrent (requerido)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_ROMANIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_ROMANIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_RUSSIAN} "qBittorrent (обязательно)"
|
LangString inst_qbt_req ${LANG_RUSSIAN} "qBittorrent (обязательно)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_SERBIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_SERBIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_SERBIANLATIN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_SERBIANLATIN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_SIMPCHINESE} "qBittorrent (必要)"
|
LangString inst_qbt_req ${LANG_SIMPCHINESE} "qBittorrent (必要)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_SLOVAK} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_SLOVAK} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_SLOVENIAN} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_SLOVENIAN} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_SPANISH} "qBittorrent (necesario)"
|
LangString inst_qbt_req ${LANG_SPANISH} "qBittorrent (necesario)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_SPANISHINTERNATIONAL} "qBittorrent (necesario)"
|
LangString inst_qbt_req ${LANG_SPANISHINTERNATIONAL} "qBittorrent (necesario)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_SWEDISH} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_SWEDISH} "qBittorrent (required)"
|
||||||
|
|
2
dist/windows/installer-translations/thai.nsi
vendored
2
dist/windows/installer-translations/thai.nsi
vendored
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_THAI} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_THAI} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_TRADCHINESE} "qBittorrent (必要)"
|
LangString inst_qbt_req ${LANG_TRADCHINESE} "qBittorrent (必要)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_TURKISH} "qBittorrent (zorunlu)"
|
LangString inst_qbt_req ${LANG_TURKISH} "qBittorrent (zorunlu)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_UKRAINIAN} "qBittorrent (необхідний)"
|
LangString inst_qbt_req ${LANG_UKRAINIAN} "qBittorrent (необхідний)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_UZBEK} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_UZBEK} "qBittorrent (required)"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;Installer strings
|
;Installer strings
|
||||||
|
|
||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||||
LangString inst_qbt_req ${LANG_WELSH} "qBittorrent (required)"
|
LangString inst_qbt_req ${LANG_WELSH} "qBittorrent (required)"
|
||||||
|
|
2
dist/windows/installer.nsi
vendored
2
dist/windows/installer.nsi
vendored
|
@ -1,4 +1,4 @@
|
||||||
Var uninstallerPath
|
Var uninstallerPath
|
||||||
|
|
||||||
Section "-hidden"
|
Section "-hidden"
|
||||||
|
|
||||||
|
|
2
dist/windows/options.nsi
vendored
2
dist/windows/options.nsi
vendored
|
@ -1,4 +1,4 @@
|
||||||
Unicode true
|
Unicode true
|
||||||
ManifestDPIAware true
|
ManifestDPIAware true
|
||||||
;Compress the header too
|
;Compress the header too
|
||||||
!packhdr "$%TEMP%\exehead.tmp" 'upx.exe -9 --best --ultra-brute "$%TEMP%\exehead.tmp"'
|
!packhdr "$%TEMP%\exehead.tmp" 'upx.exe -9 --best --ultra-brute "$%TEMP%\exehead.tmp"'
|
||||||
|
|
2
dist/windows/qbittorrent.nsi
vendored
2
dist/windows/qbittorrent.nsi
vendored
|
@ -1,4 +1,4 @@
|
||||||
!include options.nsi
|
!include options.nsi
|
||||||
!include translations.nsi
|
!include translations.nsi
|
||||||
!include installer.nsi
|
!include installer.nsi
|
||||||
!include uninstaller.nsi
|
!include uninstaller.nsi
|
||||||
|
|
2
dist/windows/translations.nsi
vendored
2
dist/windows/translations.nsi
vendored
|
@ -1,4 +1,4 @@
|
||||||
;Nsis translations
|
;Nsis translations
|
||||||
|
|
||||||
!insertmacro MUI_LANGUAGE "English"
|
!insertmacro MUI_LANGUAGE "English"
|
||||||
!insertmacro MUI_LANGUAGE "Afrikaans"
|
!insertmacro MUI_LANGUAGE "Afrikaans"
|
||||||
|
|
2
dist/windows/uninstaller.nsi
vendored
2
dist/windows/uninstaller.nsi
vendored
|
@ -1,4 +1,4 @@
|
||||||
Section "un.$(remove_files)" ;"un.Remove files"
|
Section "un.$(remove_files)" ;"un.Remove files"
|
||||||
SectionIn RO
|
SectionIn RO
|
||||||
|
|
||||||
; Remove files and uninstaller
|
; Remove files and uninstaller
|
||||||
|
|
|
@ -44,4 +44,3 @@ namespace Http
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // HTTP_IREQUESTHANDLER_H
|
#endif // HTTP_IREQUESTHANDLER_H
|
||||||
|
|
||||||
|
|
|
@ -23,4 +23,3 @@ OrgFreedesktopNotificationsInterface::OrgFreedesktopNotificationsInterface(const
|
||||||
OrgFreedesktopNotificationsInterface::~OrgFreedesktopNotificationsInterface()
|
OrgFreedesktopNotificationsInterface::~OrgFreedesktopNotificationsInterface()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,4 +28,3 @@
|
||||||
</method>
|
</method>
|
||||||
</interface>
|
</interface>
|
||||||
</node>
|
</node>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
For future maintainers on how to update translations from Transifex.
|
For future maintainers on how to update translations from Transifex.
|
||||||
|
|
||||||
Project page: https://www.transifex.com/projects/p/qbittorrent/
|
Project page: https://www.transifex.com/projects/p/qbittorrent/
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
pass
|
|
@ -88,4 +88,3 @@ output += '''</qresource>
|
||||||
icons_file = open('icons.qrc', 'w')
|
icons_file = open('icons.qrc', 'w')
|
||||||
icons_file.write(output)
|
icons_file.write(output)
|
||||||
icons_file.close()
|
icons_file.close()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue