diff --git a/.flake8 b/.flake8
index 93d41a1a..737ff673 100644
--- a/.flake8
+++ b/.flake8
@@ -1,22 +1,22 @@
[flake8]
-color=always
-max-line-length=120
+color = always
+max-line-length = 120
; Auto generated
-exclude=src/gen/, typings/cv2-stubs/__init__.pyi
-ignore=
- ; Linebreak before binary operator
- W503,
- ; Closing bracket may not match multi-line method invocation style (enforced by add-trailing-comma)
- E124,
- ; Allow imports at the bottom of file
- E402,
- ; Not using typing_extensions
- Y026,
- ; contextlib.suppress is roughly 3x slower than try/except
- SIM105,
- ; False positives for attribute docstrings
- CCE001,
-per-file-ignores=
+exclude = src/gen/, typings/cv2-stubs/__init__.pyi
+ignore =
+ ; Linebreak before binary operator
+ W503,
+ ; Closing bracket may not match multi-line method invocation style (enforced by add-trailing-comma)
+ E124,
+ ; Allow imports at the bottom of file
+ E402,
+ ; Not using typing_extensions
+ Y026,
+ ; contextlib.suppress is roughly 3x slower than try/except
+ SIM105,
+ ; False positives for attribute docstrings
+ CCE001,
+per-file-ignores =
; Quotes
; Allow ... on same line as class
; Allow ... on same line as def
@@ -30,8 +30,8 @@ per-file-ignores=
; mypy 3.7 Union issue
*.pyi: Q000,E701,E704,E501,N8,A001,A002,A003,CCE002,F401,Y037
; PyQt methods
-ignore-names=closeEvent,paintEvent,keyPressEvent,mousePressEvent,mouseMoveEvent,mouseReleaseEvent
+ignore-names = closeEvent,paintEvent,keyPressEvent,mousePressEvent,mouseMoveEvent,mouseReleaseEvent
; McCabe max-complexity is also taken care of by Pylint and doesn't fail the build there
; So this is the hard limit
-max-complexity=32
-inline-quotes=double
+max-complexity = 32
+inline-quotes = double
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 36c2c94d..2b67e709 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -17,11 +17,12 @@ repos:
hooks:
- id: pretty-format-ini
args: [--autofix]
- - repo: https://github.com/charliermarsh/ruff-pre-commit
- rev: "v0.0.262" # Must match requirements-dev.txt
- hooks:
- - id: ruff
- args: [--fix]
+ # TODO: Re-enable in dev, master doesn't have Ruff configs
+ # - repo: https://github.com/charliermarsh/ruff-pre-commit
+ # rev: "v0.0.262" # Must match requirements-dev.txt
+ # hooks:
+ # - id: ruff
+ # args: [--fix]
- repo: https://github.com/pre-commit/mirrors-autopep8
rev: "v2.0.2" # Must match requirements-dev.txt
hooks:
@@ -30,7 +31,7 @@ repos:
rev: v2.4.0 # Must match requirements-dev.txt
hooks:
- id: add-trailing-comma
-
+
ci:
skip:
# Ignore until Linux support. We don't want lf everywhere yet
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 807a07f0..b77a08d2 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -141,4 +141,18 @@
"terminal.integrated.defaultProfile.windows": "PowerShell",
"xml.codeLens.enabled": true,
"xml.format.spaceBeforeEmptyCloseTag": false,
+ "xml.format.preserveSpace": [
+ // Default
+ "xsl:text",
+ "xsl:comment",
+ "xsl:processing-instruction",
+ "literallayout",
+ "programlisting",
+ "screen",
+ "synopsis",
+ "pre",
+ "xd:pre",
+ // Custom
+ "string"
+ ]
}
diff --git a/README.md b/README.md
index 1a891b6a..9644d39b 100644
--- a/README.md
+++ b/README.md
@@ -170,7 +170,7 @@ If this option is disabled, when the reset hotkey is hit, the reset button is pr
- `002_SplitName_(0.9)_[10]_{d}.png` is the second split image with a threshold of 0.9, pause time of 10, and is a dummy split.
- `003_SplitName_(0.85)_[20]_#3500#.png` is the third split image with a threshold of 0.85, pause time of 20 and has a delay split time of 3.5 seconds.
- `004_SplitName_(0.9)_[10]_#3500#_@3@_{b}.png` is the fourth split image with a threshold of 0.9, pause time of 10 seconds, delay split time of 3.5 seconds, will loop 3 times, and will split when similarity is below the threshold rather than above.
-
+
## Special images
### How to Create a Masked Image
diff --git a/mypy.ini b/mypy.ini
index 27f9c438..a49a7797 100644
--- a/mypy.ini
+++ b/mypy.ini
@@ -1,21 +1,21 @@
; We don't run mypy in the CI. This is just to help anyone who would like to use it manually.
; Namely, the mypy_primer tool.
[mypy]
-strict=true
+strict = true
; Implicit return types !
-disallow_untyped_calls=false
-disallow_untyped_defs=false
-disallow_incomplete_defs=false
+disallow_untyped_calls = false
+disallow_untyped_defs = false
+disallow_incomplete_defs = false
; Of course my stubs are going to be incomplete. Otherwise they'd be on typeshed!
; Mypy becomes really whack with its errors inside these stubs though
-mypy_path=typings,src
+mypy_path = typings,src
; exclude doesn't work with strict=true Why?
-exclude=.*(typings|gen)/.*
+exclude = .*(typings|gen)/.*
[mypy-gen.*,cv2.*,]
; strict=false ; Doesn't work in overrides
-follow_imports=skip
-implicit_reexport=true
-strict_optional=false
-disable_error_code=attr-defined, misc, name-defined
+follow_imports = skip
+implicit_reexport = true
+strict_optional = false
+disable_error_code = attr-defined, misc, name-defined
diff --git a/res/about.ui b/res/about.ui
index 5aa56a75..25d8fae5 100644
--- a/res/about.ui
+++ b/res/about.ui
@@ -32,9 +32,7 @@
- :/resources/icon.ico
- :/resources/icon.ico
-
+ :/resources/icon.ico:/resources/icon.ico
@@ -81,7 +79,7 @@
10
90
241
- 41
+ 51
@@ -105,9 +103,6 @@ Thank you!
<html><head/><body><p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=BYRHQG69YRHBA&item_name=AutoSplit+development&currency_code=USD&source=url"><img src=":/resources/btn_donateCC_LG.png"/></a></p></body></html>
-
- :/resources/btn_donateCC_LG.png
-
Qt::AlignCenter
@@ -115,7 +110,7 @@ Thank you!
- 181
+ 190
17
64
64
diff --git a/res/design.ui b/res/design.ui
index 7d67e0e0..7309b7d4 100644
--- a/res/design.ui
+++ b/res/design.ui
@@ -6,20 +6,20 @@
0
0
- 777
- 424
+ 786
+ 426
- 777
- 424
+ 786
+ 426
- 777
- 424
+ 786
+ 426
@@ -32,17 +32,15 @@
- :/resources/icon.ico
- :/resources/icon.ico
-
+ :/resources/icon.ico:/resources/icon.ico
11
- 143
- 44
+ 145
+ 49
20
@@ -58,8 +56,8 @@
10
67
- 101
- 23
+ 107
+ 24
@@ -72,7 +70,7 @@
- 650
+ 657
369
121
27
@@ -91,7 +89,7 @@
- 650
+ 657
339
121
27
@@ -110,7 +108,7 @@
- 650
+ 657
310
59
27
@@ -129,7 +127,7 @@
- 712
+ 719
310
59
27
@@ -146,9 +144,9 @@
10
- 253
+ 270
53
- 23
+ 24
@@ -165,8 +163,8 @@
92
- 254
- 20
+ 272
+ 21
20
@@ -177,7 +175,7 @@
- 120
+ 127
67
320
240
@@ -205,7 +203,7 @@
- 449
+ 456
67
320
240
@@ -224,7 +222,7 @@
- 449
+ 456
31
318
20
@@ -241,8 +239,8 @@
11
- 183
- 44
+ 190
+ 49
20
@@ -257,8 +255,8 @@
66
- 183
- 44
+ 190
+ 49
20
@@ -273,7 +271,7 @@
65
- 254
+ 272
26
20
@@ -286,8 +284,8 @@
11
- 200
- 44
+ 210
+ 51
24
@@ -308,8 +306,8 @@
66
- 200
- 44
+ 210
+ 51
24
@@ -329,7 +327,7 @@
- 120
+ 127
31
318
20
@@ -345,7 +343,7 @@
- 477
+ 484
49
264
20
@@ -362,9 +360,9 @@
10
- 227
- 101
- 23
+ 240
+ 107
+ 24
@@ -378,8 +376,8 @@
11
- 160
- 44
+ 165
+ 51
24
@@ -406,8 +404,8 @@
66
- 160
- 44
+ 165
+ 51
24
@@ -428,8 +426,8 @@
66
- 143
- 44
+ 145
+ 49
20
@@ -445,8 +443,8 @@
10
119
- 101
- 23
+ 107
+ 24
@@ -464,8 +462,8 @@
10
93
- 101
- 23
+ 107
+ 24
@@ -480,7 +478,7 @@
696
5
- 75
+ 81
24
@@ -496,7 +494,7 @@
10
9
- 98
+ 111
16
@@ -507,9 +505,9 @@
- 119
+ 127
6
- 574
+ 561
22
@@ -520,7 +518,7 @@
- 120
+ 127
49
318
20
@@ -536,9 +534,9 @@
- 451
+ 458
313
- 67
+ 81
20
@@ -549,7 +547,7 @@
- 120
+ 127
312
321
84
@@ -800,9 +798,9 @@
- 450
+ 457
369
- 121
+ 131
27
@@ -816,10 +814,10 @@
- 449
+ 458
344
- 101
- 16
+ 121
+ 20
@@ -829,10 +827,10 @@
- 560
+ 577
344
- 98
- 16
+ 81
+ 20
@@ -842,9 +840,9 @@
- 520
+ 537
313
- 131
+ 121
20
@@ -858,7 +856,7 @@
- 448
+ 455
49
27
18
@@ -880,7 +878,7 @@
- 743
+ 750
49
27
18
@@ -938,7 +936,7 @@
0
0
- 777
+ 786
22
diff --git a/res/settings.ui b/res/settings.ui
index ec00fb6b..45f8d5d4 100644
--- a/res/settings.ui
+++ b/res/settings.ui
@@ -6,20 +6,20 @@
0
0
- 291
- 661
+ 290
+ 664
- 291
- 661
+ 290
+ 664
- 291
- 661
+ 290
+ 664
@@ -32,16 +32,14 @@
- :/resources/icon.ico
- :/resources/icon.ico
-
+ :/resources/icon.ico:/resources/icon.ico
10
200
- 271
+ 270
181
@@ -51,10 +49,10 @@
- 138
- 25
+ 150
+ 24
51
- 22
+ 24
@@ -75,7 +73,7 @@
6
27
- 121
+ 141
16
@@ -87,14 +85,11 @@
-
- true
-
6
49
- 129
+ 141
20
@@ -166,8 +161,8 @@
10
390
- 271
- 261
+ 270
+ 266
@@ -185,9 +180,9 @@
- 167
+ 170
25
- 88
+ 91
22
@@ -202,8 +197,8 @@ Histograms:
An explanation on Histograms comparison can be found here
https://mpatacchiola.github.io/blog/2016/11/12/the-simplest-classifier-histogram-intersection.html
This is a great method to use if you are using several masked images.
-> This algorithm is particular reliable when the colour is a strong predictor of the object identity.
-> The histogram intersection [...] is robust to occluding objects in the foreground.
+> This algorithm is particular reliable when the colour is a strong predictor of the object identity.
+> The histogram intersection [...] is robust to occluding objects in the foreground.
Perceptual Hash:
An explanation on pHash comparison can be found here
@@ -231,7 +226,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
28
- 161
+ 171
16
@@ -244,7 +239,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
118
- 161
+ 171
16
@@ -255,10 +250,10 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
- 167
+ 170
115
- 87
- 22
+ 91
+ 24
@@ -285,7 +280,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
58
- 151
+ 171
16
@@ -296,10 +291,10 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
- 167
+ 170
55
- 52
- 22
+ 51
+ 24
@@ -319,14 +314,11 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
-
- true
-
6
143
- 235
+ 261
20
@@ -344,9 +336,9 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
- 190
+ 193
261
- 61
+ 71
@@ -367,7 +359,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
88
- 161
+ 171
16
@@ -378,10 +370,10 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
- 167
+ 170
85
- 87
- 22
+ 91
+ 24
@@ -398,13 +390,14 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
140
- 210
+ 218
71
31
+ Segoe UI
8
true
@@ -427,7 +420,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
168
- 151
+ 171
20
@@ -444,7 +437,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
10
10
- 271
+ 270
191
@@ -464,9 +457,9 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
180
- 130
+ 128
81
- 21
+ 24
@@ -477,15 +470,12 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
-
- true
-
- 76
- 30
+ 80
+ 25
94
- 20
+ 22
@@ -498,10 +488,10 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
- 76
- 80
+ 80
+ 77
94
- 20
+ 22
@@ -515,7 +505,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
- 32
+ 28
71
16
@@ -527,10 +517,10 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
- 76
- 55
+ 80
+ 51
94
- 20
+ 22
@@ -544,9 +534,9 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
180
- 80
+ 76
81
- 21
+ 24
@@ -560,7 +550,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
- 57
+ 54
41
16
@@ -573,9 +563,9 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
180
- 55
+ 50
81
- 21
+ 24
@@ -589,9 +579,9 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
180
- 30
+ 24
81
- 21
+ 24
@@ -617,10 +607,10 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
- 76
- 130
+ 80
+ 129
94
- 20
+ 22
@@ -634,7 +624,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
- 82
+ 80
71
16
@@ -647,9 +637,9 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
180
- 105
+ 102
81
- 21
+ 24
@@ -663,7 +653,7 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
- 107
+ 106
61
16
@@ -675,10 +665,10 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
- 76
- 105
+ 80
+ 103
94
- 20
+ 22
@@ -692,9 +682,9 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
180
- 155
+ 154
81
- 21
+ 24
@@ -708,9 +698,9 @@ It is highly recommended to NOT use pHash if you use masked images, or it'll be
6
- 154
+ 151
71
- 31
+ 32
@@ -721,10 +711,10 @@ reset image
- 76
+ 80
155
94
- 20
+ 22
@@ -737,11 +727,11 @@ reset image
- split_input
- reset_input
- undo_split_input
- skip_split_input
- pause_input
+ set_split_hotkey_button
+ set_reset_hotkey_button
+ set_undo_split_hotkey_button
+ set_skip_split_hotkey_button
+ set_pause_hotkey_button
fps_limit_spinbox
live_capture_region_checkbox
capture_method_combobox
diff --git a/res/update_checker.ui b/res/update_checker.ui
index 75fbc852..6ff6ea85 100644
--- a/res/update_checker.ui
+++ b/res/update_checker.ui
@@ -9,20 +9,20 @@
0
0
- 313
- 133
+ 318
+ 132
- 313
- 133
+ 318
+ 132
- 313
- 133
+ 318
+ 132
@@ -43,9 +43,9 @@
- 20
+ 10
10
- 218
+ 251
16
@@ -62,9 +62,9 @@
- 20
+ 10
30
- 91
+ 101
16
@@ -75,9 +75,9 @@
- 20
+ 10
50
- 81
+ 101
16
@@ -88,9 +88,9 @@
- 20
+ 10
80
- 119
+ 141
16
@@ -101,9 +101,9 @@
- 150
+ 160
100
- 75
+ 71
24
@@ -117,9 +117,9 @@
- 230
+ 240
100
- 75
+ 71
24
@@ -130,9 +130,9 @@
- 120
+ 110
30
- 181
+ 191
16
@@ -143,9 +143,9 @@
- 120
+ 110
50
- 181
+ 191
16
@@ -156,9 +156,9 @@
- 20
+ 10
102
- 131
+ 151
20
diff --git a/scripts/requirements-dev.txt b/scripts/requirements-dev.txt
index 2e2e8c1c..34be909c 100644
--- a/scripts/requirements-dev.txt
+++ b/scripts/requirements-dev.txt
@@ -27,7 +27,7 @@ unify
#
# Run `./scripts/designer.ps1` to quickly open the bundled PyQt Designer.
# Can also be downloaded externally as a non-python package
-qt6-applications
+# qt6-applications
# Types
types-d3dshot
types-keyboard