You've already forked qBittorrent
mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-11-07 01:22:30 +01:00
Compare commits
303 Commits
release-2.
...
release-3.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
753e9181fe | ||
|
|
9546a73182 | ||
|
|
c0ee99c553 | ||
|
|
50976b8dc2 | ||
|
|
6a312461a1 | ||
|
|
3fe09bde12 | ||
|
|
f851b18b80 | ||
|
|
ced29ced1b | ||
|
|
5023b1ab74 | ||
|
|
c2ef78de8d | ||
|
|
6fbe452b55 | ||
|
|
51c4a0d8d0 | ||
|
|
b191a977af | ||
|
|
61858814ee | ||
|
|
365387f092 | ||
|
|
df295d96c2 | ||
|
|
a069f806d9 | ||
|
|
4638a9e6ee | ||
|
|
af790e40f8 | ||
|
|
76fd5d3eb4 | ||
|
|
dc8a8fbc06 | ||
|
|
30e0cc20c8 | ||
|
|
63dcb81384 | ||
|
|
ce391ad328 | ||
|
|
7b908c7adf | ||
|
|
0d26d734b3 | ||
|
|
f836c40fc4 | ||
|
|
21fe7f2ca6 | ||
|
|
da85a57f83 | ||
|
|
e35664b188 | ||
|
|
2fc350b265 | ||
|
|
83bcd6a2d7 | ||
|
|
edcfa4df12 | ||
|
|
12a83e1aec | ||
|
|
7d50a8b28c | ||
|
|
232e112d84 | ||
|
|
5b1ee883b4 | ||
|
|
b07fceec65 | ||
|
|
4c9cf6c773 | ||
|
|
164f37e961 | ||
|
|
093fb303f3 | ||
|
|
f3d5039e33 | ||
|
|
007c307388 | ||
|
|
4079689f32 | ||
|
|
2b3d6926c8 | ||
|
|
14b3414e9d | ||
|
|
73254962f1 | ||
|
|
74f042516b | ||
|
|
8c0853248c | ||
|
|
80ea0a67b5 | ||
|
|
6d2b51203c | ||
|
|
8ac82156b3 | ||
|
|
c1806b099a | ||
|
|
1046c816bf | ||
|
|
cfbb5ecde5 | ||
|
|
afdec02674 | ||
|
|
927e6bc6cc | ||
|
|
e862d3332c | ||
|
|
699144a83d | ||
|
|
1792f44bfa | ||
|
|
64e4095ef1 | ||
|
|
1d1ffcec7c | ||
|
|
e73bff817c | ||
|
|
486779ceb2 | ||
|
|
283a9950f3 | ||
|
|
4d601f5383 | ||
|
|
4d76bd33fc | ||
|
|
179985954c | ||
|
|
ef34285855 | ||
|
|
bbd1c9ee42 | ||
|
|
7cffd267d8 | ||
|
|
bb11d11a72 | ||
|
|
ae09bee193 | ||
|
|
abf8c179fc | ||
|
|
5874c7bd57 | ||
|
|
12280c6a0f | ||
|
|
c40801ce99 | ||
|
|
cc192d7d47 | ||
|
|
64c256109a | ||
|
|
d93a63e01a | ||
|
|
1c6ef50b77 | ||
|
|
497e2e92f8 | ||
|
|
2e950cc28b | ||
|
|
f09ea1a884 | ||
|
|
eebb7c8477 | ||
|
|
8feb6644a3 | ||
|
|
dd30ada095 | ||
|
|
0627968c2f | ||
|
|
89249c140f | ||
|
|
90373897d6 | ||
|
|
a85ddada25 | ||
|
|
3bb474e12f | ||
|
|
3b4a312b97 | ||
|
|
7a58df594d | ||
|
|
524f837ca5 | ||
|
|
4800b456c2 | ||
|
|
4652eb8ff3 | ||
|
|
c2096e2ecd | ||
|
|
e27a648594 | ||
|
|
90b1567d13 | ||
|
|
41132d39ae | ||
|
|
0ffba231d4 | ||
|
|
c6ab0b148b | ||
|
|
183453488e | ||
|
|
c96f14a7c8 | ||
|
|
c5841146ff | ||
|
|
4ff249525b | ||
|
|
5d5bf403a8 | ||
|
|
2747481816 | ||
|
|
c9591a66e8 | ||
|
|
02c4be4eaa | ||
|
|
ee96f83211 | ||
|
|
b095a1e3fe | ||
|
|
d5aaa24ad6 | ||
|
|
9efd576d53 | ||
|
|
8e0d01643f | ||
|
|
cb817bc06f | ||
|
|
1b905d5126 | ||
|
|
ca26cc0000 | ||
|
|
00f40e6771 | ||
|
|
7a64c1ebb4 | ||
|
|
5d5f3cbdfd | ||
|
|
8bd35852dc | ||
|
|
92189b6c50 | ||
|
|
e50ab2639e | ||
|
|
33832a46c1 | ||
|
|
6a905fc9e0 | ||
|
|
15d1e3505c | ||
|
|
fda1797149 | ||
|
|
096baaf441 | ||
|
|
69cb9b906f | ||
|
|
755dc40ee4 | ||
|
|
f601aa3cfb | ||
|
|
79cb430878 | ||
|
|
90f90936e1 | ||
|
|
a98ad63d8b | ||
|
|
6d31af676e | ||
|
|
1204bf6e80 | ||
|
|
48f2b6fb66 | ||
|
|
10a4556479 | ||
|
|
f4320cb58a | ||
|
|
d31d935522 | ||
|
|
85d2fd8ce0 | ||
|
|
ad79cbb9a1 | ||
|
|
bdb0e125a4 | ||
|
|
d26179cca0 | ||
|
|
8d612e8e2d | ||
|
|
e74b39f5af | ||
|
|
aaf3194670 | ||
|
|
74079b2c86 | ||
|
|
2eae22ac06 | ||
|
|
80359f3e5e | ||
|
|
ccefe68e4c | ||
|
|
f039cec4ca | ||
|
|
5a65580169 | ||
|
|
39ea57fe29 | ||
|
|
361db3d2cd | ||
|
|
83494f999a | ||
|
|
de4cb2ede7 | ||
|
|
2f6ef9af51 | ||
|
|
2f0e15bc25 | ||
|
|
0cd4c079e9 | ||
|
|
3197d5cc2f | ||
|
|
81e4e39878 | ||
|
|
55a6bc3855 | ||
|
|
acd4b64a8b | ||
|
|
984acc581c | ||
|
|
75a65a5f49 | ||
|
|
91af418254 | ||
|
|
901326c004 | ||
|
|
8986d87ef3 | ||
|
|
a0d21ead18 | ||
|
|
122655758d | ||
|
|
9a964d871d | ||
|
|
fc4989d738 | ||
|
|
5f59ab7e48 | ||
|
|
99557543fc | ||
|
|
d7c907d17d | ||
|
|
fd9ae50a57 | ||
|
|
1398a39768 | ||
|
|
7b4b2fe0f5 | ||
|
|
23848be6eb | ||
|
|
d55f3b5aff | ||
|
|
716e84264e | ||
|
|
600c33dfa3 | ||
|
|
e6e2baf3a8 | ||
|
|
cfb4ded943 | ||
|
|
dfe5fbe34c | ||
|
|
82788b9a02 | ||
|
|
ff3cc4b8de | ||
|
|
f74a471177 | ||
|
|
50ee44a1cf | ||
|
|
7a29f3d71d | ||
|
|
30d5273bb5 | ||
|
|
0f291629cc | ||
|
|
e6e63fa529 | ||
|
|
766b210d06 | ||
|
|
c502edf9e1 | ||
|
|
53f55a79b3 | ||
|
|
f05ecf900a | ||
|
|
810a9710d7 | ||
|
|
ef6c3f5a64 | ||
|
|
0e425d6a04 | ||
|
|
29d28b1d96 | ||
|
|
c12467ee3e | ||
|
|
82e2b3a6cd | ||
|
|
33a0828a33 | ||
|
|
95e2b7ee1a | ||
|
|
bc6fd3aa72 | ||
|
|
a940917144 | ||
|
|
7bd4a1b849 | ||
|
|
f62c38a8a7 | ||
|
|
41c503eb54 | ||
|
|
8cc538085f | ||
|
|
b93cebacb2 | ||
|
|
30a3110ca7 | ||
|
|
cf447296fb | ||
|
|
dfc5e02edd | ||
|
|
bcb29fb5fa | ||
|
|
41b57a0878 | ||
|
|
0b13fa6914 | ||
|
|
c32e651c39 | ||
|
|
fefc7df910 | ||
|
|
90b520651b | ||
|
|
3389820c73 | ||
|
|
85167c9043 | ||
|
|
ce6f942ed3 | ||
|
|
5cf7e47ffa | ||
|
|
bd4bb42e95 | ||
|
|
6778b7460a | ||
|
|
0c279e0567 | ||
|
|
1bee9c6a9d | ||
|
|
691b976e11 | ||
|
|
75efd4ea6b | ||
|
|
9363b1b4f2 | ||
|
|
a69cbd2289 | ||
|
|
ca6f732c7b | ||
|
|
5f5382297c | ||
|
|
a5452d04ae | ||
|
|
8f4c4e8c40 | ||
|
|
b1f1fbf114 | ||
|
|
a2d9cce181 | ||
|
|
06ccae591e | ||
|
|
30bc14c940 | ||
|
|
33f5c8e903 | ||
|
|
8e529fc179 | ||
|
|
f3448125c3 | ||
|
|
00b4ad6ec8 | ||
|
|
a8a7b61ea9 | ||
|
|
9acac03f14 | ||
|
|
b78d6ba243 | ||
|
|
d53ca1d096 | ||
|
|
50a3e4e776 | ||
|
|
a13bb06ec3 | ||
|
|
32a6c89c8c | ||
|
|
1905a6f0d1 | ||
|
|
3bc75bb068 | ||
|
|
f0f7924325 | ||
|
|
5e48708920 | ||
|
|
58603451b4 | ||
|
|
9e3deb68de | ||
|
|
2fea7eaef2 | ||
|
|
a53a70742d | ||
|
|
0c9dbc15f9 | ||
|
|
ed468083c5 | ||
|
|
737982e92f | ||
|
|
b43e641d21 | ||
|
|
c25586b500 | ||
|
|
60d9bfe077 | ||
|
|
0d0c7559bf | ||
|
|
de4559659d | ||
|
|
16071ec266 | ||
|
|
fb03682df4 | ||
|
|
68041e382d | ||
|
|
fb60a6489b | ||
|
|
dd7e515f9c | ||
|
|
1bc6130da5 | ||
|
|
323275c340 | ||
|
|
3da9fec665 | ||
|
|
f6254e9db6 | ||
|
|
f06f820047 | ||
|
|
05643ca5d9 | ||
|
|
c0eb048fe2 | ||
|
|
78bb4104b0 | ||
|
|
6c10936f6d | ||
|
|
4ca665eb0c | ||
|
|
39e1ebaa9b | ||
|
|
0a0033b242 | ||
|
|
9eea35f530 | ||
|
|
345e9ec870 | ||
|
|
53be56746b | ||
|
|
26b8decb24 | ||
|
|
a275e26ba7 | ||
|
|
96c918ff8d | ||
|
|
2283bd2358 | ||
|
|
f6b7b8bd6e | ||
|
|
1b8a2bf7c1 | ||
|
|
33325cdfee | ||
|
|
d81f633d6b | ||
|
|
422b483d78 | ||
|
|
ec5b9c769a | ||
|
|
74081bc6f8 | ||
|
|
3c650038e2 |
3
AUTHORS
3
AUTHORS
@@ -92,6 +92,7 @@ Translations authors:
|
|||||||
- Georgian: Beqa Arabuli (arabulibeqa@yahoo.com)
|
- Georgian: Beqa Arabuli (arabulibeqa@yahoo.com)
|
||||||
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
|
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
|
||||||
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr)
|
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr)
|
||||||
|
- Hebrew: David Deutsch (d.deffo@gmail.com)
|
||||||
- Hungarian: Majoros Péter (majoros.j.p@t-online.hu)
|
- Hungarian: Majoros Péter (majoros.j.p@t-online.hu)
|
||||||
- Italian: Matteo Sechi (bu17714@gmail.com)
|
- Italian: Matteo Sechi (bu17714@gmail.com)
|
||||||
- Japanese: Masato Hashimoto (cabezon.hashimoto@gmail.com)
|
- Japanese: Masato Hashimoto (cabezon.hashimoto@gmail.com)
|
||||||
@@ -107,5 +108,5 @@ Translations authors:
|
|||||||
- Spanish: Francisco Luque Contreras (frannoe@ya.com)
|
- Spanish: Francisco Luque Contreras (frannoe@ya.com)
|
||||||
- Swedish: Daniel Nylander (po@danielnylander.se)
|
- Swedish: Daniel Nylander (po@danielnylander.se)
|
||||||
- Turkish: Hasan Yilmaz (iletisim@hedefturkce.com)
|
- Turkish: Hasan Yilmaz (iletisim@hedefturkce.com)
|
||||||
- Ukrainian: Andrey Shpachenko (masterfix@users.sourceforge.net) and Oleh Prypin (blaxpirit@gmail.com)
|
- Ukrainian: Oleh Prypin (blaxpirit@gmail.com)
|
||||||
license: GPLv2
|
license: GPLv2
|
||||||
|
|||||||
79
Changelog
79
Changelog
@@ -1,52 +1,41 @@
|
|||||||
* Sun Mar 18 2012 - Christophe Dumez <chris@qbittorrent.org> - v2.9.7
|
* Tue Sep 18 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.4
|
||||||
- BUGFIX: Fix important HTTP request parsing bug (Web UI)
|
- BUGFIX: Fix issue with downloads starting from scratch on startup if temporary
|
||||||
|
directory setting is enabled.
|
||||||
|
|
||||||
* Sat Mar 17 2012 - Christophe Dumez <chris@qbittorrent.org> - v2.9.6
|
* Sun Sep 16 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.3
|
||||||
- BUGFIX: Fix download first/last pieces state reporting
|
- BUGFIX: Fix issue with temporary directory not being taken into consideration (closes #94)
|
||||||
- BUGFIX: Fix name of progress column in torrent content panel
|
- BUGFIX: Address encoding issues when using search engine on Windows (closes #29)
|
||||||
- BUGFIX: Disable system tray icon on Mac OS X
|
- BUGFIX: Bypass cache when uploading a torrent file in Web UI (closes #68)
|
||||||
- BUGFIX: RSS downloader should not ignore "Do not start automatically" rule (closes #946910)
|
- BUGFIX: "Completed On" column is not updated until restart (closes #84)
|
||||||
- BUGFIX: Fix DHT port setting in Web UI (Closes #952182)
|
- BUGFIX: Fix possible build error on some systems
|
||||||
- BUGFIX: Fix possible Web UI authentication problem when using SSL (closes #941343)
|
- I18N: Add hebrew translation
|
||||||
- BUGFIX: Fix possible issues with folder removal when removing a torrent
|
|
||||||
- I18N: Add Basque translation
|
|
||||||
|
|
||||||
* Sat Feb 18 2012 - Christophe Dumez <chris@qbittorrent.org> - v2.9.5
|
* Sat Sep 1 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.2
|
||||||
- BUGFIX: Fix crash when disabling then reenabling RSS
|
- FEATURE: Add "clear" functionality to search field (closes #59)
|
||||||
- BUGFIX: Fix duplicate torrent detection when adding a magnet link
|
- BUGFIX: Attempt to use qBittorrent icon from theme if available (closes #49)
|
||||||
- BUGFIX: Fix import of new trackers when adding a torrent with same hash (Closes #747000)
|
- BUGFIX: Fix crash when a fastresume file is empty (closes #52)
|
||||||
- BUGFIX: Fix possible redownload of torrents marked as read (Closes #927495)
|
- BUGFIX: Fix encoding problem for detected XDG Download folder (closes #53)
|
||||||
- BUGFIX: Properly remove RSS feed settings/history upon feed removal
|
- BUGFIX: Improve performance when showing torrent content panel (Improves #24)
|
||||||
|
- BUGFIX: Fix label-based filtering of torrents whose label contains special characters
|
||||||
|
- BUGFIX: Fix possible crash due to labels (closes #64)
|
||||||
|
|
||||||
* Sat Feb 18 2012 - Christophe Dumez <chris@qbittorrent.org> - v2.9.4
|
* Tue Aug 21 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.1
|
||||||
- BUGFIX: qBittorrent does not handle redirection to relative URLs correctly (Closes #919905)
|
- BUGFIX: Fix possible crash when adding a tracker to a magnet torrent without metadata (Closes #1034254)
|
||||||
- BUGFIX: Cmd+M minimizes main window on Mac OS X (Closes #928216)
|
- BUGFIX: Remember queue position for torrents without metadata (closes #17)
|
||||||
- BUGFIX: Cmd+Del removes torrents on Mac OS X (Closes #928852)
|
- BUGFIX: Fix crash when using unauthorized characters in label names (closes #19)
|
||||||
- BUGFIX: Fix potential bug when moving single file torrents to tmp folder (closes #932861)
|
- BUGFIX: Fix search plugins updating (closes #25)
|
||||||
- BUGFIX: Fix torrent import dialog layout (Closes #930932)
|
- BUGFIX: Make uTP connections rate limited by default
|
||||||
- BUGFIX: Prevent log window buffer from filling up (Closes #929673)
|
|
||||||
- I18N: Add Belarusian translation
|
|
||||||
|
|
||||||
* Thu Dec 29 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.3
|
* Thu Aug 09 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.0
|
||||||
- BUGFIX: Fix btdigg plugin (Python3 support + torrent name in magnet links)
|
- FEATURE: Brand new torrent addition dialog
|
||||||
- BUGFIX: Fix banning of IPv6 peers (Closes #885021)
|
- FEATURE: Add the ability to choose the save path when using magnet links (mutoso)
|
||||||
- BUGFIX: Fix torrent addition dialog layout problem (Closes #84650522)
|
- FEATURE: Add support for adding multiple local torrents at once (Web UI)
|
||||||
- BUGFIX: Do not report any progress for disabled files (Closes #56731485)
|
- COSMETIC: Improve style of left panel
|
||||||
- BUGFIX: Make torrent sorting case insensitive (Closes #857154)
|
- BUGFIX: Lower panels no longer gets disabled
|
||||||
- BUGFIX: Improve Web UI usability of small devices
|
- BUGFIX: Major code refactoring and various optimizations.
|
||||||
- BUGFIX: Program updater: More reliable version detection / comparison
|
- BUGFIX: No longer strip root folder from torrent files
|
||||||
- I18N: Add Georgian translation
|
- OTHER: Drop support for libtorrent v0.14.x
|
||||||
|
- OTHER: Drop support for Qt 4.5
|
||||||
* Sat Oct 29 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.2
|
|
||||||
- BUGFIX: Fix mimimum dimensions for torrent addition dialog
|
|
||||||
- BUGFIX: Remove dependency on boost-datetime
|
|
||||||
- BUGFIX: Remove dependency on boost-filesystem (libtorrent v0.16.x)
|
|
||||||
|
|
||||||
* Sun Oct 23 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.1
|
|
||||||
- BUGFIX: Add support for speed limits scheduling (Web UI)
|
|
||||||
- BUGFIX: Fix ratio calculation for purely seeded torrents
|
|
||||||
- I18N: Update Russian translation
|
|
||||||
- COSMETIC: Torrent addition dialog layout fixes
|
|
||||||
|
|
||||||
* Sat Oct 08 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.0
|
* Sat Oct 08 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.0
|
||||||
- FEATURE: Add file association settings to program preferences (Windows)
|
- FEATURE: Add file association settings to program preferences (Windows)
|
||||||
|
|||||||
6
INSTALL
6
INSTALL
@@ -10,11 +10,11 @@ qBittorrent - A BitTorrent client in C++ / Qt4
|
|||||||
will install and execute qBittorrent hopefully without any problems.
|
will install and execute qBittorrent hopefully without any problems.
|
||||||
|
|
||||||
Dependencies:
|
Dependencies:
|
||||||
- Qt >= 4.5.0 (libqtgui, libqtcore, libqtnetwork, libqtxml, libqtdbus/optional)
|
- Qt >= 4.6.0 (libqtgui, libqtcore, libqtnetwork, libqtxml, libqtdbus/optional)
|
||||||
|
|
||||||
- pkg-config executable
|
- pkg-config executable
|
||||||
|
|
||||||
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, compatible with v0.15.x/v0.16.x)
|
- libtorrent-rasterbar by Arvid Norberg (>= 0.15.0)
|
||||||
-> http://www.libtorrent.net
|
-> http://www.libtorrent.net
|
||||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ qBittorrent - A BitTorrent client in C++ / Qt4
|
|||||||
|
|
||||||
- pkg-config executable
|
- pkg-config executable
|
||||||
|
|
||||||
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, >= v0.15.0 ADVISED)
|
- libtorrent-rasterbar by Arvid Norberg (>= v0.15.0)
|
||||||
-> http://www.libtorrent.net
|
-> http://www.libtorrent.net
|
||||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||||
|
|
||||||
|
|||||||
16
README.os2
16
README.os2
@@ -27,7 +27,6 @@ First you need to create the conf.pri file in the same dir as this readme.os2 is
|
|||||||
the conf.pri file has the following content:
|
the conf.pri file has the following content:
|
||||||
|
|
||||||
##### conf.pri content beginn #####
|
##### conf.pri content beginn #####
|
||||||
PREFIX = .
|
|
||||||
BINDIR = ./bin
|
BINDIR = ./bin
|
||||||
INCDIR = ./include
|
INCDIR = ./include
|
||||||
LIBDIR = ./lib
|
LIBDIR = ./lib
|
||||||
@@ -43,7 +42,10 @@ LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \
|
|||||||
|
|
||||||
Of course all the above path references have to be adjusted to your build env.
|
Of course all the above path references have to be adjusted to your build env.
|
||||||
|
|
||||||
It should now be easy to build qBittorrent:
|
Now you can either do a normal build or a shadow build. A shadow build has the
|
||||||
|
advantage that no created files are in the same dir as the sources are.
|
||||||
|
|
||||||
|
For a normal build do the following:
|
||||||
|
|
||||||
Simply type:
|
Simply type:
|
||||||
$ qmake
|
$ qmake
|
||||||
@@ -51,6 +53,16 @@ $ qmake
|
|||||||
Followed by:
|
Followed by:
|
||||||
$ make
|
$ make
|
||||||
|
|
||||||
|
For a shadow build do the following:
|
||||||
|
given your sources are in x:\trees\qbittorrent\trunk create a
|
||||||
|
x:\trees\qbittorrent\build directory
|
||||||
|
|
||||||
|
Now switch to the created directory and type:
|
||||||
|
$ qmake ..\trunk
|
||||||
|
|
||||||
|
Followed by:
|
||||||
|
$ make
|
||||||
|
|
||||||
If all works fine you should get a working qbittorrent executable.
|
If all works fine you should get a working qbittorrent executable.
|
||||||
|
|
||||||
If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC:
|
If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC:
|
||||||
|
|||||||
12
configure
vendored
12
configure
vendored
@@ -325,7 +325,7 @@ cat >$1/modules.cpp <<EOT
|
|||||||
#line 1 "qt4.qcm"
|
#line 1 "qt4.qcm"
|
||||||
/*
|
/*
|
||||||
-----BEGIN QCMOD-----
|
-----BEGIN QCMOD-----
|
||||||
name: Qt >= 4.5
|
name: Qt >= 4.6
|
||||||
arg: enable-debug, Enable debug mode
|
arg: enable-debug, Enable debug mode
|
||||||
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
||||||
-----END QCMOD-----
|
-----END QCMOD-----
|
||||||
@@ -334,8 +334,8 @@ class qc_qt4 : public ConfObj
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
qc_qt4(Conf *c) : ConfObj(c) {}
|
qc_qt4(Conf *c) : ConfObj(c) {}
|
||||||
QString name() const { return "Qt >= 4.5"; }
|
QString name() const { return "Qt >= 4.6"; }
|
||||||
QString shortname() const { return "Qt 4.5"; }
|
QString shortname() const { return "Qt 4.6"; }
|
||||||
bool exec()
|
bool exec()
|
||||||
{
|
{
|
||||||
// NOX mode
|
// NOX mode
|
||||||
@@ -356,7 +356,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
conf->addExtra("MANPREFIX = \$\$PREFIX/share");
|
conf->addExtra("MANPREFIX = \$\$PREFIX/share");
|
||||||
#endif
|
#endif
|
||||||
return(QT_VERSION >= 0x040500);
|
return(QT_VERSION >= 0x040600);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#line 1 "qt-dbus.qcm"
|
#line 1 "qt-dbus.qcm"
|
||||||
@@ -419,11 +419,11 @@ class qc_libtorrent_rasterbar : public ConfObj
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
|
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
|
||||||
QString name() const { return "libtorrent-rasterbar >= 0.14.4"; }
|
QString name() const { return "libtorrent-rasterbar >= 0.15.0"; }
|
||||||
QString shortname() const { return "libtorrent-rasterbar"; }
|
QString shortname() const { return "libtorrent-rasterbar"; }
|
||||||
bool exec(){
|
bool exec(){
|
||||||
QStringList incs;
|
QStringList incs;
|
||||||
QString req_ver = "0.14.4";
|
QString req_ver = "0.15.0";
|
||||||
QString version, libs, other;
|
QString version, libs, other;
|
||||||
VersionMode mode = VersionMin;
|
VersionMode mode = VersionMin;
|
||||||
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other))
|
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other))
|
||||||
|
|||||||
124
install.os2
124
install.os2
@@ -11,7 +11,7 @@ QBittorrent installation
|
|||||||
|
|
||||||
3. INSTALLATION
|
3. INSTALLATION
|
||||||
|
|
||||||
4. CONTACT
|
4. BUGREPORTS
|
||||||
|
|
||||||
5. CREDITS
|
5. CREDITS
|
||||||
|
|
||||||
@@ -29,17 +29,70 @@ Welcome to QBittorrent port for OS/2 and eComStation.
|
|||||||
2. REQUIREMENTS
|
2. REQUIREMENTS
|
||||||
===============
|
===============
|
||||||
|
|
||||||
* klibc 0.6.3 or later
|
The following requirements can be installed either by rpm or by zip files.
|
||||||
|
|
||||||
ftp://ftp.netlabs.org/pub/gcc/libc-0_6_3-csd3.wpi
|
RPM Installation:
|
||||||
|
|
||||||
* openssl 1.0
|
klibc
|
||||||
|
-----
|
||||||
|
|
||||||
ftp://ftp.netlabs.org/pub/unixos2/ssl10.zip
|
1. yum install libc
|
||||||
|
|
||||||
* Qt4 dll
|
openssl 1.0
|
||||||
|
-----------
|
||||||
|
|
||||||
see http://svn.netlabs.org/qt4 for more information whats needed and where to get the latest
|
1. yum install openssl
|
||||||
|
|
||||||
|
pthread
|
||||||
|
-------
|
||||||
|
|
||||||
|
1. yum install pthread
|
||||||
|
|
||||||
|
GCC4Core
|
||||||
|
--------
|
||||||
|
|
||||||
|
1. yum install libgcc
|
||||||
|
2. yum install gcc-stack-protector
|
||||||
|
3. yum install gcc-stdc++-shared-library
|
||||||
|
4. yum install gcc-supc++-shared-library
|
||||||
|
|
||||||
|
Qt4 dll
|
||||||
|
-------
|
||||||
|
|
||||||
|
1. yum install libqt4
|
||||||
|
|
||||||
|
|
||||||
|
ZIP Installation:
|
||||||
|
|
||||||
|
klibc
|
||||||
|
-----
|
||||||
|
|
||||||
|
1. Download klibc 0.6.5 or better (see http://svn.netlabs.org/libc for more information)
|
||||||
|
2. Install the files to your libpath eg x:\ecs\dll
|
||||||
|
|
||||||
|
openssl 1.0
|
||||||
|
-----------
|
||||||
|
|
||||||
|
1. Download the zip file from http://rpm.netlabs.org/release/00/zip
|
||||||
|
2. Install the files to your libpath eg. x:\ecs\dll
|
||||||
|
|
||||||
|
pthread
|
||||||
|
-------
|
||||||
|
|
||||||
|
1. Download pthread 2012-03-13 or better from http://rpm.netlabs.org/release/00/zip
|
||||||
|
2. Install the files to your libpath eg. x:\ecs\dll
|
||||||
|
|
||||||
|
GCC4Core
|
||||||
|
--------
|
||||||
|
|
||||||
|
1. Download GCC4Core 1.2.1 or better from http://ftp.netlabs.org/pub/gcc
|
||||||
|
2. Install the files to your libpath eg. x:\ecs\dll
|
||||||
|
|
||||||
|
Qt4 dll
|
||||||
|
-------
|
||||||
|
|
||||||
|
1. Download Qt4 4.7.3 or better (see http://svn.netlabs.org/qt4 for more information)
|
||||||
|
2. Install the files according to the readme
|
||||||
|
|
||||||
|
|
||||||
3. INSTALLATION
|
3. INSTALLATION
|
||||||
@@ -47,30 +100,6 @@ Welcome to QBittorrent port for OS/2 and eComStation.
|
|||||||
|
|
||||||
To install QBittorrent, do the following:
|
To install QBittorrent, do the following:
|
||||||
|
|
||||||
klibc
|
|
||||||
-----
|
|
||||||
|
|
||||||
1. Download klibc 0.6.3 csd3 or later.
|
|
||||||
2. Install the package by double-clicking on the WPI file.
|
|
||||||
|
|
||||||
|
|
||||||
openssl 1.0
|
|
||||||
-----------
|
|
||||||
|
|
||||||
1. Download the zip file
|
|
||||||
2. Install the files to your libpath eg. x:\ecs\dll
|
|
||||||
|
|
||||||
Qt4 dll
|
|
||||||
-------
|
|
||||||
|
|
||||||
1. Download the package
|
|
||||||
2. Install the package by double-clicking on the wpi file.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QBittorrent
|
|
||||||
-----------
|
|
||||||
|
|
||||||
1. Create a directory for QBittorrent.
|
1. Create a directory for QBittorrent.
|
||||||
2. Extract the QBittorrent package to the new directory.
|
2. Extract the QBittorrent package to the new directory.
|
||||||
3. Create a WPS object for QBittorrent.exe.
|
3. Create a WPS object for QBittorrent.exe.
|
||||||
@@ -78,18 +107,13 @@ QBittorrent
|
|||||||
5. Happy torrenting
|
5. Happy torrenting
|
||||||
|
|
||||||
|
|
||||||
|
4. BUGREPORTS
|
||||||
|
=============
|
||||||
|
|
||||||
4. CONTACT
|
Please create bugreports at http://svn.netlabs.org/qtapps
|
||||||
==========
|
|
||||||
|
|
||||||
Please send bugreports to:
|
|
||||||
|
|
||||||
ecs@aroa.ch
|
|
||||||
|
|
||||||
Only bug reports with a reproducable bug are accepted. :-)
|
Only bug reports with a reproducable bug are accepted. :-)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
5. CREDITS
|
5. CREDITS
|
||||||
==========
|
==========
|
||||||
|
|
||||||
@@ -122,6 +146,28 @@ development, you can do so in one of the following ways:
|
|||||||
7. HISTORY
|
7. HISTORY
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
2012-09-06
|
||||||
|
|
||||||
|
* updated to 3.0.2 code level of QBittorrent
|
||||||
|
|
||||||
|
2012-05-14
|
||||||
|
|
||||||
|
* updated to 2.9.8 code level of QBittorrent
|
||||||
|
|
||||||
|
2012-03-15
|
||||||
|
|
||||||
|
* updated to 2.9.5 code level of QBittorrent
|
||||||
|
|
||||||
|
2011-09-26
|
||||||
|
|
||||||
|
* updated to 2.8.5 code level of QBittorrent
|
||||||
|
* updated to Qt 4.7.3
|
||||||
|
|
||||||
|
2011-06-20
|
||||||
|
|
||||||
|
* updated to 2.7.3 code level of QBittorrent
|
||||||
|
* updated libtorrent to 0.15.6 level
|
||||||
|
|
||||||
2010-12-23
|
2010-12-23
|
||||||
|
|
||||||
* updated to 2.5.2 code level of QBittorrent
|
* updated to 2.5.2 code level of QBittorrent
|
||||||
|
|||||||
45
macxconf.pri
45
macxconf.pri
@@ -5,6 +5,7 @@ DATADIR = /usr/local/share
|
|||||||
# Use pkg-config to get all necessary libtorrent DEFINES
|
# Use pkg-config to get all necessary libtorrent DEFINES
|
||||||
CONFIG += link_pkgconfig
|
CONFIG += link_pkgconfig
|
||||||
PKGCONFIG += libtorrent-rasterbar
|
PKGCONFIG += libtorrent-rasterbar
|
||||||
|
DEFINES += BOOST_ASIO_DYN_LINK
|
||||||
|
|
||||||
# Special include/libs paths (macports)
|
# Special include/libs paths (macports)
|
||||||
INCLUDEPATH += /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include
|
INCLUDEPATH += /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include
|
||||||
@@ -15,16 +16,50 @@ LIBS += -lssl -lcrypto
|
|||||||
# Boost system lib
|
# Boost system lib
|
||||||
LIBS += -lboost_system-mt
|
LIBS += -lboost_system-mt
|
||||||
# Boost filesystem lib (Not needed for libtorrent >= 0.16.0)
|
# Boost filesystem lib (Not needed for libtorrent >= 0.16.0)
|
||||||
LIBS += -lboost_filesystem-mt
|
#LIBS += -lboost_filesystem-mt
|
||||||
# Carbon
|
# Carbon
|
||||||
LIBS += -framework Carbon -framework IOKit
|
LIBS += -framework Carbon -framework IOKit
|
||||||
|
|
||||||
document_icon.path = Contents/Resources
|
document_icon.path = Contents/Resources
|
||||||
document_icon.files = Icons/qBitTorrentDocument.icns
|
document_icon.files = mac/qBitTorrentDocument.icns
|
||||||
|
|
||||||
QMAKE_BUNDLE_DATA += document_icon
|
QMAKE_BUNDLE_DATA += document_icon
|
||||||
ICON = Icons/qbittorrent_mac.icns
|
|
||||||
QMAKE_INFO_PLIST = Info.plist
|
qt_conf.path = Contents/Resources
|
||||||
|
qt_conf.files = mac/qt.conf
|
||||||
|
QMAKE_BUNDLE_DATA += qt_conf
|
||||||
|
|
||||||
|
qt_translations.path = Contents/MacOS/translations
|
||||||
|
qt_translations.files = qt-translations/qt_ar.qm \
|
||||||
|
qt-translations/qt_bg.qm \
|
||||||
|
qt-translations/qt_ca.qm \
|
||||||
|
qt-translations/qt_cs.qm \
|
||||||
|
qt-translations/qt_da.qm \
|
||||||
|
qt-translations/qt_de.qm \
|
||||||
|
qt-translations/qt_es.qm \
|
||||||
|
qt-translations/qt_fi.qm \
|
||||||
|
qt-translations/qt_fr.qm \
|
||||||
|
qt-translations/qt_gl.qm \
|
||||||
|
qt-translations/qt_he.qm \
|
||||||
|
qt-translations/qt_hu.qm \
|
||||||
|
qt-translations/qt_it.qm \
|
||||||
|
qt-translations/qt_ja.qm \
|
||||||
|
qt-translations/qt_ko.qm \
|
||||||
|
qt-translations/qt_lt.qm \
|
||||||
|
qt-translations/qt_nl.qm \
|
||||||
|
qt-translations/qt_pl.qm \
|
||||||
|
qt-translations/qt_pt.qm \
|
||||||
|
qt-translations/qt_pt_BR.qm \
|
||||||
|
qt-translations/qt_ru.qm \
|
||||||
|
qt-translations/qt_sk.qm \
|
||||||
|
qt-translations/qt_sv.qm \
|
||||||
|
qt-translations/qt_tr.qm \
|
||||||
|
qt-translations/qt_uk.qm \
|
||||||
|
qt-translations/qt_zh_CN.qm \
|
||||||
|
qt-translations/qt_zh_TW.qm
|
||||||
|
QMAKE_BUNDLE_DATA += qt_translations
|
||||||
|
|
||||||
|
ICON = mac/qbittorrent_mac.icns
|
||||||
|
QMAKE_INFO_PLIST = mac/Info.plist
|
||||||
|
|
||||||
DEFINES += WITH_GEOIP_EMBEDDED
|
DEFINES += WITH_GEOIP_EMBEDDED
|
||||||
message("On Mac OS X, GeoIP database must be embedded.")
|
message("On Mac OS X, GeoIP database must be embedded.")
|
||||||
|
|||||||
@@ -8,11 +8,11 @@ class qc_libtorrent_rasterbar : public ConfObj
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
|
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
|
||||||
QString name() const { return "libtorrent-rasterbar >= 0.14.4"; }
|
QString name() const { return "libtorrent-rasterbar >= 0.15.0"; }
|
||||||
QString shortname() const { return "libtorrent-rasterbar"; }
|
QString shortname() const { return "libtorrent-rasterbar"; }
|
||||||
bool exec(){
|
bool exec(){
|
||||||
QStringList incs;
|
QStringList incs;
|
||||||
QString req_ver = "0.14.4";
|
QString req_ver = "0.15.0";
|
||||||
QString version, libs, other;
|
QString version, libs, other;
|
||||||
VersionMode mode = VersionMin;
|
VersionMode mode = VersionMin;
|
||||||
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other))
|
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other))
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
-----BEGIN QCMOD-----
|
-----BEGIN QCMOD-----
|
||||||
name: Qt >= 4.5
|
name: Qt >= 4.6
|
||||||
arg: enable-debug, Enable debug mode
|
arg: enable-debug, Enable debug mode
|
||||||
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
||||||
-----END QCMOD-----
|
-----END QCMOD-----
|
||||||
@@ -9,8 +9,8 @@ class qc_qt4 : public ConfObj
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
qc_qt4(Conf *c) : ConfObj(c) {}
|
qc_qt4(Conf *c) : ConfObj(c) {}
|
||||||
QString name() const { return "Qt >= 4.5"; }
|
QString name() const { return "Qt >= 4.6"; }
|
||||||
QString shortname() const { return "Qt 4.5"; }
|
QString shortname() const { return "Qt 4.6"; }
|
||||||
bool exec()
|
bool exec()
|
||||||
{
|
{
|
||||||
// NOX mode
|
// NOX mode
|
||||||
@@ -31,6 +31,6 @@ public:
|
|||||||
#else
|
#else
|
||||||
conf->addExtra("MANPREFIX = $$PREFIX/share");
|
conf->addExtra("MANPREFIX = $$PREFIX/share");
|
||||||
#endif
|
#endif
|
||||||
return(QT_VERSION >= 0x040500);
|
return(QT_VERSION >= 0x040600);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
26
src/about.ui
26
src/about.ui
File diff suppressed because one or more lines are too long
@@ -80,8 +80,9 @@ class about : public QDialog, private Ui::AboutDlg{
|
|||||||
<li><u>Georgian:</u> Beqa Arabuli (arabulibeqa@yahoo.com)</li>\
|
<li><u>Georgian:</u> Beqa Arabuli (arabulibeqa@yahoo.com)</li>\
|
||||||
<li><u>German:</u> Niels Hoffmann (zentralmaschine@users.sourceforge.net)</li>\
|
<li><u>German:</u> Niels Hoffmann (zentralmaschine@users.sourceforge.net)</li>\
|
||||||
<li><u>Greek:</u> Tsvetan Bankov (emerge_life@users.sourceforge.net)</li>\
|
<li><u>Greek:</u> Tsvetan Bankov (emerge_life@users.sourceforge.net)</li>\
|
||||||
|
<li><u>Hebrew:</u> David Deutsch (d.deffo@gmail.com)</li>\
|
||||||
<li><u>Hungarian:</u> Majoros Péter (majoros.peterj@gmail.com)</li>\
|
<li><u>Hungarian:</u> Majoros Péter (majoros.peterj@gmail.com)</li>\
|
||||||
<li><u>Italian:</u> Matteo Sechi (bu17714@gmail.com)</li>\
|
<li><u>Italian:</u> bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com)</li>\
|
||||||
<li><u>Japanese:</u> Masato Hashimoto (cabezon.hashimoto@gmail.com)</li>\
|
<li><u>Japanese:</u> Masato Hashimoto (cabezon.hashimoto@gmail.com)</li>\
|
||||||
<li><u>Korean:</u> Jin Woo Sin (jin828sin@users.sourceforge.net)</li>\
|
<li><u>Korean:</u> Jin Woo Sin (jin828sin@users.sourceforge.net)</li>\
|
||||||
<li><u>Lithuanian:</u> Naglis Jonaitis (njonaitis@gmail.com)</li>\
|
<li><u>Lithuanian:</u> Naglis Jonaitis (njonaitis@gmail.com)</li>\
|
||||||
@@ -95,7 +96,7 @@ class about : public QDialog, private Ui::AboutDlg{
|
|||||||
<li><u>Spanish:</u> Francisco Luque Contreras (frannoe@ya.com)</li>\
|
<li><u>Spanish:</u> Francisco Luque Contreras (frannoe@ya.com)</li>\
|
||||||
<li><u>Swedish:</u> Daniel Nylander (po@danielnylander.se)</li>\
|
<li><u>Swedish:</u> Daniel Nylander (po@danielnylander.se)</li>\
|
||||||
<li><u>Turkish:</u> Hasan YILMAZ (iletisim@hedefturkce.com) and Erdem Bingöl (erdem84@gmail.com)</li>\
|
<li><u>Turkish:</u> Hasan YILMAZ (iletisim@hedefturkce.com) and Erdem Bingöl (erdem84@gmail.com)</li>\
|
||||||
<li><u>Ukrainian:</u> Andrey Shpachenko (masterfix@users.sourceforge.net) and Oleh Prypin (blaxpirit@gmail.com)</li></ul>");
|
<li><u>Ukrainian:</u> Oleh Prypin (blaxpirit@gmail.com)</li></ul>");
|
||||||
trans_txt += "<p>"+tr("Please contact me if you would like to translate qBittorrent into your own language.")+"</p>";
|
trans_txt += "<p>"+tr("Please contact me if you would like to translate qBittorrent into your own language.")+"</p>";
|
||||||
te_translation->setHtml(trans_txt);
|
te_translation->setHtml(trans_txt);
|
||||||
// License
|
// License
|
||||||
|
|||||||
599
src/addnewtorrentdialog.cpp
Normal file
599
src/addnewtorrentdialog.cpp
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Bittorrent Client using Qt4 and libtorrent.
|
* Bittorrent Client using Qt4 and libtorrent.
|
||||||
* Copyright (C) 2006 Christophe Dumez
|
* Copyright (C) 2012 Christophe Dumez
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
@@ -28,70 +28,64 @@
|
|||||||
* Contact : chris@qbittorrent.org
|
* Contact : chris@qbittorrent.org
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef TORRENTADDITION_H
|
#ifndef ADDNEWTORRENTDIALOG_H
|
||||||
#define TORRENTADDITION_H
|
#define ADDNEWTORRENTDIALOG_H
|
||||||
|
|
||||||
#include <QStringList>
|
|
||||||
|
|
||||||
#include "ui_torrentadditiondlg.h"
|
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
#include <QUrl>
|
||||||
#include <libtorrent/torrent_info.hpp>
|
#include <libtorrent/torrent_info.hpp>
|
||||||
|
|
||||||
class TorrentFilesFilterModel;
|
QT_BEGIN_NAMESPACE
|
||||||
|
namespace Ui {
|
||||||
|
class AddNewTorrentDialog;
|
||||||
|
}
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
class TorrentContentFilterModel;
|
||||||
class PropListDelegate;
|
class PropListDelegate;
|
||||||
|
|
||||||
class torrentAdditionDialog : public QDialog, private Ui_addTorrentDialog{
|
class AddNewTorrentDialog : public QDialog
|
||||||
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
torrentAdditionDialog(QWidget *parent);
|
~AddNewTorrentDialog();
|
||||||
~torrentAdditionDialog();
|
|
||||||
void showLoadMagnetURI(QString magnet_uri);
|
|
||||||
void showLoad(QString filePath, QString from_url=QString::null);
|
|
||||||
QString getCurrentTruncatedSavePath(QString* root_folder_or_file_name = 0) const;
|
|
||||||
QString getTruncatedSavePath(QString save_path, QString* root_folder_or_file_name = 0) const;
|
|
||||||
bool allFiltered() const;
|
|
||||||
|
|
||||||
public slots:
|
static void showTorrent(const QString& torrent_path, const QString& from_url = QString());
|
||||||
void displayContentListMenu(const QPoint&);
|
static void showMagnet(const QString& torrent_link);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void showAdvancedSettings(bool show);
|
||||||
|
void displayContentTreeMenu(const QPoint&);
|
||||||
|
void on_buttonBox_accepted();
|
||||||
|
void updateDiskSpaceLabel();
|
||||||
|
void onSavePathChanged(int);
|
||||||
|
void relayout();
|
||||||
void renameSelectedFile();
|
void renameSelectedFile();
|
||||||
void updateDiskSpaceLabels();
|
void setdialogPosition();
|
||||||
void on_browseButton_clicked();
|
|
||||||
void on_CancelButton_clicked();
|
private:
|
||||||
void savePiecesPriorities();
|
explicit AddNewTorrentDialog(QWidget *parent = 0);
|
||||||
void on_OkButton_clicked();
|
bool loadTorrent(const QString& torrent_path, const QString& from_url);
|
||||||
void hideTorrentContent();
|
bool loadMagnet(const QString& magnet_uri);
|
||||||
void limitDialogWidth();
|
|
||||||
void saveTruncatedPathHistory();
|
|
||||||
void loadSavePathHistory();
|
void loadSavePathHistory();
|
||||||
void updateLabelInSavePath(QString label);
|
void saveSavePathHistory() const;
|
||||||
void updateSavePathCurrentText();
|
int indexOfSavePath(const QString& save_path);
|
||||||
void resetComboLabelIndex(QString text);
|
void updateFileNameInSavePaths(const QString& new_filename);
|
||||||
|
void loadState();
|
||||||
protected:
|
void saveState();
|
||||||
void closeEvent(QCloseEvent *event);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void readSettings();
|
Ui::AddNewTorrentDialog *ui;
|
||||||
void saveSettings();
|
TorrentContentFilterModel *m_contentModel;
|
||||||
|
PropListDelegate *m_contentDelegate;
|
||||||
private:
|
bool m_isMagnet;
|
||||||
QString fileName;
|
QString m_filePath;
|
||||||
QString hash;
|
QString m_url;
|
||||||
QString filePath;
|
QString m_hash;
|
||||||
QString from_url;
|
boost::intrusive_ptr<libtorrent::torrent_info> m_torrentInfo;
|
||||||
QString defaultSavePath;
|
QStringList m_filesPath;
|
||||||
QString old_label;
|
bool m_hasRenamedFile;
|
||||||
bool appendLabelToSavePath;
|
|
||||||
TorrentFilesFilterModel *PropListModel;
|
|
||||||
PropListDelegate *PropDelegate;
|
|
||||||
unsigned int nbFiles;
|
|
||||||
boost::intrusive_ptr<libtorrent::torrent_info> t;
|
|
||||||
QStringList files_path;
|
|
||||||
bool is_magnet;
|
|
||||||
int hidden_height;
|
|
||||||
QStringList path_history;
|
|
||||||
bool m_showContentList;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // ADDNEWTORRENTDIALOG_H
|
||||||
274
src/addnewtorrentdialog.ui
Normal file
274
src/addnewtorrentdialog.ui
Normal file
File diff suppressed because it is too large
Load Diff
@@ -175,7 +175,7 @@ void DNSUpdater::processIPUpdateReply(const QString &reply)
|
|||||||
QString code = reply.split(" ").first();
|
QString code = reply.split(" ").first();
|
||||||
qDebug() << Q_FUNC_INFO << "Code:" << code;
|
qDebug() << Q_FUNC_INFO << "Code:" << code;
|
||||||
if (code == "good" || code == "nochg") {
|
if (code == "good" || code == "nochg") {
|
||||||
QBtSession::instance()->addConsoleMessage(tr("Your dynamic DNS was successfuly updated."), "green");
|
QBtSession::instance()->addConsoleMessage(tr("Your dynamic DNS was successfully updated."), "green");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (code == "911" || code == "dnserr") {
|
if (code == "911" || code == "dnserr") {
|
||||||
|
|||||||
@@ -14,31 +14,14 @@
|
|||||||
<string>Download from urls</string>
|
<string>Download from urls</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout">
|
<layout class="QVBoxLayout">
|
||||||
<property name="spacing">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<property name="margin">
|
|
||||||
<number>9</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout">
|
<layout class="QHBoxLayout">
|
||||||
<property name="spacing">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<property name="margin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="downloadURL_lbl">
|
<widget class="QLabel" name="downloadURL_lbl">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<family>Sans Serif</family>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
<weight>75</weight>
|
<weight>75</weight>
|
||||||
<italic>false</italic>
|
|
||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
<underline>false</underline>
|
|
||||||
<strikeout>false</strikeout>
|
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -65,13 +48,7 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<family>Sans Serif</family>
|
|
||||||
<pointsize>9</pointsize>
|
|
||||||
<weight>50</weight>
|
|
||||||
<italic>true</italic>
|
<italic>true</italic>
|
||||||
<bold>false</bold>
|
|
||||||
<underline>false</underline>
|
|
||||||
<strikeout>false</strikeout>
|
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -81,12 +58,6 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout">
|
<layout class="QHBoxLayout">
|
||||||
<property name="spacing">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<property name="margin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<spacer>
|
<spacer>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
|||||||
@@ -32,7 +32,6 @@
|
|||||||
#include <QNetworkAccessManager>
|
#include <QNetworkAccessManager>
|
||||||
#include <QNetworkRequest>
|
#include <QNetworkRequest>
|
||||||
#include <QNetworkProxy>
|
#include <QNetworkProxy>
|
||||||
#include <QNetworkCookie>
|
|
||||||
#include <QNetworkCookieJar>
|
#include <QNetworkCookieJar>
|
||||||
|
|
||||||
#include "downloadthread.h"
|
#include "downloadthread.h"
|
||||||
@@ -109,39 +108,21 @@ void DownloadThread::processDlFinished(QNetworkReply* reply) {
|
|||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef DISABLE_GUI
|
void DownloadThread::downloadTorrentUrl(const QString &url, const QList<QNetworkCookie>& cookies)
|
||||||
void DownloadThread::loadCookies(const QString &host_name, QString url) {
|
{
|
||||||
const QList<QByteArray> raw_cookies = RssSettings().getHostNameCookies(host_name);
|
|
||||||
QNetworkCookieJar *cookie_jar = m_networkManager.cookieJar();
|
|
||||||
QList<QNetworkCookie> cookies;
|
|
||||||
qDebug("Loading cookies for host name: %s", qPrintable(host_name));
|
|
||||||
foreach(const QByteArray& raw_cookie, raw_cookies) {
|
|
||||||
QList<QByteArray> cookie_parts = raw_cookie.split('=');
|
|
||||||
if(cookie_parts.size() == 2) {
|
|
||||||
qDebug("Loading cookie: %s", raw_cookie.constData());
|
|
||||||
cookies << QNetworkCookie(cookie_parts.first(), cookie_parts.last());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cookie_jar->setCookiesFromUrl(cookies, url);
|
|
||||||
m_networkManager.setCookieJar(cookie_jar);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void DownloadThread::downloadTorrentUrl(const QString &url) {
|
|
||||||
// Process request
|
// Process request
|
||||||
QNetworkReply *reply = downloadUrl(url);
|
QNetworkReply *reply = downloadUrl(url, cookies);
|
||||||
connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(checkDownloadSize(qint64,qint64)));
|
connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(checkDownloadSize(qint64,qint64)));
|
||||||
}
|
}
|
||||||
|
|
||||||
QNetworkReply* DownloadThread::downloadUrl(const QString &url){
|
QNetworkReply* DownloadThread::downloadUrl(const QString &url, const QList<QNetworkCookie>& cookies) {
|
||||||
// Update proxy settings
|
// Update proxy settings
|
||||||
applyProxySettings();
|
applyProxySettings();
|
||||||
#ifndef DISABLE_GUI
|
// Set cookies
|
||||||
// Load cookies
|
if (!cookies.empty()) {
|
||||||
QString host_name = QUrl::fromEncoded(url.toUtf8()).host();
|
qDebug("Setting %d cookies for url: %s", cookies.size(), qPrintable(url));
|
||||||
if(!host_name.isEmpty())
|
m_networkManager.cookieJar()->setCookiesFromUrl(cookies, url);
|
||||||
loadCookies(host_name, url);
|
}
|
||||||
#endif
|
|
||||||
// Process download request
|
// Process download request
|
||||||
qDebug("url is %s", qPrintable(url));
|
qDebug("url is %s", qPrintable(url));
|
||||||
const QUrl qurl = QUrl::fromEncoded(url.toUtf8());
|
const QUrl qurl = QUrl::fromEncoded(url.toUtf8());
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
#define DOWNLOADTHREAD_H
|
#define DOWNLOADTHREAD_H
|
||||||
|
|
||||||
#include <QNetworkReply>
|
#include <QNetworkReply>
|
||||||
|
#include <QNetworkCookie>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QHash>
|
#include <QHash>
|
||||||
#include <QSslError>
|
#include <QSslError>
|
||||||
@@ -45,8 +46,8 @@ class DownloadThread : public QObject {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
DownloadThread(QObject* parent = 0);
|
DownloadThread(QObject* parent = 0);
|
||||||
QNetworkReply* downloadUrl(const QString &url);
|
QNetworkReply* downloadUrl(const QString &url, const QList<QNetworkCookie>& raw_cookies = QList<QNetworkCookie>());
|
||||||
void downloadTorrentUrl(const QString &url);
|
void downloadTorrentUrl(const QString &url, const QList<QNetworkCookie>& raw_cookies = QList<QNetworkCookie>());
|
||||||
//void setProxy(QString IP, int port, QString username, QString password);
|
//void setProxy(QString IP, int port, QString username, QString password);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
@@ -63,9 +64,6 @@ private slots:
|
|||||||
private:
|
private:
|
||||||
QString errorCodeToString(QNetworkReply::NetworkError status);
|
QString errorCodeToString(QNetworkReply::NetworkError status);
|
||||||
void applyProxySettings();
|
void applyProxySettings();
|
||||||
#ifndef DISABLE_GUI
|
|
||||||
void loadCookies(const QString &host_name, QString url);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QNetworkAccessManager m_networkManager;
|
QNetworkAccessManager m_networkManager;
|
||||||
|
|||||||
@@ -37,8 +37,8 @@ QT_BEGIN_NAMESPACE
|
|||||||
namespace Ui {
|
namespace Ui {
|
||||||
class ExecutionLog;
|
class ExecutionLog;
|
||||||
}
|
}
|
||||||
class LogListWidget;
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
class LogListWidget;
|
||||||
|
|
||||||
class ExecutionLog : public QWidget
|
class ExecutionLog : public QWidget
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "fs_utils.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
#ifndef CIFS_MAGIC_NUMBER
|
#ifndef CIFS_MAGIC_NUMBER
|
||||||
@@ -118,7 +119,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
FileSystemWatcher(QObject *parent): QFileSystemWatcher(parent) {
|
FileSystemWatcher(QObject *parent): QFileSystemWatcher(parent) {
|
||||||
m_filters << "*.torrent";
|
m_filters << "*.torrent" << "*.magnet";
|
||||||
connect(this, SIGNAL(directoryChanged(QString)), this, SLOT(scanLocalFolder(QString)));
|
connect(this, SIGNAL(directoryChanged(QString)), this, SLOT(scanLocalFolder(QString)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -226,7 +227,7 @@ protected slots:
|
|||||||
m_partialTorrents.remove(torrent_path);
|
m_partialTorrents.remove(torrent_path);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if(misc::isValidTorrentFile(torrent_path)) {
|
if (fsutils::isValidTorrentFile(torrent_path)) {
|
||||||
no_longer_partial << torrent_path;
|
no_longer_partial << torrent_path;
|
||||||
m_partialTorrents.remove(torrent_path);
|
m_partialTorrents.remove(torrent_path);
|
||||||
} else {
|
} else {
|
||||||
@@ -271,7 +272,13 @@ private:
|
|||||||
const QStringList files = dir.entryList(m_filters, QDir::Files, QDir::Unsorted);
|
const QStringList files = dir.entryList(m_filters, QDir::Files, QDir::Unsorted);
|
||||||
foreach (const QString &file, files) {
|
foreach (const QString &file, files) {
|
||||||
const QString file_abspath = dir.absoluteFilePath(file);
|
const QString file_abspath = dir.absoluteFilePath(file);
|
||||||
if(misc::isValidTorrentFile(file_abspath)) {
|
if (file_abspath.endsWith(".magnet")) {
|
||||||
|
QFile f(file_abspath);
|
||||||
|
if (f.open(QIODevice::ReadOnly)
|
||||||
|
&& !misc::magnetUriToHash(QString::fromLocal8Bit(f.readAll())).isEmpty()) {
|
||||||
|
torrents << file_abspath;
|
||||||
|
}
|
||||||
|
} else if (fsutils::isValidTorrentFile(file_abspath)) {
|
||||||
torrents << file_abspath;
|
torrents << file_abspath;
|
||||||
} else {
|
} else {
|
||||||
if (!m_partialTorrents.contains(file_abspath)) {
|
if (!m_partialTorrents.contains(file_abspath)) {
|
||||||
|
|||||||
508
src/fs_utils.cpp
Normal file
508
src/fs_utils.cpp
Normal file
File diff suppressed because it is too large
Load Diff
73
src/fs_utils.h
Normal file
73
src/fs_utils.h
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
/*
|
||||||
|
* Bittorrent Client using Qt4 and libtorrent.
|
||||||
|
* Copyright (C) 2012 Christophe Dumez
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*
|
||||||
|
* In addition, as a special exception, the copyright holders give permission to
|
||||||
|
* link this program with the OpenSSL project's "OpenSSL" library (or with
|
||||||
|
* modified versions of it that use the same license as the "OpenSSL" library),
|
||||||
|
* and distribute the linked executables. You must obey the GNU General Public
|
||||||
|
* License in all respects for all of the code used other than "OpenSSL". If you
|
||||||
|
* modify file(s), you may extend this exception to your version of the file(s),
|
||||||
|
* but you are not obligated to do so. If you do not wish to do so, delete this
|
||||||
|
* exception statement from your version.
|
||||||
|
*
|
||||||
|
* Contact : chris@qbittorrent.org
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef FS_UTILS_H
|
||||||
|
#define FS_UTILS_H
|
||||||
|
|
||||||
|
#include <QString>
|
||||||
|
#include <QCoreApplication>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Utility functions related to file system.
|
||||||
|
*/
|
||||||
|
class fsutils
|
||||||
|
{
|
||||||
|
Q_DECLARE_TR_FUNCTIONS(fsutils)
|
||||||
|
|
||||||
|
public:
|
||||||
|
static QString toDisplayPath(const QString& path);
|
||||||
|
static QString fileExtension(const QString& filename);
|
||||||
|
static QString fileName(const QString& file_path);
|
||||||
|
static qint64 computePathSize(const QString& path);
|
||||||
|
static bool sameFiles(const QString& path1, const QString& path2);
|
||||||
|
static QString updateLabelInSavePath(QString defaultSavePath, QString save_path, const QString& old_label, const QString& new_label);
|
||||||
|
static QString toValidFileSystemName(QString filename);
|
||||||
|
static bool isValidFileSystemName(const QString& filename);
|
||||||
|
static long long freeDiskSpaceOnPath(QString path);
|
||||||
|
static QString branchPath(const QString& file_path, QString* removed = 0);
|
||||||
|
static bool sameFileNames(const QString& first, const QString& second);
|
||||||
|
static QString expandPath(const QString& path);
|
||||||
|
static bool isValidTorrentFile(const QString& path);
|
||||||
|
static bool smartRemoveEmptyFolderTree(const QString& dir_path);
|
||||||
|
static bool forceRemove(const QString& file_path);
|
||||||
|
|
||||||
|
/* Ported from Qt4 to drop dependency on QtGui */
|
||||||
|
static QString QDesktopServicesDataLocation();
|
||||||
|
static QString QDesktopServicesCacheLocation();
|
||||||
|
static QString QDesktopServicesDownloadLocation();
|
||||||
|
/* End of Qt4 code */
|
||||||
|
static QString searchEngineLocation();
|
||||||
|
static QString BTBackupLocation();
|
||||||
|
static QString cacheLocation();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // FS_UTILS_H
|
||||||
|
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QChar>
|
#include <QChar>
|
||||||
|
|
||||||
#include "misc.h"
|
#include "fs_utils.h"
|
||||||
|
|
||||||
using namespace libtorrent;
|
using namespace libtorrent;
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ QString GeoIPManager::geoipFolder(bool embedded) {
|
|||||||
#ifdef WITH_GEOIP_EMBEDDED
|
#ifdef WITH_GEOIP_EMBEDDED
|
||||||
if (embedded)
|
if (embedded)
|
||||||
return ":/geoip/";
|
return ":/geoip/";
|
||||||
return misc::QDesktopServicesDataLocation()+"geoip"+QDir::separator();
|
return fsutils::QDesktopServicesDataLocation()+"geoip"+QDir::separator();
|
||||||
#else
|
#else
|
||||||
Q_UNUSED(embedded);
|
Q_UNUSED(embedded);
|
||||||
if (QFile::exists("/usr/local/share/GeoIP/GeoIP.dat"))
|
if (QFile::exists("/usr/local/share/GeoIP/GeoIP.dat"))
|
||||||
@@ -101,7 +101,7 @@ void GeoIPManager::exportEmbeddedDb() {
|
|||||||
}
|
}
|
||||||
// Remove destination files
|
// Remove destination files
|
||||||
if (QFile::exists(geoipDBpath(false)))
|
if (QFile::exists(geoipDBpath(false)))
|
||||||
misc::safeRemove(geoipDBpath(false));
|
fsutils::forceRemove(geoipDBpath(false));
|
||||||
// Copy from executable to hard disk
|
// Copy from executable to hard disk
|
||||||
qDebug("%s -> %s", qPrintable(geoipDBpath(true)), qPrintable(geoipDBpath(false)));
|
qDebug("%s -> %s", qPrintable(geoipDBpath(true)), qPrintable(geoipDBpath(false)));
|
||||||
if (!QFile::copy(geoipDBpath(true), geoipDBpath(false))) {
|
if (!QFile::copy(geoipDBpath(true), geoipDBpath(false))) {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ IconProvider* IconProvider::m_instance = 0;
|
|||||||
|
|
||||||
IconProvider::IconProvider()
|
IconProvider::IconProvider()
|
||||||
{
|
{
|
||||||
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
|
#if defined(Q_WS_X11)
|
||||||
m_useSystemTheme = Preferences().useSystemIconTheme();
|
m_useSystemTheme = Preferences().useSystemIconTheme();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -57,7 +57,7 @@ void IconProvider::drop()
|
|||||||
|
|
||||||
QIcon IconProvider::getIcon(const QString &iconId)
|
QIcon IconProvider::getIcon(const QString &iconId)
|
||||||
{
|
{
|
||||||
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
|
#if defined(Q_WS_X11)
|
||||||
if (m_useSystemTheme) {
|
if (m_useSystemTheme) {
|
||||||
QIcon icon = QIcon::fromTheme(iconId, QIcon(":/Icons/oxygen/"+iconId+".png"));
|
QIcon icon = QIcon::fromTheme(iconId, QIcon(":/Icons/oxygen/"+iconId+".png"));
|
||||||
icon = generateDifferentSizes(icon);
|
icon = generateDifferentSizes(icon);
|
||||||
@@ -67,7 +67,7 @@ QIcon IconProvider::getIcon(const QString &iconId)
|
|||||||
return QIcon(":/Icons/oxygen/"+iconId+".png");
|
return QIcon(":/Icons/oxygen/"+iconId+".png");
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
|
#if defined(Q_WS_X11)
|
||||||
void IconProvider::useSystemIconTheme(bool enable)
|
void IconProvider::useSystemIconTheme(bool enable)
|
||||||
{
|
{
|
||||||
m_useSystemTheme = enable;
|
m_useSystemTheme = enable;
|
||||||
@@ -102,7 +102,7 @@ QIcon IconProvider::generateDifferentSizes(const QIcon &icon)
|
|||||||
|
|
||||||
QString IconProvider::getIconPath(const QString& iconId)
|
QString IconProvider::getIconPath(const QString& iconId)
|
||||||
{
|
{
|
||||||
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
|
#if defined(Q_WS_X11)
|
||||||
if (m_useSystemTheme) {
|
if (m_useSystemTheme) {
|
||||||
QString path = QDir::temp().absoluteFilePath(iconId+".png");
|
QString path = QDir::temp().absoluteFilePath(iconId+".png");
|
||||||
if (!QFile::exists(path)) {
|
if (!QFile::exists(path)) {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public:
|
|||||||
QIcon getIcon(const QString& iconId);
|
QIcon getIcon(const QString& iconId);
|
||||||
QString getIconPath(const QString& iconId);
|
QString getIconPath(const QString& iconId);
|
||||||
|
|
||||||
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
|
#if defined(Q_WS_X11)
|
||||||
public:
|
public:
|
||||||
void useSystemIconTheme(bool enable);
|
void useSystemIconTheme(bool enable);
|
||||||
|
|
||||||
|
|||||||
646
src/icons.qrc
646
src/icons.qrc
File diff suppressed because it is too large
Load Diff
65
src/lang.qrc
65
src/lang.qrc
@@ -1,40 +1,41 @@
|
|||||||
<!DOCTYPE RCC><RCC version="1.0">
|
<!DOCTYPE RCC><RCC version="1.0">
|
||||||
<qresource>
|
<qresource>
|
||||||
<file>lang/qbittorrent_nl.qm</file>
|
<file>lang/qbittorrent_ar.qm</file>
|
||||||
<file>lang/qbittorrent_hu.qm</file>
|
<file>lang/qbittorrent_be.qm</file>
|
||||||
<file>lang/qbittorrent_ru.qm</file>
|
<file>lang/qbittorrent_bg.qm</file>
|
||||||
<file>lang/qbittorrent_zh_TW.qm</file>
|
|
||||||
<file>lang/qbittorrent_tr.qm</file>
|
|
||||||
<file>lang/qbittorrent_fi.qm</file>
|
|
||||||
<file>lang/qbittorrent_sk.qm</file>
|
|
||||||
<file>lang/qbittorrent_ja.qm</file>
|
|
||||||
<file>lang/qbittorrent_el.qm</file>
|
|
||||||
<file>lang/qbittorrent_ca.qm</file>
|
<file>lang/qbittorrent_ca.qm</file>
|
||||||
<file>lang/qbittorrent_pt.qm</file>
|
<file>lang/qbittorrent_cs.qm</file>
|
||||||
<file>lang/qbittorrent_it.qm</file>
|
<file>lang/qbittorrent_da.qm</file>
|
||||||
|
<file>lang/qbittorrent_de.qm</file>
|
||||||
|
<file>lang/qbittorrent_el.qm</file>
|
||||||
|
<file>lang/qbittorrent_en.qm</file>
|
||||||
|
<file>lang/qbittorrent_es.qm</file>
|
||||||
|
<file>lang/qbittorrent_eu.qm</file>
|
||||||
|
<file>lang/qbittorrent_fi.qm</file>
|
||||||
<file>lang/qbittorrent_fr.qm</file>
|
<file>lang/qbittorrent_fr.qm</file>
|
||||||
|
<file>lang/qbittorrent_gl.qm</file>
|
||||||
|
<file>lang/qbittorrent_he.qm</file>
|
||||||
|
<file>lang/qbittorrent_hr.qm</file>
|
||||||
|
<file>lang/qbittorrent_hu.qm</file>
|
||||||
|
<file>lang/qbittorrent_hy.qm</file>
|
||||||
|
<file>lang/qbittorrent_it.qm</file>
|
||||||
|
<file>lang/qbittorrent_ja.qm</file>
|
||||||
|
<file>lang/qbittorrent_ka.qm</file>
|
||||||
|
<file>lang/qbittorrent_ko.qm</file>
|
||||||
|
<file>lang/qbittorrent_lt.qm</file>
|
||||||
|
<file>lang/qbittorrent_nb.qm</file>
|
||||||
|
<file>lang/qbittorrent_nl.qm</file>
|
||||||
|
<file>lang/qbittorrent_pl.qm</file>
|
||||||
|
<file>lang/qbittorrent_pt.qm</file>
|
||||||
|
<file>lang/qbittorrent_pt_BR.qm</file>
|
||||||
|
<file>lang/qbittorrent_ro.qm</file>
|
||||||
|
<file>lang/qbittorrent_ru.qm</file>
|
||||||
|
<file>lang/qbittorrent_sk.qm</file>
|
||||||
|
<file>lang/qbittorrent_sr.qm</file>
|
||||||
|
<file>lang/qbittorrent_sv.qm</file>
|
||||||
|
<file>lang/qbittorrent_tr.qm</file>
|
||||||
<file>lang/qbittorrent_uk.qm</file>
|
<file>lang/qbittorrent_uk.qm</file>
|
||||||
<file>lang/qbittorrent_zh.qm</file>
|
<file>lang/qbittorrent_zh.qm</file>
|
||||||
<file>lang/qbittorrent_lt.qm</file>
|
<file>lang/qbittorrent_zh_TW.qm</file>
|
||||||
<file>lang/qbittorrent_ko.qm</file>
|
|
||||||
<file>lang/qbittorrent_nb.qm</file>
|
|
||||||
<file>lang/qbittorrent_sv.qm</file>
|
|
||||||
<file>lang/qbittorrent_de.qm</file>
|
|
||||||
<file>lang/qbittorrent_gl.qm</file>
|
|
||||||
<file>lang/qbittorrent_sr.qm</file>
|
|
||||||
<file>lang/qbittorrent_pt_BR.qm</file>
|
|
||||||
<file>lang/qbittorrent_da.qm</file>
|
|
||||||
<file>lang/qbittorrent_cs.qm</file>
|
|
||||||
<file>lang/qbittorrent_hy.qm</file>
|
|
||||||
<file>lang/qbittorrent_pl.qm</file>
|
|
||||||
<file>lang/qbittorrent_bg.qm</file>
|
|
||||||
<file>lang/qbittorrent_ar.qm</file>
|
|
||||||
<file>lang/qbittorrent_es.qm</file>
|
|
||||||
<file>lang/qbittorrent_en.qm</file>
|
|
||||||
<file>lang/qbittorrent_hr.qm</file>
|
|
||||||
<file>lang/qbittorrent_ro.qm</file>
|
|
||||||
<file>lang/qbittorrent_ka.qm</file>
|
|
||||||
<file>lang/qbittorrent_be.qm</file>
|
|
||||||
<file>lang/qbittorrent_eu.qm</file>
|
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
2154
src/lang/qbittorrent_be.ts
Executable file → Normal file
2154
src/lang/qbittorrent_be.ts
Executable file → Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user