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

Compare commits

..

287 Commits

Author SHA1 Message Date
sledgehammer999
7246b0c254 Bump to 3.1.10 2014-09-21 20:50:00 +03:00
sledgehammer999
03345b95c1 Update Changelog. 2014-09-21 20:11:41 +03:00
sledgehammer999
16f6e26f67 Fix again libtorrent 0.15.x compilation. 2014-09-21 20:11:40 +03:00
sledgehammer999
5e643ffefd Sync translations from Transifex and run lupdate. 2014-09-21 19:55:48 +03:00
sledgehammer999
0bd4308d0f Truly sync the changes in the file assocations code/installer with master. 2014-09-21 19:50:37 +03:00
Vladimir Golovnev (Glassez)
c78ad12144 Fix Windows file associations creation.
Now qBittorrent create global ProgId during installation (using HKLM hive)
and allow to associate .torrent files with it (using HKCU).

Conflicts:
	src/preferences/preferences.h
	src/windows/installer.nsi
	src/windows/uninstaller.nsi
2014-09-21 19:40:38 +03:00
sledgehammer999
cb838edb50 Fix compilation with libtorrent 0.15.x. 2014-09-21 14:38:38 +03:00
sledgehammer999
8fac3c793d Fix large cache support on amd64 arch pt2. 2014-09-21 14:02:19 +03:00
sledgehammer999
26896de9ad Consider queued items before deciding to 'auto-shutdown on downloads completion'. Closes #1942. 2014-09-21 13:59:02 +03:00
Nick Tiskov
238715ad22 Work around magnet redirection in feeds 2014-09-21 13:58:47 +03:00
Nick Tiskov
a3710251a7 Fix large cache support on amd64 arch
Conflicts:
	src/preferences/preferences.cpp
2014-09-21 13:58:29 +03:00
masux
f6634ccacd This fix qbittorrent/qBittorrent#1949 2014-09-21 13:56:04 +03:00
Martin Janco
e4df557208 Fixed extratorrent.cc search engine. 2014-09-15 17:40:13 +03:00
sledgehammer999
355c55452a Sync translations from Transifex and run lupdate. 2014-09-14 23:57:25 +03:00
sledgehammer999
87350e3842 Merge pull request #1573 from lojack5/lojack-fix-import-torrent
fix import torrent
2014-09-14 23:28:53 +03:00
sledgehammer999
0031cfc60a Don't display the Search Engine tab by default.
Conflicts:
	src/preferences/preferences.cpp
2014-09-14 23:24:22 +03:00
sledgehammer999
d0374dd425 WINDOWS: Search first in PATH for python. Closes #956.
Conflicts:
	src/mainwindow.cpp
2014-09-14 23:24:21 +03:00
sledgehammer999
d8c8d51386 WINDOWS: Can now correctly detect 64bit and 32bit python installations on 64bit Windows. Closes #1148 #445 #795 #1708.
Conflicts:
	src/preferences/preferences.cpp
2014-09-14 23:07:42 +03:00
sledgehammer999
5740c933fb WINDOWS: Don't create keys in the registry if python isn't found. Closes #1370.
Conflicts:
	src/preferences/preferences.cpp
2014-09-14 23:06:08 +03:00
sledgehammer999
1f13dd0cc3 WINDOWS: Check for python before creating the search engine tab. Prevents the creation of python specific files in the user's PC if no python is found. Closes #1370.
Conflicts:
	src/mainwindow.cpp
	src/searchengine/searchengine.cpp
	src/searchengine/searchengine.h
2014-09-14 22:32:58 +03:00
sledgehammer999
84d9fc2da2 SMTP: send the local hostname as FQDN. See discussion in #1845 for more info.
Conflicts:
	src/smtp.cpp
2014-09-13 18:01:59 +03:00
sledgehammer999
47ec418e9c Forward declare classes where possible in 'TransferListWidget'. 2014-09-13 17:05:44 +03:00
sledgehammer999
72ca101830 Show stalled downloads that are uploading under the 'Active' filter. Closes #1654." 2014-09-13 17:05:31 +03:00
sledgehammer999
0625ef62c1 SMTP: Fix edge case where nothing was sent when no authentication was needed. Relates to #1845. 2014-09-02 17:57:47 +03:00
sledgehammer999
8161185b08 Fix build. 2014-09-02 15:28:26 +03:00
sledgehammer999
739132ec82 Don't use IPv4 addresses when the user has enabled IPv6 address in the settings.
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
	src/smtp.cpp
2014-09-02 15:09:00 +03:00
sledgehammer999
cf61dd3d09 SMTP: Fix finding the local address. 2014-09-02 15:07:18 +03:00
sledgehammer999
82768e2098 SMTP: Send the IP of the configured Network Interface. Relates to #1845.
Conflicts:
	src/smtp.cpp
2014-09-01 15:13:32 +03:00
sledgehammer999
3b9dc7add2 SMTP: Support multiline greeting from server in INIT state. Thanks to Ivanov Juriy for helping identify the problem. Relates to #1845. 2014-08-31 14:33:37 +03:00
sledgehammer999
af2145d567 Fix available disk space label on single file torrents. 2014-08-31 00:15:47 +03:00
sledgehammer999
d7d604d83a Don't translate file extensions. Closes #1907. 2014-08-30 22:18:44 +03:00
sledgehammer999
9aaf958fad Don't display the context menu in 'Content' and 'HTTP Sources' buttons when no torrent is selected. It prevents crashes. Closes #1906, #1900. 2014-08-30 19:54:01 +03:00
Ivanov Juriy
20204ac4c4 Add peer port column to PeerListWidget. Closes #1650. 2014-08-30 19:28:29 +03:00
sledgehammer999
0c3d5f0430 Right align numerical values in the transfer list. Partially revert 51a9a9aab. Closes #1903. 2014-08-30 18:52:32 +03:00
Ivanov Juriy
820a558bca add host address parameter to helo smtp request
Conflicts:
	src/smtp.cpp
2014-08-28 23:20:58 +03:00
sledgehammer999
19ac362103 Possible fix for crash in RSS code. Closes #1901. 2014-08-28 18:52:48 +03:00
Benjamin Hutchins
f64e8f9459 Removed essentially useless "Visit website" iframe and changed it to a regular link. Improves fix qbittorrent/qBittorrent#1343 2014-08-28 18:31:45 +03:00
Benjamin Hutchins
bc77a7c2d1 Removed broken "Documentation" iframe from the webui. Improves fix qbittorrent/qBittorrent#1343 2014-08-28 18:31:34 +03:00
Benjamin Hutchins
1a7f2b29b7 Removed broken Report a bug iframe from the webui. fixes qbittorrent/qBittorrent#1343 2014-08-28 18:31:23 +03:00
sledgehammer999
037aaf752e Don't disable DHT/LSD/UPnP in the GUI when anonymous mode is enabled.
Conflicts:
	src/preferences/options_imp.cpp
2014-08-26 00:41:52 +03:00
sledgehammer999
5cb04f9b31 Set 'Cancel' as the default button in the shutdown confirmation dialog. 2014-08-23 23:23:33 +03:00
sledgehammer999
ac166a89ae Fix libtorrent 0.15.x compilation. 2014-08-23 22:51:04 +03:00
sledgehammer999
cd9515982d Sync translations from Transifex and run lupdate. 2014-08-23 22:27:58 +03:00
sledgehammer999
808a4d7e9b Added 'Shutdown now' button in shutdown confirmation dialog. Closes #969.
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
2014-08-23 22:18:51 +03:00
sledgehammer999
f75f5616b1 Split ShutdownConfirmDlg into .h/.cpp files. 2014-08-23 21:56:59 +03:00
sledgehammer999
da81d3351d Don't listen on IPv6 address by default. Prevents network connectivity problems. Closes #1880.
Conflicts:
	src/preferences/advancedsettings.h
	src/preferences/preferences.cpp
	src/preferences/preferences.h
	src/qtlibtorrent/qbtsession.cpp
2014-08-23 21:48:21 +03:00
sledgehammer999
9d05d864e2 Sync translations from Transifex and run lupdate. 2014-08-15 13:36:44 +03:00
sledgehammer999
9aee1632ae Add 'Open' and 'Open Containing Folder' entries in the content's right-click menu. Closes #1143.
Conflicts:
	src/properties/propertieswidget.cpp
2014-08-15 12:59:45 +03:00
sledgehammer999
714cfe3241 Fix the adding of .torrent files via http links which was broken by 6f5f661f3. 2014-08-15 11:54:03 +03:00
sledgehammer999
ddbe5b18d5 Sort finished torrents by completed date when sorting by queue number. 2014-08-15 02:25:38 +03:00
sledgehammer999
15a948675b Don't mix finished/unifinished torrents when sorting by ETA. Closes #1688. 2014-08-15 02:25:14 +03:00
sledgehammer999
cea3f71e61 Added 'Ratio Limit' column. Closes #936. 2014-08-14 21:27:29 +03:00
sledgehammer999
d04f829e35 Add 'Completed' column. Closes #1241.
Conflicts:
	src/qtlibtorrent/torrentmodel.cpp
2014-08-14 21:27:08 +03:00
sledgehammer999
e252c19342 Sync translations from Transifex and run lupdate. 2014-08-10 01:26:17 +03:00
sledgehammer999
2f0d6815c9 Show disk space while retrieving metadata. Closes #1693. 2014-08-10 00:58:02 +03:00
sledgehammer999
54eaf51880 When qBT is launched with a magnet don't show it in the transferlist while the metadata are being loaded in the background. 2014-08-10 00:39:41 +03:00
sledgehammer999
6f5f661f30 Show the loaded torrents in the transferlist when qBT is launched with a torrent/magnet and the AddNewTorrentDialog is showing. Closes #1564.
Conflicts:
	src/mainwindow.cpp
2014-08-10 00:38:51 +03:00
sledgehammer999
8659fec3f2 Don't shrink transferlist rows when scrolling horizontally. Closes #1613. 2014-08-08 23:34:00 +03:00
sledgehammer999
2cf8b86dad Revert "Fix WebUI sort by size/speed for some locales (with comma as decimal point)."
This reverts commit 6cf780f57c.
2014-08-08 03:11:29 +03:00
sledgehammer999
0b0e9675c4 Revert "Fix WebUI sort by ratio for some locales (with comma as decimal point)."
This reverts commit ef328f83c5.
2014-08-08 03:11:11 +03:00
sledgehammer999
8267bd6434 Don't localize double numbers in the webui. Closes #1525.
Conflicts:
	src/misc.h
	src/webui/btjson.cpp
2014-08-08 03:09:47 +03:00
sledgehammer999
6593cb774d Run lupdate. 2014-08-08 00:09:24 +03:00
sledgehammer999
fcee431dee Sync translations from Transifex. 2014-08-08 00:05:42 +03:00
sledgehammer999
60d7e3ef30 Allow disabling of OS cache. This will prevent RAM increases on Windows when seeding many files. Closes #1699.
Conflicts:
	src/preferences/advancedsettings.h
	src/preferences/preferences.cpp
	src/preferences/preferences.h
	src/qtlibtorrent/qbtsession.cpp
2014-08-07 23:44:12 +03:00
sledgehammer999
dac8e20aad Limit max cache to 1800MiB for 32bits compiled binaries and to 4GiB for other. Closes #1698.
Conflicts:
	src/preferences/advancedsettings.h
	src/preferences/preferences.cpp
2014-08-07 23:29:15 +03:00
sledgehammer999
d845b57ad1 Installer correctly associates torrents and magnet links with qBittorrent under non-admin accounts. Closes #291 #527 #579 #614 #964.
Conflicts:
	src/windows/installer.nsi
	src/windows/options.nsi
	src/windows/uninstaller.nsi
2014-07-30 00:15:33 +03:00
sledgehammer999
a9310e0f19 Run lupdate. 2014-07-16 00:53:10 +03:00
sledgehammer999
6c56e9736c Sync translations from Transifex. 2014-07-16 00:51:35 +03:00
sledgehammer999
b63915f10a Fix possible crashes. Closes #1814. 2014-07-14 22:02:39 +03:00
Bryan Roscoe
bf173d894c Fix column resizing issues 2014-07-14 22:02:25 +03:00
sledgehammer999
d11e0f523c Manually backport from master, commit 00e09435 and its fixes. Original author Bruno Barbieri. 2014-07-07 00:30:24 +03:00
sledgehammer999
e09d75f68e Manually backport from master, commit 6dabf50 and its fixes. Original author Ivan Sorokin. 2014-07-06 22:20:12 +03:00
Ivan Sorokin
077006d4d6 Suppress warning about signed/unsigned mismatch. 2014-07-06 21:41:41 +03:00
sledgehammer999
092a1d4f33 Bring mainwindow in front when notification is clicked and other windows are in front. 2014-06-19 00:11:36 +03:00
sledgehammer999
0047ba5dc5 Update search engines versions.txt file. Closes #1745. 2014-06-08 23:59:45 +03:00
sledgehammer999
42efa21ef3 Fix libtorrent 0.15.x compilation. 2014-06-04 22:18:29 +03:00
Vladimir Golovnev (Glassez)
09538393a6 Use new JSON parser/generator. Closes #1395.
Qt4: Use QJson (http://qjson.sourceforge.net).
Qt5: Use native Qt JSON API.

Conflicts:
	src/webui/btjson.cpp
	src/webui/prefjson.cpp
2014-06-04 21:33:13 +03:00
Vladimir Golovnev (Glassez)
2b6ee130a2 Add QJson files.
Conflicts:
	src/webui/webui.pri
2014-06-04 20:35:12 +03:00
Vladimir Golovnev (Glassez)
b14777584e Remove old JSON classes.
Conflicts:
	src/webui/json.cpp
	src/webui/webui.pri
2014-06-04 20:31:27 +03:00
sledgehammer999
d8c40084a7 Rework the GUI code for private torrents.
Conflicts:
	src/qtlibtorrent/qtorrenthandle.cpp
2014-06-04 01:10:29 +03:00
sledgehammer999
4aa9ed946f Fix compilation with libtorrent 0.15.x. 2014-05-15 23:15:19 +03:00
sledgehammer999
b6ef38e7a7 Count magnet links in the 'downloading' filter and make them prevent system inhibition. Closes #1558 2014-05-15 22:02:29 +03:00
sledgehammer999
0f900268da Fix tracker announcing problem(hit-and-run) when many torrents are being active. Closes #1571 2014-05-15 22:02:19 +03:00
sledgehammer999
c1831a4e97 Fix crash when the selected torrent disappears from the transfer list. Closes #1661 2014-05-15 21:00:41 +03:00
Ivan Sorokin
6d961cdcc5 Don't show availability bar for magnet links
This commit fixes an exception in PropertiesWidget:

"Caught exception in PropertiesWidget::loadDynamicData():  invalid
torrent handle used"

This exception occurs when an user clicks on a torrent that doesn't have
a metadata (when a magnet link is not resolved yet). One should not call
torrent_handle::get_torrent_info when torrent doesn't have a metadata.
2014-05-15 21:00:30 +03:00
sledgehammer999
292e077562 Fix nox build on MAC OSX. 2014-05-13 19:33:42 +03:00
Ivan Sorokin
e2bebdf57b fix issue #1674: AddNewTorrentDialog is shown again and again even if checkbox "dont ask me again" is set 2014-05-13 19:33:27 +03:00
sledgehammer999
db6cc8336b Use 'μTP' instead of 'uTP'. 2014-05-13 19:32:36 +03:00
sledgehammer999
1af271653a Revert "Fix libtorrent 1.0.0 compilation. Closes #1659"
This reverts commit f4a9597ae8.
2014-05-13 19:29:44 +03:00
sledgehammer999
bd1a34bebe Revert "Fix compilation with libtorrent 0.15.x"
This reverts commit 7ccefae3f8.
2014-05-13 19:26:33 +03:00
sledgehammer999
7ccefae3f8 Fix compilation with libtorrent 0.15.x 2014-05-10 00:39:29 +03:00
sledgehammer999
f4a9597ae8 Fix libtorrent 1.0.0 compilation. Closes #1659
Conflicts:
	src/properties/peerlistwidget.cpp
2014-05-10 00:14:54 +03:00
sledgehammer999
41e5216371 Fix weird ratio values when torrent was imported or downloaded history was lost due to crash. 2014-05-05 21:49:34 +03:00
sledgehammer999
b41b044d02 Enable system tray in MACOSX (Nick Korotysh). 2014-05-05 21:49:28 +03:00
sledgehammer999
8d5cfcdabd Update README file. 2014-05-04 16:30:43 +03:00
Mariusz Fik
ef58c08876 Use markdown in README and display travis-ci build status for master branch.
Signed-off-by: Mariusz Fik <fisiu@opensuse.org>
2014-05-04 16:29:34 +03:00
sledgehammer999
52f59371cf Revert "Point travis to the new svn repo of libtorrent."
This reverts commit 8305d8ff64.
2014-05-04 15:44:39 +03:00
sledgehammer999
311e78d016 Fix RSS feed icon. The tmp file gets deleted in the feed destructor. Closes #1639 2014-05-04 15:38:59 +03:00
sledgehammer999
d1c514ea3e Bump to 3.1.9.2 2014-04-29 16:05:48 +03:00
sledgehammer999
3974861955 Updated Changelog. 2014-04-29 16:05:25 +03:00
sledgehammer999
af04d80d93 Update Changelog. 2014-04-28 23:11:43 +03:00
sledgehammer999
de9d675d3d Bump to 3.1.9.1
This is an excuse to produce new builds with an OpenSSL version that isn't affected by the heartbleed bug for Windows and Mac. This bug should only affect the WebUI and only if HTTPS/SSL authentication was enabled.
2014-04-28 23:00:55 +03:00
lojack5
b734532b18 fix import torrent with "Keep incomplete torrents in:" ticked
* also had to account for "Append the label of the torrent to the save path",
  but again, this was only an issue when "Keep incomplete torrents in:" is
  selected

* A multi-file torrent with only one file (ie: a single file within a folder),
  was being treated as a single-file torrent, making it impossible to import.
  Multi-file torrent detection code was copied from libtorrent.  The
  information is available in libtorrent (under torrent_info::m_multifile),
  however it's a private member and I chose to go with copying the code that
  determines it, rather than modifying a library qBittorrent depends on.
2014-04-13 09:58:14 -06:00
sledgehammer999
bfd864efce Bump to 3.1.9 2014-03-01 13:21:21 +02:00
sledgehammer999
573b0d921e Update Changelog. 2014-03-01 13:18:55 +02:00
sledgehammer999
758e357fc5 Sync translations from Transifex. 2014-03-01 13:18:52 +02:00
sledgehammer999
0b235dc968 Fix autoupdater. Send our user-agent to sourceforge.net 2014-03-01 13:04:01 +02:00
sledgehammer999
8305d8ff64 Point travis to the new svn repo of libtorrent. 2014-03-01 13:00:04 +02:00
Evgeny Lensky
534a94310d Fix build using qt < 4.7 Closes #1385 2014-03-01 12:54:17 +02:00
alfrix
26e6787e85 Fix queue sorting order fixes #1120 2014-02-11 00:27:37 +02:00
sledgehammer999
c659a180d2 Fix missing percentage signs. Closes #1392. 2014-02-06 00:52:05 +02:00
sledgehammer999
632faf55be Fix build with libtorrent 0.15.x 2014-02-05 21:50:29 +02:00
sledgehammer999
5c7bc46451 Pretty up last commit. 2014-02-05 21:35:50 +02:00
alfrix
6932c960da Add button for links in toolbar (fixes #450 2014-02-05 21:35:37 +02:00
bob23450
a4d9e65d38 Fix nox build. Closes #1368 2014-02-05 21:35:25 +02:00
sledgehammer999
ab83c2fff5 Bump to 3.1.8 2014-02-02 22:49:22 +02:00
sledgehammer999
106f5d7cc0 Update Changelog. 2014-02-02 22:47:57 +02:00
sledgehammer999
11943f6b88 Really fix build of v3.1.6 2014-02-02 22:47:03 +02:00
sledgehammer999
665e0967a5 Revert "Fix build of v3.1.6"
This reverts commit b294d89b4f.
2014-02-02 22:44:16 +02:00
sledgehammer999
85b42fc3cf Bump to 3.1.7 2014-02-02 22:29:30 +02:00
sledgehammer999
99e6d0010d Update Changelog. 2014-02-02 22:27:34 +02:00
sledgehammer999
b294d89b4f Fix build of v3.1.6 2014-02-02 22:25:16 +02:00
sledgehammer999
b78d1a82df Bump to 3.1.6 2014-02-02 21:04:17 +02:00
sledgehammer999
96644c12ab Update Changelog. 2014-02-02 21:02:04 +02:00
sledgehammer999
45d10b1398 Sync translations from Transifex. 2014-02-02 21:02:01 +02:00
Vladimir Golovnev (Glassez)
ef328f83c5 Fix WebUI sort by ratio for some locales (with comma as decimal point). 2014-02-02 20:36:40 +02:00
Vladimir Golovnev (Glassez)
6cf780f57c Fix WebUI sort by size/speed for some locales (with comma as decimal point). 2014-02-02 20:36:28 +02:00
sledgehammer999
37b048f2ab Correctly restore 'name' column width when loading magnet links in the 'Add new torrent dialog'. Closes #1334. 2014-02-02 20:36:15 +02:00
sledgehammer999
260ed50f10 Reuse code in AddNewTorrentDialog. #894.
Conflicts:
	src/addnewtorrentdialog.cpp
2014-02-02 20:33:50 +02:00
sledgehammer999
307b5b7091 Correctly resize 'name' column of the content tab. Closes #1360. 2014-02-02 20:14:32 +02:00
sledgehammer999
1de9da89c1 Bring dialog boxes in the front when qbt doesn't have focus.
Code inspired by glassez patch.
2014-02-02 20:14:19 +02:00
sledgehammer999
5fadb0d53e Don't re-announce to trackers when torrent is paused. Closes #1310.
Conflicts:
	src/properties/trackerlist.cpp
2014-01-26 20:10:26 +02:00
sledgehammer999
49fa853dde Launch external programs async and don't block. Closes #1252. 2014-01-26 20:04:14 +02:00
sledgehammer999
7555380964 Don't show a popup menu when no torrent is selected. 2014-01-26 20:04:01 +02:00
Nick Tiskov
36d299f891 Fix missing percent sign in stats dialog 2014-01-26 14:28:00 +02:00
sledgehammer999
658cc53f85 Add our WM_CLASS in the .desktop file so window managers know how to group our windows. 2014-01-26 13:48:43 +02:00
sledgehammer999
08f4c0ed12 Explicitle tell that we don't support freedesktop's startup notify standard. Fixes GNOME issues. Closes #1217. 2014-01-26 13:48:31 +02:00
sledgehammer999
5917b33ec6 Fix overstretched options dialog. Closes #1293. 2014-01-26 13:40:03 +02:00
sledgehammer999
65ec3d0e0f Run lupdate. 2014-01-26 02:03:43 +02:00
Nick Tiskov
61c0c439f1 Use shorter names for amount columns in main UI 2014-01-26 02:01:09 +02:00
sledgehammer999
4cbe3fd6f7 Improvements on the behavior of the program updater(closes #1282):
1. Check for updates every hour
2. Don't check again for this session if the user chose to ignore the new version
3. Display a message if the user checked for updates via the menu item and there isn't one
4. Remove dead code
2014-01-25 21:06:34 +02:00
sledgehammer999
94df3f44d7 Fix extratorrents search plugin. 2014-01-25 21:06:23 +02:00
sledgehammer999
370effd0d3 Statistics: handle case where user has gone back to older version. 2014-01-25 21:06:11 +02:00
Vladimir Golovnev (Glassez)
ff6e058dea Fix sorting by size in WebUI when non-default locale used. 2014-01-25 21:06:00 +02:00
Vladimir Golovnev (Glassez)
d3a6bcf7bf Improve HttpConnection::translateDocument(). 2014-01-25 21:05:48 +02:00
sledgehammer999
c6a9a94331 Allow 2 decimals when setting the share ratio. Closes #1303. 2014-01-23 00:26:20 +02:00
sledgehammer999
abdcaebc8e Output a more generic message when blocking IPs and don't use italics in the log. 2014-01-22 23:58:31 +02:00
sledgehammer999
c5a433a71e Fix share ratio text. 2014-01-22 23:45:21 +02:00
sledgehammer999
0a10b98975 Improvements on accurateDoubleToString().
Conflicts:
	src/misc.h
2014-01-21 17:45:11 +02:00
sledgehammer999
506f933c48 Improvements on statistics saving. 2014-01-21 17:43:05 +02:00
sledgehammer999
1399a9c86a Fix condition checking in statistics saving. 2014-01-21 16:58:12 +02:00
sledgehammer999
1fc916865c Convert more accurately decimal numbers to text.
Conflicts:
	src/misc.h
2014-01-21 02:17:49 +02:00
sledgehammer999
8790092a81 Save statistics every 15min and only if there was new traffic. Fixes #1288 and partially #1272. 2014-01-21 02:16:26 +02:00
sledgehammer999
00f9180b81 Reposition statistics menu item. 2014-01-21 02:16:12 +02:00
BTDigg research team
0236b1bd6d Fix issue with SSL under Win32 2014-01-21 02:15:59 +02:00
Angel Alonso
bb61b3c05f Fix peers and seeds sorting in transfer list.
When active peers (or seeds) of two torrents are the same we sort by total peers
(or seeds).
2014-01-21 02:15:48 +02:00
sledgehammer999
78469c8faa Fix 'preview file' regression. Closes #1285. 2014-01-18 15:04:28 +02:00
sledgehammer999
3947f9c8ae Bump to 3.1.5 2014-01-16 23:41:22 +02:00
sledgehammer999
6c6ebaf485 Update Changelog. 2014-01-16 23:36:58 +02:00
sledgehammer999
57915462b0 Sync translations from Transifex. 2014-01-16 23:35:28 +02:00
sledgehammer999
8b94da20d3 Don't count paused torrents for the autoshutdown. Closes #1280. 2014-01-16 16:17:50 +02:00
Sébastien Lavoie
84c65c2b50 Issue #1251 - Added basic retina support 2014-01-12 15:16:40 +02:00
Nick Tiskov
e8c9db0084 Fix rss settings corruption when checking regexp and going to other rule. 2014-01-12 15:16:30 +02:00
sledgehammer999
19419b85ff Correctly remove isohunt engine. 2014-01-11 18:31:22 +02:00
sledgehammer999
5eb8a2a9f0 Remove isohunt search engine. 2014-01-11 18:14:47 +02:00
sledgehammer999
95bdb61ad2 Fix piratebay search engine. 2014-01-11 18:14:35 +02:00
Konstantin Goncharik
d79c79b4ae In preferences.h now argument is const references 2014-01-06 02:35:47 +02:00
Konstantin Goncharik
9b77d1f9f3 In statsdialog.cpp fix initialization iEnd 2014-01-06 02:35:34 +02:00
Konstantin Goncharik
659fa242e2 In smtp.cpp fix 'ct' reassign. 2014-01-06 02:35:22 +02:00
Konstantin Goncharik
1ba13b32a8 In rssdownloadrule.{cpp,h} 'RssDownloadRule::operator==' made const. 2014-01-06 02:35:09 +02:00
Konstantin Goncharik
1c38568f42 In qbtsession.cpp exception made caught by reference
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
2014-01-06 02:34:52 +02:00
Konstantin Goncharik
7c1f712181 In qtorrenthandle.cpp exception made caught by reference 2014-01-06 02:34:11 +02:00
sledgehammer999
81d813c4c5 Fix notifications with xfce4-notifyd. 2014-01-04 19:41:59 +02:00
sledgehammer999
2cf7e94767 Force write settings to disk before exiting. 2014-01-04 19:41:47 +02:00
sledgehammer999
9f71dd2c61 Correctly detect libtorrent version. 2014-01-03 02:37:14 +02:00
sledgehammer999
f93374a946 Delete temporary after they aren't needed. Closes #1188. 2014-01-03 02:37:13 +02:00
sledgehammer999
4158465109 Ensure that the options window will always be placed onscreen. Closes #1226. 2014-01-03 02:37:12 +02:00
sledgehammer999
125d130984 Ensure that at least one column in the tranferlist is always visible. Closes #1165. 2014-01-03 02:37:11 +02:00
sledgehammer999
f66ef95918 Allow to resize the columns in Add New Torrent dialog. Closes #1207 #676 2014-01-03 02:37:11 +02:00
sledgehammer999
634b4d4f4d Preview now correctly uses the selected file. Closes #1222 #1182. 2014-01-03 02:37:10 +02:00
sledgehammer999
ced950a764 Do cleanup work in an earlier stage to ensure correct conf saving. 2014-01-03 02:37:09 +02:00
sledgehammer999
d84c367db5 Fix compilation with Qt 4.7. Closes #1215. 2013-12-31 19:58:21 +02:00
sledgehammer999
79aa3dfbcf Bump to 3.1.4 2013-12-29 19:06:39 +02:00
sledgehammer999
a308c6b9d0 Update Changelog. 2013-12-29 19:04:27 +02:00
sledgehammer999
614c1f5d6e Sync translations from Transifex. 2013-12-29 18:57:51 +02:00
sledgehammer999
fde9c2b9e9 Sort labels in 'Add new torrent' dialog. Closes #1150 #411. 2013-12-29 18:52:06 +02:00
Faheem Pervez
84a39671de Make sleep and shutdown functions work on systemd's logind 2013-12-29 18:51:54 +02:00
Nick Tiskov
20086543de 1. Use a better icon for stats dialog.
2. Use more reliable session_status.total_download/upload for statistics
2013-12-29 18:51:41 +02:00
sledgehammer999
1002e69e44 Fix previous commit. 2013-12-26 01:32:41 +02:00
sledgehammer999
09aa930142 Second attempt at fixing saving settings on shutdown. 2013-12-26 01:32:31 +02:00
sledgehammer999
ada76381a1 Lock toolbar in place. Closes #1144. 2013-11-30 14:17:14 +02:00
sledgehammer999
e4d5e38727 Fix resizing grip location. Closes #1146. 2013-11-30 14:17:02 +02:00
sledgehammer999
99349193b4 Run lupdate. 2013-11-30 13:21:11 +02:00
sledgehammer999
d69047df2e Update Changelog. 2013-11-30 13:16:46 +02:00
Nick Tiskov
8318fc2b61 Fix 'peer from PEX' message 2013-11-30 13:07:39 +02:00
sledgehammer999
ff5a633a8e Fix build system under Ubuntu 13.10 2013-11-26 23:56:48 +02:00
sledgehammer999
28fcadc9ee Fix linux compilation. 2013-11-23 15:24:27 +02:00
doadin
8a98cd5e20 Fix Typo 2013-11-23 15:08:46 +02:00
sledgehammer999
0706c3b3c8 Run lupdate. 2013-11-23 15:03:42 +02:00
sledgehammer999
17188e31c5 Check for program updates every 15min and allow the user to manually check for updates through the help menu. 2013-11-23 15:00:54 +02:00
sledgehammer999
45d1e93ad2 Fix compilation with libtorrent 0.15.x. 2013-11-23 13:23:22 +02:00
sledgehammer999
4c6f8413cb Run lupdate. 2013-11-21 18:33:56 +02:00
sledgehammer999
db5e06a48f Add tooltip for the peers' flags. Closes #1068.
Conflicts:
	src/properties/peerlistwidget.cpp
2013-11-21 18:23:12 +02:00
sledgehammer999
e51013117c Improve the message of the deletion dialog. Closes #1073. 2013-11-21 18:21:42 +02:00
Nick Tiskov
11148fcda6 Add dialog to show statistics 2013-11-21 18:21:31 +02:00
Nick Tiskov
d74e96f65f Collect and save alltime UL/DL samples
Conflicts:
	src/qtlibtorrent/torrentspeedmonitor.cpp
2013-11-21 18:21:15 +02:00
sledgehammer999
454cd4c120 Bumpt to 3.1.3 2013-11-20 00:52:37 +02:00
sledgehammer999
8d5992d7cf Update Changelog. 2013-11-20 00:52:37 +02:00
sledgehammer999
c37ad843b4 Sync translations from Transifex. 2013-11-20 00:52:36 +02:00
sledgehammer999
2d130bfa85 Improve detection of conf.pri. 2013-11-20 00:33:38 +02:00
sledgehammer999
4ac1f7b09e Revert "Don't prefer TCP connections over uTP."
This reverts commit a052963775.
2013-11-20 00:33:37 +02:00
sledgehammer999
db8d8b73a1 Update Changelog. 2013-11-18 01:36:29 +02:00
sledgehammer999
c2dbf50d0b Correctly update tracker tier number in the trackers tab. Closes #1075. 2013-11-18 01:33:38 +02:00
sledgehammer999
7bb99ceeea Fix WebUI link to 'Anonymous mode' explanation. Closes #1093. 2013-11-18 01:33:28 +02:00
sledgehammer999
44fff4f503 Update Changelog. 2013-11-16 21:59:56 +02:00
sledgehammer999
a087232404 Correctly detect if the browser supports gzip compression. 2013-11-16 21:53:09 +02:00
sledgehammer999
ac96667af2 WebUI: Don't gzip too small payloads. 2013-11-16 21:53:00 +02:00
sledgehammer999
8f5a0a273f Fix inhibit system functionality. Closes #766. 2013-11-16 21:52:51 +02:00
Artem S. Tashkinov
74869d87f6 Always show a peer IP address as a tool tip
Helps to see a peer IP address when reverse name resolution is enabled.
2013-11-16 21:52:40 +02:00
Artem S. Tashkinov
1f0ccabd1c Remove hardcoded Lucida Grande and decrease a font size 2013-11-16 21:52:31 +02:00
Zach Thibeau
c6e294a130 added fontfix for osx 2013-11-16 21:52:22 +02:00
Angel Alonso
96bff490a3 Strip some png to fix incorrect sRGB profiles.
libpng complained about incorrent sRGB profiles in some png's.
"libpng: iCCP: known incorrect sRGB profile".
2013-11-16 21:52:04 +02:00
Angel Alonso
7c3155ba44 Add a key shortcut to "Add link to torrent..."
"Ctrl-Shift-O" will open the "Add link to torrent..." window.
2013-11-16 21:51:52 +02:00
Zach Thibeau
74b26edc0d Updated search plugin's URL 2013-11-16 21:51:44 +02:00
sledgehammer999
959ee4c46b Update Changelog. 2013-11-10 04:14:47 +02:00
sledgehammer999
4a9b772b72 Fix indentation in lineedit code. 2013-11-10 04:13:02 +02:00
sledgehammer999
d5aef5c8cc Expand folders when filtering files. Closes #1076. 2013-11-10 04:12:52 +02:00
sledgehammer999
7780e9ad0a Hide empty folders after filtering. Closes #74. 2013-11-10 04:12:43 +02:00
sledgehammer999
4612a5a882 Update Changelog. 2013-11-09 21:24:16 +02:00
sledgehammer999
3a5fe38be0 Small optimization of WebUI responses when there isn't a data payload. 2013-11-09 21:19:43 +02:00
sledgehammer999
d68b0c529b Case insensitive sort in Peers list. Closes #1066. 2013-11-09 21:19:34 +02:00
sledgehammer999
c41082f610 Revert "fix missing conf.pri error". The WARNING message during configure is harmless. The file is found during make. Closes #1042.
This reverts commit 807f1cfb94.
2013-11-09 21:19:26 +02:00
sledgehammer999
b6af8f190c Make all columns and headers use the same text alignment in the transferlist. 2013-11-09 21:19:16 +02:00
sledgehammer999
850018c86b Bump to 3.1.2 2013-11-06 00:02:14 +02:00
sledgehammer999
7dbda1b3cf Update Changelog. 2013-11-05 23:59:24 +02:00
sledgehammer999
29ead90638 Sync translations from Transifex. 2013-11-05 23:59:17 +02:00
sledgehammer999
d9061416a0 Fix compilation with qt < 4.8.0. Closes #1043. 2013-11-05 23:52:32 +02:00
sledgehammer999
42406b38fb Fix WebUI gzip compression. Closes #1037. 2013-11-05 23:52:21 +02:00
sledgehammer999
102b1b2065 Bump to 3.1.1 2013-10-28 00:56:31 +02:00
sledgehammer999
c110c5a084 Update Changelog. 2013-10-28 00:56:26 +02:00
sledgehammer999
e24fb4ec73 Updated translations from Transifex. 2013-10-28 00:48:25 +02:00
sledgehammer999
9f7d4f0898 Update Changelog. 2013-10-27 16:05:55 +02:00
sledgehammer999
c0b7cd79a8 Update Translator's info. 2013-10-27 16:05:53 +02:00
sledgehammer999
d4c7b7be40 Increase the .torrent size limit when a link to torrent is provided. Closes #879. 2013-10-27 15:34:46 +02:00
sledgehammer999
5cecdc18ed Run lupdate. 2013-10-24 23:32:55 +03:00
sledgehammer999
48240fbded Update Changelog. 2013-10-24 23:29:53 +03:00
sledgehammer999
dbab9e3b93 Allow to clear the UI lock password. Closes #973. 2013-10-24 23:28:17 +03:00
sledgehammer999
e4d1ee44a9 Run lupdate. 2013-10-24 00:26:05 +03:00
sledgehammer999
4ae6035ee9 Update Changelog. 2013-10-24 00:23:55 +03:00
sledgehammer999
722d851082 Windows: Don't remove file associations if they aren't our own. 2013-10-24 00:21:16 +03:00
sledgehammer999
01f253b24a Fix 'append label to save path' with magnet links. 2013-10-24 00:21:00 +03:00
sledgehammer999
a4ab14e6d0 Revert "Remove "Force reannounce" action". Closes #958. 2013-10-24 00:20:46 +03:00
sledgehammer999
8676fbae02 Run lupdate. 2013-10-23 20:50:23 +03:00
sledgehammer999
203c1750a6 Improve comment in gCompress(). 2013-10-23 20:45:20 +03:00
sledgehammer999
2db2f73b48 Document better some translatable strings. 2013-10-23 20:23:21 +03:00
sledgehammer999
3efba63e23 Revert "Don't use deprecated function when adding magnets."
This reverts commit c74334669b.
2013-10-23 20:11:29 +03:00
sledgehammer999
8f29befc65 Run lupdate. 2013-10-22 22:48:23 +03:00
sledgehammer999
630fd7c344 Updated Changelog. 2013-10-22 22:48:00 +03:00
sledgehammer999
c74334669b Don't use deprecated function when adding magnets. 2013-10-22 22:30:58 +03:00
sledgehammer999
c7dc6d0edf Distinguish more torrent states. 2013-10-22 22:30:45 +03:00
sledgehammer999
0f9ece76f8 Update Changelog. 2013-10-21 00:06:00 +03:00
sledgehammer999
ec31081927 Enable gzip compression in the webui. 2013-10-21 00:04:59 +03:00
sledgehammer999
6598b3266c Update Changelog. 2013-10-20 20:32:46 +03:00
Nick Tiskov
0d723af8f6 Fix RSS items not being marked read when the item is a magnet link. 2013-10-20 20:31:03 +03:00
Nick Tiskov
5559af8d07 Fix possible null-pointer dereference. 2013-10-20 20:30:49 +03:00
sledgehammer999
f50290d46d Added instructions for managing translations with Transifex. 2013-10-20 20:27:17 +03:00
sledgehammer999
0dd3f6672d Run lupdate. 2013-10-20 20:21:29 +03:00
sledgehammer999
d515a5b86a Update transifex config file. 2013-10-20 19:58:57 +03:00
sledgehammer999
e810fa1053 Expose new translations and improve language code. 2013-10-20 19:57:30 +03:00
sledgehammer999
12ea7efd5c New translation: English(United Kingdom). 2013-10-20 19:57:16 +03:00
sledgehammer999
bcf2534e23 New translation: English(Australia). 2013-10-20 19:57:06 +03:00
sledgehammer999
412e6b0a43 Synced .desktop file translation from Transifex. 2013-10-20 19:56:47 +03:00
sledgehammer999
0d85124a46 Sync translations from Transifex. 2013-10-20 19:56:31 +03:00
sledgehammer999
3abfbf107e Update Changelog. 2013-10-20 14:33:26 +03:00
leigh123linux
643803edfd fix missing conf.pri error 2013-10-20 14:30:25 +03:00
sledgehammer999
3fbb61033f Turn off the scheduler when the user manually changes the rate limits mode. 2013-10-20 14:26:22 +03:00
sledgehammer999
ddbe96c807 Allow the scheduler to have a start time that's after the end time. Closes #980. 2013-10-20 14:26:13 +03:00
sledgehammer999
44d0baf9a2 Make the scheduler timeout every 1.5s. 2013-10-20 14:26:03 +03:00
Nick Tiskov
ae67141fed Prepare bandwidth scheduler code 2013-10-20 14:25:55 +03:00
sledgehammer999
b9cb41cc4a Update Changelog. 2013-10-15 00:48:42 +03:00
sledgehammer999
2e3341172a Partial revert of e7c27c9b8b. Single file preview works again. 2013-10-15 00:47:06 +03:00
sledgehammer999
4310b14e0e Update Changelog. 2013-10-14 15:06:03 +03:00
sledgehammer999
db96dede87 Revert "Remove obsolete IP_HIDDEN column from peer list." Closes #970.
This reverts commit c8d51e91f4.
2013-10-14 14:59:41 +03:00
sledgehammer999
ba41a7bd9c Update changelog. 2013-10-13 23:18:49 +03:00
sledgehammer999
7fb9a2196c Show external IP in the log. Closes #968. 2013-10-13 23:18:37 +03:00
sledgehammer999
781fcc800a Expose all available translation in the WebUI. Closes #976. 2013-10-13 22:17:43 +03:00
sledgehammer999
819da54868 Bump to 3.1.0 2013-10-12 17:52:45 +03:00
1838 changed files with 214057 additions and 535730 deletions

View File

@@ -1,58 +0,0 @@
version: '{branch}-{build}'
# Do not build on tags (GitHub only)
skip_tags: true
image: Visual Studio 2017
branches:
except: # blacklist
- coverity_scan
environment:
REPO_DIR: &REPO_DIR c:\qbittorrent
CACHE_DIR: &CACHE_DIR c:\qbt_cache
QBT_VER_URL: https://builds.shiki.hu/appveyor/version
QBT_LIB_URL: https://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
clone_depth: 50
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\2017\Community\VC\Auxiliary\Build\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

@@ -1,12 +0,0 @@
# EditorConfig is awesome: http://EditorConfig.org
root = true
[*]
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
[**.yml]
indent_size = 2

7
.gitattributes vendored
View File

@@ -1,7 +0,0 @@
core.eol=lf
* text eol=lf
*.zip binary
*.png binary
*.ico binary
*.qm binary
*.icns binary

View File

@@ -1,20 +0,0 @@
**Please provide the following information**
### qBittorrent version and Operating System
(type here)
### If on linux, libtorrent and Qt version
(type here)
### What is the problem
(type here)
### What is the expected behavior
(type here)
### Steps to reproduce
(type here)
### Extra info(if any)
(type here)

25
.gitignore vendored
View File

@@ -1,36 +1,15 @@
src/gui/geoip/GeoIP.dat
src/gui/geoip/GeoIP.dat.gz
src/geoip/GeoIP.dat
src/qbittorrent
src/qbittorrent-nox
src/release
src/debug
qbittorrent.pro.user*
conf.pri
Makefile*
Makefile
*.pyc
*.log
# Compiled object files
*.o
*.pdb
*.exe
# Generated MOC, resource and UI files
moc_*.cpp
moc_*.h
qrc_*.cpp
ui_*.h
*.moc
src/lang/qbittorrent_*.qm
.DS_Store
.qmake.stash
src/qbittorrent.app
*.dmg
#Autotools junk
aclocal.m4
autom4te.cache/*
config.status
src/icons/qbt-theme/build-icons/node_modules/
src/icons/skin/build-icons/node_modules/
src/icons/skin/build-icons/icons/*.png

View File

@@ -1,27 +1,13 @@
language: cpp
os:
- linux
- osx
osx_image: xcode7.3
language:
- cpp
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 build_system=cmake
- lt_branch=RC_1_0 gui=false build_system=cmake
- lt_branch=RC_1_0 gui=true build_system=qmake
- lt_branch=RC_1_0 gui=false build_system=qmake
global:
- secure: "OI9CUjj4lTb0HwwIZU5PbECU3hLlAL6KC8KsbwohG8/O3j5fLcnmDsK4Ad9us5cC39sS11Jcd1kDP2qRcCuST/glVNhLkcjKkiQerOfd5nQ/qL4JYfz/1mfP5mdpz9jHKzpLUIG+TXkbSTjP6VVmsb5KPT+3pKEdRFZB+Pu9+J8="
- coverity_branch: coverity_scan
matrix:
allow_failures:
- env: lt_branch=RC_1_0 gui=true build_system=cmake
- env: lt_branch=RC_1_0 gui=false build_system=cmake
# use libtorrent 0.15.10
- lt_source=from_dist gui=true
- lt_source=from_dist gui=false
# use libtorrent 0.16.X from RC_0_16 svn branch
- lt_source=from_svn gui=true
- lt_source=from_svn gui=false
branches:
except:
@@ -31,173 +17,37 @@ branches:
notifications:
email:
on_success: change
on_failure: change
cache:
ccache: true
directories:
- $HOME/hombebrew_cache
# opt-in Ubuntu Trusty
dist: trusty
# container-based builds
sudo: false
addons:
coverity_scan:
project:
name: "qbittorrent/qBittorrent"
description: "Build submitted via Travis CI"
build_command_prepend: "./bootstrap.sh && ./configure $qbtconf"
build_command: make
branch_pattern: $coverity_branch
notification_email: sledgehammer999@qbittorrent.org
apt:
sources:
# sources list: https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
- ubuntu-toolchain-r-test
#- boost-latest
- sourceline: 'ppa:qbittorrent-team/qbittorrent-stable'
- sourceline: 'ppa:beineri/opt-qt551-trusty'
- sourceline: 'ppa:adrozdoff/cmake'
packages:
# packages list: https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
- [autoconf, automake, colormake]
- [cmake, ninja-build]
- libssl-dev
- [libboost-dev, libboost-system-dev]
- libtorrent-rasterbar-dev
- [qt55base, qt55svg, qt55tools]
- [gcc-6, g++-6]
on_failure: change
before_install:
# 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 -a "$build_system" = "qmake" ]; then exit ; fi
- shopt -s expand_aliases
- alias make="colormake -j3" # Using nprocs/2 sometimes may fail (gcc is killed by system)
- qbt_path="$HOME/qbt_install"
- |
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
qbtconf="$qbtconf --prefix="$qbt_path" PKG_CONFIG_PATH=/opt/qt55/lib/pkgconfig:$PKG_CONFIG_PATH"
else
qbtconf="$qbtconf --prefix="$qbt_path""
fi
- alias sudo="sudo "
# Using nprocs/2 sometimes may fail (gcc is killed by system), just use two threads
- alias make="colormake -j2 "
# options for specific branches
- if [ "$gui" = false ]; then qbtconf="$qbtconf --disable-gui" ; fi
- |
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
# 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 ;
# Also setup a virtual display for after_success target when gui == true
- if ! $gui; then qbtconf="$qbtconf --disable-gui"; else 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
- ltconf=" --with-libgeoip=system"
# Qt 5
PATH=/opt/qt55/bin:${PATH}
if [ "$build_system" = "cmake" ]; then
COMPILER_VERSION=6
export CXX="${CXX}-${COMPILER_VERSION}" CC="${CC}-${COMPILER_VERSION}"
fi
fi
# print settings
- echo $lt_branch
- echo $gui
- echo $build_system
- echo settings
- echo $lt_source
- echo $ltconf
- echo $gui
- echo $qbtconf
- sudo apt-get -qq update
# Travis can stall during heavy load if these packages are installed in one step - split the command
- sudo apt-get -qq install debhelper qconf colormake libssl-dev libgeoip-dev
- sudo apt-get -qq install libboost-dev libboost-filesystem-dev libboost-system-dev
- sudo apt-get -qq install libqt4-dev
install:
#- |
#if [ "$TRAVIS_OS_NAME" = "linux" ]; then
# 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
#fi
- |
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
# dependencies
brew update > /dev/null
brew outdated "pkg-config" || brew upgrade "pkg-config"
brew install colormake ccache zlib qt
PATH="/usr/local/opt/ccache/libexec:$PATH"
brew link --force zlib qt
wget https://builds.shiki.hu/homebrew/version
if ! cmp --quiet "version" "$HOME/hombebrew_cache/version" ; then
echo "Cached files are different from server. Downloading new ones."
# First delete old files
rm -r "$HOME/hombebrew_cache"
mkdir "$HOME/hombebrew_cache"
cp "version" $HOME/hombebrew_cache
cd "$HOME/hombebrew_cache"
wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar.rb
wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar-1.1.7+git20180422.3ede0b9c20+patched-configure.el_capitan.bottle.tar.gz
fi
# Copy custom libtorrent bottle to homebrew's cache so it can find and install it
# Also install our custom libtorrent formula by passing the local path to it
# These 2 files are restored from Travis' cache.
cp "$HOME/hombebrew_cache/libtorrent-rasterbar-1.1.7+git20180422.3ede0b9c20+patched-configure.el_capitan.bottle.tar.gz" "$(brew --cache)"
brew install "$HOME/hombebrew_cache/libtorrent-rasterbar.rb"
if [ "$build_system" = "cmake" ]; then
brew outdated cmake || brew upgrade cmake
brew install ninja
ln -s /usr/local/opt/qt/mkspecs /usr/local/mkspecs
ln -s /usr/local/opt/qt/plugins /usr/local/plugins
fi
MY_CMAKE_OPENSSL_HINT="-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/"
fi
- |
if [ "$TRAVIS_BRANCH" != "$coverity_branch" ]; then
export use_ccache=true
ccache -V && ccache --show-stats && ccache --zero-stats
fi
- if [[ "$lt_source" == "from_dist" ]]; then sudo apt-get -qq install libtorrent-rasterbar-dev; fi
- if [[ "$lt_source" == "from_svn" ]]; then cd .. && svn co svn://svn.code.sf.net/p/libtorrent/code/branches/RC_0_16 ./libtorrent && (cd libtorrent && ./autotool.sh && ./configure $ltconf && sudo make install) && sudo ldconfig /usr/local/lib && cd $TRAVIS_BUILD_DIR ; fi
script:
- if [ "$TRAVIS_BRANCH" = "$coverity_branch" ]; then exit ; fi # skip usual build when running coverity scan
- |
cd "$TRAVIS_BUILD_DIR"
if [ "$build_system" = "cmake" ]; then
mkdir build
cd build
cmake -DGUI=${gui} -DCMAKE_INSTALL_PREFIX="$qbt_path" "$MY_CMAKE_OPENSSL_HINT" \
-G "Ninja" -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE ..
BUILD_TOOL="ninja"
fi
if [ "$build_system" = "qmake" ]; then
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
# For some reason for RC_1_1 we need to also specify the OpenSSL compiler/linker flags
# Homebrew doesn't symlink OpenSSL for security reasons
./bootstrap.sh && ./configure $qbtconf CXXFLAGS="$(PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" pkg-config --cflags openssl)" LDFLAGS="$(PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" pkg-config --libs openssl)"
sed -i "" -e "s/^\(CC.*&&\).*$/\1 $CC/" src/Makefile # workaround for Qt & ccache: https://bugreports.qt.io/browse/QTBUG-31034
sed -i "" -e "s/^\(CXX.*&&\).*$/\1 $CXX/" src/Makefile
sed -i "" -e 's/^\(CXXFLAGS.*\)$/\1 -Wno-unused-local-typedefs -Wno-inconsistent-missing-override/' src/Makefile
else
./bootstrap.sh && ./configure $qbtconf
fi
BUILD_TOOL="make"
fi
- $BUILD_TOOL && $BUILD_TOOL install
- qt-qconf
- ./configure $qbtconf && sudo 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" ; fi
- |
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
if [ "$build_system" = "qmake" ]; then
macdeployqt "$TRAVIS_BUILD_DIR/src/$qbt_exe.app"
cd "$TRAVIS_BUILD_DIR/src/$qbt_exe.app/Contents/MacOS"
else
cd "$qbt_path/$qbt_exe.app/Contents/MacOS"
fi
fi
- ./$qbt_exe --version
after_script:
- if [ "$use_ccache" = true ]; then ccache --show-stats ; fi
- if $gui ; then qbittorrent --version ; else qbittorrent-nox --version ; fi

View File

@@ -1,9 +1,8 @@
[main]
host = https://www.transifex.com
[qbittorrent.qbittorrent_master]
[qbittorrent.qbittorrent_v3_1_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
@@ -12,7 +11,7 @@ mode = developer
[qbittorrent.qbittorrentdesktop_master]
source_file = src/icons/qBittorrent.desktop
source_file = src/Icons/qBittorrent.desktop
source_lang = en
type = DESKTOP
minimum_perc = 23

View File

@@ -1,92 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
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
xdpwp07LYo2ilhMI8RnzmtoRmg==
=UBeB
-----END PGP PUBLIC KEY BLOCK-----

36
AUTHORS
View File

@@ -17,7 +17,7 @@ Contributors:
* Nick Tiskov <daymansmail@gmail.com>
Code from other projects:
* files src/qtsingleapplication/* src/lineedit/*
* files src/qtsingleapp/* src/lineedit/*
copyright: Nokia Corporation
license: LGPL
@@ -34,15 +34,7 @@ Code from other projects:
license: GPLv2/3
Images Authors:
* files: src/icons/skin/qbittorrent-tray.svg (and related pngs)
copyright: Provided by HVS <hvs linuxmail org> (raster first proposal) and Atif Afzal(@atfzl github) <atif5801@gmail.com> (vectorized and modified)
license: GPLv2+
* files: src/qbittorrent_file.ico src/icons/fileicon.svg
copyright: 'uknown.svg' (LGPLv3+) from Oxygen Icon Theme was used as base which was slightly modified and 'qbittorrent-tray.svg' (GPLv2+) was overlayed above it.
license: GPLv3+
* files: src/icons/*.png
* files: src/Icons/*.png
copyright: Gnome Icon Theme
license: GPLv2
url: http://ftp.acc.umu.se/pub/GNOME/sources/gnome-icon-theme
@@ -52,21 +44,21 @@ Images Authors:
license: LGPL
url: http://www.oxygen-icons.org
* files: src/icons/flags/*.svg
copyright: lipis/flag-icon-css
license: MIT
url: https://github.com/lipis/flag-icon-css/
* files: src/Icons/flags/*.png
copyright: Mark James <mjames@gmail.com>
license: Public Domain
url: http://www.famfamfam.com
* files: src/icons/skin/*.png
* files: src/Icons/skin/*.png
files: src/menuicons/YYxYY/*.png
copyright: Mateusz Tobola <tobejodok@qbittorrent.org>
license: GPLv2
* file: src/icons/skin/tabs.gif
* file: src/Icons/skin/tabs.gif
copyright: Greg Houston <gregory.houston@gmail.com>
license: MIT
* file: src/icons/skin/qbittorrent_mono*
* file: src/Icons/skin/qbittorrent_mono*
copyright: Daniel Eguren <deguren@gmail.com>
license: LGPL
@@ -85,17 +77,9 @@ Images Authors:
* file: src/search_engine/engines/torrentreactor.png
copyright: Downloaded from torrentreactor.net
* 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
* file: src/icons/qBittorrent.desktop
* file: src/Icons/qBittorrent.desktop
copyright:
- Arabic: SDERAWI (abz8868@msn.com), sn51234 (nesseyan@gmail.com) and Ibrahim Saed ibraheem_alex(Transifex)
- Armenian: Hrant Ohanyan (hrantohanyan@mail.am)

View File

@@ -1,58 +0,0 @@
cmake_minimum_required(VERSION 3.5)
cmake_policy(VERSION 3.5)
message(WARNING "No official support for cmake build system. If it is broken, please submit patches!")
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
include(FunctionReadVersion)
read_version("${CMAKE_CURRENT_SOURCE_DIR}/version.pri" VER_MAJOR VER_MINOR VER_BUGFIX VER_BUILD VER_STATUS)
# message(STATUS "Project version is: ${VER_MAJOR}.${VER_MINOR}.${VER_BUGFIX}.${VER_BUILD} (${VER_STATUS})")
project(qBittorrent VERSION ${VER_MAJOR}.${VER_MINOR}.${VER_BUGFIX}.${VER_BUILD})
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(-DQBT_VERSION_MAJOR=${VER_MAJOR})
add_definitions(-DQBT_VERSION_MINOR=${VER_MINOR})
add_definitions(-DQBT_VERSION_BUGFIX=${VER_BUGFIX})
add_definitions(-DQBT_VERSION_BUILD=${VER_BUILD})
add_definitions(-DQBT_VERSION="v${PROJECT_VERSION}")
add_definitions(-DQBT_VERSION_2="${PROJECT_VERSION}")
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(SYSTEM_QTSINGLEAPPLICATION
"Use the system qtsingleapplication library or shipped one otherwise")
option(GUI "Allows to disable GUI for headless running. Disables QtDBus and the GeoIP Database" ON)
option(WEBUI "Allows to disable the WebUI." ON)
option(STACKTRACE "Enable stacktrace feature" ON)
if (UNIX)
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(UNIX)
add_subdirectory(src)
add_subdirectory(dist)

File diff suppressed because it is too large Load Diff

View File

@@ -1,221 +0,0 @@
# How to contribute to qBittorrent
There are three main ways to contribute to the project.
Read the respective section to find out more.
### Table Of Contents
* **[Bug reporting etiquette](#bug-reporting-etiquette)**
* **[Submitting an issue/bug report](#submitting-an-issuebug-report)**
* [What is an actual bug report?](#what-is-an-actual-bug-report)
* [Before submitting a bug report](#before-submitting-a-bug-report)
* [Steps to ensure a good bug report](#steps-to-ensure-a-good-bug-report)
* **[Suggesting enhancements/feature requests](#suggesting-enhancementsfeature-requests)**
* [Before submitting an enhancement/feature request](#before-submitting-an-enhancementfeature-request)
* [Steps to ensure a good enhancement/feature suggestion](#steps-to-ensure-a-good-enhancementfeature-suggestion)
* **[Opening a pull request](#opening-a-pull-request)**
* [Must read](#must-read)
* [Good to know](#good-to-know)
# Bug reporting etiquette
* Issues, pull requests, and comments must always be in **English.**
* This project is supported by volunteers, do not expect "customer support"-style interaction.
* **Be patient.** The development team is small and resource limited. Developers and contributors take from their free time to analyze the problem and fix the issue. :clock3:
* Harsh words or threats won't help your situation. What's worse, your complain will (very likely) be **ignored.** :fearful:
# Submitting an issue/bug report
This section guides you through submitting an issue/bug report for qBittorrent.
Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
Make sure to follow these rules carefully when submitting a bug report. Failure to do so will result in the issue being closed.
## What is an actual bug report?
Developers and contributors are not supposed to deal with issues for which little to no investigation to find the actual cause of a purported issue was made by the reporter.
Positive contributions are those which are reported with efforts to find the actual cause of an issue, or at the very least efforts were made to narrow it as much as possible.
Requiring people to investigate as much as possible before opening an issue will more than likely avoid burdening the project with invalid issues or issues unrelated to qBittorrent.
The following are _not_ bug reports. **Check the [wiki][wiki-url], [forum][forum-url] or other places for help and support for issues like these**:
- Explanation of qBittorrent options (see [wiki][wiki-url]).
- Help with WebUI setup.
- Help with embedded tracker setup.
- Help about BitTorrent in general.
- Issues with specific search plugins.
- Asking for specific builds of qBittorrent other than the current one. You can install older releases at your own risk or for regression testing purposes. Previous Windows and macOS builds are available [here][builds-url].
- If you want older Linux builds, you will have to compile them yourself from the corresponding commits, or ask someone on the [forum][forum-url] to do it for you.
- Possibly others. Read on and use common sense.
The issue tracker is for provable issues only: You will have to make the case that the issue is really with qBittorrent and not something else on your side.
To make a case means to provide detailed steps so that anybody can reproduce the issue.
Be sure to rule out that the issue is not caused by something specific on your side.
Issue reports for bugs that apparently aren't easily reproducible or that you can't figure out what triggers it even though you tried are OK.
Any issue opened without effort to provide the required details for developers, contributors or anybody else to reproduce the problem will be closed as invalid.
For example:
- Crash reports with just a stack trace.
- Speculated performance issues that do not come with actual profiling data + analysis supporting the claim.
## Before submitting a bug report
- **Do some basic troubleshooting (examples)**:
- Restart qBittorrent.
- Restart your PC.
- Update your OS (e.g. Windows updates).
- Update your network card drivers.
- Fully reinstall qBittorrent.
- etc...
- Make sure the problem is not caused by anti-virus or other program messing with your files.
- Check if you can reproduce the problem in the latest version of qBittorrent.
- **Check [forum][forum-url] and [wiki][wiki-url].** You might be able to find the cause of the problem and fix things yourself.
- **Check if the issue exists already in the issue tracker.**
- If it does and the issue is still open, add a comment to the existing issue instead of opening a new one.
- If you find a Closed issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
- If the issue is with the search functionality:
- **Make sure you have [`python`][python-url] installed correctly (remember the search functionality requires a working python installation).**
- Make sure it is in fact a problem with the search functionality itself, and not a problem with the plugins. If something does not work properly with the search functionality, the first step is to rule out search plugin-related issues.
- For search plugin issues, report on the respective search plugin support page, or at [qbittorrent/search-plugins][search-plugins-url].
## Steps to ensure a good bug report
**Follow these guidelines** in order to provide as much useful information as possible right away. Not all of them are applicable to all issues, but you are expected to follow most of these steps (use common sense).
Otherwise, we've noticed that a lot of your time (and the developers') gets thrown away on exchanging back and forth to get this information.
* Use a **clear and descriptive title** for the issue to identify the problem.
* Post only **one specific issue per submission.**
* **Fill out the issue template properly.**
- **Make sure you are using qBittorrent on a supported platform.** Do not submit issues which can only be reproduced on beta/unsupported releases of supported operating systems (e.g. Windows 10 Insider, Ubuntu 12.04 LTS, etc).
These are unstable/unsupported platforms, and in all likelihood, whatever the issue is, it is not related to qBittorrent.
* **Specify the OS you're using, its version and architecture.**
* Examples: Windows 8.1 32-bit, Linux Mint 17.1 64-bit, Windows 10 Fall creators Update 64-bit, etc.
* **Report only if you run into the issue with an official stable release, a beta release, or with the most recent upstream changes (in this last case specify the specific commit you are on).** (beta testing is encouraged :smile:). We do not provide support for bugs on unofficial Windows builds.
* **Specify the version of qBittorrent** you are using, as well as its **architecture** (x86 or x64) and its **libraries' versions** (Help -> About -> Libraries).
* Specify **how you installed**:
- Linux: either from the PPA, your distribution's repositories, or compiled from source, or even possibly third-party repositories.
- Windows: either from the installer, or compiled from source, or even possibly third-party repositories.
- macOS: either from the installer, or compiled from source, or even possibly third-party repositories.
* **Describe the exact steps which reproduce the problem in as many details as possible.**
- For example, start by explaining how you started qBittorrent, e.g. was it via the terminal? Desktop icon? Did you start it as root or normal user?
- **When listing steps, don't just say what you did, but explain how you did it.**
- For example, if you added a torrent for download, did you do so via a `.torrent` file or via a magnet link? If it was with a torrent file did you do so by dragging the torrent file from the file manager to the transfer list, or did you use the "Add Torrent File" in the Top Bar?
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior; this is what we'll be looking for after executing the steps.
* **Explain which behavior you expected to see instead** and why.
* Use **screenshots/animated GIFs to help describe the issue** whenever appropriate [(How?)][attachments-howto-url].
* If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened.
* **If you are reporting that qBittorrent crashes**, include the stack trace in the report; include it in a code block, a file attachment, or put it in a gist and provide link to that gist.
* **For performance-related issues**, include as much profiling data as you can (resource usage graphs, etc).
* Paste the **qBittorrent log** (or put the contents of the log in a gist and provide a link to the gist). The log can be viewed in the GUI (View -> Log -> tick all boxes). If you can't do that, the file is at:
- Linux: `~/.local/share/data/qBittorrent/logs/qBittorrent.log`
- Windows: `%LocalAppData%\qBittorrent\logs`
- macOS: `~/Library/Application Support/qBittorrent/qBittorrent.log`
* **Do NOT post comments like "+1" or "me too!"** without providing new relevant info on the issue. Using the built-in reactions is OK though. Remember that you can use the "subscribe" button to receive notifications of that report without having to comment first.
* If there seems to be an **issue with specific torrent files/magnet links**:
- Don't post private `.torrent` files/magnet links, or ones that point to copyrighted content. If you are willing, offer to email a link or the `.torrent` file itself to whoever developer is debugging it and requests it.
- Make sure you can't reproduce the problem with another client, to rule out the possibility that the issue is with the `.torrent` file/magnet link itself.
* A screenshot, transcription or file upload of any of **qBittorrent's preferences that differ from the defaults.** Please include everything different from the defaults whether or not it seems relevant to your issue.
* **Attachment rules**:
- Short logs and error messages can be pasted as quotes/code whenever small enough; otherwise make a gist with the contents and post the link to the gist.
- Avoid linking/attaching impractical file formats such as PDFs/Word documents with images. If you want to post an image, just post the image.
### Provide more context by answering these questions (if applicable):
- Can you **reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens (e.g. only happens with extremely large torrents/only happens after qBittorrent is open for more than 2 days/etc...)
- Did the problem start happening recently (e.g. after updating to a new version of qBittorrent) or was this always a problem?
- If the problem started happening recently, can you reproduce the problem in an older version of qBittorrent?
- Are you saving files locally (in a disk in your machine), or are you saving them remotely (e.g. network drives)?
- Are you using qBittorrent with multiple monitors? If so, can you reproduce the problem when you use a single monitor?
Good read: [How to Report Bugs Effectively][howto-report-bugs-url]
# Suggesting enhancements/feature requests
This section guides you through submitting an enhancement suggestion for qBittorrent, including completely new features and minor improvements to existing functionality.
Following these guidelines helps maintainers and the community understand your suggestion and find related suggestions.
## Before submitting an enhancement/feature request
* Check the [wiki][wiki-url] and [forum][forum-url] for tips — you might discover that the enhancement is already available.
* Most importantly, check if you're using the latest version of qBittorrent and if you can get the desired behavior by changing qBittorrent's settings.
* Check in the [releases][releases-url] page or on the [forum][forum-url], see if there's already a alpha/beta version with that enhancement.
* Perform a cursory search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
## Steps to ensure a good enhancement/feature suggestion
- Specify which version of qBittorrent you're using.
- Specify the name and version of the OS you're using.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Include screenshots and animated GIFs which help you demonstrate the steps or point out the part of qBittorrent which the suggestion is related to.
- If this enhancement exists in other BitTorrent clients, list those clients.
# Opening a pull request
### Must read
* Read our [**coding guidelines**][coding-guidelines-url]. There are some scripts to help you: [uncrustify script][uncrustify-script-url], [astyle script][astyle-script-url], [(related thread)][coding-guidelines-thread-url].
* 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.** Refer to the section about "Git commit messages" in the [**coding guidelines**][coding-guidelines-url].
* If your commit fixes a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here][commit-message-fix-issue-example-url].
### Good to know
* **Search** pull request history! Others might have already implemented your idea and it 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][merging-vs-rebasing-url].
[astyle-script-url]: https://gist.github.com/Chocobo1/539cee860d1eef0acfa6
[attachments-howto-url]: https://help.github.com/articles/file-attachments-on-issues-and-pull-requests
[coding-guidelines-url]: https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md
[coding-guidelines-thread-url]: https://github.com/qbittorrent/qBittorrent/issues/2192
[commit-message-fix-issue-example-url]: https://github.com/qbittorrent/qBittorrent/commit/c07cd440cd46345297debb47cb260f8688975f50
[forum-url]: http://forum.qbittorrent.org/
[howto-report-bugs-url]: https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
[merging-vs-rebasing-url]: https://www.atlassian.com/git/tutorials/merging-vs-rebasing
[python-url]: https://www.python.org/
[releases-url]: https://github.com/qbittorrent/qBittorrent/releases
[search-plugins-url]: https://github.com/qbittorrent/search-plugins
[uncrustify-script-url]: https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/uncrustify.cfg
[wiki-url]: https://github.com/qbittorrent/qBittorrent/wiki
[builds-url]: https://sourceforge.net/projects/qbittorrent/files/

72
COPYING
View File

@@ -12,15 +12,15 @@ exception statement from your version.
----------
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
@@ -70,7 +70,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
@@ -269,7 +269,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@@ -291,4 +291,64 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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 St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

1235
Changelog

File diff suppressed because it is too large Load Diff

10
INSTALL
View File

@@ -14,11 +14,15 @@ qBittorrent - A BitTorrent client in C++ / Qt4
- pkg-config executable
- libtorrent-rasterbar by Arvid Norberg (>= 1.0.6)
- libtorrent-rasterbar by Arvid Norberg (>= 0.15.0)
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.
- libboost >= 1.35.x (libboost-system)
- libboost 1.34.x (libboost-filesystem°) + libasio
or
- libboost >= 1.35.x (libboost-system, libboost-filesystem°)
°libboost-filesystem is not needed if libtorrent-rasterbar >= v0.16.x is used
- python >= 2.3 (needed by search engine)
* Run time only dependency
@@ -40,7 +44,7 @@ qBittorrent - A BitTorrent client in C++ / Qt4
- pkg-config executable
- libtorrent-rasterbar by Arvid Norberg (>= v1.0.6)
- libtorrent-rasterbar by Arvid Norberg (>= v0.15.0)
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.

View File

@@ -1,11 +1,9 @@
qBittorrent - A BitTorrent client in Qt
------------------------------------------
[![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)
[![Build Status](https://travis-ci.org/qbittorrent/qBittorrent.png?branch=v3_1_x)](https://travis-ci.org/qbittorrent/qBittorrent)
********************************
### Description:
###Description:
qBittorrent is a bittorrent client programmed in C++ / Qt that uses
libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg.
@@ -14,7 +12,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
https://www.maxmind.com/
http://maxmind.com/
### Installation:
For installation, follow the instructions from INSTALL file, but simple:
@@ -27,22 +25,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/[5B7CC9A2](https://pgp.mit.edu/pks/lookup?op=get&search=0x6E4A2D025B7CC9A2) with fingerprint `D8F3DA77AAC6741053599C136E4A2D025B7CC9A2`.<br />
You can also download it from [here](https://github.com/qbittorrent/qBittorrent/raw/master/5B7CC9A2.asc).<br />
**PREVIOUSLY** the following key was used to sign the v3.3.4 source tarballs and v3.3.4 Windows installer **only**: 4096R/[520EC6F6](https://pgp.mit.edu/pks/lookup?op=get&search=0xA1ACCAE4520EC6F6) with fingerprint `F4A5FD201B117B1C2AB590E2A1ACCAE4520EC6F6`.<br />
### Misc:
For more information please visit:
https://www.qbittorrent.org
http://www.qbittorrent.org
or our wiki here:
http://wiki.qbittorrent.org
Use the forum for troubleshooting before reporting bugs:
http://forum.qbittorrent.org
Please report any bug (or feature request) to:
http://bugs.qbittorrent.org
@@ -51,3 +39,4 @@ You can also meet me (sledgehammer_999) on IRC:
------------------------------------------
sledgehammer999 <sledgehammer999@qbittorrent.org>

74
README.os2 Normal file
View File

@@ -0,0 +1,74 @@
qBittorrent - A BitTorrent client in Qt4
------------------------------------------
This is the eComStation (OS/2) qBittorrent part of the readme. See also README for more general information.
Building qBittorrent
********************
Requirements
============
- gcc based build env (recommended gcc v4.4.2 or greater)
- Qt4 for eCS (OS/2) dev package (see http://svn.netlabs.org/qt4 for more information)
- libtorrent-rasterbar for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
- boost for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
How to build
============
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:
##### conf.pri content beginn #####
BINDIR = ./bin
INCDIR = ./include
LIBDIR = ./lib
DATADIR = ./share
CONFIG += staticlib
INCLUDEPATH += x:/trees/libtorrent/trunk/include
LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \
-Lx:/trees/boost/trunk/stage/lib \
-Lx:/trees/openssl \
-Lx:/extras/lib
##### conf.pri content end #####
Of course all the above path references have to be adjusted to your build env.
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:
$ qmake
Followed by:
$ 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 you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC:
#netlabs on irc.freenode.net
------------------------------------------
Silvan Scherrer <silvan.scherrer@aroa.ch>

View File

@@ -1,4 +0,0 @@
#!/bin/sh
aclocal -I m4
autoconf

File diff suppressed because it is too large Load Diff

1421
build-aux/config.guess vendored

File diff suppressed because it is too large Load Diff

1807
build-aux/config.sub vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,215 +0,0 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# 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, 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, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
case $1 in
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
Supported PROGRAM values:
aclocal autoconf autoheader autom4te automake makeinfo
bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
# Run the given program, remember its exit status.
"$@"; st=$?
# If it succeeded, we are done.
test $st -eq 0 && exit 0
# Also exit now if we it failed (or wasn't found), and '--version' was
# passed; such an option is passed most likely to detect whether the
# program is present and works.
case $2 in --version|--help) exit $st;; esac
# Exit code 63 means version mismatch. This often happens when the user
# tries to use an ancient version of a tool on a file that requires a
# minimum version.
if test $st -eq 63; then
msg="probably too old"
elif test $st -eq 127; then
# Program was missing.
msg="missing on your system"
else
# Program was found and executed, but failed. Give up.
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
program_details ()
{
case $1 in
aclocal|automake)
echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
autoconf|autom4te|autoheader)
echo "The '$1' program is part of the GNU Autoconf package:"
echo "<$gnu_software_URL/autoconf/>"
echo "It also requires GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
esac
}
give_advice ()
{
# Normalize program name to check for.
normalized_program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
printf '%s\n' "'$1' is $msg."
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
case $normalized_program in
autoconf*)
echo "You should only need it if you modified 'configure.ac',"
echo "or m4 files included by it."
program_details 'autoconf'
;;
autoheader*)
echo "You should only need it if you modified 'acconfig.h' or"
echo "$configure_deps."
program_details 'autoheader'
;;
automake*)
echo "You should only need it if you modified 'Makefile.am' or"
echo "$configure_deps."
program_details 'automake'
;;
aclocal*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>"
;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*)
echo "You should only need it if you modified a dependency" \
"of a man page."
echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>"
;;
makeinfo*)
echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual."
echo "You might want to install the Texinfo package:"
echo "<$gnu_software_URL/texinfo/>"
echo "The spurious makeinfo call might also be the consequence of"
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>"
;;
*)
echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it"
echo "often tells you about the needed prerequisites for installing"
echo "this package. You may also peek at any GNU archive site, in"
echo "case some other package contains this missing '$1' program."
;;
esac
}
give_advice "$1" | sed -e '1s/^/WARNING: /' \
-e '2,$s/^/ /' >&2
# Propagate the correct exit status (expected to be 127 for a program
# not found, 63 for a program that failed due to version mismatch).
exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

File diff suppressed because it is too large Load Diff

View File

@@ -1,127 +0,0 @@
# - 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)
macro(_detect_boost_components _outComponets librariesList)
string(REGEX MATCHALL "boost_[a-z_]+[-a-z]*" _boost_libraries "${librariesList}")
string(REGEX REPLACE "boost_([a-z_]+)[-a-z]*" "\\1" ${_outComponets} "${_boost_libraries}")
endmacro()
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})
# Without pkg-config, we can't possibly figure out the correct boost dependencies
if (LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES)
set(_boost_components "${LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES}")
else(LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES)
if(PC_LIBTORRENT_RASTERBAR_FOUND)
_detect_boost_components(_boost_components "${PC_LIBTORRENT_RASTERBAR_LIBRARIES}")
else()
# all possible boost dependencies
set(_boost_components
date_time
system
chrono
random
thread
)
endif()
endif(LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES)
list(SORT _boost_components)
message(STATUS "Libtorrent Boost dependencies: ${_boost_components}")
find_package(Boost REQUIRED COMPONENTS ${_boost_components})
set(LibtorrentRasterbar_LIBRARIES ${LibtorrentRasterbar_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
foreach(_boost_cmpnt IN LISTS _boost_components)
list(APPEND LibtorrentRasterbar_LIBRARIES "Boost::${_boost_cmpnt}")
endforeach(_boost_cmpnt)
set(LibtorrentRasterbar_INCLUDE_DIRS ${LibtorrentRasterbar_INCLUDE_DIRS})
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::SSL OpenSSL::Crypto)
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)
mark_as_advanced(LibtorrentRasterbar_INCLUDE_DIR LibtorrentRasterbar_LIBRARY
LibtorrentRasterbar_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES
LibtorrentRasterbar_ENCRYPTION_INDEX)
if (LibtorrentRasterbar_FOUND AND NOT TARGET LibtorrentRasterbar::LibTorrent)
add_library(LibtorrentRasterbar::LibTorrent UNKNOWN IMPORTED)
set_target_properties(LibtorrentRasterbar::LibTorrent PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
IMPORTED_LOCATION "${LibtorrentRasterbar_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${LibtorrentRasterbar_INCLUDE_DIRS}"
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${LibtorrentRasterbar_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${LibtorrentRasterbar_LIBRARIES}"
INTERFACE_COMPILE_OPTIONS "${LibtorrentRasterbar_DEFINITIONS}"
)
endif()

View File

@@ -1,94 +0,0 @@
# - 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(Qt5Core_FOUND)
message(STATUS "Looking for Qt5 single application library")
FOREACH(TOP_INCLUDE_PATH in ${Qt5Core_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_CORELIBRARY Qt5::Core LOCATION)
GET_FILENAME_COMPONENT(_QT5_CORELIBRARYPATH ${_QT5_CORELIBRARY} PATH)
FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
NAMES ${QTSINGLEAPPLICATION_NAMES}
PATHS ${_QT5_CORELIBRARYPATH}
)
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)
if(NOT TARGET QtSingleApplication::QtSingleApplication)
add_library(QtSingleApplication::QtSingleApplication UNKNOWN IMPORTED)
set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
)
if(EXISTS "${QTSINGLEAPPLICATION_LIBRARY}")
set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
IMPORTED_LOCATION "${QTSINGLEAPPLICATION_LIBRARY}")
endif()
endif(NOT TARGET QtSingleApplication::QtSingleApplication)

View File

@@ -1,26 +0,0 @@
#######
# Find systemd service dir
# sets variables
# SYSTEMD_FOUND
# SYSTEMD_SERVICES_INSTALL_DIR
find_package(PkgConfig QUIET REQUIRED)
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

@@ -1,28 +0,0 @@
# function for parsing version variables that are set in version.pri file
# the version identifiers there are defined as follows:
# VER_MAJOR = 3
# VER_MINOR = 4
# VER_BUGFIX = 0
# VER_BUILD = 0
# VER_STATUS = alpha
function(read_version priFile outMajor outMinor outBugfix outBuild outStatus)
file(STRINGS ${priFile} _priFileContents REGEX "^VER_.+")
# message(STATUS "version.pri version contents: ${_priFileContents}")
# the _priFileContents variable contains something like the following:
# VER_MAJOR = 3;VER_MINOR = 4;VER_BUGFIX = 0;VER_BUILD = 0;VER_STATUS = alpha # Should be empty for stable releases!
set(_regex "VER_MAJOR += +([0-9]+);VER_MINOR += +([0-9]+);VER_BUGFIX += +([0-9]+);VER_BUILD += +([0-9]+);VER_STATUS += +([0-9A-Za-z]+)?")
# note quotes around _regex, they are needed because the variable contains semicolons
string(REGEX MATCH "${_regex}" _tmp "${_priFileContents}")
if (NOT _tmp)
message(FATAL_ERROR "Could not detect project version number from ${priFile}")
endif()
# message(STATUS "Matched version string: ${_tmp}")
set(${outMajor} ${CMAKE_MATCH_1} PARENT_SCOPE)
set(${outMinor} ${CMAKE_MATCH_2} PARENT_SCOPE)
set(${outBugfix} ${CMAKE_MATCH_3} PARENT_SCOPE)
set(${outBuild} ${CMAKE_MATCH_4} PARENT_SCOPE)
set(${outStatus} ${CMAKE_MATCH_5} PARENT_SCOPE)
endfunction()

View File

@@ -1,38 +0,0 @@
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

@@ -1,49 +0,0 @@
###############################################################
#
# Copyright 2011 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you
# may not use this file except in compliance with the License. You may
# obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
###############################################################
MACRO (GLIBC_DETECT _VERSION)
# there are multiple ways to detect glibc, but given nmi's
# cons'd up paths I will trust only gcc. I guess I could also use
# ldd --version to detect.
set(_GLIB_SOURCE_DETECT "
#include <limits.h>
#include <stdio.h>
int main()
{
printf(\"%d%d\",__GLIBC__, __GLIBC_MINOR__);
return 0;
}
")
file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/build/cmake/glibc.cpp "${_GLIB_SOURCE_DETECT}\n")
try_run(POST26_GLIBC_DETECTED
POST26_GLIBC_COMPILE
${CMAKE_CURRENT_BINARY_DIR}/build/cmake
${CMAKE_CURRENT_BINARY_DIR}/build/cmake/glibc.cpp
RUN_OUTPUT_VARIABLE GLIBC_VERSION )
if (GLIBC_VERSION AND POST26_GLIBC_COMPILE )
set(${_VERSION} ${GLIBC_VERSION})
else()
message(STATUS "NOTE: Could not detect GLIBC_VERSION from compiler")
endif()
ENDMACRO (GLIBC_DETECT)

View File

@@ -1,28 +0,0 @@
# - macro similar to target_link_libraries, which links Qt components
# names of the components are passed 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})
if ("${_cmp}" STREQUAL "PRIVATE" OR
"${_cmp}" STREQUAL "PUBLIC" OR
"${_cmp}" STREQUAL "INTERFACE")
list(APPEND _QT_CMPNTS "${_cmp}")
else()
list(APPEND _QT_CMPNTS "Qt4::Qt${_cmp}")
endif()
endforeach()
else (QT4_FOUND)
foreach(_cmp ${ARGN})
if ("${_cmp}" STREQUAL "PRIVATE" OR
"${_cmp}" STREQUAL "PUBLIC" OR
"${_cmp}" STREQUAL "INTERFACE")
list(APPEND _QT_CMPNTS "${_cmp}")
else()
list(APPEND _QT_CMPNTS "Qt5::${_cmp}")
endif()
endforeach()
endif (QT4_FOUND)
target_link_libraries(${target} ${_QT_CMPNTS})
endmacro()

View File

@@ -1,102 +0,0 @@
# Sets cache variable QBT_ADDITONAL_FLAGS and QBT_ADDITONAL_CXX_FLAGS to list of additional
# compiler flags for C and C++ (QBT_ADDITONAL_FLAGS) and for C++ only (QBT_ADDITONAL_CXX_FLAGS)
# and appends them to CMAKE_XXX_FLAGS variables.
# It could use add_compile_options(), but then it is needed to use generator expressions,
# and most interesting of them are not compatible with Visual Studio :(
macro(qbt_set_compiler_options)
# if (NOT QBT_ADDITONAL_FLAGS)
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
#-Wshadow -Wconversion ?
set(_GCC_COMMON_C_AND_CXX_FLAGS "-Wall -Wextra"
"-Wfloat-equal -Wcast-qual -Wcast-align"
"-Wsign-conversion -Winvalid-pch -Wno-long-long"
#"-fstack-protector-all"
#"-Werror -Wno-error=deprecated-declarations"
)
set(_GCC_COMMON_CXX_FLAGS "-fexceptions -frtti"
"-Woverloaded-virtual -Wold-style-cast"
"-Wnon-virtual-dtor -Wfloat-equal -Wcast-qual -Wcast-align"
#"-Weffc++"
#"-Werror -Wno-error=cpp"
# we should modify code to make these ones obsolete
#"-Wno-error=sign-conversion -Wno-error=float-equal"
)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
# GCC 4.8 has problems with std::array and its initialization
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wno-error=missing-field-initializers")
endif()
include(CheckCXXCompilerFlag)
# check for -pedantic
check_cxx_compiler_flag(-pedantic _PEDANTIC_IS_SUPPORTED)
if (_PEDANTIC_IS_SUPPORTED)
list(APPEND _GCC_COMMON_CXX_FLAGS "-pedantic -pedantic-errors")
else (_PEDANTIC_IS_SUPPORTED)
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wpedantic")
endif (_PEDANTIC_IS_SUPPORTED)
if (CMAKE_SYSTEM_NAME MATCHES Linux)
# if Glibc version is 2.20 or higher, set -D_DEFAULT_SOURCE
include(MacroGlibcDetect)
message(STATUS "Detecting Glibc version...")
glibc_detect(GLIBC_VERSION)
if(${GLIBC_VERSION})
if(GLIBC_VERSION LESS "220")
message(STATUS "Glibc version is ${GLIBC_VERSION}")
else(GLIBC_VERSION LESS "220")
message(STATUS "Glibc version is ${GLIBC_VERSION}, adding -D_DEFAULT_SOURCE")
add_definitions(-D_DEFAULT_SOURCE)
endif(GLIBC_VERSION LESS "220")
endif(${GLIBC_VERSION})
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# Clang 5.0 still doesn't support -Wstrict-null-sentinel
check_cxx_compiler_flag(-Wstrict-null-sentinel _STRICT_NULL_SENTINEL_IS_SUPPORTED)
if (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
endif (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
# Code should be improved to render this not needed
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wno-error=unused-function -Wno-error=inconsistent-missing-override")
else ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# GCC supports it
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
string(REPLACE ";" " " _GCC_COMMON_C_AND_CXX_FLAGS_STRING "${_GCC_COMMON_C_AND_CXX_FLAGS}")
string(REPLACE ";" " " _GCC_COMMON_CXX_FLAGS_STRING "${_GCC_COMMON_CXX_FLAGS}")
string(APPEND CMAKE_C_FLAGS " ${_GCC_COMMON_C_AND_CXX_FLAGS_STRING}")
string(APPEND CMAKE_CXX_FLAGS " ${_GCC_COMMON_C_AND_CXX_FLAGS_STRING} ${_GCC_COMMON_CXX_FLAGS_STRING}")
set(QBT_ADDITONAL_FLAGS "${_GCC_COMMON_C_AND_CXX_FLAGS_STRING}" CACHE STRING
"Additional qBittorent compile flags" FORCE)
set(QBT_ADDITONAL_CXX_FLAGS "${_GCC_COMMON_CXX_FLAGS_STRING}" CACHE STRING
"Additional qBittorent C++ compile flags" FORCE)
# check whether we can enable -Og optimization for debug build
# also let's enable -march=native for debug builds
check_cxx_compiler_flag(-Og _DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
if (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
string(APPEND CMAKE_C_FLAGS_DEBUG " -Og -g3 -march=native -pipe" )
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -Og -g3 -march=native -pipe" )
else(_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
string(APPEND CMAKE_C_FLAGS_DEBUG " -O0 -g3 -march=native -pipe" )
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -O0 -g3 -march=native -pipe" )
endif (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
set(QBT_ADDITONAL_FLAGS "-wd4290 -wd4275 -wd4251 /W4" CACHE STRING "Additional qBittorent compile flags")
string(APPEND CMAKE_C_FLAGS " ${QBT_ADDITONAL_FLAGS}")
string(APPEND CMAKE_CXX_FLAGS " ${QBT_ADDITONAL_FLAGS}")
endif ()
# endif (NOT QBT_ADDITONAL_FLAGS)
endmacro(qbt_set_compiler_options)

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