------------------------------------------------------------ revno: 3299 committer: poy <p...@123gen.com> branch nick: trunk timestamp: Sun 2013-05-19 17:26:34 +0200 message: no "force attempt" for HTTP DLs after all modified: dcpp/HttpManager.cpp dcpp/HttpManager.h win32/TransferView.cpp win32/TransferView.h
-- lp:dcplusplus https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk Your team Dcplusplus-team is subscribed to branch lp:dcplusplus. To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dcpp/HttpManager.cpp' --- dcpp/HttpManager.cpp 2013-05-19 14:35:33 +0000 +++ dcpp/HttpManager.cpp 2013-05-19 15:26:34 +0000 @@ -68,29 +68,6 @@ } } -void HttpManager::force(const string& url) { - HttpConnection* c = nullptr; - - { - Lock l(cs); - for(auto& conn: conns) { - if(conn.c->getUrl() == url) { - if(conn.remove && !conn.success) { - conn.remove = 0; - c = conn.c; - } - break; - } - } - } - - if(c) { - fire(HttpManagerListener::Removed(), c); - fire(HttpManagerListener::Added(), c); - c->download(); - } -} - void HttpManager::shutdown() { TimerManager::getInstance()->removeListener(this); @@ -107,7 +84,7 @@ auto c = new HttpConnection(); { Lock l(cs); - Conn conn { c, stream ? stream : new StringOutputStream(), !stream, false, 0 }; + Conn conn { c, stream ? stream : new StringOutputStream(), !stream, 0 }; conns.push_back(move(conn)); } c->addListener(this); @@ -177,9 +154,7 @@ OutputStream* stream; { Lock l(cs); - auto conn = findConn(c); - conn->success = true; - stream = conn->stream; + stream = findConn(c)->stream; } stream->flush(); fire(HttpManagerListener::Complete(), c, stream); === modified file 'dcpp/HttpManager.h' --- dcpp/HttpManager.h 2013-05-19 14:35:33 +0000 +++ dcpp/HttpManager.h 2013-05-19 15:26:34 +0000 @@ -49,12 +49,11 @@ HttpConnection* download(string url, const StringMap& postData, OutputStream* stream = nullptr); void disconnect(const string& url); - void force(const string& url); void shutdown(); private: - struct Conn { HttpConnection* c; OutputStream* stream; bool manageStream; bool success; uint64_t remove; }; + struct Conn { HttpConnection* c; OutputStream* stream; bool manageStream; uint64_t remove; }; friend class Singleton<HttpManager>; === modified file 'win32/TransferView.cpp' --- win32/TransferView.cpp 2013-05-16 21:03:53 +0000 +++ win32/TransferView.cpp 2013-05-19 15:26:34 +0000 @@ -441,10 +441,6 @@ } } -void TransferView::HttpInfo::force() { - HttpManager::getInstance()->force(path); -} - void TransferView::HttpInfo::disconnect() { HttpManager::getInstance()->disconnect(path); } @@ -485,12 +481,17 @@ appendUserItems(mdi, menu.get(), false); set<TransferInfo*> files; + auto onlyHttp = true; for(auto i: sel) { auto& transfer = transfers->getData(i)->transfer(); - if(!dynamic_cast<HttpInfo*>(&transfer) && !transfer.getText(COLUMN_FILE).empty()) { - files.insert(&transfer); + if(!dynamic_cast<HttpInfo*>(&transfer)) { + onlyHttp = false; + if(!transfer.getText(COLUMN_FILE).empty()) { + files.insert(&transfer); + } } } + if(files.size() == 1) { menu->appendSeparator(); transfer = *files.begin(); @@ -515,9 +516,11 @@ } menu->appendShellMenu(paths); - menu->appendSeparator(); - menu->appendItem(T_("&Force attempt"), [this] { handleForce(); }); - menu->appendSeparator(); + if(!onlyHttp) { + menu->appendSeparator(); + menu->appendItem(T_("&Force attempt"), [this] { handleForce(); }); + menu->appendSeparator(); + } menu->appendItem(T_("&Disconnect"), [this] { handleDisconnect(); }); WinUtil::addCopyMenu(menu.get(), transfers); === modified file 'win32/TransferView.h' --- win32/TransferView.h 2013-05-16 21:03:53 +0000 +++ win32/TransferView.h 2013-05-19 15:26:34 +0000 @@ -160,7 +160,6 @@ void update(const UpdateInfo& ui); - virtual void force(); virtual void disconnect(); Status status;
_______________________________________________ Mailing list: https://launchpad.net/~linuxdcpp-team Post to : linuxdcpp-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~linuxdcpp-team More help : https://help.launchpad.net/ListHelp