diff --git a/configure.ac b/configure.ac index 1899e422..08e06d9d 100644 --- a/configure.ac +++ b/configure.ac @@ -8,6 +8,7 @@ sinclude(scripts/common.m4) TORRENT_CHECK_CXXFLAGS() TORRENT_ENABLE_DEBUG() +TORRENT_ENABLE_EXTRA_DEBUG() TORRENT_ENABLE_WERROR() AC_PROG_CXX diff --git a/src/core/curl_get.cc b/src/core/curl_get.cc index 6435e53d..de18a3b6 100644 --- a/src/core/curl_get.cc +++ b/src/core/curl_get.cc @@ -84,8 +84,11 @@ CurlGet::start() { curl_easy_setopt(m_handle, CURLOPT_URL, m_url.c_str()); curl_easy_setopt(m_handle, CURLOPT_WRITEFUNCTION, &curl_get_receive_write); curl_easy_setopt(m_handle, CURLOPT_WRITEDATA, this); - curl_easy_setopt(m_handle, CURLOPT_CONNECTTIMEOUT, 60); - curl_easy_setopt(m_handle, CURLOPT_TIMEOUT, 360); + + if (m_timeout != 0) { + curl_easy_setopt(m_handle, CURLOPT_CONNECTTIMEOUT, 60); + curl_easy_setopt(m_handle, CURLOPT_TIMEOUT, m_timeout); + } curl_easy_setopt(m_handle, CURLOPT_FORBID_REUSE, 1); curl_easy_setopt(m_handle, CURLOPT_NOSIGNAL, 1); diff --git a/src/display/window_statusbar.cc b/src/display/window_statusbar.cc index 7409317e..3ae6237c 100644 --- a/src/display/window_statusbar.cc +++ b/src/display/window_statusbar.cc @@ -82,9 +82,12 @@ WindowStatusbar::redraw() { (int)torrent::listen_port(), !torrent::bind_address().empty() ? (" Bind: " + torrent::bind_address()).c_str() : ""); -// pos = snprintf(buf, 128, "[U %i/%i][S %i/%i/%i][F %i/%i]", +#ifndef USE_EXTRA_DEBUG + pos = snprintf(buf, 128, "[U %i/%i][S %i/%i/%i][F %i/%i]", +#else pos = snprintf(buf, 128, "%i [U %i/%i][S %i/%i/%i][F %i/%i]", countTicks, +#endif torrent::currently_unchoked(), torrent::max_unchoked(), torrent::total_handshakes(), diff --git a/src/ui/element_tracker_list.cc b/src/ui/element_tracker_list.cc index 36627ed4..2b436b54 100644 --- a/src/ui/element_tracker_list.cc +++ b/src/ui/element_tracker_list.cc @@ -54,6 +54,7 @@ ElementTrackerList::ElementTrackerList(core::Download* d) : m_bindings[KEY_DOWN] = sigc::mem_fun(*this, &ElementTrackerList::receive_next); m_bindings[KEY_UP] = sigc::mem_fun(*this, &ElementTrackerList::receive_prev); m_bindings[' '] = sigc::mem_fun(*this, &ElementTrackerList::receive_cycle_group); + m_bindings['*'] = sigc::mem_fun(*this, &ElementTrackerList::receive_disable); } void @@ -77,6 +78,19 @@ ElementTrackerList::disable(Control* c) { m_window = NULL; } +void +ElementTrackerList::receive_disable() { + if (m_window == NULL) + throw std::logic_error("ui::ElementTrackerList::receive_disable(...) called on a disabled object"); + + if (m_download->get_download().tracker(m_focus).is_enabled()) + m_download->get_download().tracker(m_focus).disable(); + else + m_download->get_download().tracker(m_focus).enable(); + + m_window->mark_dirty(); +} + void ElementTrackerList::receive_next() { if (m_window == NULL) diff --git a/src/ui/element_tracker_list.h b/src/ui/element_tracker_list.h index 470ea6f4..0f3a5bd2 100644 --- a/src/ui/element_tracker_list.h +++ b/src/ui/element_tracker_list.h @@ -62,6 +62,8 @@ private: void receive_next(); void receive_prev(); + void receive_disable(); + void receive_cycle_group(); core::Download* m_download;