You've already forked qBittorrent
mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-10-07 09:52:18 +02:00
Compare commits
17 Commits
release-3.
...
release-2.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8664140275 | ||
![]() |
0b9640d471 | ||
![]() |
d66c88d59e | ||
![]() |
b92c152d30 | ||
![]() |
148ec32825 | ||
![]() |
8298b62f56 | ||
![]() |
53f46875d8 | ||
![]() |
a67caf1730 | ||
![]() |
6a38f69fad | ||
![]() |
d5bf2b2e1f | ||
![]() |
f6df1c7fed | ||
![]() |
fa88bce77d | ||
![]() |
571465ff7e | ||
![]() |
09a3f78a28 | ||
![]() |
f98520e6c2 | ||
![]() |
0211f3aee3 | ||
![]() |
0dcd33fb6d |
14
Changelog
14
Changelog
@@ -1,3 +1,17 @@
|
||||
* Sun Dec 19 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.2
|
||||
- BUGFIX: Fix alternative speed icon staying pressed when disabled
|
||||
- BUGFIX: Fix slot warning on startup
|
||||
- BUGFIX: Fix alignment issues in program preferences
|
||||
- BUGFIX: Make sure we don't move completed torrent to the temp directory
|
||||
for checking (closes #602938)
|
||||
- BUGFIX: Fix some 'File Not found' warning in the Web UI
|
||||
- BUGFIX: Fix dangerous usage of vector iterator
|
||||
- BUGFIX: No longer expand the first folder in the torrent content list
|
||||
- BUGFIX: Fixes possible crash in the RSS Downloader dialog (closes #691426)
|
||||
|
||||
* Sun Dec 5 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.1
|
||||
- BUGFIX: Fix possible crash when right-clicking on a torrent
|
||||
|
||||
* Sun Dec 5 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.0
|
||||
- FEATURE: qBittorrent can now act as a tracker
|
||||
- FEATURE: New and improved RSS feed automated downloader
|
||||
|
5
configure
vendored
5
configure
vendored
@@ -32,7 +32,8 @@ Dependency options:
|
||||
executable (please follow
|
||||
instructions in
|
||||
src/geoip/README)
|
||||
--disable-qtsingleapplication Disable use of libboost
|
||||
--disable-qtsingleapplication Disable use of
|
||||
qtsingleapplication
|
||||
--with-qtsingleapplication=[system|shipped] Use the shipped
|
||||
qtsingleapplication library
|
||||
or the system one
|
||||
@@ -609,7 +610,7 @@ public:
|
||||
#line 1 "qtsingleapplication.qcm"
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: libboost
|
||||
name: qtsingleapplication
|
||||
arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: libboost
|
||||
name: qtsingleapplication
|
||||
arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Categories=Qt;Network;P2P;
|
||||
Comment=V2.5.0
|
||||
Comment=V2.5.2
|
||||
Exec=qbittorrent %f
|
||||
GenericName=Bittorrent client
|
||||
GenericName[ar]=العميل Bittorrent
|
||||
|
@@ -47,7 +47,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>2.5.0</string>
|
||||
<string>2.5.2</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
|
@@ -3986,12 +3986,12 @@ Please install it manually.</source>
|
||||
<translation>اضغط هنا لتشغيل حد السرعة البديل</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>حد سرعة التحميل العامة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>حد سرعة الرفع العامة</translation>
|
||||
</message>
|
||||
|
@@ -3927,12 +3927,12 @@ Please install it manually.</source>
|
||||
<translation>Щракни за включване на други ограничения за скорост</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Общ лимит Скорост на сваляне</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Общ лимит Скорост на качване</translation>
|
||||
</message>
|
||||
|
@@ -3758,12 +3758,12 @@ Si us plau, instal-li'l de forma manual.</translation>
|
||||
<translation>Click per activar els límits de velocitat alternativa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Velocitat límit global de descàrrega</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Velocitat límit global de pujada</translation>
|
||||
</message>
|
||||
|
@@ -3990,12 +3990,12 @@ Nainstalujte jej prosím ručně.</translation>
|
||||
<translation>Kliknutí zapne alternativní limity rychlosti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Celkový limit rychlosti stahování</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Celkový limit rychlosti nahrávání</translation>
|
||||
</message>
|
||||
|
@@ -3500,12 +3500,12 @@ Please install it manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Global begrænsning af downloadhastighed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Global begrænsning af upload hastighed</translation>
|
||||
</message>
|
||||
|
@@ -3883,12 +3883,12 @@ Please install it manually.</source>
|
||||
<translation>Klicken um alternative Geschwindigkeitsbegrenzungen zu aktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Begrenzung der globalen DL-Rate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Begrenzung der globalen UL-Rate</translation>
|
||||
</message>
|
||||
|
@@ -3938,12 +3938,12 @@ Please install it manually.</source>
|
||||
<translation>Κλικ για ενεργοποίηση εναλλακτικών ορίων ταχύτητας</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Συνολικό Όριο Ταχύτητας Λήψης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Συνολικό Όριο Ταχύτητας Αποστολής</translation>
|
||||
</message>
|
||||
|
@@ -3024,12 +3024,12 @@ Please install it manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@@ -3762,12 +3762,12 @@ Por favor, instálelo de forma manual.</translation>
|
||||
<translation>Click para activar los límites de velocidad alternativa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Velocidad límite global de descarga</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Velocidad límite global de subida</translation>
|
||||
</message>
|
||||
|
@@ -3896,12 +3896,12 @@ Asenna se itse.</translation>
|
||||
<translation>Napsauta ottaaksesi vaihtoehtoinen nopeusrajoitus käyttöön</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Yleinen latausnopeusrajoitus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Yleinen lähetysnopeusrajoitus</translation>
|
||||
</message>
|
||||
|
@@ -3977,12 +3977,12 @@ Veuillez l'installer manuellement.</translation>
|
||||
<translation>Cliquer pour activer les limites de vitesse alternatives</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Limite globale de la vitesse de réception</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Limite globale de la vitesse d'envoi</translation>
|
||||
</message>
|
||||
|
@@ -3933,12 +3933,12 @@ Kérlek telepítsd manuálisan.</translation>
|
||||
<translation>Alternatív sebesség korlátok engedélyezéséhez kattints ide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Teljes letöltési sebesség korlát</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Teljes feltöltési sebesség korlát</translation>
|
||||
</message>
|
||||
|
@@ -4019,12 +4019,12 @@ Per favore installalo manualmente.</translation>
|
||||
<translation>Clicca per abilitare i limiti alternativi di velocità</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>Limite globale download</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>Limite globale upload</translation>
|
||||
</message>
|
||||
|
@@ -3259,12 +3259,12 @@ Please install it manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@@ -3564,12 +3564,12 @@ Please install it manually.</source>
|
||||
<translation>설정한 속도 제한을 사용하기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation>전체 다운 속도 제한</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation>전체 업로드 속도 제한</translation>
|
||||
</message>
|
||||
|
@@ -3141,12 +3141,12 @@ Please install it manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="226"/>
|
||||
<location filename="../statusbar.h" line="227"/>
|
||||
<source>Global Download Speed Limit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../statusbar.h" line="246"/>
|
||||
<location filename="../statusbar.h" line="247"/>
|
||||
<source>Global Upload Speed Limit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -98,7 +98,7 @@ MainWindow::MainWindow(QWidget *parent, QStringList torrentCmdLine) : QMainWindo
|
||||
setWindowTitle(tr("qBittorrent %1", "e.g: qBittorrent v0.x").arg(QString::fromUtf8(VERSION)));
|
||||
displaySpeedInTitle = pref.speedInTitleBar();
|
||||
// Clean exit on log out
|
||||
connect(static_cast<SessionApplication*>(qApp), SIGNAL(sessionIsShuttingDown()), this, SLOT(deleteQBtSession::instance()()));
|
||||
connect(static_cast<SessionApplication*>(qApp), SIGNAL(sessionIsShuttingDown()), this, SLOT(deleteBTSession()));
|
||||
// Setting icons
|
||||
this->setWindowIcon(QIcon(QString::fromUtf8(":/Icons/skin/qbittorrent32.png")));
|
||||
actionOpen->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/open.png")));
|
||||
@@ -515,7 +515,14 @@ void MainWindow::displayRSSTab() const {
|
||||
void MainWindow::askRecursiveTorrentDownloadConfirmation(const QTorrentHandle &h) {
|
||||
Preferences pref;
|
||||
if(pref.recursiveDownloadDisabled()) return;
|
||||
QMessageBox confirmBox(QMessageBox::Question, tr("Recursive download confirmation"), tr("The torrent %1 contains torrent files, do you want to proceed with their download?").arg(h.name()));
|
||||
// Get Torrent name
|
||||
QString torrent_name;
|
||||
try {
|
||||
torrent_name = h.name();
|
||||
} catch(invalid_handle&){
|
||||
return;
|
||||
}
|
||||
QMessageBox confirmBox(QMessageBox::Question, tr("Recursive download confirmation"), tr("The torrent %1 contains torrent files, do you want to proceed with their download?").arg(torrent_name));
|
||||
QPushButton *yes = confirmBox.addButton(tr("Yes"), QMessageBox::YesRole);
|
||||
/*QPushButton *no = */confirmBox.addButton(tr("No"), QMessageBox::NoRole);
|
||||
QPushButton *never = confirmBox.addButton(tr("Never"), QMessageBox::NoRole);
|
||||
|
@@ -566,7 +566,7 @@
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QGroupBox::title {
|
||||
font-weight: normal;
|
||||
margin-left: 10px;
|
||||
margin-left: 0px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
QGroupBox {
|
||||
@@ -642,7 +642,7 @@ QGroupBox {
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QGroupBox::title {
|
||||
font-weight: normal;
|
||||
margin-left: 10px;
|
||||
margin-left: 0px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
QGroupBox {
|
||||
@@ -706,7 +706,7 @@ QGroupBox {
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QGroupBox::title {
|
||||
font-weight: normal;
|
||||
margin-left: 10px;
|
||||
margin-left: 0px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
QGroupBox {
|
||||
@@ -806,7 +806,7 @@ QGroupBox {
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QGroupBox::title {
|
||||
font-weight: normal;
|
||||
margin-left: 10px;
|
||||
margin-left: 0px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
QGroupBox {
|
||||
@@ -939,7 +939,7 @@ QGroupBox {
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<y>-51</y>
|
||||
<width>507</width>
|
||||
<height>485</height>
|
||||
</rect>
|
||||
@@ -1797,7 +1797,7 @@ QGroupBox {
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<y>-25</y>
|
||||
<width>570</width>
|
||||
<height>422</height>
|
||||
</rect>
|
||||
@@ -1814,7 +1814,7 @@ QGroupBox {
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QGroupBox::title {
|
||||
font-weight: normal;
|
||||
margin-left: 10px;
|
||||
margin-left: 0px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
QGroupBox {
|
||||
@@ -1836,7 +1836,7 @@ QGroupBox {
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QGroupBox::title {
|
||||
font-weight: normal;
|
||||
margin-left: 10px;
|
||||
margin-left: 0px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
QGroupBox {
|
||||
|
@@ -247,8 +247,6 @@ void PropertiesWidget::loadTorrentInfos(const QTorrentHandle &_h) {
|
||||
loadUrlSeeds();
|
||||
// List files in torrent
|
||||
PropListModel->setupModelData(h.get_torrent_info());
|
||||
// Expand first item if possible
|
||||
filesList->expand(PropListModel->index(0, 0));
|
||||
}
|
||||
} catch(invalid_handle& e) {
|
||||
|
||||
|
@@ -321,18 +321,15 @@ void TrackerList::deleteSelectedTrackers(){
|
||||
delete item;
|
||||
}
|
||||
// Iterate of trackers and remove selected ones
|
||||
std::vector<announce_entry> remaining_trackers;
|
||||
std::vector<announce_entry> trackers = h.trackers();
|
||||
std::vector<announce_entry>::iterator it = trackers.begin();
|
||||
while(it != trackers.end()) {
|
||||
int index = urls_to_remove.indexOf(misc::toQString((*it).url));
|
||||
if(index >= 0) {
|
||||
trackers.erase(it);
|
||||
urls_to_remove.removeAt(index);
|
||||
} else {
|
||||
it++;
|
||||
std::vector<announce_entry>::iterator it;
|
||||
for(it = trackers.begin(); it != trackers.end(); it++) {
|
||||
if(!urls_to_remove.contains(misc::toQString((*it).url))) {
|
||||
remaining_trackers.push_back(*it);
|
||||
}
|
||||
}
|
||||
h.replace_trackers(trackers);
|
||||
h.replace_trackers(remaining_trackers);
|
||||
h.force_reannounce();
|
||||
// Reload Trackers
|
||||
loadTrackers();
|
||||
|
@@ -1045,7 +1045,9 @@ QTorrentHandle QBtSession::addTorrent(QString path, bool fromScanDir, QString fr
|
||||
TorrentPersistentData::setRootFolder(hash, root_folder);
|
||||
|
||||
// If temp path is enabled, move torrent
|
||||
if(!defaultTempPath.isEmpty() && !resumed) {
|
||||
// XXX: The torrent is moved after the torrent_checked_alert
|
||||
// is received to make sure we don't move a completed torrent (#602938)
|
||||
/*if(!defaultTempPath.isEmpty() && !resumed) {
|
||||
qDebug("Temp folder is enabled, moving new torrent to temp folder");
|
||||
QString torrent_tmp_path = defaultTempPath.replace("\\", "/");
|
||||
if(!root_folder.isEmpty()) {
|
||||
@@ -1053,7 +1055,7 @@ QTorrentHandle QBtSession::addTorrent(QString path, bool fromScanDir, QString fr
|
||||
torrent_tmp_path += root_folder;
|
||||
}
|
||||
h.move_storage(torrent_tmp_path);
|
||||
}
|
||||
}*/
|
||||
|
||||
loadTorrentSettings(h);
|
||||
|
||||
@@ -1362,7 +1364,7 @@ void QBtSession::loadSessionState() {
|
||||
}
|
||||
#if LIBTORRENT_VERSION_MINOR > 14
|
||||
std::vector<char> in;
|
||||
if (load_file(state_path.toLocal8Bit().constData(), in) == 0)
|
||||
if (load_file(state_path.toUtf8().constData(), in) == 0)
|
||||
{
|
||||
lazy_entry e;
|
||||
#if LIBTORRENT_VERSION_MINOR > 15
|
||||
@@ -1376,7 +1378,7 @@ void QBtSession::loadSessionState() {
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
boost::filesystem::ifstream ses_state_file(state_path.toLocal8Bit().constData()
|
||||
boost::filesystem::ifstream ses_state_file(state_path.toUtf8().constData()
|
||||
, std::ios_base::binary);
|
||||
ses_state_file.unsetf(std::ios_base::skipws);
|
||||
s->load_state(bdecode(
|
||||
@@ -1395,13 +1397,13 @@ void QBtSession::saveSessionState() {
|
||||
bencode(std::back_inserter(out), session_state);
|
||||
file f;
|
||||
error_code ec;
|
||||
if (!f.open(state_path.toLocal8Bit().constData(), file::write_only, ec)) return;
|
||||
if (!f.open(state_path.toUtf8().constData(), file::write_only, ec)) return;
|
||||
if (ec) return;
|
||||
file::iovec_t b = {&out[0], out.size()};
|
||||
f.writev(0, &b, 1, ec);
|
||||
#else
|
||||
entry session_state = s->state();
|
||||
boost::filesystem::ofstream out(state_path.toLocal8Bit().constData()
|
||||
boost::filesystem::ofstream out(state_path.toUtf8().constData()
|
||||
, std::ios_base::binary);
|
||||
out.unsetf(std::ios_base::skipws);
|
||||
bencode(std::ostream_iterator<char>(out), session_state);
|
||||
@@ -1416,7 +1418,7 @@ bool QBtSession::enableDHT(bool b) {
|
||||
entry dht_state;
|
||||
const QString dht_state_path = misc::cacheLocation()+QDir::separator()+QString::fromUtf8("dht_state");
|
||||
if(QFile::exists(dht_state_path)) {
|
||||
boost::filesystem::ifstream dht_state_file(dht_state_path.toLocal8Bit().constData(), std::ios_base::binary);
|
||||
boost::filesystem::ifstream dht_state_file(dht_state_path.toUtf8().constData(), std::ios_base::binary);
|
||||
dht_state_file.unsetf(std::ios_base::skipws);
|
||||
try{
|
||||
dht_state = bdecode(std::istream_iterator<char>(dht_state_file), std::istream_iterator<char>());
|
||||
@@ -1900,23 +1902,23 @@ void QBtSession::setProxySettings(const proxy_settings &proxySettings) {
|
||||
}
|
||||
|
||||
void QBtSession::recursiveTorrentDownload(const QTorrentHandle &h) {
|
||||
torrent_info::file_iterator it;
|
||||
for(it = h.get_torrent_info().begin_files(); it != h.get_torrent_info().end_files(); it++) {
|
||||
const QString torrent_relpath = h.filepath(*it);
|
||||
if(torrent_relpath.endsWith(".torrent")) {
|
||||
addConsoleMessage(tr("Recursive download of file %1 embedded in torrent %2", "Recursive download of test.torrent embedded in torrent test2").arg(torrent_relpath).arg(h.name()));
|
||||
const QString torrent_fullpath = h.save_path()+QDir::separator()+torrent_relpath;
|
||||
try {
|
||||
try {
|
||||
torrent_info::file_iterator it;
|
||||
for(it = h.get_torrent_info().begin_files(); it != h.get_torrent_info().end_files(); it++) {
|
||||
const QString torrent_relpath = h.filepath(*it);
|
||||
if(torrent_relpath.endsWith(".torrent")) {
|
||||
addConsoleMessage(tr("Recursive download of file %1 embedded in torrent %2", "Recursive download of test.torrent embedded in torrent test2").arg(torrent_relpath).arg(h.name()));
|
||||
const QString torrent_fullpath = h.save_path()+QDir::separator()+torrent_relpath;
|
||||
|
||||
boost::intrusive_ptr<torrent_info> t = new torrent_info(torrent_fullpath.toUtf8().constData());
|
||||
const QString sub_hash = misc::toQString(t->info_hash());
|
||||
// Passing the save path along to the sub torrent file
|
||||
TorrentTempData::setSavePath(sub_hash, h.save_path());
|
||||
addTorrent(torrent_fullpath);
|
||||
} catch(std::exception&) {
|
||||
qDebug("Caught error loading torrent");
|
||||
addConsoleMessage(tr("Unable to decode %1 torrent file.").arg(torrent_fullpath), QString::fromUtf8("red"));
|
||||
}
|
||||
}
|
||||
} catch(std::exception&) {
|
||||
qDebug("Caught error loading torrent");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2332,6 +2334,7 @@ void QBtSession::readAlerts() {
|
||||
const QDir current_dir(h.save_path());
|
||||
const QDir save_dir(getSavePath(h.hash()));
|
||||
if(current_dir == save_dir) {
|
||||
qDebug("Moving the torrent to the temp directory...");
|
||||
QString root_folder = TorrentPersistentData::getRootFolder(hash);
|
||||
QString torrent_tmp_path = defaultTempPath.replace("\\", "/");
|
||||
if(!root_folder.isEmpty()) {
|
||||
|
@@ -126,10 +126,16 @@ void AutomatedRssDownloader::loadFeedList()
|
||||
const RssSettings settings;
|
||||
const QStringList feed_aliases = settings.getRssFeedsAliases();
|
||||
const QStringList feed_urls = settings.getRssFeedsUrls();
|
||||
QStringList existing_urls;
|
||||
for(int i=0; i<feed_aliases.size(); ++i) {
|
||||
QString feed_url = feed_urls.at(i);
|
||||
feed_url = feed_url.split("\\").last();
|
||||
qDebug() << Q_FUNC_INFO << feed_url;
|
||||
if(existing_urls.contains(feed_url)) continue;
|
||||
QListWidgetItem *item = new QListWidgetItem(feed_aliases.at(i), ui->listFeeds);
|
||||
item->setData(Qt::UserRole, feed_urls.at(i));
|
||||
item->setData(Qt::UserRole, feed_url);
|
||||
item->setFlags(item->flags()|Qt::ItemIsUserCheckable);
|
||||
existing_urls << feed_url;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -438,8 +444,12 @@ void AutomatedRssDownloader::updateMatchingArticles()
|
||||
RssDownloadRule rule = m_ruleList->getRule(rule_item->text());
|
||||
if(!rule.isValid()) continue;
|
||||
foreach(const QString &feed_url, rule.rssFeeds()) {
|
||||
qDebug() << Q_FUNC_INFO << feed_url;
|
||||
Q_ASSERT(all_feeds.contains(feed_url));
|
||||
if(!all_feeds.contains(feed_url)) continue;
|
||||
const RssFeed *feed = all_feeds.value(feed_url);
|
||||
Q_ASSERT(feed);
|
||||
if(!feed) continue;
|
||||
const QStringList matching_articles = rule.findMatchingArticles(feed);
|
||||
if(!matching_articles.isEmpty())
|
||||
addFeedArticlesToTree(feed, matching_articles);
|
||||
|
@@ -28,6 +28,8 @@
|
||||
* Contact: chris@qbittorrent.org, arnaud@qbittorrent.org
|
||||
*/
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include "rssfolder.h"
|
||||
#include "rssarticle.h"
|
||||
#include "qbtsession.h"
|
||||
@@ -268,7 +270,9 @@ QHash<QString, RssFeed*> RssFolder::getAllFeedsAsHash() const {
|
||||
QHash<QString, RssFeed*> ret;
|
||||
foreach(RssFile *item, this->values()) {
|
||||
if(item->getType() == RssFile::FEED) {
|
||||
RssFeed* feed = static_cast<RssFeed*>(item);
|
||||
RssFeed* feed = dynamic_cast<RssFeed*>(item);
|
||||
Q_ASSERT(feed);
|
||||
qDebug() << Q_FUNC_INFO << feed->getUrl();
|
||||
ret[feed->getUrl()] = feed;
|
||||
} else {
|
||||
ret.unite(static_cast<RssFolder*>(item)->getAllFeedsAsHash());
|
||||
|
@@ -214,6 +214,7 @@ public slots:
|
||||
} else {
|
||||
altSpeedsBtn->setIcon(QIcon(":/Icons/slow_off.png"));
|
||||
altSpeedsBtn->setToolTip(tr("Click to enable alternative speed limits"));
|
||||
altSpeedsBtn->setDown(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -217,9 +217,11 @@ void HttpConnection::respond() {
|
||||
} else {
|
||||
if(list[1] == "preferences") {
|
||||
respondPreferencesJson();
|
||||
return;
|
||||
} else {
|
||||
if(list[1] == "transferInfo") {
|
||||
respondGlobalTransferInfoJson();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user