diff options
Diffstat (limited to 'net-p2p/rtorrent/files/rtorrent-0.8.6-canvas-fix.patch')
-rw-r--r-- | net-p2p/rtorrent/files/rtorrent-0.8.6-canvas-fix.patch | 321 |
1 files changed, 321 insertions, 0 deletions
diff --git a/net-p2p/rtorrent/files/rtorrent-0.8.6-canvas-fix.patch b/net-p2p/rtorrent/files/rtorrent-0.8.6-canvas-fix.patch new file mode 100644 index 000000000000..02b8a186d9a6 --- /dev/null +++ b/net-p2p/rtorrent/files/rtorrent-0.8.6-canvas-fix.patch @@ -0,0 +1,321 @@ +diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/command_network.cc ./src/command_network.cc +*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/command_network.cc 2009-11-12 09:19:40.000000000 +0100 +--- ./src/command_network.cc 2009-12-17 19:27:05.783955715 +0100 +*************** +*** 495,498 **** +--- 495,502 ---- + // Not really network stuff: + ADD_VARIABLE_BOOL ("handshake_log", false); + ADD_VARIABLE_STRING("log.tracker", ""); ++ ADD_COMMAND_VALUE_TRI("done_fg_color", rak::make_mem_fun(control->ui(), &ui::Root::set_done_fg_color), rak::make_mem_fun(control->ui(), &ui::Root::get_done_fg_color)); ++ ADD_COMMAND_VALUE_TRI("done_bg_color", rak::make_mem_fun(control->ui(), &ui::Root::set_done_bg_color), rak::make_mem_fun(control->ui(), &ui::Root::get_done_bg_color)); ++ ADD_COMMAND_VALUE_TRI("active_fg_color", rak::make_mem_fun(control->ui(), &ui::Root::set_active_fg_color), rak::make_mem_fun(control->ui(), &ui::Root::get_active_fg_color)); ++ ADD_COMMAND_VALUE_TRI("active_bg_color", rak::make_mem_fun(control->ui(), &ui::Root::set_active_bg_color), rak::make_mem_fun(control->ui(), &ui::Root::get_active_bg_color)); + } +diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/canvas.cc ./src/display/canvas.cc +*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/canvas.cc 2009-11-12 09:03:47.000000000 +0100 +--- ./src/display/canvas.cc 2009-12-17 19:27:05.783955715 +0100 +*************** +*** 92,97 **** +--- 92,101 ---- + m_isInitialized = true; + + initscr(); ++ start_color(); ++ use_default_colors(); ++ init_pair(2, -1, -1); ++ init_pair(1, -1, -1); + raw(); + noecho(); + nodelay(stdscr, TRUE); +Only in ./src/display: canvas.cc.orig +diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/window_download_list.cc ./src/display/window_download_list.cc +*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/window_download_list.cc 2009-11-12 09:03:47.000000000 +0100 +--- ./src/display/window_download_list.cc 2009-12-17 19:27:05.783955715 +0100 +*************** +*** 37,42 **** +--- 37,43 ---- + #include "config.h" + + #include <rak/algorithm.h> ++ #include <torrent/rate.h> + + #include "core/download.h" + #include "core/view.h" +*************** +*** 96,107 **** + char* position; + char* last = buffer + m_canvas->width() - 2 + 1; + + position = print_download_title(buffer, last, *range.first); +! m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer); + + position = print_download_info(buffer, last, *range.first); + m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer); + + position = print_download_status(buffer, last, *range.first); + m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer); + +--- 97,126 ---- + char* position; + char* last = buffer + m_canvas->width() - 2 + 1; + ++ if( pos >= m_canvas->height() ) break; + position = print_download_title(buffer, last, *range.first); +! m_canvas->print(0, pos, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer); +! if( (*range.first)->is_done() ) { +! if( (*range.first)->download()->up_rate()->rate() != 0 ) { +! m_canvas->set_attr(0, pos, m_canvas->width()-1, A_BOLD, 2); +! } else { +! m_canvas->set_attr(0, pos, m_canvas->width()-1, A_NORMAL, 2); +! } +! } else if( (*range.first)->download()->is_active() ) { +! if( (*range.first)->download()->down_rate()->rate() != 0 ) { +! m_canvas->set_attr(0, pos, m_canvas->width()-1, A_BOLD, 1); +! } else { +! m_canvas->set_attr(0, pos, m_canvas->width()-1, A_NORMAL, 1); +! } +! } +! pos++; + ++ if( pos >= m_canvas->height() ) break; ++ + position = print_download_info(buffer, last, *range.first); + m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer); + ++ if( pos >= m_canvas->height() ) break; + position = print_download_status(buffer, last, *range.first); + m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer); + +*************** +*** 109,112 **** +--- 128,167 ---- + } + } + ++ void ++ WindowDownloadList::set_done_fg_color(int64_t color) { ++ short fg, bg; ++ pair_content(2, &fg, &bg); ++ if( color < 0 ) color = -1; ++ color = color % 8; ++ init_pair(2, (short)color, bg); ++ } ++ ++ void ++ WindowDownloadList::set_done_bg_color(int64_t color) { ++ short fg, bg; ++ pair_content(2, &fg, &bg); ++ if( color < 0 ) color = -1; ++ color = color % 8; ++ init_pair(2, fg, (short)color); ++ } ++ ++ void ++ WindowDownloadList::set_active_fg_color(int64_t color) { ++ short fg, bg; ++ pair_content(1, &fg, &bg); ++ if( color < 0 ) color = -1; ++ color = color % 8; ++ init_pair(1, (short)color, bg); ++ } ++ ++ void ++ WindowDownloadList::set_active_bg_color(int64_t color) { ++ short fg, bg; ++ pair_content(1, &fg, &bg); ++ if( color < 0 ) color = -1; ++ color = color % 8; ++ init_pair(1, fg, (short)color); ++ } ++ + } +diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/window_download_list.h ./src/display/window_download_list.h +*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/display/window_download_list.h 2009-11-12 09:03:47.000000000 +0100 +--- ./src/display/window_download_list.h 2009-12-17 19:27:05.783955715 +0100 +*************** +*** 59,64 **** +--- 59,68 ---- + virtual void redraw(); + + void set_view(core::View* l); ++ void set_done_fg_color(int64_t color); ++ void set_done_bg_color(int64_t color); ++ void set_active_fg_color(int64_t color); ++ void set_active_bg_color(int64_t color); + + private: + core::View* m_view; +diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/download_list.cc ./src/ui/download_list.cc +*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/download_list.cc 2009-11-12 09:03:48.000000000 +0100 +--- ./src/ui/download_list.cc 2009-12-17 19:27:05.783955715 +0100 +*************** +*** 137,142 **** +--- 137,147 ---- + current_view()->next_focus(); + } + ++ display::WindowDownloadList* ++ DownloadList::current_window_list() { ++ return dynamic_cast<ElementDownloadList*>(m_uiArray[DISPLAY_DOWNLOAD_LIST])->window(); ++ } ++ + void + DownloadList::activate_display(Display displayType) { + if (!is_active()) +Only in ./src/ui: download_list.cc.orig +diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/download_list.h ./src/ui/download_list.h +*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/download_list.h 2009-11-12 09:03:48.000000000 +0100 +--- ./src/ui/download_list.h 2009-12-17 19:27:05.783955715 +0100 +*************** +*** 101,106 **** +--- 101,107 ---- + void activate_display(Display d); + + core::View* current_view(); ++ display::WindowDownloadList* current_window_list(); + void set_current_view(const std::string& name); + + void slot_open_uri(SlotOpenUri s) { m_slotOpenUri = s; } +diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/element_download_list.h ./src/ui/element_download_list.h +*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/element_download_list.h 2009-11-12 09:03:48.000000000 +0100 +--- ./src/ui/element_download_list.h 2009-12-17 19:27:05.783955715 +0100 +*************** +*** 60,65 **** +--- 60,66 ---- + void disable(); + + core::View* view() { return m_view; } ++ WDownloadList* window() { return m_window; } + void set_view(core::View* l); + + void receive_command(const char* cmd); +Only in ./src/ui: element_download_list.h.orig +diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/root.cc ./src/ui/root.cc +*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/root.cc 2009-11-12 09:03:48.000000000 +0100 +--- ./src/ui/root.cc 2009-12-17 19:27:05.783955715 +0100 +*************** +*** 44,49 **** +--- 44,50 ---- + + #include "core/manager.h" + #include "display/frame.h" ++ #include "display/window_download_list.h" + #include "display/window_http_queue.h" + #include "display/window_title.h" + #include "display/window_input.h" +*************** +*** 65,71 **** + m_windowTitle(NULL), + m_windowHttpQueue(NULL), + m_windowInput(NULL), +! m_windowStatusbar(NULL) { + } + + void +--- 66,76 ---- + m_windowTitle(NULL), + m_windowHttpQueue(NULL), + m_windowInput(NULL), +! m_windowStatusbar(NULL), +! done_fg_color(-1), +! done_bg_color(-1), +! active_fg_color(-1), +! active_bg_color(-1) { + } + + void +*************** +*** 97,102 **** +--- 102,111 ---- + setup_keys(); + + m_downloadList->activate(rootFrame->frame(1)); ++ m_downloadList->current_window_list()->set_done_fg_color(done_fg_color); ++ m_downloadList->current_window_list()->set_done_bg_color(done_bg_color); ++ m_downloadList->current_window_list()->set_active_fg_color(active_fg_color); ++ m_downloadList->current_window_list()->set_active_bg_color(active_bg_color); + } + + void +*************** +*** 219,224 **** +--- 228,273 ---- + torrent::set_max_unchoked(maxUnchoked); + } + ++ int ++ Root::get_done_fg_color() { ++ return done_fg_color; ++ } ++ ++ void ++ Root::set_done_fg_color(int64_t color) { ++ done_fg_color = color; ++ } ++ ++ int ++ Root::get_done_bg_color() { ++ return done_bg_color; ++ } ++ ++ void ++ Root::set_done_bg_color(int64_t color) { ++ done_bg_color = color; ++ } ++ ++ int ++ Root::get_active_fg_color() { ++ return active_fg_color; ++ } ++ ++ void ++ Root::set_active_fg_color(int64_t color) { ++ active_fg_color = color; ++ } ++ ++ int ++ Root::get_active_bg_color() { ++ return active_bg_color; ++ } ++ ++ void ++ Root::set_active_bg_color(int64_t color) { ++ active_bg_color = color; ++ } ++ + void + Root::adjust_down_throttle(int throttle) { + set_down_throttle(std::max<int>(torrent::down_throttle_global()->max_rate() / 1024 + throttle, 0)); +Only in ./src/ui: root.cc.orig +diff -crB /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/root.h ./src/ui/root.h +*** /home/regj/misc/rtorrent-color-orig/src/rtorrent-0.8.6/src/ui/root.h 2009-11-12 09:03:48.000000000 +0100 +--- ./src/ui/root.h 2009-12-17 19:27:05.783955715 +0100 +*************** +*** 82,87 **** +--- 82,95 ---- + // Rename to raw or something, make base function. + void set_down_throttle_i64(int64_t throttle) { set_down_throttle(throttle >> 10); } + void set_up_throttle_i64(int64_t throttle) { set_up_throttle(throttle >> 10); } ++ int get_done_fg_color(); ++ void set_done_fg_color(int64_t color); ++ int get_done_bg_color(); ++ void set_done_bg_color(int64_t color); ++ int get_active_fg_color(); ++ void set_active_fg_color(int64_t color); ++ int get_active_bg_color(); ++ void set_active_bg_color(int64_t color); + + void adjust_down_throttle(int throttle); + void adjust_up_throttle(int throttle); +*************** +*** 105,110 **** +--- 113,122 ---- + WStatusbar* m_windowStatusbar; + + input::Bindings m_bindings; ++ int64_t done_fg_color; ++ int64_t done_bg_color; ++ int64_t active_fg_color; ++ int64_t active_bg_color; + }; |