mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-11 16:49:22 +00:00
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@251 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -7,8 +7,12 @@ libsub_display_a_SOURCES = \
|
|||||||
manager.h \
|
manager.h \
|
||||||
window.cc \
|
window.cc \
|
||||||
window.h \
|
window.h \
|
||||||
|
window_download.cc \
|
||||||
|
window_download.h \
|
||||||
window_download_list.cc \
|
window_download_list.cc \
|
||||||
window_download_list.h \
|
window_download_list.h \
|
||||||
|
window_statusbar.cc \
|
||||||
|
window_statusbar.h \
|
||||||
window_title.cc \
|
window_title.cc \
|
||||||
window_title.h
|
window_title.h
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include "canvas.h"
|
||||||
|
#include "window_download.h"
|
||||||
|
|
||||||
|
namespace display {
|
||||||
|
|
||||||
|
WindowDownload::WindowDownload(DPtr d) :
|
||||||
|
Window(new Canvas, true),
|
||||||
|
m_download(d) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
WindowDownload::redraw() {
|
||||||
|
m_canvas->erase();
|
||||||
|
|
||||||
|
m_canvas->print(0, 0, "Download: %s", m_download->get_download().get_name().c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
#ifndef RTORRENT_DISPLAY_WINDOW_DOWNLOAD_H
|
||||||
|
#define RTORRENT_DISPLAY_WINDOW_DOWNLOAD_H
|
||||||
|
|
||||||
|
#include "window.h"
|
||||||
|
#include "core/download_list.h"
|
||||||
|
|
||||||
|
namespace display {
|
||||||
|
|
||||||
|
class WindowDownload : public Window {
|
||||||
|
public:
|
||||||
|
typedef core::DownloadList::iterator DPtr;
|
||||||
|
|
||||||
|
WindowDownload(DPtr d);
|
||||||
|
|
||||||
|
DPtr get_download() { return m_download; }
|
||||||
|
|
||||||
|
virtual void redraw();
|
||||||
|
|
||||||
|
private:
|
||||||
|
DPtr m_download;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <torrent/torrent.h>
|
||||||
|
|
||||||
|
#include "canvas.h"
|
||||||
|
#include "window_statusbar.h"
|
||||||
|
|
||||||
|
namespace display {
|
||||||
|
|
||||||
|
WindowStatusbar::WindowStatusbar() :
|
||||||
|
Window(new Canvas, false, 1),
|
||||||
|
m_counter(0) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
WindowStatusbar::redraw() {
|
||||||
|
m_canvas->erase();
|
||||||
|
m_canvas->print(0, 0, "Loop: %i", ++m_counter);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#ifndef RTORRENT_DISPLAY_WINDOW_STATUSBAR_H
|
||||||
|
#define RTORRENT_DISPLAY_WINDOW_STATUSBAR_H
|
||||||
|
|
||||||
|
#include "window.h"
|
||||||
|
|
||||||
|
namespace display {
|
||||||
|
|
||||||
|
class WindowStatusbar : public Window {
|
||||||
|
public:
|
||||||
|
WindowStatusbar();
|
||||||
|
|
||||||
|
virtual void redraw();
|
||||||
|
|
||||||
|
private:
|
||||||
|
int m_counter;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -1,27 +1,20 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include <torrent/torrent.h>
|
|
||||||
|
|
||||||
#include "canvas.h"
|
#include "canvas.h"
|
||||||
#include "window_title.h"
|
#include "window_title.h"
|
||||||
|
|
||||||
namespace display {
|
namespace display {
|
||||||
|
|
||||||
WindowTitle::WindowTitle() :
|
WindowTitle::WindowTitle(const std::string& s) :
|
||||||
Window(new Canvas, false, 1),
|
Window(new Canvas, false, 1),
|
||||||
m_counter(0) {
|
m_title(s) {
|
||||||
|
|
||||||
m_title += "rtorrent " VERSION " - ";
|
|
||||||
m_title += torrent::get(torrent::LIBRARY_NAME);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
WindowTitle::redraw() {
|
WindowTitle::redraw() {
|
||||||
m_counter++;
|
|
||||||
|
|
||||||
m_canvas->erase();
|
m_canvas->erase();
|
||||||
m_canvas->print(std::max(0, (m_canvas->get_width() - (int)m_title.size()) / 2 - 4), 0,
|
m_canvas->print(std::max(0, (m_canvas->get_width() - (int)m_title.size()) / 2 - 4), 0,
|
||||||
"*** %s *** %i", m_title.c_str(), m_counter);
|
"*** %s ***", m_title.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,14 +8,12 @@ namespace display {
|
|||||||
|
|
||||||
class WindowTitle : public Window {
|
class WindowTitle : public Window {
|
||||||
public:
|
public:
|
||||||
WindowTitle();
|
WindowTitle(const std::string& s);
|
||||||
|
|
||||||
virtual void redraw();
|
virtual void redraw();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string m_title;
|
std::string m_title;
|
||||||
|
|
||||||
int m_counter;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-5
@@ -6,15 +6,11 @@
|
|||||||
#include <sigc++/bind.h>
|
#include <sigc++/bind.h>
|
||||||
|
|
||||||
#include "display/canvas.h"
|
#include "display/canvas.h"
|
||||||
#include "display/manager.h"
|
#include "display/window_statusbar.h"
|
||||||
#include "display/window_title.h"
|
|
||||||
#include "display/window_download_list.h"
|
|
||||||
|
|
||||||
#include "core/poll.h"
|
#include "core/poll.h"
|
||||||
#include "core/download_list.h"
|
#include "core/download_list.h"
|
||||||
|
|
||||||
#include "input/bindings.h"
|
|
||||||
#include "input/manager.h"
|
|
||||||
#include "ui/control.h"
|
#include "ui/control.h"
|
||||||
#include "ui/download_list.h"
|
#include "ui/download_list.h"
|
||||||
|
|
||||||
@@ -53,6 +49,8 @@ main(int argc, char** argv) {
|
|||||||
ui::Control uiControl;
|
ui::Control uiControl;
|
||||||
ui::DownloadList uiDownloadList(&downloads, &uiControl);
|
ui::DownloadList uiDownloadList(&downloads, &uiControl);
|
||||||
|
|
||||||
|
uiControl.get_display().push_front(new display::WindowStatusbar);
|
||||||
|
|
||||||
uiDownloadList.activate();
|
uiDownloadList.activate();
|
||||||
|
|
||||||
poll.slot_read_stdin(sigc::mem_fun(uiControl.get_input(), &input::Manager::pressed));
|
poll.slot_read_stdin(sigc::mem_fun(uiControl.get_input(), &input::Manager::pressed));
|
||||||
|
|||||||
Reference in New Issue
Block a user