* Return torrent::Object instead of reference from

utils::VariableMap::call_command(...).

* More cleanup of the command calls.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@895 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
rakshasa
2007-04-28 02:37:08 +00:00
parent c5beb24d6c
commit 43fd2c92ec
19 changed files with 353 additions and 192 deletions
+16 -2
View File
@@ -36,6 +36,7 @@
#include "config.h"
#include <rak/functional.h>
#include <rak/functional_fun.h>
#include <sigc++/bind.h>
@@ -43,6 +44,7 @@
#include "core/manager.h"
#include "core/view_manager.h"
#include "utils/command_slot.h"
#include "utils/command_variable.h"
#include "utils/parse.h"
#include "globals.h"
@@ -51,7 +53,7 @@
typedef void (core::ViewManager::*view_filter_slot)(const std::string&, const core::ViewManager::sort_args&);
void
torrent::Object
apply_view_filter(view_filter_slot viewFilterSlot, const torrent::Object& rawArgs) {
const torrent::Object::list_type& args = rawArgs.as_list();
@@ -69,9 +71,11 @@ apply_view_filter(view_filter_slot viewFilterSlot, const torrent::Object& rawArg
filterArgs.push_back(itr->as_string());
(control->view_manager()->*viewFilterSlot)(name, filterArgs);
return torrent::Object();
}
void
torrent::Object
apply_view_sort(const torrent::Object& rawArgs) {
const torrent::Object::list_type& args = rawArgs.as_list();
@@ -89,6 +93,8 @@ apply_view_sort(const torrent::Object& rawArgs) {
value = utils::convert_to_value(args.back());
control->view_manager()->sort(name, value);
return torrent::Object();
}
void
@@ -96,10 +102,18 @@ initialize_command_ui() {
utils::VariableMap* variables = control->variable();
// core::DownloadList* downloadList = control->core()->download_list();
ADD_VARIABLE_STRING("key_layout", "qwerty");
ADD_COMMAND_SLOT("view_add", call_string, utils::object_string_fn(rak::make_mem_fun(control->view_manager(), &core::ViewManager::insert_throw)));
ADD_COMMAND_SLOT("view_filter", call_list, rak::bind_ptr_fn(&apply_view_filter, &core::ViewManager::set_filter));
ADD_COMMAND_SLOT("view_filter_on", call_list, rak::bind_ptr_fn(&apply_view_filter, &core::ViewManager::set_filter_on));
ADD_COMMAND_SLOT("view_sort", call_list, rak::ptr_fn(&apply_view_sort));
ADD_COMMAND_SLOT("view_sort_new", call_list, rak::bind_ptr_fn(&apply_view_filter, &core::ViewManager::set_sort_new));
ADD_COMMAND_SLOT("view_sort_current", call_list, rak::bind_ptr_fn(&apply_view_filter, &core::ViewManager::set_sort_current));
// ADD_COMMAND_SLOT("view_sort_current", call_list, rak::bind_ptr_fn(&apply_view_filter, &core::ViewManager::set_sort_current));
ADD_COMMAND_SLOT("print", call_string, utils::object_string_fn(rak::make_mem_fun(control->core(), &core::Manager::push_log)));
}