OSDN Git Service

kget: set file priorities and upload/download limit via parameters
authorIvailo Monev <xakepa10@gmail.com>
Thu, 12 Aug 2021 19:42:53 +0000 (22:42 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Thu, 12 Aug 2021 19:42:53 +0000 (22:42 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
kget/transfer-plugins/torrent/transferTorrent.cpp
kget/transfer-plugins/torrent/transferTorrent.h

index ef05551..9a6416d 100644 (file)
@@ -439,12 +439,10 @@ void TransferTorrent::start()
     }
 
     ltparams.save_path = destination.constData();
+    ltparams.file_priorities = m_priorities;
+    ltparams.upload_limit = (m_uploadLimit * 1024);
+    ltparams.download_limit = (m_downloadLimit * 1024);
     m_lthandle = m_ltsession->add_torrent(ltparams);
-    m_lthandle.set_upload_limit(m_uploadLimit * 1024);
-    m_lthandle.set_download_limit(m_downloadLimit * 1024);
-    if (m_priorities.size() > 0) {
-        m_lthandle.prioritize_files(m_priorities);
-    }
 
     setStatus(Job::Running);
     setTransferChange(Transfer::Tc_Status, true);
@@ -563,11 +561,13 @@ void TransferTorrent::slotCheckStateChanged()
         const QModelIndex fileindex = m_filemodel->index(url, FileItem::File);
         const int checkstate = m_filemodel->data(fileindex, Qt::CheckStateRole).toInt();
         if (checkstate != int(Qt::Unchecked)) {
-            m_lthandle.file_priority(counter, LTPriorities::NormalPriority);
             kDebug(5001) << "will downloand" << url;
+
+            m_lthandle.file_priority(counter, LTPriorities::NormalPriority);
         } else {
-            m_lthandle.file_priority(counter, LTPriorities::Disabled);
             kDebug(5001) << "will not downloand" << url;
+
+            m_lthandle.file_priority(counter, LTPriorities::Disabled);
         }
         counter++;
     }
@@ -599,7 +599,7 @@ void TransferTorrent::load(const QDomElement *element)
     if (element) {
         const QStringList priorities = element->attribute("FilePriorities").split(",");
         foreach (const QString priority, priorities) {
-            m_priorities.push_back(priority.toInt());
+            m_priorities.push_back(boost::uint8_t(priority.toInt()));
         }
     }
 }
index ca0a309..4d419ba 100644 (file)
@@ -67,7 +67,7 @@ private:
     lt::session* m_ltsession;
     lt::torrent_handle m_lthandle;
     FileModel* m_filemodel;
-    std::vector<int> m_priorities;
+    std::vector<boost::uint8_t> m_priorities;
     bool m_recreatefilemodel;
 };