1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-09 18:32:15 +02:00

Compare commits

...

262 Commits

Author SHA1 Message Date
sledgehammer999
0795320086 Bump to 3.3.4 2016-03-29 23:21:35 +03:00
sledgehammer999
bd6877a0bd Update Changelog. 2016-03-29 23:19:29 +03:00
sledgehammer999
b47292c39f Bump API_VERSION and API_VERSION_MIN. 2016-03-29 23:17:30 +03:00
sledgehammer999
3d2b1b876b Fix public key commit again. 2016-03-28 22:20:15 +03:00
sledgehammer999
843472e663 Fix newlines in previous commit. 2016-03-28 22:20:15 +03:00
sledgehammer999
e952e3167e Add public key used for signing source tarballs and binaries. 2016-03-28 22:20:14 +03:00
sledgehammer999
67f05edf71 Sync translations from Transifex and run lupdate. 2016-03-28 22:19:37 +03:00
Eugene Shalygin
3ab76cb985 cmake: make it compile on OS X 2016-03-28 21:30:14 +03:00
Eugene Shalygin
509d97b0ad cmake: fix compilation 2016-03-28 21:30:13 +03:00
Chocobo1
67ae08df3c Minor cleanups in RSS 2016-03-28 21:30:13 +03:00
Chocobo1
38de6b1e41 Remove border around execution log 2016-03-28 21:30:13 +03:00
ngosang
72b179805d [Search engine] Added TorLock search engine. Fix #5012 2016-03-28 21:30:13 +03:00
ngosang
beeda5e0b2 Potential fix for crash. Closes #4990, #4905, #4864, #4855, #4818, #4726, #4648 2016-03-28 00:14:55 +03:00
sledgehammer999
356db2f2f7 Fix periodic latency spikes on Windows with WiFi connections. Closes #4209. 2016-03-27 23:57:29 +03:00
Chocobo1
19acbf587f Beautify messages
And some refactor
2016-03-27 23:57:23 +03:00
Chocobo1
5eee3f7357 confirmshutdowndlg.ui cleanup
shutdownconfirm.cpp cleanup
2016-03-27 23:57:18 +03:00
sledgehammer999
8f990d5d7e Fix previous commit. 2016-03-27 23:57:12 +03:00
d3fault
f0ec94c31c Add 'never show again' checkbox/pref to auto-exit confirm dialog 2016-03-27 23:57:06 +03:00
sledgehammer999
e37dfa96f9 Fix commit about Esperanto. Closes #4999 again. 2016-03-27 23:57:01 +03:00
Chocobo1
4b48db3273 Fix "caja" file manager opens the file instead of opens the directory. Closes #5003.
Now it opens the directory correctly.
2016-03-27 23:56:56 +03:00
ngosang
545002a809 [Search engine] Added TorLock search engine 2016-03-27 23:56:50 +03:00
ngosang
e2e9470e10 [Search engine] Change URL getting mechanism in BTDigg 2016-03-27 23:56:45 +03:00
ngosang
0bf1abba6a [Search engine] Fix Python 2 encoding problems 2016-03-27 23:56:39 +03:00
Vladimir Golovnev (Glassez)
24165856e9 Add new Coding Style rules for some c++11 features 2016-03-27 23:56:34 +03:00
sledgehammer999
657f0640b9 Fix selection of Esperanto locale. Closes #4999. 2016-03-27 23:56:28 +03:00
sledgehammer999
faffefc4ff Implement file logger. 2016-03-27 23:56:23 +03:00
sledgehammer999
0619aacf1f Add ability to filter log messages by type. 2016-03-27 23:56:17 +03:00
sledgehammer999
9edbbb6473 Minor log widget code optimizations. 2016-03-27 23:56:12 +03:00
sledgehammer999
87ee720c0c Follow project coding style. Issue #2192. 2016-03-27 23:56:06 +03:00
ngosang
b7ca036bc3 [WebUI] Add missing string 2016-03-27 23:56:01 +03:00
Eugene Shalygin
c4442c98b9 update uncrustify config 2016-03-27 23:55:55 +03:00
Chocobo1
fee8036a7a TravisCI: switch to Trusty image. Closes #4953.
Drop workaround for gcc-4.8
2016-03-27 23:55:50 +03:00
sledgehammer999
94bd4308c7 Fix selection of Portuguese translation files.
Qt returns "Brazil" as country of QLocale("pt") instead of "Portugal". This conflicts with QLocale("pt_BR").
Rename the pt.ts to pt_PT and put a language mapping in tx's config for that locale.
Closes #4776.
2016-03-27 23:55:45 +03:00
sledgehammer999
5e5785435a Potential fix for crash. Closes #4607. 2016-03-27 23:55:39 +03:00
sledgehammer999
d7f02a7ee7 Don't display warning when folder named stayed the same.
Copy some code from AddNewTorrent dialog and beautify a bit.
Closes #4970.
2016-03-27 23:55:34 +03:00
sledgehammer999
e6480f9dff Correctly hide useless columns in AddNewTorrent file treeview. Closes #4955. 2016-03-27 23:55:28 +03:00
buinsky
e9f6cfc2e8 WebUI: Change the order of the values of speed labels 2016-03-27 23:55:23 +03:00
buinsky
4f68d263d4 GUI: Change the order of the values of speed labels 2016-03-27 23:55:17 +03:00
buinsky
6a672472a2 Refactoring of StatusBar::refreshStatusBar function 2016-03-27 23:55:12 +03:00
buinsky
3590ac2997 Follow project coding style. Issue #2192. 2016-03-27 23:55:06 +03:00
Chocobo1
98fe5e11dd Add appveyor support 2016-03-27 23:55:01 +03:00
sledgehammer999
9df5c0292b Sync translations from Transifex and run lupdate. 2016-03-27 23:54:55 +03:00
funkydude
1f2d25a1ff Move some URLs overs to https 2016-03-27 23:54:50 +03:00
sledgehammer999
f1dd7a091c Always delete partfile (libtorrent 1.1.x). 2016-03-27 23:54:44 +03:00
Eugene Shalygin
5457bde8d0 Use correct piece size while calling torrent_info::map_block()
This should fix crashes. Issue #4597
2016-03-27 23:54:39 +03:00
Eugene Shalygin
2e325d9506 Revert "Temporarily revert PR #2885 (filename column in peers view)."
This reverts commit 69d52a06d7.
2016-03-27 23:54:34 +03:00
sledgehammer999
0264a7bf58 Don't display Country option in PeerListWidget header menu when country resolution is disabled. 2016-03-27 23:54:29 +03:00
thalieht
32fe930b88 add toggle columns for peerlist 2016-03-27 23:54:23 +03:00
Chocobo1
72883ffb73 Fix additional space in comment label 2016-03-27 23:54:13 +03:00
Chocobo1
f2c24dd8c3 Fix tab icons messed up in Ubuntu 16. Closes #4929.
Fixup of 1c25603686.
The following settings default are different between DEs, so they must set explicitly:
movement, flow, isWarpping, resizeMode, viewMode
2016-03-27 23:19:35 +03:00
Eugene Shalygin
8904139c6d cmake: fix library namaes for Qt5 version of QtSingleApplication
At least on Gentoo they start with 'Qt5', not 'Qt'
2016-03-27 23:16:27 +03:00
Eugene Shalygin
571f46886f cmake: copy qt version requirements from autotools
Set versions 4.8.0 and 5.2.0 as minimal required for Qt4 and Qt5.
2016-03-27 23:16:15 +03:00
Eugene Shalygin
0cd691e167 cmake: fix man installation
Fix copy-n-paste error: for non-GUI build we have to install
qbittorrent-nox.1, but not qbittorrent.1.
2016-03-27 23:15:51 +03:00
UnDifferential
4f65e2d468 Support SSL certificate bundles. Issue #4896. 2016-03-27 23:15:31 +03:00
Eugene Shalygin
35981f6ef5 cmake: fix systemd unit install path 2016-03-27 23:15:14 +03:00
sledgehammer999
dc493880f3 Fix commit 83e931766f (wrong conflict resolution). 2016-03-05 19:50:12 +02:00
Ben Lau
872e78ca21 add a remaining column to the torrent content model 2016-03-05 19:46:21 +02:00
Eugene Shalygin
7b601796d7 fix cmake build 2016-03-05 19:46:13 +02:00
Chocobo1
09ef552aea Add tip about adding quotation marks around parameter 2016-03-05 19:46:07 +02:00
Chocobo1
b4c9cae0d1 Save "Run external program" input as is. Closes #4830. 2016-03-05 19:43:31 +02:00
Eugene Shalygin
6d2a0ae83b add basic cmake support 2016-03-05 19:43:22 +02:00
Chocobo1
238a925000 Put comment_lbl in QScrollArea. Closes #4881. 2016-03-05 19:43:14 +02:00
Eugene Shalygin
cce01cfb8e Fix typos in speed label text
Qt's tr() ate 'true' parameter, which was supposed to be for
friendlyUnit()
2016-03-05 19:43:07 +02:00
Chocobo1
b2db1972f3 Create helper function to get libtorrent version 2016-03-05 19:42:59 +02:00
Chocobo1
8b851fe2b9 Create helper function to get boost version 2016-03-05 19:42:51 +02:00
Chocobo1
e3c9488fb0 Create helper function to get OS name 2016-03-05 19:42:43 +02:00
Chocobo1
c27fb110f8 Comment out "List of linked Modules" section in windows crash report.
It is bloating the crash report with unhelpful messages.
2016-03-05 19:42:34 +02:00
Dan Seminara
ec61f24099 Do not try to parse request message when content-length is 0 2016-03-05 19:42:27 +02:00
Boris Nagaev
130ee5a71e configure: pass variable QMAKE_LRELEASE to qmake 2016-03-05 19:42:20 +02:00
Boris Nagaev
cb3e7e6bd6 winconf-mingw.pri: clean library names
* remove versions from libraries,
  * remove *.dll from libraries
    (actual name of library files can be "libfoo.a")
2016-03-05 19:42:12 +02:00
Boris Nagaev
7fd65d5428 winconf.pri: change example library path for build
Path with "<", ">" causes errors when building in MXE.
http://mxe.cc/

Removing or commenting out these hardcoded paths is not
desirable, as they serve as a guide (on what to edit) for
the newcomers that want to build on windows.

See https://github.com/qbittorrent/qBittorrent/pull/4824#issuecomment-186936960
2016-03-05 19:42:05 +02:00
Boris Nagaev
442f521bf5 winconf.pri: use mask "win32-g++*"
Mask "win32-g++" doesn't match MXE.
Mask "win32-g++*" match MXE.
See http://stackoverflow.com/a/14523545
See http://mxe.cc
2016-03-05 19:41:57 +02:00
Douman
016052aea1 Align search engine url getting mechanism. Closes #4778
1. Switch to retrieve_url instead of low-level HTTPConnection module usage
2016-03-05 19:41:48 +02:00
Chocobo1
411982e2b0 Follow project coding style. Issue #2192. 2016-03-05 19:41:20 +02:00
Chocobo1
4b93ccd4e4 Simplify statement 2016-03-05 19:41:20 +02:00
Chocobo1
6603a8947a Fix malformed date header in email. Closes #4828. 2016-03-05 19:41:20 +02:00
sledgehammer999
031e354577 Partially revert decfae7b8a. Newer libtorrent RC_1_1 has added back the missing variables. 2016-03-05 19:41:19 +02:00
Chocobo1
ec7fb331e0 Remove additional vertical spacer.
Fixup of 843f7ed.
2016-03-05 19:41:19 +02:00
Chocobo1
a232b77104 Simplify resize actions for AddNewTorrentDialog 2016-03-05 19:41:19 +02:00
Chocobo1
8c11245469 Disable cell selection in advanced options. Fixup of a8b39475. 2016-03-05 19:41:18 +02:00
Chocobo1
60857d3b8e Put links into table 2016-03-05 19:41:18 +02:00
Chocobo1
2fe6b76968 Set icon directly in .ui file 2016-03-05 19:41:18 +02:00
Chocobo1
6c7350fce0 Make authors email clickable & selectable 2016-03-05 19:41:17 +02:00
Chocobo1
c770f4d0bc about_imp.h: Use larger qbt icon
Shrink title size
2016-03-05 19:41:17 +02:00
Chocobo1
876e96911f Fix weird left panel icon layout
Remove Advanced page border
2016-03-05 19:41:17 +02:00
Chocobo1
5620fd120e Let OS handle DPI scaling for now. Should let Qt do the work when it's more mature.
Opt-in to the high DPI pixmap support
Closes #2963.
2016-03-05 19:41:17 +02:00
Chocobo1
ea7f6046b4 Follow project coding style. Issue #2192. 2016-03-05 19:41:16 +02:00
Chocobo1
fddac5d679 Move statusbar styelsheet to where it belongs 2016-03-05 19:41:16 +02:00
Chocobo1
2c4bc68af1 Use short date in addnewtorrentdialog
Correction "Free disk space" to "Free space on disk"
2016-03-05 19:41:16 +02:00
Chocobo1
7676f49612 Cleanup addnewtorrentdialog.ui
Reorder Torrent info column
Rename "Save as" to "Save at"
2016-03-05 19:41:15 +02:00
Chocobo1
e879279019 Cleanup about.ui
Shorten text in "Libraries" tab, to avoid About dialog being too wide
Make QLabels in Libraries tab selectable
Use QGroupBox in "Author" tabs
Rename "Thanks to" to "Special Thanks"
Rename "Translation" to "Translators"
Remove borders in "Thanks to", "Translation", "License" tabs
2016-03-05 19:41:15 +02:00
Chocobo1
84b7680718 Cleanup about_imp.h
Fix dialog too narrow on highDPI screens
Remove IRC link
Rewrite about text to support RTL languages better
Follow project coding style. Issue #2192.
2016-03-05 19:41:15 +02:00
sledgehammer999
be180140a3 Don't merge trackers for private torrents. Closes #2928. 2016-03-05 19:41:14 +02:00
Chocobo1
c051c279d4 Set "Show splash screen on start up" option default to off 2016-03-05 19:41:14 +02:00
Chocobo1
964dcc4d8a Fix potential race condition. Closes #4742. 2016-03-05 19:41:14 +02:00
Vladimir Golovnev (Glassez)
64cf93b889 Fix crash caused by AdvancedSettings::addRow() 2016-03-05 19:41:13 +02:00
Vladimir Golovnev (Glassez)
365737afe1 Save resume data using QSaveFile (Qt5 only) 2016-03-05 19:41:13 +02:00
Vladimir Golovnev (qlassez)
2cf14f0120 Optimize Session::startupTorrents()
Reduce queue size by starting up initial items (torrents) when they are detected
2016-03-05 19:41:13 +02:00
Vladimir Golovnev (qlassez)
46bb25ba9f Switch to using previous fastresume file names 2016-03-05 19:41:12 +02:00
Vladimir Golovnev (qlassez)
ee5a72c570 Perform fastresume data saving in separate thread
Closes #4315
2016-03-05 19:41:12 +02:00
Chocobo1
18b56f4d0a Add "Paused torrents only" option for "Hide zero and infinity values" 2016-03-05 19:41:12 +02:00
Chocobo1
f626276218 Fix total values for "Seeds" & "Peers" 2016-03-05 19:41:11 +02:00
Chocobo1
e28554f85c Simplify common paint actions 2016-03-05 19:41:11 +02:00
Chocobo1
a0a3447b2e Remove unused destructor
move get state text to its own function
2016-03-05 19:41:11 +02:00
Chocobo1
4049ca7308 Follow project coding style. Issue #2192. 2016-03-05 19:41:11 +02:00
Chocobo1
c28151ba92 Add "Hide zero values" option. Closes #3543. 2016-03-05 19:41:10 +02:00
buinsky
81e1a050a2 WebAPI: Add "Added on" and "Completion on" fields to query/torrents query response 2016-03-05 19:41:10 +02:00
Vladimir Golovnev (Glassez)
34d5824c4a Manage save path in one place 2016-03-05 19:41:10 +02:00
Vladimir Golovnev (Glassez)
bb875df400 Create MagnetUri object from BC link or HASH string 2016-03-05 19:41:09 +02:00
ngosang
61f47d366a [Web UI] Minor changes in CSS styles 2016-03-05 19:41:09 +02:00
ngosang
8347eb157d Check WebUI username and password length. Closes #4191 2016-03-05 19:41:09 +02:00
Vladimir Golovnev (Glassez)
dd22c9b138 Fix upgrade corrupted fastresume file 2016-03-05 19:41:08 +02:00
thalieht
7f6ad55042 Unlock first column in peerlist too
I just copy pasted from trackerlist (tested ofc). No idea if it can be
done differently.
2016-03-05 19:41:08 +02:00
Vladimir Golovnev (Glassez)
55b06ab9ba Add libtorrent v1.1 basic support 2016-03-05 19:41:08 +02:00
Vladimir Golovnev (Glassez)
21f0a5eb76 Prepare for libtorrent v1.1 support 2016-03-05 19:41:07 +02:00
Vladimir Golovnev (Glassez)
16ed11623f Don't use wide strings in libtorrent 2016-03-05 19:41:07 +02:00
buinsky
c184cf8d7d WebUI: Submit the label in the new label dialog on pressing enter key 2016-03-05 19:41:07 +02:00
buinsky
6a90214eb2 WebUI: Repair translation 2016-03-05 19:41:06 +02:00
buinsky
226ec0610a WebUI: Fix JavaScript exception on WebUI load 2016-03-05 19:41:06 +02:00
ngosang
694bd7cb95 Download more pieces in "Download first and last pieces first" feature 2016-03-05 19:41:06 +02:00
ngosang
9e807e7151 [search engine] Update PirateBay plugin. 2016-03-05 19:41:06 +02:00
ngosang
78fe7fcf9d [Web UI] Fix max_ratio precision. Closes #4707 2016-03-05 19:41:05 +02:00
Chocobo1
c2465f931e Add #include guard 2016-03-05 19:41:05 +02:00
Chocobo1
8d50325961 Try to concat most of the string at compile time
The lesser unsafe code in signal handler the better
Add license
2016-03-05 19:41:05 +02:00
Chocobo1
570a651a59 Simplify signal handler
Try to use signal-safe functions as much as possible
Closes #3995
Define sys_signame[] ourselves on linux
2016-03-05 19:41:04 +02:00
sledgehammer999
0eaa2aeef2 Fix loading *.magnet files from watched folders. Closes #4701. 2016-03-05 19:41:04 +02:00
Chocobo1
2c7e309493 Add header to differentiate settings 2016-03-05 19:41:04 +02:00
Chocobo1
ded3cf5798 Rename setRow() to addRow()
Use template to avoid code duplication
2016-03-05 19:41:03 +02:00
Chocobo1
4edac3e974 Set parent object for advancedsettings
Remove borders
Resize column size correctly
2016-03-05 19:41:03 +02:00
Chocobo1
53885fb5e4 Move code from advancedsettings.h to its own cpp file 2016-03-05 19:41:03 +02:00
Chocobo1
3942c095f6 Add license in advancedsettings.h 2016-03-05 19:41:02 +02:00
Jesse Connop
94be3b930d Always update native session's announce_ip setting 2016-03-05 19:41:02 +02:00
Artem S. Tashkinov
09bc14cc57 Let's check if the torrent file can actually be opened before passing it to libtorrent
If we don't have enough permissions, libtorrent will spew a pretty useless, irrelevant and almost wrong message: "Failed to load the torrent: torrent file is not a dictionary"
2016-03-05 19:41:02 +02:00
sledgehammer999
51b93b4284 Fix splash screen staying on top of all windows. Closes #1391. 2016-03-05 19:41:01 +02:00
sledgehammer999
9c50ea14cb Bump to 3.3.3 2016-01-21 00:49:39 +02:00
sledgehammer999
42a74ea78e Update Changelog. 2016-01-21 00:47:28 +02:00
sledgehammer999
1ac68a9192 Temporarily revert PR #2885 (filename column in peers view).
There's a bug that causes frequent crashes.
Issue #4597.
2016-01-21 00:44:14 +02:00
buinsky
29b5d460ea WebUI: Fix unnecessary updates of torrent peers table 2016-01-21 00:44:14 +02:00
buinsky
a441bca4de WebUI: Move style of dynamic table header to CSS 2016-01-21 00:44:14 +02:00
sledgehammer999
e2da3f2ebd Bump to 3.3.2 2016-01-19 01:45:05 +02:00
sledgehammer999
f235d412f8 Bump Copyright year. 2016-01-19 01:44:03 +02:00
sledgehammer999
60b103b062 Update Changelog. 2016-01-19 01:34:08 +02:00
sledgehammer999
0fdb23098b Bump WebUI API_VERSION and API_VERSION_MIN. 2016-01-19 01:32:32 +02:00
sledgehammer999
51c296ac69 Sync translations from Transifex and run lupdate. 2016-01-19 00:50:48 +02:00
Vladimir Golovnev (Glassez)
a120842ba2 Fix unchecked dynamic_cast
Replace some unnecessary (and slow) dynamic_cast with static_cast.
2016-01-18 19:45:45 +02:00
Vladimir Golovnev (Glassez)
8911de9349 Fix unitialized pointer field 2016-01-18 19:45:45 +02:00
Vladimir Golovnev (Glassez)
013a1b8403 Fix unitialized scalar field bugs 2016-01-18 19:45:45 +02:00
Vladimir Golovnev (Glassez)
1492a24391 Simplify Log::Msg and Log::Peer
Also fixes some unitialized scalar field bugs.
2016-01-18 19:45:44 +02:00
buinsky
bf1559320b WebUI: Remember last opened tab 2016-01-18 19:45:44 +02:00
Vladimir Golovnev (Glassez)
d5648a67ae Fix loading corrupted .fastresume file 2016-01-18 19:45:44 +02:00
Vladimir Golovnev (Glassez)
a6ec82682d Delete unused include 2016-01-18 19:45:43 +02:00
Vladimir Golovnev (Glassez)
bd359ad498 Allow GeoIP in NoGUI builds 2016-01-18 19:45:43 +02:00
Vladimir Golovnev (Glassez)
458f48b290 Fix unitialized scalar fields 2016-01-18 19:45:43 +02:00
Vladimir Golovnev (Glassez)
a0ae21148a Fix NetworkCookieJar::deleteCookie() behavior to match Qt5 one 2016-01-18 19:45:42 +02:00
Vladimir Golovnev (Glassez)
5dc9b5c2dd Fix reconfigure additional trackers
Replace wrong QList::empty() call with QList::clear()
2016-01-18 19:45:42 +02:00
buinsky
48175bbb85 WebUI: Repair translation 2016-01-18 19:45:42 +02:00
Gabriele
3b03bb286e WebUI: Allow to remove the label assigned to a torrent
Empty strings are not valid label names, but they are used to remove
torrent labels, so allow them.
2016-01-18 19:45:41 +02:00
Chocobo1
23fdf3a0bc Update uncrustify script link. 2016-01-18 19:45:41 +02:00
Dmitry Victorov
4cf7618c52 Set qBittorrent as default torrent app in Mac OS 2016-01-18 19:45:41 +02:00
sledgehammer999
6fd9413dae Sync translations from Transifex and run lupdate. 2016-01-18 19:45:39 +02:00
sledgehammer999
120d073a04 Various updates on the Windows configuration file. 2016-01-18 19:45:39 +02:00
filipporig8
8fa2adb6fc Update webui run program parameters 2016-01-18 19:45:38 +02:00
buinsky
70105d5834 WebUI: Fix torrent table context menu
Don't show "Limit download speed" menu item for downloaded torrents.
2016-01-18 19:45:38 +02:00
buinsky
05961faf42 WebUI: Fix deleting torrents
Fix possible showing "qBittorrent client is not reachable" message on
deleting torrents.
2016-01-18 19:45:38 +02:00
vlakoff
386706f05b Complete French translation for installer 2016-01-18 19:45:37 +02:00
vlakoff
1813e96a42 Fixes in French translation for installer 2016-01-18 19:45:37 +02:00
buinsky
eaf6e47391 Edit speed limits and upload ratio icons 2016-01-18 19:45:37 +02:00
Chocobo1
8ba82064cd Replace names with camelCase style 2016-01-18 19:45:36 +02:00
Chocobo1
5d5a0de694 Use C++11 initializer list 2016-01-18 19:45:36 +02:00
Chocobo1
145180c2a1 Follow project coding style. Issue #2192. 2016-01-18 19:45:35 +02:00
Chocobo1
50881b9972 Rename column header 2016-01-18 19:45:35 +02:00
sledgehammer999
a115932bc1 Fix newlines in wiki rendering. 2016-01-18 19:45:35 +02:00
sledgehammer999
c7fd0fbe45 Add info and files for coding style. Issue #2192. 2016-01-18 19:45:34 +02:00
Boris Nagaev
d513d002cc convert includes like <Windows.h> to lowercase
There is header file windows.h, not Windows.h.
MinGW on Linux build machine is filename case-sensitive.
2016-01-18 19:45:34 +02:00
ngosang
a570bd5e2c [search engine] Update PirateBay URL. Closes #4470 2016-01-18 19:45:34 +02:00
ngosang
bdacfd540c [search engine] Fix PirateBay plugin implementation for Python 3 2016-01-18 19:45:33 +02:00
buinsky
c89b9edf27 Move some styles into css 2016-01-18 19:45:33 +02:00
schnurlos
0fdf788624 Update german.nsi
Translated the "A previous installation was detected ..." text.
2016-01-18 19:45:33 +02:00
ngosang
f0ae30070b Update installer translations in Spanish language 2016-01-18 19:45:32 +02:00
sledgehammer999
8fb8f4b467 Don't require GUI libs for qt4 nox build. Closes #4404. 2016-01-18 19:45:32 +02:00
dzmat
c3a2e50191 Update russian.nsi
Translated new string/
2016-01-18 19:45:31 +02:00
Vladimir Golovnev (Glassez)
b045b5ebf7 Improve RSS parsing logic. 2016-01-18 19:45:31 +02:00
Vladimir Golovnev (Glassez)
6436152c75 Redesign RSS base classes. 2016-01-18 19:45:31 +02:00
Vladimir Golovnev (Glassez)
9c3ae53330 Move base RSS names to Rss namespace. 2016-01-18 19:45:30 +02:00
Vladimir Golovnev (Glassez)
acd5fcfb00 Fix coding style (Issue #2192). 2016-01-18 19:45:30 +02:00
Vladimir Golovnev (Glassez)
9a6f8ab402 Move base RSS code to Core. 2016-01-18 19:45:29 +02:00
Vladimir Golovnev (qlassez)
0f854014af Use DownloadManager by DNSUpdater 2016-01-18 19:45:29 +02:00
Vladimir Golovnev (qlassez)
a11175afba Use DownloadManager by ProgramUpdater
Closes #2023
2016-01-18 19:45:28 +02:00
Vladimir Golovnev (qlassez)
c5776c3bf1 Save RSS cookies to common cookie storage
Closes #4305
2016-01-18 19:45:28 +02:00
Vladimir Golovnev (qlassez)
19d566253f Make DownloadManager to save/load cookies 2016-01-18 19:45:27 +02:00
Naikel Aparicio
0d59d6a03e Implemented WebUI interface for the new Watched Folders feature 2016-01-18 19:45:27 +02:00
sledgehammer999
c7b2ee367f Remove watch folders permanently only if the user accepts the Preferences dialog. 2016-01-18 19:45:27 +02:00
sledgehammer999
510ec029ea Make it scroll horizontally when necessary. 2016-01-18 19:45:26 +02:00
sledgehammer999
1f2daed9d6 Fix translated string. 2016-01-18 19:45:26 +02:00
sledgehammer999
08b854ce74 Method to update the watch path parameters. 2016-01-18 19:45:25 +02:00
sledgehammer999
6b34803c59 Don't add the watch folder before the user closes the Preferences window. 2016-01-18 19:45:25 +02:00
sledgehammer999
fca224b9d0 Support loading multiple magnets/hashes/urls per .magnet file in the watched folder(one per line). Closes #217. 2016-01-18 19:45:25 +02:00
Vladimir Golovnev (qlassez)
4f5009351f Fix setting custom download location for watched folder 2016-01-18 19:45:24 +02:00
sledgehammer999
c1f77d45ab Improve the "Watch folders" UI. Closes #4300. 2016-01-18 19:45:24 +02:00
sledgehammer999
60f0447603 Indicate to the user that he's going to download the new version.
Indicate from the installer that the old version was detected and no settings will be deleted.
Closes #4320.
2016-01-18 19:45:23 +02:00
sledgehammer999
6ae208a661 Move the 'qBittorrent-resume' file even when no magnets were recovered. Also make sure to rename it with a unique name. Closes #4334. 2016-01-18 19:45:23 +02:00
Eugene Shalygin
781c8034a5 Add column with list of currently downloading files
Add a new column to peers list that shows list of files which are
downloaded right now from a peer. The column is empty if we do not
download anything from the given peer.
2016-01-18 19:45:22 +02:00
Eugene Shalygin
4cf8359257 functions for retrieving list of currently downloading files 2016-01-18 19:45:22 +02:00
Eugene Shalygin
3ed4de3043 Revert "Remove unused parameter."
This reverts commit 87347cf0e5.
2016-01-18 19:45:22 +02:00
sledgehammer999
a374b99ba2 Update native names for Chinese locales. Closes #4381. 2016-01-18 19:45:21 +02:00
Naikel Aparicio
601734a59b Fixed bug when uploading several files and only the last one was considered. 2016-01-18 19:45:21 +02:00
Chocobo1
69cc97c3dd Turn off warning on OSX builds: unused-local-typedefs
Reorder option list, sort by lt_branch then qt then gui
2016-01-18 19:45:20 +02:00
buinsky
226f74a866 Fix paused, active and inactive filters 2016-01-18 19:45:20 +02:00
buinsky
cf35392cd2 WebUI: Show filtered torrents number 2016-01-18 19:45:20 +02:00
Chocobo1
27319e9e64 Fix typo 2016-01-18 19:45:19 +02:00
Chocobo1
69b8544e26 Simplify statement 2016-01-18 19:45:19 +02:00
Chocobo1
41e5dc8911 Add check for null. Fix provided by glassez.
Closes #4280.
2016-01-18 19:45:18 +02:00
Vladimir Golovnev (qlassez)
ba1ffa4e54 Fix moving torrents to Temp after app restart
Closes #4434
2016-01-18 19:45:18 +02:00
Vladimir Golovnev (Glassez)
4edc073373 Fix coding style (Issue #2192). 2016-01-18 19:45:18 +02:00
Vladimir Golovnev (Glassez)
1f00d2e5d7 Move basic search-related code into Core.
Also use qBittorrent torrent file download routines instead of
nova2dl.py script.
2016-01-18 19:45:17 +02:00
Vladimir Golovnev (Glassez)
d87e42ba00 Move Search-related files into Gui. 2016-01-18 19:45:17 +02:00
Vladimir Golovnev (Glassez)
975b1d5257 Fix search-related file/class names. 2016-01-18 19:43:28 +02:00
Fabio Alessandro Locati
5f84363afb Fix lrelease version due to the default Qt5 build
As title
2016-01-18 19:43:28 +02:00
Chocobo1
545c526e2f Update ISO 3166 country codes. Closes #3942. 2016-01-18 19:43:27 +02:00
sledgehammer999
06fcc57619 Fix linux build. 2016-01-18 19:43:27 +02:00
sledgehammer999
06c6a444c9 Don't apply some settings again if they weren't changed. Closes #4278. 2016-01-18 19:43:26 +02:00
sledgehammer999
8474d0d199 Don't recheck twice after 'Force Recheck' with 'Recheck torrents on completion' enabled. Closes #4274. 2016-01-18 19:43:26 +02:00
sledgehammer999
0f4610c127 Fix resolution of peer host names. Closes #4307. 2016-01-18 19:43:26 +02:00
sledgehammer999
d753988729 Bump to v3.3.1 2015-12-08 00:45:15 +02:00
sledgehammer999
a6b948077a Update Changelog. 2015-12-08 00:42:19 +02:00
sledgehammer999
3276cc4987 Sync translations from Transifex and run lupdate. 2015-12-08 00:28:20 +02:00
sledgehammer999
71557fe784 Fix possible deadlock during application exit. 2015-12-08 00:28:20 +02:00
sledgehammer999
29fc5bc80d Bump WebUI API_VERSION. 2015-12-08 00:28:19 +02:00
sledgehammer999
db07551e4c Change update URL to FossHub. Closes #4188. 2015-12-08 00:28:19 +02:00
sledgehammer999
8f6eb795e3 Follow project coding style. Issue #2192. 2015-12-08 00:28:19 +02:00
sledgehammer999
0a37799e6e Remove unused parameter. 2015-12-08 00:28:18 +02:00
buinsky
76d6d9a4f9 Implement torrent peers table in WebUI 2015-12-08 00:28:18 +02:00
buinsky
0c8abd0abb Implement sync/torrent_peers request 2015-12-08 00:28:18 +02:00
buinsky
ddc8420810 Follow project coding style. Issue #2192. 2015-12-08 00:28:17 +02:00
buinsky
a4ff039abc Rename 'context_menu' variable to 'torrents_table_context_menu' 2015-12-08 00:28:17 +02:00
buinsky
c8be062e19 Rename 'myTable' variable to 'torrentsTable' 2015-12-08 00:28:17 +02:00
buinsky
29443a2c10 Split the DynamicTable class into 2 classes 2015-12-08 00:28:16 +02:00
buinsky
e402556e91 Add seeds tab to WebUI 2015-12-08 00:28:16 +02:00
Vladimir Golovnev (Glassez)
4ed4ebcdb7 Rename Core to Base (Closes #3733). 2015-12-08 00:28:16 +02:00
Vladimir Golovnev (Glassez)
a280467270 Fix RSS isn't automarking articles as read
Closes: #4260, #4233, #4221, #4133
2015-12-08 00:28:15 +02:00
sledgehammer999
9b1090332b Use simpler DEFINE for detecting Qt5 so moc will work too. 2015-12-08 00:28:12 +02:00
Vladimir Golovnev (Glassez)
18a520c9f9 Remove unused LineEdit slot. Fix compiler warning. 2015-12-08 00:27:33 +02:00
Vladimir Golovnev (Glassez)
af871ef8af Fix wrong encoding for listen failed error message. 2015-12-08 00:24:21 +02:00
sledgehammer999
3af7eb8e03 Add clarifying comment. 2015-12-08 00:24:21 +02:00
sledgehammer999
3439300cda Partially revert b4c9c7cde. 2015-12-08 00:24:20 +02:00
Vladimir Golovnev (Glassez)
a8027565c9 Improve upgrade to v3.3. Fixes #4195. 2015-12-08 00:24:20 +02:00
Vladimir Golovnev (Glassez)
3d4e1a8127 Improve torrent export feature. Closes #4205. 2015-12-08 00:24:20 +02:00
Vladimir Golovnev (Glassez)
7b6a1a1955 Fix scan dirs settings saving. Closes #4254, #4239, #4187. 2015-12-08 00:24:19 +02:00
Chocobo1
3f8dc60680 Add CONTRIBUTING.md 2015-12-08 00:24:19 +02:00
vlakoff
9be449dd7f Support wildcards for filtering torrent list and torrent content 2015-12-08 00:24:19 +02:00
Chocobo1
c46f2ba097 Change text description for half-open connection 2015-12-08 00:24:19 +02:00
Chocobo1
c2c441ed08 Fix -1 is displayed instead of C_INFINITY symbol 2015-12-08 00:24:18 +02:00
Chocobo1
c1e52fa1cd Use QLineEdit built-in ClearButton (Qt5 only) 2015-12-08 00:24:18 +02:00
Chocobo1
fbed5dc606 Reduce mainwindow border width 2015-12-08 00:24:18 +02:00
Chocobo1
97978068c6 Cleanup "Content" page layout
Limit lineEdit maximum size
2015-12-08 00:24:17 +02:00
Chocobo1
006e34880a Cleanup "Peers" page layout
Cleanup "HTTP Sources" page layout
Cleanup "Speed" page layout
2015-12-08 00:24:17 +02:00
Chocobo1
1fd5c5d8b5 Cleanup "Trackers" page layout 2015-12-08 00:24:17 +02:00
takiz
68ac9fda2d "Set as default label" option 2015-12-08 00:24:16 +02:00
Naikel Aparicio
c5d807ef65 Cookies support on WebUI when downloading torrent from a URL. Modified download and upload windows to allow autocompletion of browsers.
Fixed the spinner in the WebUI upload page. Modified height of the WebUI download page.

Fixed all the JavaScript functions for download and upload pages.
2015-12-08 00:24:16 +02:00
sledgehammer999
e17f10ae6b Delete from the repo the qt4 translations used in the Windows installer. 2015-11-30 00:17:25 +02:00
sledgehammer999
78c5d1c12f Bump to v3.3.0 2015-11-29 21:57:06 +02:00
sledgehammer999
26fb54299b Update Transifex config file. 2015-11-29 21:54:06 +02:00
459 changed files with 129266 additions and 104194 deletions

View File

@@ -8,23 +8,16 @@ osx_image: xcode7
env:
matrix:
# Uncomment when Travis upgraded "Ubuntu 12.04 LTS" to a newer version whose repo will have a more up-to-date libtorrent package
#- lt_branch=dist gui=true
#- lt_branch=dist gui=false
- lt_branch=RC_1_0 gui=true qt=4
- lt_branch=RC_1_0 gui=true qt=5
- lt_branch=RC_1_0 gui=false qt=4
- lt_branch=RC_1_0 gui=false qt=5
#- lt_branch=dist gui=true
#- lt_branch=dist gui=false
- lt_branch=RC_1_0 qt=5 gui=true
- lt_branch=RC_1_0 qt=5 gui=false
- lt_branch=RC_1_0 qt=4 gui=true
- lt_branch=RC_1_0 qt=4 gui=false
global:
- secure: "OI9CUjj4lTb0HwwIZU5PbECU3hLlAL6KC8KsbwohG8/O3j5fLcnmDsK4Ad9us5cC39sS11Jcd1kDP2qRcCuST/glVNhLkcjKkiQerOfd5nQ/qL4JYfz/1mfP5mdpz9jHKzpLUIG+TXkbSTjP6VVmsb5KPT+3pKEdRFZB+Pu9+J8="
- coverity_branch: coverity_scan
matrix:
exclude:
- os: linux
env: lt_branch=RC_1_0 gui=true qt=5
- os: linux
env: lt_branch=RC_1_0 gui=false qt=5
branches:
except:
- search_encoding_windows
@@ -36,86 +29,116 @@ notifications:
on_failure: change
# container-based builds
sudo: false
#sudo: false
# TODO: osx builder does not enable cache yet, see: https://github.com/travis-ci/travis-ci/issues/4011
cache:
directories:
- $HOME/.ccache
#cache:
#directories:
#- $HOME/.ccache
# opt-in Ubuntu Trusty
sudo: required
dist: trusty
addons:
coverity_scan:
project:
name: "qbittorrent/qBittorrent"
description: "Build submitted via Travis CI"
build_command_prepend: "./bootstrap.sh && ./configure $qbtconf && echo QMAKE_CC=$CC >> conf.pri && echo QMAKE_CXX=$CXX >> conf.pri"
build_command_prepend: "./bootstrap.sh && ./configure $qbtconf"
build_command: make
branch_pattern: $coverity_branch
notification_email: sledgehammer999@qbittorrent.org
apt:
sources:
#sources:
# sources list: https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
- ubuntu-toolchain-r-test
- boost-latest
#- ubuntu-toolchain-r-test
#- boost-latest
packages:
# packages list: https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
- autoconf
- automake
- colormake
- g++-4.8
- libssl-dev
- libboost1.55-dev
- libboost-system1.55-dev
- libqt4-dev
# Uncomment when Travis upgraded "Ubuntu 12.04 LTS" to a newer version whose repo will have a more up-to-date libtorrent package
- libboost-dev
- libboost-system-dev
# uncomment when Travis upgraded "Ubuntu 12.04 LTS" to a newer version whose repo will have a more up-to-date libtorrent package
#- libtorrent-rasterbar6
before_install:
# Only allow specific build for coverity scan, others will stop
# only allow specific build for coverity scan, others will stop
- if [ "$TRAVIS_BRANCH" = "$coverity_branch" ] && ! [ "$TRAVIS_OS_NAME" = "linux" -a "$lt_branch" = "RC_1_0" -a "$gui" = true ]; then exit ; fi
- shopt -s expand_aliases
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then export CC=gcc-4.8 CXX=g++-4.8 ; fi
- if [ "$TRAVIS_BRANCH" != "$coverity_branch" -a "$TRAVIS_OS_NAME" = "linux" ]; then dpkg-query -L ccache && export PATH="/usr/lib/ccache/:$PATH" ; fi
- alias make="colormake -j3" # Using nprocs/2 sometimes may fail (gcc is killed by system)
- libt_path="$HOME/libt_install"
#- libt_path="$HOME/libt_install"
#- ltconf="$ltconf --prefix="$libt_path" --disable-geoip"
- qbt_path="$HOME/qbt_install"
- ltconf="$ltconf --prefix="$libt_path" --disable-geoip"
- qbtconf="$qbtconf --prefix="$qbt_path" --with-qt4 PKG_CONFIG_PATH="$libt_path/lib/pkgconfig":$PKG_CONFIG_PATH"
- qbtconf="$qbtconf --prefix="$qbt_path" PKG_CONFIG_PATH="$libt_path/lib/pkgconfig":$PKG_CONFIG_PATH"
# Options for specific branches
# Also setup a virtual display for after_success target when gui == true
- if [ "$gui" = false ]; then qbtconf="$qbtconf --disable-gui" ;
elif [ "$TRAVIS_OS_NAME" = "linux" ]; then export "DISPLAY=:99.0" && /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16 ;
# options for specific branches
- if [ "$qt" = 4 ]; then qbtconf="$qbtconf --with-qt4" ; fi
- if [ "$gui" = false ]; then qbtconf="$qbtconf --disable-gui" ; fi
- |
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
# ccache
#if [ "$TRAVIS_BRANCH" != "$coverity_branch" ]; then
#dpkg-query -L ccache && export PATH="/usr/lib/ccache/:$PATH" && export use_ccache=true ;
#ccache -V && ccache --show-stats && ccache --zero-stats ;
#fi ;
# setup virtual display for after_success target
if [ "$gui" = true ]; then export "DISPLAY=:99.0" && /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16 ; fi ;
fi
- |
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
qbtconf="$qbtconf --disable-qt-dbus" ;
fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then qbtconf="$qbtconf --disable-qt-dbus" ; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$qt" = 5 ]; then qbtconf="$qbtconf --with-qt4=no" ; fi
# Print settings
# print settings
- echo $lt_branch
- echo $gui
- echo $ltconf
- echo $qbtconf
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then ccache -V && ccache --show-stats && ccache --zero-stats ; fi
install:
- if [ "$TRAVIS_OS_NAME" = "linux" -a "$lt_branch" != "dist" ]; then cd "$HOME" && pwd && git clone --depth 1 https://github.com/arvidn/libtorrent.git --branch $lt_branch ; fi
- if [ "$TRAVIS_OS_NAME" = "linux" -a "$lt_branch" != "dist" ]; then cd libtorrent && ./autotool.sh && ./configure $ltconf && make install && cd "$TRAVIS_BUILD_DIR" ; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update > /dev/null && brew install colormake libtorrent-rasterbar; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$qt" = 4 ]; then brew install qt; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$qt" = 5 ]; then brew install qt5 && brew link --force qt5; fi
- |
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
# libtorrent
sudo add-apt-repository --yes ppa:qbittorrent-team/qbittorrent-stable ;
sudo apt-get update -qq ;
sudo apt-get install -qq libtorrent-rasterbar-dev ;
# build libtorrent from source
#if [ "$lt_branch" != "dist" ]; then
#cd "$HOME" && pwd && git clone --depth 1 https://github.com/arvidn/libtorrent.git --branch $lt_branch ;
#cd libtorrent && ./autotool.sh && ./configure $ltconf && make install ;
#fi ;
# Qt
if [ "$qt" = 4 ]; then sudo apt-get -qq install qt4-default libqt4-dev ; fi ;
if [ "$qt" = 5 ]; then sudo apt-get -qq install qt5-default qtbase5-dev qttools5-dev-tools ; fi ;
fi
- |
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
# dependencies
brew update > /dev/null && brew install colormake libtorrent-rasterbar ;
# Qt
if [ "$qt" = 4 ]; then brew install qt ; fi ;
if [ "$qt" = 5 ]; then brew install qt5 && brew link --force qt5 ; fi ;
fi
script:
- if [ "$TRAVIS_BRANCH" = "$coverity_branch" ]; then exit ; fi # Skip usual build when running coverity scan
- ./bootstrap.sh && ./configure $qbtconf
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then echo QMAKE_CC=$CC >> conf.pri && echo QMAKE_CXX=$CXX >> conf.pri ; fi
- if [ "$TRAVIS_BRANCH" = "$coverity_branch" ]; then exit ; fi # skip usual build when running coverity scan
- cd "$TRAVIS_BUILD_DIR" && ./bootstrap.sh && ./configure $qbtconf
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then sed -i "" -e 's/^\(CXXFLAGS.*\)$/\1 -Wno-unused-local-typedefs/' src/Makefile ; fi
- make && make install
after_success:
- if [ "$gui" = true ]; then qbt_exe="qbittorrent" ; else qbt_exe="qbittorrent-nox" ; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then cd "$qbt_path/bin" && export LD_PRELOAD="$libt_path/lib/libtorrent-rasterbar.so:$LD_PRELOAD" ; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then cd "src/$qbt_exe.app/Contents/MacOS" ; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then cd "$qbt_path/bin" ; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then cd "$TRAVIS_BUILD_DIR/src/$qbt_exe.app/Contents/MacOS" ; fi
- ./$qbt_exe --version
after_script:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then ccache --show-stats ; fi
- if [ "$use_ccache" = true ]; then ccache --show-stats ; fi

View File

@@ -1,8 +1,9 @@
[main]
host = https://www.transifex.com
[qbittorrent.qbittorrent_master]
[qbittorrent.qbittorrent_v3_3_x]
file_filter = src/lang/qbittorrent_<lang>.ts
lang_map = pt: pt_PT
source_file = src/lang/qbittorrent_en.ts
source_lang = en
type = QT

53
520EC6F6.asc Normal file
View File

@@ -0,0 +1,53 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQINBFb4b5EBEADTUsyDNPWdujfhx4ncy52MNdkw6EI8W7kxWypHCOr0EAcr9Xaq
lGbstcu0v//f5E5Wvi7gNK7DJkgky4L1GKIufe61e9HXLI8Ekju0j1ojkgR8m4md
BhIkQNB897xItKCYCtnHm/51dKxYDtSCdJ4a9RbfKyH6YqvM8R+s4jD472mvekHm
lMeek+Tv85Thx2IR6NpUUaJZOUskhMpuhZDjLzI78ZWlnielxoGKysMke7iAekiL
2scQYRmC/IrHIgf/mmaAvwJf82a3GqYRfC49RFBXaPAAGCJzu3WWqTrmLe9yRdB4
HpQ6d8D28HpWfnLTfR9bkBHdy6/8dche4wCNbBXkvjoqMUTA7hgzPmJFW0GE8Omp
SnFEj+8WVLCkBTp1zEdiYUzD30Itn/4YnzEQdExOnQRrKo5E9vLbdom8VXWrmO7v
jXU4u8o9FDbYcMOmje2LFW1UQhP3pfMeIA/nKRfJivgz+76jtg3OU53tKKeHWHfa
z88Mn+9QmBbC6l7/d308K9wlERwsv6uMFNrD1mIRIPW3Bvzgzc/nR/IfmIhizg+C
vJvm1eAOnRTnMZAggW0dK65tclu3hL198IySvEcZ7TRdC6Wzqbzg+SgIn/JiWoKz
dVAuGn4TD0D1R9SlGoGMFQUvHZAPsPCQHjyPsGwtxiqFJSvVE10id2lwSQARAQAB
tG5zbGVkZ2VoYW1tZXI5OTkgKFVzZWQgZm9yIHNpZ25pbmcgcUJpdHRvcnJlbnQg
c291cmNlIHRhcmJhbGxzIGFuZCBiaW5hcmllcy4pIDxzbGVkZ2VoYW1tZXI5OTlA
cWJpdHRvcnJlbnQub3JnPokCNwQTAQgAIQUCVvhvkQIbAwULCQgHAgYVCAkKCwIE
FgIDAQIeAQIXgAAKCRChrMrkUg7G9vW/EAC/A9yt5F3fW4yvLz3ZGPmWUQw1ah6B
o8c8khCh9JATCTwoV+1ZAxEKMfFW8AQ52MwX34S45Fi1Ik860yD5Ea7HMg2dpq/1
sZ1dK9LHVlSXHUTZi8dVUntxryz1hR5JS7UUvGtclHrjNTB1jkbiPN2LrcURg+K7
WSJ+jaX9Wt6hzGwuAe4QqXQF1DRHK945hOe2by1VmV7IXtz4xXUIzVdbUI/fFuaV
26ImAHKLuNRHO0DxGZX6f56T+zG+tEaERiHls8w7I3HIKAjTEHQwytB10tq/IRpK
Rg1uDAutOIHe2Gm9XxOX5wwFiEGB0Dq2TxLjMZ42n/PaNk0JOvJkbmkM/NtInvOx
xk807cpIgUf6CrBgavQ1DxSKL+OqowTQ3aNT1Cg8VI8yf0hOwXU/CyRe6o55+T8M
d+FZk2eILJEeyJ1O7GdW8L7QK6vVIep/eFmuXkXE8kpnud9X84Fzh1mK7dzblWnS
2SUB6vXQhnsIgGfp1maYLYVDK08BdSh4eg6kNVcyx/6/t8PUZjO5tDNhKflyddt/
vRDxET8nULIKEct7g3X4w87klj9hxZzGz6zyv8JBdJYuwxfsZJ58M/vGZOrmdllb
T9tC5AtcvaKLDulvkLzHvIgVCyk29fzGAJNb7pqoZP4oht8StTBlo+pVqfeE7m6/
u45vAoX6l1sVlbkCDQRW+G+RARAAsR1sFdq8cUZUbYAiwP1ERdzKfhZx4qQCqUZs
D1/fka7jttqAd2rCHWPtFmy2KTZVcNeWq9+9zG3jvykpapXhZ+r2/H13NE2FrTy8
AcuQgCaXfnD6fR8cifJwSYeEDRZ6vJEuIv2Vn/ZJVkhM+M72LliNfkh/E+VIlybX
OQm1sazCUAd+EMUT6/uEitJy3n2JlDK2ctkpO06pb647nC3dgtyU0aKto8ol3da3
eWLzkoOzq9IQTHZ7x89ptVO+I8vR0itSV0Clt0Ab7AL3jwI8hZUvx5q3YmZrRrZy
fmdhG61jyvaD9eM0dPZcmoLMEv23KaLHRY1+Mwf5a8kfzRgYQLimEsWt3NljmhQd
04Fm1eTXBJ30TMSnJoIa0W1MQ36J7TFYxE44ySCL6uB2woHiqq6ydznbjtyTaHF7
Fx2K2vZhHQT+V1B22XzuwBoVYqH4Q+Zw7f9yqDd1NU7+SwcUtapqqHM+OERRvR2s
ddsttVMIC5e75MlhvRCvskm6yCxFYKnZLTIRW6W/xYfksXRwupk3TICRN9fmiDxx
uZZRMurpV365kYowHUW2uY/dQTLazKCC1/folsmMIhqumhijkK81/vYSFPk3NmXi
v6HljMCd0vmzJRdwzWgaLoFoazErmPiGkmQSup6BjJjE0CHldpvmLaGkWkbP7zWu
VeYV79EAEQEAAYkCHwQYAQgACQUCVvhvkQIbDAAKCRChrMrkUg7G9hSQD/9WcAID
FPTt/pcrVIGZ8/1EVrhuVlyC0UNKnZuCnbggr1UKs67ivhkv6lXBi4sS1VZoKUQZ
xII+VnPzQGDDYUfkwExOSkZBqN0Tm3Ly1/xgAr46V4F6vZPs8D+fpvmXaHs4CrhA
LVgWN3kYOtd5a5z0tomVLOKlh7iip0UBIx+j2CV2lqowL/OG7AXcq6iSbH4gEr7z
G4wbPnRrvSqZ5oM0nGhXgYGG8HE4jaaRG6TBdWL6YcLKZmtueSIOGQAmqNwT3Vnw
2kDfk+KNHQPTTZQ9KMUE/4c6mcoYIDDPo9POlf6ShvxipdLGKUFUz+MAkv5Oci4/
I3RMnDdgfAzsppFlQ5IN3laipTcViPu9SLIzXcf1TMi4f9x3Lqm4r9x6KcLX8uC1
ncOHqrqBnI5mm45EhJTahyFEGd+eTvsOSThdUEgkdRSln72cymh+iisdGSEMXinw
nS/6WOYnW9a6s1J90ql7P/qA3sA7RA1AHRL5tKdYVM+2OFU1asLWRbdLVmQR2dgM
3+0u3HBjkKd3/8iGcP1CfLvur9eh4FHkVYKIepz5ALBGdUQbc96p+Le4VFedvxDR
Wz/9MJI/oK6ij90b6LF2eR47oTyYRGzaeMk4WjmHCqlK/mUABng9n+U3H2OzihYy
x8m1+aYiYlKfcKWm1nKQG0hF04Axq5AYezjKvA==
=Zdwm
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -79,6 +79,11 @@ Images Authors:
* file: src/icons/oxygen/checked.png
copyright: Victor Buinsky <allok.victor@gmail.com>
* file: src/icons/skin/ratio.png
copyright: Fatcow Web Hosting
license: Creative Commons Attribution 3.0 License
url: http://www.fatcow.com/free-icons
Translations authors:
* files: src/lang/*.ts

65
CMakeLists.txt Normal file
View File

@@ -0,0 +1,65 @@
cmake_minimum_required(VERSION 3.2)
cmake_policy(VERSION 3.2)
project(qBittorrent VERSION 3.4.0.0)
set(VER_MAJOR ${qBittorrent_VERSION_MAJOR})
set(VER_MINOR ${qBittorrent_VERSION_MINOR})
set(VER_BUGFIX ${qBittorrent_VERSION_PATCH})
set(VER_BUILD ${qBittorrent_VERSION_TWEAK})
set(VER_STATUS "alpha") # Should be empty for stable releases!
# Don't touch the rest part
set(PROJECT_VERSION "${VER_MAJOR}.${VER_MINOR}.${VER_BUGFIX}")
if (NOT VER_BUILD EQUAL 0)
set(PROJECT_VERSION "${PROJECT_VERSION}.${VER_BUILD}")
endif()
set(PROJECT_VERSION "${PROJECT_VERSION}${VER_STATUS}")
add_definitions(-DVERSION_MAJOR=${VER_MAJOR})
add_definitions(-DVERSION_MINOR=${VER_MINOR})
add_definitions(-DVERSION_BUGFIX=${VER_BUGFIX})
add_definitions(-DVERSION_BUILD=${VER_BUILD})
# os2 {
# DEFINES += VERSION=\'\"v$${PROJECT_VERSION}\"\'
# } else {
add_definitions(-DVERSION="v${PROJECT_VERSION}")
# }
list(APPEND CMAKE_MODULE_PATH ${qBittorrent_SOURCE_DIR}/cmake/Modules)
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Og")
if (UNIX AND NOT APPLE)
include(GNUInstallDirs)
endif (UNIX AND NOT APPLE)
if(WIN32)
include(winconf)
endif(WIN32)
# we need options here, because they are used not only in "src" subdir, but in the "dist" dir too
include(CMakeDependentOption)
option(QT5 "Compile using Qt5" ON)
option(SYSTEM_QTSINGLEAPPLICATION
"Use the system qtsingleapplication library or shipped one otherwise")
cmake_dependent_option(SYSTEM_QJSON
"Use the shipped qjson library or the system one (Qt4 only)" OFF "NOT QT5" OFF)
option(GUI "Allows to disable GUI for headless running. Disables QtDBus and the GeoIP Database" ON)
option(WEBUI "Allows to disable the WebUI." ON)
if (WIN32)
option(STACKTRACE_WIN "")
else (WIN32)
cmake_dependent_option(SYSTEMD "Install the systemd service file (headless only)" OFF
"NOT GUI" OFF)
cmake_dependent_option(DBUS "Enable use of QtDBus (GUI only)" ON "GUI" OFF)
endif(WIN32)
add_subdirectory(src)
add_subdirectory(dist)

View File

@@ -1,6 +1,8 @@
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 instead.
**Note:** I will now 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 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.
### 1. Curly braces ###
#### a. Function blocks, class/struct definitions, namespaces ####
@@ -209,6 +211,67 @@ a += "b"
+ "d";
```
* Initializers
We allow brace enclosed initializers only for aggregates and arrays/containers.<br />
Brace enclosed initializer MUST be used with equality sign if it follows the variable declaration.<br />
Brace enclosed initializer MUST be additionally enclosed in parentheses if it is used in constructor initialization list.<br />
Some valid use cases:
```c++
// aggregate
Person john = { "John", "Smith", 21 };
Person *john = new Person { "John", "Smith", 21 };
// array
int array[] = { 1, 2, 3, 4 };
// container
QHash<QString, QString> map = {
{ "key1", "value1" },
{ "key2", "value2" }
);
// member array
SomeClass::SomeClass(BaseClass *parent)
: BaseClass(parent)
, m_someArrayMember({ 1, 2, 3, 4 })
{
}
// return from function
Person getPersonByName(const QString &name)
{
// do something
return { name, surname, age };
}
// function argument
doSomething({ name, surname, age }, someOtherArg);
```
* **auto** keyword
We allow the use of the **auto** keyword only where it doesn't break the readability of the code (i.e. either we can gather enough information about the type from the right part of the expression, or we do not need to know the exact type), or where it is strictly necessary (for example, to compute the type of a lambda, etc.).<br />
Some valid use cases:
```c++
template <typename List>
void doSomethingWithList(const List &list)
{
foreach (const auto &item, list) {
// we don't know item type here so we use 'auto' keyword
// do something with item
}
}
for (auto it = container.begin(), end = container.end(); it != end; ++it) {
// we don't need to know the exact iterator type,
// because all iterators have the same interface
}
auto spinBox = static_cast<QSpinBox*>(sender());
// we know the variable type based on the right-hand expression
```
* Space around operations eg `a = b + c` or `a=b+c`:
Before and after the assignment there should be a space. One exception could be: for loops.
@@ -223,5 +286,5 @@ for (int a=0; a<b; ++b) {
* Method definitions aren't allowed in header files
###8. Not covered above###
### 9. Not covered above###
If something isn't covered above, just follow the same style the file you are editing has. If that particular detail isn't present in the file you are editing, then use whatever the rest of the project uses.

36
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,36 @@
# Filing an issue
### Must read
* If you aren't sure, you can ask on the [**forum**](http://forum.qbittorrent.org) or read our [**wiki**](http://wiki.qbittorrent.org) first.
* Do a quick **search**. Others might already reported the issue.
* Write in **English**!
* Provide **version** information: (You can find version numbers at menu `Help -> About -> Libraries`)
```
qBittorrent:
Qt:
libtorrent:
boost:
OS version:
```
* Provide **steps** to reproduce the problem, it will be easier to pinpoint the fault.
* **Screenshots**! A screenshot is worth a thousand words. just upload it. [(How?)](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests)
### Good to know
* **Be patient**. The dev team is small and resource limited. Devs finding their free time, analyzing the problem and fixing the issue, it all takes time. :clock3:
* If you can code, why not become a **contributor** by fixing the issue and open a pull request? :wink:
* Harsh words or threats won't help your situation. What's worse, your complain will (very likely) to be **ignored**. :fearful:
# Opening a pull request
### Must read
* Read our [**coding guidelines**](https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md). There are some scripts to help you: [uncrustify script](https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/uncrustify.cfg), [astyle script](https://gist.github.com/Chocobo1/539cee860d1eef0acfa6), [(related thread)](https://github.com/qbittorrent/qBittorrent/issues/2192).
* Keep the title **short** and provide a **clear** description about what your pull request does.
* Provide **screenshots** for UI related changes.
* Keep your git commit history **clean** and **precise**. Commits like `xxx fixup` should not appear.
* If your commit fix a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here](https://github.com/qbittorrent/qBittorrent/commit/a74bac20c4e8de9776bf9bb77fdc7526135d1988).
### Good to know
* **Search** pull request history! Others might already implemented your idea and is waiting to be merged (or got rejected already). Save your precious time by doing a search first.
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. Here is a good explanation: [link](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).

133
Changelog
View File

@@ -1,3 +1,136 @@
* Tue Mar 29 2016 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.4
- FEATURE: Download more pieces in "Download first and last pieces first" feature (ngosang)
- FEATURE: Unlock first column in peerlist too (thalieht)
- FEATURE: Add "Hide zero values" option. Closes #3543. (Chocobo1)
- FEATURE: Add a "remaining" column to the torrent content model (Ben Lau)
- FEATURE: Allow to toggle columns in peerlist (thalieht)
- FEATURE: Add ability to filter log messages by type. (sledgehammer999)
- FEATURE: Add ability to write the log to file. (sledgehammer999)
- FEATURE: Add 'never show again' checkbox/pref to auto-exit confirm dialog (d3fault, sledgehammer999, Chocobo1)
- PERFORMANCE: Perform fastresume data saving in separate thread (glassez)
- PERFORMANCE: Optimize session startup (glassez)
- BUGFIX: Save resume data using QSaveFile (Qt5 only). This reduces chances of corrupt files. (glassez)
- BUGFIX: Check torrent file permissions before opening (birdie-github)
- BUGFIX: Always update native session's announce_ip setting (Jesse Connop)
- BUGFIX: Fix loading *.magnet files from watched folders. Closes #4701. (sledgehammer999)
- BUGFIX: Fix upgrade corrupted fastresume file (glassez)
- BUGFIX: Fix total values for "Seeds" & "Peers" (Chocobo1)
- BUGFIX: Fix potential race condition. Closes #4742. (Chocobo1)
- BUGFIX: Don't merge trackers for private torrents. Closes #2928. (sledgehammer999)
- BUGFIX: Fix double buttons in "Add New Torrent" dialog. (Chocobo1)
- BUGFIX: Fix malformed date header in email. Closes #4828. (Chocobo1)
- BUGFIX: Save "Run external program" input as is. Closes #4830. (Chocobo1)
- BUGFIX: Enable "filename" column in peers list again. Crash is fixed now. (Eugene Shalygin)
- BUGFIX: Don't display warning when folder name stayed the same after rename. (sledgehammer999)
- BUGFIX: Fix selection of Portuguese translation files. (sledgehammer999)
- BUGFIX: Fix selection of Esperanto locale. Closes #4999. (sledgehammer999)
- BUGFIX: Fix "caja" file manager opens the file instead of opens the directory. Closes #5003. (Chocobo1)
- BUGFIX: Fix periodic latency spikes on Windows with WiFi connections. Closes #4209. (sledgehammer999)
- BUGFIX: Potentially fix a random crash coming from the sidepanel (sledgehammer999, ngosang)
- WEBUI: Fix max_ratio precision. Closes #4707 (ngosang)
- WEBUI: Fix JavaScript exception on WebUI load (buinsky)
- WEBUI: Fix translation (buinsky)
- WEBUI: Submit the label in the new label dialog on pressing enter key (buinsky)
- WEBUI: Check WebUI username and password length. Closes #4191 (ngosang)
- WEBUI: Minor changes in CSS styles (ngosang)
- WEBUI: Add "Added on" and "Completion on" fields to query/torrents query response (buinsky)
- WEBUI: Do not try to parse request message when content-length is 0 (Dan Seminara)
- WEBUI: Support SSL certificate bundles. Issue #4896. (UnDifferential)
- WEBUI: Change the order of the values of speed labels (buinsky)
- WEBUI: Bump WebUI API_VERSION
- SEARCH: Update PirateBay plugin. (ngosang)
- SEARCH: Added TorLock search engine (ngosang)
- COSMETIC: Fix splash screen staying on top of all windows. Closes #1391. (sledgehammer999)
- COSMETIC: Rearrange advanced settings (Chocobo1)
- COSMETIC: Cleanup "about" dialog (Chocobo1)
- COSMETIC: Cleanup "Add New Torrent" dialog (Chocobo1)
- COSMETIC: Use short date in addnewtorrentdialog (Chocobo1)
- COSMETIC: Change "Free disk space" to "Free space on disk" (Chocobo1)
- COSMETIC: Let OS handle DPI scaling for now. Should let Qt do the work when it's more mature. (Chocobo1)
- COSMETIC: Put comment_lbl in QScrollArea. Closes #4881. (Chocobo1)
- COSMETIC: Change the order of the values of speed labels (buinsky)
- COSMETIC: Cleanup the Log tab (Chocobo1)
- COSMETIC: Cleanup the RSS tab (Chocobo1)
- OTHER: Set "Show splash screen on start up" option default to off (Chocobo1)
- OTHER: Support for cross-compilation with MXE (Boris Nagaev)
- OTHER: Add basic (and unofficial) cmake support (Eugene Shalygin)
- OTHER: Move some URLs overs to https (funkydude)
- OTHER: Add appveyor support (Chocobo1)
- OTHER: TravisCI: switch to Trusty image. Closes #4953. (Chocobo1)
- OTHER: Many other internal code restructuring, cleaning and fixing.
* Thu Jan 21 2016 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.3
- BUGFIX: Temporarily disable "filename" column of peers view. It has a bug that causes frequent crashes. See issue #4597.
- WEBUI: Move style of dynamic table header to CSS (buinsky)
- WEBUI: Fix unnecessary updates of torrent peers table (buinsky)
* Tue Jan 19 2016 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.2
- FEATURE: Add a new column to peers list that shows list of files which are downloaded right now from a peer. (evsh)
- FEATURE: Improve the "Watch folders" UI. Closes #4300. You'll need to redo your watch folders settings. (sledgehammer999, glassez)
- FEATURE: Support loading multiple magnets/hashes/urls per .magnet file in the watched folder(one per line). Closes #217. (sledgehammer999)
- BUGFIX: Fix resolution of peer host names. Closes #4307. (sledgehammer999)
- BUGFIX: Don't recheck twice after 'Force Recheck' with 'Recheck torrents on completion' enabled. Closes #4274. (sledgehammer999)
- BUGFIX: Don't apply some settings again if they weren't changed. Closes #4278. (sledgehammer999)
- BUGFIX: Update ISO 3166 country codes. Closes #3942. (Chocobo1)
- BUGFIX: Fix moving torrents to Temp after app restart. Closes #4434. (glassez)
- BUGFIX: Fix crash in favicon code due to null pointer dereference. (glassez)
- BUGFIX: Move the 'qBittorrent-resume' file even when no magnets were recovered. Also make sure to rename it with a unique name. Closes #4334. (sledgehammer999)
- BUGFIX: Don't add the watch folder before the user closes the Preferences window. (sledgehammer999)
- BUGFIX: Remove watch folders permanently only if the user accepts the Preferences dialog. (sledgehammer999)
- BUGFIX: Better handling of cookies in the download manager (glassez)
- BUGFIX: Use the download manager for RSS, the program updater and the dns updater. (glassez)
- BUGFIX: Fix reconfigure additional trackers (glassez)
- BUGFIX: Fix loading corrupted .fastresume file (glassez)
- WEBUI: Show filtered torrents number (buinsky)
- WEBUI: Fix paused, active and inactive filters (buinsky)
- WEBUI: Fixed bug when uploading several files and only the last one was considered. (naikel)
- WEBUI: Implemented WebUI interface for the new Watched Folders feature (naikel)
- WEBUI: Fix possible showing "qBittorrent client is not reachable" message on deleting torrents. (buinsky)
- WEBUI: Don't show "Limit download speed" menu item for downloaded torrents. (buinsky)
- WEBUI: Update webui run program parameters (buinsky)
- WEBUI: Allow to remove the label assigned to a torrent (pmzqla)
- WEBUI: Repair translation (buinsky)
- WEBUI: Remember last opened tab (buinsky)
- WEBUI: Bump WebUI API_VERSION and API_VERSION_MIN.
- COSMETIC: Update native names for Chinese locales. Closes #4381. (sledgehammer999)
- COSMETIC: Rename column header in Content view. (Chocobo1)
- COSMETIC: Edit speed limits and upload ratio icons (buinsky)
- SEARCH: Code refactoring. (glassez)
- SEARCH: Fix PirateBay plugin implementation for Python 3 (ngosang)
- SEARCH: Update PirateBay URL. Closes #4470 (ngosang)
- RSS: Code refactoring. (glassez)
- LINUX: Fix build. (sledgehammer999)
- OSX: Set qBittorrent as default torrent app in Mac OS (dmitry.viktorov)
- OTHER: Fix lrelease version due to the default Qt5 build (Fabio Alessandro Locati)
- OTHER: Indicate to the user that he's going to download the new version. Indicate from the installer that the old version was detected and no settings will be deleted. Closes #4320. (sledgehammer999)
- OTHER: Don't require GUI libs for qt4 nox build. Closes #4404. (sledgehammer999)
- OTHER: Fix cross-compilation (bnagaev)
- OTHER: Allow GeoIP in nox builds (glassez)
* Tue Dec 08 2015 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.1
- FEATURE: New "Set as default label" option in Add torrent dialog. (takiz)
- FEATURE: Support wildcards for filtering torrent list and torrent content (vlakoff)
- BUGFIX: Fix -1 is displayed instead of the infinity symbol (Chocobo1)
- BUGFIX: Fix scan dirs settings saving. Closes #4254, #4239, #4187. (glassez)
- BUGFIX: Exported torrents now use name instead of hash. Closes #4205. (glassez)
- BUGFIX: Improve upgrade to v3.3.0. Now undownloaded magnets will be migrated too. Fixes #4195. (glassez)
- BUGFIX: Fix wrong encoding for listen failed error message. (glassez)
- BUGFIX: Fix RSS not automarking articles as read. (glassez)
- BUGFIX: Fix possible deadlock during application exit. (sledgehammer999)
- WEBUI: Cookies support on WebUI when downloading torrent from a URL. (Naikel Aparicio)
- WEBUI: Modified download and upload windows to allow autocompletion of browsers. (Naikel Aparicio)
- WEBUI: Fixed the spinner in the WebUI upload page. (Naikel Aparicio)
- WEBUI: Modified height of the WebUI download page. (Naikel Aparicio)
- WEBUI: Fixed all the JavaScript functions for download and upload pages. (Naikel Aparicio)
- WEBUI: Add seeds tab to WebUI (buinsky)
- WEBUI: Bump WebUI API_VERSION.
- COSMETIC: Cleanup "Trackers", "Peers", "HTTP Sources", "Speed" and "Content" page layout (Chocobo1)
- COSMETIC: Reduce mainwindow border width (Chocobo1)
- COSMETIC: Use QLineEdit built-in ClearButton (Qt5 only) (Chocobo1)
- COSMETIC: Change text description for half-open connection (Chocobo1)
- OTHER: Change update URL to FossHub. Closes #4188. (sledgehammer999)
* Sun Nov 29 2015 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.0
- FEATURE: Huge core code refactoring. Problems with labels, temp folders etc should be eliminated. Smoother UI should be observed too. (glassez)
- FEATURE: Speed graph (Anton Lashkov)

View File

@@ -1,7 +1,8 @@
qBittorrent - A BitTorrent client in Qt
------------------------------------------
[![Build Status](https://travis-ci.org/qbittorrent/qBittorrent.svg?branch=master)](https://travis-ci.org/qbittorrent/qBittorrent)
[![TravisCI Status](https://travis-ci.org/qbittorrent/qBittorrent.svg?branch=master)](https://travis-ci.org/qbittorrent/qBittorrent)
[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/github/qbittorrent/qBittorrent?branch=master&svg=true)](https://ci.appveyor.com/project/qbittorrent/qBittorrent)
[![Coverity Status](https://scan.coverity.com/projects/5494/badge.svg)](https://scan.coverity.com/projects/5494)
********************************
### Description:
@@ -13,7 +14,7 @@ out there. qBittorrent is fast, stable and provides unicode
support as well as many features.
This product includes GeoLite data created by MaxMind, available from
http://maxmind.com/
https://www.maxmind.com/
### Installation:
For installation, follow the instructions from INSTALL file, but simple:
@@ -26,6 +27,12 @@ qbittorrent
will install and execute qBittorrent hopefully without any problem.
### Public key:
Starting from v3.3.4 all source tarballs and binaries are signed.<br />
The key currently used is 4096R/[520EC6F6](https://pgp.mit.edu/pks/lookup?op=get&search=0xA1ACCAE4520EC6F6) with fingerprint `F4A5FD201B117B1C2AB590E2A1ACCAE4520EC6F6`.<br />
You can also download it from [here](https://github.com/qbittorrent/qBittorrent/raw/master/520EC6F6.asc).<br />
### Misc:
For more information please visit:
http://www.qbittorrent.org

52
appveyor.yml Normal file
View File

@@ -0,0 +1,52 @@
version: '{branch}-{build}'
# Do not build on tags (GitHub only)
skip_tags: true
os: Visual Studio 2015
environment:
REPO_DIR: &REPO_DIR c:\qbittorrent
CACHE_DIR: &CACHE_DIR c:\qbt_cache
QBT_VER_URL: http://builds.shiki.hu/appveyor/version
QBT_LIB_URL: http://builds.shiki.hu/appveyor/qbt_libraries.7z
# project directory
clone_folder: *REPO_DIR
# cache size should < 100MB (after compressing with fastest option):
# see: https://www.appveyor.com/docs/build-cache#save-update-cache-before-build-finishes
cache:
- *CACHE_DIR
install:
# check if library needs update
- appveyor DownloadFile "%QBT_VER_URL%" -FileName "c:\version_new" && SET /P newVersion=<"c:\version_new"
- IF EXIST "%CACHE_DIR%\version" (SET /P oldVersion=<"%CACHE_DIR%\version")
- IF NOT EXIST "%CACHE_DIR%\version" (SET updateCache=1)
- IF NOT "%oldVersion%" == "%newVersion%" (SET updateCache=1)
# update library
- IF "%updateCache%" == "1" (ECHO "--- Will redownload libraries ---" &&
RMDIR /S /Q "%CACHE_DIR%" & MKDIR "%CACHE_DIR%" &&
appveyor DownloadFile "%QBT_LIB_URL%" -FileName "c:\qbt_lib.7z" && 7z x "c:\qbt_lib.7z" -o"%CACHE_DIR%" > nul &&
COPY "c:\version_new" "%CACHE_DIR%\version")
# Qt stay compressed in cache
- 7z x "%CACHE_DIR%\qt5_32.7z" -o"c:\qbt" > nul
before_build:
# setup env
- CALL "c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"
- SET PATH=%PATH%;c:\qbt\qt5_32\bin;%CACHE_DIR%\jom;
# setup project
- COPY /Y "%CACHE_DIR%\winconf.pri" "%REPO_DIR%"
- COPY /Y "%CACHE_DIR%\winconf-msvc.pri" "%REPO_DIR%"
# workarounds
- MKLINK /J "c:\qbt\base" "%CACHE_DIR%\base"
build_script:
- cd "%REPO_DIR%"
- qmake qbittorrent.pro && cd src && qmake src.pro
- jom -j2 -f Makefile.Release
test: off

View File

@@ -0,0 +1,93 @@
# - Try to find libtorrent-rasterbar
#
# If not using pkg-config, you can pre-set LibtorrentRasterbar_CUSTOM_DEFINITIONS
# for definitions unrelated to Boost's separate compilation (which are already
# decided by the LibtorrentRasterbar_USE_STATIC_LIBS variable).
#
# Once done this will define
# LibtorrentRasterbar_FOUND - System has libtorrent-rasterbar
# LibtorrentRasterbar_INCLUDE_DIRS - The libtorrent-rasterbar include directories
# LibtorrentRasterbar_LIBRARIES - The libraries needed to use libtorrent-rasterbar
# LibtorrentRasterbar_DEFINITIONS - Compiler switches required for using libtorrent-rasterbar
# LibtorrentRasterbar_OPENSSL_ENABLED - libtorrent-rasterbar uses and links against OpenSSL
find_package(Threads REQUIRED)
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_check_modules(PC_LIBTORRENT_RASTERBAR QUIET libtorrent-rasterbar)
endif()
if(LibtorrentRasterbar_USE_STATIC_LIBS)
set(LibtorrentRasterbar_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
endif()
if(PC_LIBTORRENT_RASTERBAR_FOUND)
set(LibtorrentRasterbar_DEFINITIONS ${PC_LIBTORRENT_RASTERBAR_CFLAGS})
else()
if(LibtorrentRasterbar_CUSTOM_DEFINITIONS)
set(LibtorrentRasterbar_DEFINITIONS ${LibtorrentRasterbar_CUSTOM_DEFINITIONS})
else()
# Without pkg-config, we can't possibly figure out the correct build flags.
# libtorrent is very picky about those. Let's take a set of defaults and
# hope that they apply. If not, you the user are on your own.
set(LibtorrentRasterbar_DEFINITIONS
-DTORRENT_USE_OPENSSL
-DTORRENT_DISABLE_GEO_IP
-DBOOST_ASIO_ENABLE_CANCELIO
-DUNICODE -D_UNICODE -D_FILE_OFFSET_BITS=64)
endif()
if(NOT LibtorrentRasterbar_USE_STATIC_LIBS)
list(APPEND LibtorrentRasterbar_DEFINITIONS
-DTORRENT_LINKING_SHARED
-DBOOST_SYSTEM_DYN_LINK -DBOOST_CHRONO_DYN_LINK)
endif()
endif()
message(STATUS "libtorrent definitions: ${LibtorrentRasterbar_DEFINITIONS}")
find_path(LibtorrentRasterbar_INCLUDE_DIR libtorrent
HINTS ${PC_LIBTORRENT_RASTERBAR_INCLUDEDIR} ${PC_LIBTORRENT_RASTERBAR_INCLUDE_DIRS}
PATH_SUFFIXES libtorrent-rasterbar)
find_library(LibtorrentRasterbar_LIBRARY NAMES torrent-rasterbar libtorrent
HINTS ${PC_LIBTORRENT_RASTERBAR_LIBDIR} ${PC_LIBTORRENT_RASTERBAR_LIBRARY_DIRS})
if(LibtorrentRasterbar_USE_STATIC_LIBS)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${LibtorrentRasterbar_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
endif()
set(LibtorrentRasterbar_LIBRARIES ${LibtorrentRasterbar_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
set(LibtorrentRasterbar_INCLUDE_DIRS ${LibtorrentRasterbar_INCLUDE_DIR})
if(NOT Boost_SYSTEM_FOUND OR NOT Boost_CHRONO_FOUND OR NOT Boost_RANDOM_FOUND)
find_package(Boost REQUIRED COMPONENTS date_time system chrono random thread)
set(LibtorrentRasterbar_LIBRARIES
${LibtorrentRasterbar_LIBRARIES} ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
set(LibtorrentRasterbar_INCLUDE_DIRS
${LibtorrentRasterbar_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS})
endif()
list(FIND LibtorrentRasterbar_DEFINITIONS -DTORRENT_USE_OPENSSL LibtorrentRasterbar_ENCRYPTION_INDEX)
if(LibtorrentRasterbar_ENCRYPTION_INDEX GREATER -1)
find_package(OpenSSL REQUIRED)
set(LibtorrentRasterbar_LIBRARIES ${LibtorrentRasterbar_LIBRARIES} ${OPENSSL_LIBRARIES})
set(LibtorrentRasterbar_INCLUDE_DIRS ${LibtorrentRasterbar_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIRS})
set(LibtorrentRasterbar_OPENSSL_ENABLED ON)
endif()
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set LibtorrentRasterbar_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(LibtorrentRasterbar DEFAULT_MSG
LibtorrentRasterbar_LIBRARY
LibtorrentRasterbar_INCLUDE_DIR
Boost_SYSTEM_FOUND
Boost_CHRONO_FOUND
Boost_RANDOM_FOUND)
mark_as_advanced(LibtorrentRasterbar_INCLUDE_DIR LibtorrentRasterbar_LIBRARY
LibtorrentRasterbar_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES
LibtorrentRasterbar_ENCRYPTION_INDEX)

View File

@@ -0,0 +1,81 @@
# - Try to find the QtSingleApplication includes and library
# which defines
#
# QTSINGLEAPPLICATION_FOUND - system has QtSingleApplication
# QTSINGLEAPPLICATION_INCLUDE_DIR - where to find header QtSingleApplication
# QTSINGLEAPPLICATION_LIBRARIES - the libraries to link against to use QtSingleApplication
# QTSINGLEAPPLICATION_LIBRARY - where to find the QtSingleApplication library (not for general use)
# copyright (c) 2013 TI_Eugene ti.eugene@gmail.com
#
# Redistribution and use is allowed according to the terms of the FreeBSD license.
SET(QTSINGLEAPPLICATION_FOUND FALSE)
IF(QT4_FOUND)
message(STATUS "Looking for Qt4 single application library")
FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication
# standard locations
/usr/include
/usr/include/QtSolutions
# qt4 location except mac's frameworks
"${QT_INCLUDE_DIR}/QtSolutions"
# mac's frameworks
${FRAMEWORK_INCLUDE_DIR}/QtSolutions
)
SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
NAMES ${QTSINGLEAPPLICATION_NAMES}
PATHS ${QT_LIBRARY_DIR}
)
ELSEIF(Qt5Widgets_FOUND)
message(STATUS "Looking for Qt5 single application library")
FOREACH(TOP_INCLUDE_PATH in ${Qt5Widgets_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR})
FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication ${TOP_INCLUDE_PATH}/QtSolutions)
IF(QTSINGLEAPPLICATION_INCLUDE_DIR)
BREAK()
ENDIF()
ENDFOREACH()
SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
Qt5Solutions_SingleApplication-2.6 libQt5Solutions_SingleApplication-2.6
QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
GET_TARGET_PROPERTY(QT5_WIDGETSLIBRARY Qt5::Widgets LOCATION)
GET_FILENAME_COMPONENT(QT5_WIDGETSLIBRARYPATH ${QT5_WIDGETSLIBRARY} PATH)
FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
NAMES ${QTSINGLEAPPLICATION_NAMES}
PATHS ${QT5_WIDGETSLIBRARYPATH}
)
ENDIF()
IF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
SET(QTSINGLEAPPLICATION_LIBRARIES ${QTSINGLEAPPLICATION_LIBRARY})
SET(QTSINGLEAPPLICATION_FOUND TRUE)
IF (CYGWIN)
IF(BUILD_SHARED_LIBS)
# No need to define QTSINGLEAPPLICATION_USE_DLL here, because it's default for Cygwin.
ELSE(BUILD_SHARED_LIBS)
SET (QTSINGLEAPPLICATION_DEFINITIONS -DQTSINGLEAPPLICATION_STATIC)
ENDIF(BUILD_SHARED_LIBS)
ENDIF (CYGWIN)
ENDIF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
IF (QTSINGLEAPPLICATION_FOUND)
IF (NOT QtSingleApplication_FIND_QUIETLY)
MESSAGE(STATUS "Found QtSingleApplication: ${QTSINGLEAPPLICATION_LIBRARY}")
MESSAGE(STATUS " includes: ${QTSINGLEAPPLICATION_INCLUDE_DIR}")
ENDIF (NOT QtSingleApplication_FIND_QUIETLY)
ELSE (QTSINGLEAPPLICATION_FOUND)
IF (QtSingleApplication_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find QtSingleApplication library")
ENDIF (QtSingleApplication_FIND_REQUIRED)
ENDIF (QTSINGLEAPPLICATION_FOUND)
MARK_AS_ADVANCED(QTSINGLEAPPLICATION_INCLUDE_DIR QTSINGLEAPPLICATION_LIBRARY)

View File

@@ -0,0 +1,23 @@
#######
# Find systemd service dir
# sets variables
# SYSTEMD_FOUND
# SYSTEMD_SERVICES_INSTALL_DIR
if (NOT SYSTEMD_FOUND)
pkg_check_modules(SYSTEMD "systemd")
endif(NOT SYSTEMD_FOUND)
if (SYSTEMD_FOUND AND "${SYSTEMD_SERVICES_INSTALL_DIR}" STREQUAL "")
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE}
--variable=systemdsystemunitdir systemd
OUTPUT_VARIABLE SYSTEMD_SERVICES_INSTALL_DIR)
string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_SERVICES_INSTALL_DIR
"${SYSTEMD_SERVICES_INSTALL_DIR}")
elseif (NOT SYSTEMD_FOUND AND SYSTEMD_SERVICES_INSTALL_DIR)
message (FATAL_ERROR "Variable SYSTEMD_SERVICES_INSTALL_DIR is\
defined, but we can't find systemd using pkg-config")
endif()
if (SYSTEMD_FOUND)
message(STATUS "systemd services install dir: ${SYSTEMD_SERVICES_INSTALL_DIR}")
endif(SYSTEMD_FOUND)

View File

@@ -0,0 +1,38 @@
macro(configure_msvc_runtime)
if(MSVC)
# Default to statically-linked runtime.
if("${MSVC_RUNTIME}" STREQUAL "")
set(MSVC_RUNTIME "static")
endif()
# Set compiler options.
set(variables
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELWITHDEBINFO
)
if(${MSVC_RUNTIME} STREQUAL "static")
message(STATUS
"MSVC -> forcing use of statically-linked runtime."
)
foreach(variable ${variables})
if(${variable} MATCHES "/MD")
string(REGEX REPLACE "/MD" "/MT" ${variable} "${${variable}}")
endif()
endforeach()
else()
message(STATUS
"MSVC -> forcing use of dynamically-linked runtime."
)
foreach(variable ${variables})
if(${variable} MATCHES "/MT")
string(REGEX REPLACE "/MT" "/MD" ${variable} "${${variable}}")
endif()
endforeach()
endif()
endif()
endmacro()

View File

@@ -0,0 +1,16 @@
# - macro similar to target_link_libraries, which links Qt components
# names of the components are pased in Qt4/Qt5 agnostic way (Core, DBus, Xml...)
# and the macro links Qt4 ones if QT4_FOUND is set or Qt5 ones if not
macro (target_link_qt_components target)
if (QT4_FOUND)
foreach(_cmp ${ARGN})
list(APPEND _QT_CMPNTS "Qt4::Qt${_cmp}")
endforeach()
else (QT4_FOUND)
foreach(_cmp ${ARGN})
list(APPEND _QT_CMPNTS "Qt5::${_cmp}")
endforeach()
endif (QT4_FOUND)
target_link_libraries(${target} ${_QT_CMPNTS})
endmacro()

View File

@@ -0,0 +1,14 @@
if (STACKTRACE_WIN)
if ("${WINXXBITS}" NOT STREQUAL "Win64")
add_compile_options(-fno-omit-frame-pointer)
endif ("${WINXXBITS}" NOT STREQUAL "Win64")
link_libraries(libdbghelp -Wl,--export-all-symbols)
endif (STACKTRACE_WIN)
if (("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo"))
link_libraries(-Wl,--dynamicbase)
endif()
# LIBS += libadvapi32 libshell32 libuser32
# LIBS += libcrypto.dll libssl.dll libwsock32 libws2_32 libz libiconv.dll
# LIBS += libpowrprof

View File

@@ -0,0 +1,21 @@
if (STACKTRACE_WIN)
if ("${WINXXBITS}" STREQUAL "Win64")
add_compile_options(-Zi)
else ("${WINXXBITS}" STREQUAL "Win64")
# i686 arch requires frame pointer preservation
add_compile_options(-Oy-)
endif ("${WINXXBITS}" STREQUAL "Win64")
link_libraries(dbghelp.lib)
endif (STACKTRACE_WIN)
# Enable Wide characters
add_definitions(-DTORRENT_USE_WPATH)
if (NOT QT5)
# Qt4 does not detect it itself
add_definitions(-DQ_COMPILER_INITIALIZER_LISTS)
endif (NOT QT5)
include(MacroConfigureMSVCRuntime)
set(MSVC_RUNTIME "dynamic")
configure_msvc_runtime()

View File

@@ -0,0 +1,86 @@
# Settings for compiling qBittorrent on Windows
# We want to link with static version of
# libtorrent
set(LibtorrentRasterbar_USE_STATIC_LIBS True)
set(LibtorrentRasterbar_CUSTOM_DEFINITIONS
-DBOOST_ALL_NO_LIB -DBOOST_ASIO_HASH_MAP_BUCKETS=1021
-DBOOST_ASIO_SEPARATE_COMPILATION
-DBOOST_EXCEPTION_DISABLE
-DBOOST_SYSTEM_STATIC_LINK=1
-DTORRENT_USE_OPENSSL
-DUNICODE
-D_UNICODE
-DWIN32
-D_WIN32
-DWIN32_LEAN_AND_MEAN
-D_WIN32_WINNT=0x0501
-D_WIN32_IE=0x0500
-D_CRT_SECURE_NO_DEPRECATE
-D_SCL_SECURE_NO_DEPRECATE
-D__USE_W32_SOCKETS
-D_FILE_OFFSET_BITS=64)
# and boost
set(Boost_USE_STATIC_LIBS True)
# set(Boost_USE_STATIC_RUNTIME True)
# Here we assume that all required libraries are installed into the same prefix
# with usual unix subdirectories (bin, lib, include)
# if so, we just need to set CMAKE_SYSTEM_PREFIX_PATH
# If it is not the case, individual paths need to be specified manually (see below)
set(COMMON_INSTALL_PREFIX "c:/usr")
list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${COMMON_INSTALL_PREFIX}")
# If two version of Qt are installed, separate prefixes are needed most likely
set(QT4_INSTALL_PREFIX "${COMMON_INSTALL_PREFIX}/lib/qt4")
set(QT5_INSTALL_PREFIX "${COMMON_INSTALL_PREFIX}/lib/qt5")
# it is safe to set Qt dirs even if their files are directly in the prefix
# Qt4
if(NOT QT5)
LIST(APPEND CMAKE_PROGRAM_PATH "${QT4_INSTALL_PREFIX}/bin/")
endif(NOT QT5)
# Qt5
set(Qt5_DIR "${QT5_INSTALL_PREFIX}/lib/cmake/Qt5")
# And now we can set specific values for the Boost and libtorrent libraries.
# The following values are generated from the paths listed above just for an example
# they have to be set to actual locations
# Boost
# set(BOOST_ROOT "${COMMON_INSTALL_PREFIX}")
# set(Boost_version_suffix "1_59")
# if a link like boost-version/boost -> boost was created or the boost directory was renamed in the same way,
# the following needs adjustment
# set(BOOST_INCLUDEDIR "${COMMON_INSTALL_PREFIX}/include/boost-${Boost_version_suffix}")
# set(BOOST_LIBRARYDIR "${COMMON_INSTALL_PREFIX}/lib/")
# libtorrent
# set(PC_LIBTORRENT_RASTERBAR_INCLUDEDIR "${COMMON_INSTALL_PREFIX}")
# set(PC_LIBTORRENT_RASTERBAR_LIBDIR "${COMMON_INSTALL_PREFIX}/lib")
set(AUTOGEN_TARGETS_FOLDER "generated")
set(CMAKE_INSTALL_BINDIR ".")
# Test 32/64 bits
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
message(STATUS "Target is 64 bits")
if (WIN32)
set(WINXXBITS Win64)
endif(WIN32)
else("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
message(STATUS "Target is 32 bits")
if (WIN32)
set(WINXXBITS Win32)
endif(WIN32)
endif("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
if (MSVC)
include(winconf-msvc)
else (MSVC)
include(winconf-mingw)
endif (MSVC)

39
codingStyleQtCreator.xml Normal file
View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorCodeStyle>
<!-- Written by QtCreator 3.2.82, 2014-11-26T02:08:28. -->
<qtcreator>
<data>
<variable>CodeStyleData</variable>
<valuemap type="QVariantMap">
<value type="bool" key="AlignAssignments">true</value>
<value type="bool" key="AutoSpacesForTabs">false</value>
<value type="bool" key="BindStarToIdentifier">false</value>
<value type="bool" key="BindStarToLeftSpecifier">true</value>
<value type="bool" key="BindStarToRightSpecifier">false</value>
<value type="bool" key="BindStarToTypeName">true</value>
<value type="bool" key="ExtraPaddingForConditionsIfConfusingAlign">false</value>
<value type="bool" key="IndentAccessSpecifiers">false</value>
<value type="bool" key="IndentBlockBody">true</value>
<value type="bool" key="IndentBlockBraces">false</value>
<value type="bool" key="IndentBlocksRelativeToSwitchLabels">false</value>
<value type="bool" key="IndentClassBraces">false</value>
<value type="bool" key="IndentControlFlowRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentDeclarationsRelativeToAccessSpecifiers">true</value>
<value type="bool" key="IndentEnumBraces">false</value>
<value type="bool" key="IndentFunctionBody">true</value>
<value type="bool" key="IndentFunctionBraces">false</value>
<value type="bool" key="IndentNamespaceBody">true</value>
<value type="bool" key="IndentNamespaceBraces">false</value>
<value type="int" key="IndentSize">4</value>
<value type="bool" key="IndentStatementsRelativeToSwitchLabels">true</value>
<value type="bool" key="IndentSwitchLabels">false</value>
<value type="int" key="PaddingMode">1</value>
<value type="bool" key="SpacesForTabs">true</value>
<value type="int" key="TabSize">4</value>
</valuemap>
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">qBittorrent</value>
</data>
</qtcreator>

2
configure vendored
View File

@@ -8345,7 +8345,7 @@ fi
$as_echo "$as_me: Running qmake to generate the makefile..." >&6;}
CONFDIR="$( cd "$( dirname "$0" )" && pwd )"
$QT_QMAKE -r $CONFDIR/qbittorrent.pro
$QT_QMAKE -r $CONFDIR/qbittorrent.pro "QMAKE_LRELEASE=$QMAKE_LRELEASE"
ret="$?"

View File

@@ -261,7 +261,7 @@ AS_IF([test "x$enable_systemd" = "xyes"],
AC_MSG_NOTICE([Running qmake to generate the makefile...])
CONFDIR="$( cd "$( dirname "$0" )" && pwd )"
$QT_QMAKE -r [$CONFDIR]/qbittorrent.pro
$QT_QMAKE -r [$CONFDIR]/qbittorrent.pro "QMAKE_LRELEASE=$QMAKE_LRELEASE"
ret="$?"

10
dist/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,10 @@
if (APPLE)
add_subdirectory(mac)
else (APPLE)
if (UNIX)
add_subdirectory(unix)
endif (UNIX)
if (WIN32)
add_subdirectory(windows)
endif (WIN32)
endif (APPLE)

0
dist/mac/CMakeLists.txt vendored Normal file
View File

4
dist/mac/Info.plist vendored
View File

@@ -45,7 +45,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.3.0</string>
<string>3.3.4</string>
<key>CFBundleSignature</key>
<string>qBit</string>
<key>CFBundleExecutable</key>
@@ -59,7 +59,7 @@
<key>NSAppleScriptEnabled</key>
<string>YES</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2006-2015 The qBittorrent project</string>
<string>Copyright © 2006-2016 The qBittorrent project</string>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>

2
dist/mac/bundle.cmake vendored Normal file
View File

@@ -0,0 +1,2 @@
include(BundleUtilities)
fixup_bundle("$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/qbittorrent.app" "" "")

37
dist/unix/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,37 @@
if (SYSTEMD)
find_package(Systemd)
if (SYSTEMD_FOUND)
set(EXPAND_BINDIR ${CMAKE_INSTALL_FULL_BINDIR})
configure_file(systemd/qbittorrent-nox.service.in ${CMAKE_CURRENT_BINARY_DIR}/qbittorrent-nox.service @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qbittorrent-nox.service
DESTINATION ${SYSTEMD_SERVICES_INSTALL_DIR}
COMPONENT data)
endif(SYSTEMD_FOUND)
endif(SYSTEMD)
if (GUI)
list(APPEND MAN_FILES ${qBittorrent_SOURCE_DIR}/doc/qbittorrent.1)
else (GUI)
list(APPEND MAN_FILES ${qBittorrent_SOURCE_DIR}/doc/qbittorrent-nox.1)
endif (GUI)
install(FILES ${MAN_FILES}
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
COMPONENT doc)
install(DIRECTORY menuicons/
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor
FILES_MATCHING PATTERN "*.png")
install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps/
COMPONENT data)
install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qBittorrent.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/
COMPONENT data)
install(FILES qBittorrent.appdata.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/appdata/
COMPONENT data)

1
dist/windows/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1 @@
install(FILES qt.conf DESTINATION ${CMAKE_INSTALL_BINDIR})

View File

@@ -41,7 +41,10 @@ installer-translations
translations
qt_ar.qm
...
(all the .qm files found in dist/qt-translations in every source release)
(all the .qm files found in the 'translations' folder of your Qt install. Those files differ between Qt4 and Qt5.
If you want to distribute Qt4 translations it is better to use the ones found in this repo under the path "dist/qt-translations".
They contain extra languages not distributed via the official qt4 sources.
Don't forget to edit the filelist in installer.nsi + uninstaller.nsi to include all your .qm files.)
qt_zh_TW.qm
installer.nsi
license.txt

View File

@@ -16,6 +16,8 @@ LangString inst_firewall ${LANG_AFRIKAANS} "Add Windows Firewall rule"
LangString inst_firewallinfo ${LANG_AFRIKAANS} "Adding Windows Firewall rule"
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
LangString inst_warning ${LANG_AFRIKAANS} "qBittorrent is running. Please close the application before installing."
;LangString inst_uninstall_question ${LANG_ENGLISH} "A previous installation was detected. It will be uninstalled without deleting user settings."
LangString inst_uninstall_question ${LANG_AFRIKAANS} "A previous installation was detected. It will be uninstalled without deleting user settings."
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
LangString inst_unist ${LANG_AFRIKAANS} "Uninstalling previous version."
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."

View File

@@ -16,6 +16,8 @@ LangString inst_firewall ${LANG_ALBANIAN} "Add Windows Firewall rule"
LangString inst_firewallinfo ${LANG_ALBANIAN} "Adding Windows Firewall rule"
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
LangString inst_warning ${LANG_ALBANIAN} "qBittorrent is running. Please close the application before installing."
;LangString inst_uninstall_question ${LANG_ENGLISH} "A previous installation was detected. It will be uninstalled without deleting user settings."
LangString inst_uninstall_question ${LANG_ALBANIAN} "A previous installation was detected. It will be uninstalled without deleting user settings."
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
LangString inst_unist ${LANG_ALBANIAN} "Uninstalling previous version."
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."

View File

@@ -16,6 +16,8 @@ LangString inst_firewall ${LANG_ARABIC} "اضافة قاعدة للجدار ال
LangString inst_firewallinfo ${LANG_ARABIC} "جاري اضافة القاعدة للجدار الناري"
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
LangString inst_warning ${LANG_ARABIC} "البرنامج يعمل. يرجى اغلاقه قبل البدء في التنصيب"
;LangString inst_uninstall_question ${LANG_ENGLISH} "A previous installation was detected. It will be uninstalled without deleting user settings."
LangString inst_uninstall_question ${LANG_ARABIC} "A previous installation was detected. It will be uninstalled without deleting user settings."
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
LangString inst_unist ${LANG_ARABIC} "جاري ازالة النسخة السابقة من البرنامج"
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."

View File

@@ -16,6 +16,8 @@ LangString inst_firewall ${LANG_BASQUE} "Gehitu Windows Suhesi araua"
LangString inst_firewallinfo ${LANG_BASQUE} "Windows Suhesi araua gehitzen"
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
LangString inst_warning ${LANG_BASQUE} "qBittorrent ekinean dago. Mesedez itxi aplikazioa ezarri aurretik."
;LangString inst_uninstall_question ${LANG_ENGLISH} "A previous installation was detected. It will be uninstalled without deleting user settings."
LangString inst_uninstall_question ${LANG_BASQUE} "A previous installation was detected. It will be uninstalled without deleting user settings."
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
LangString inst_unist ${LANG_BASQUE} "Aurreko bertsioa kentzen."
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."

Some files were not shown because too many files have changed in this diff Show More