all repos — openbox @ 390d447d9ba92878fbd1a0f7955edb5f83256195

openbox fork - make it a bit more like ryudo

add some const
Dana Jansens danakj@orodu.net
commit

390d447d9ba92878fbd1a0f7955edb5f83256195

parent

5f8e2b75fadc1878aebf063e5fc5bf25fbf70385

2 files changed, 19 insertions(+), 11 deletions(-)

jump to
M src/bindings.ccsrc/bindings.cc

@@ -17,9 +17,9 @@

namespace ob { #include <stdio.h> -static void print_branch(BindingTree *first, std::string str) +static void print_branch(const BindingTree *first, std::string str) { - BindingTree *p = first; + const BindingTree *p = first; while (p) { if (p->first_child)

@@ -95,7 +95,8 @@ }

return true; } -bool OBBindings::translate(const std::string &str, Binding &b, bool askey) +bool OBBindings::translate(const std::string &str, Binding &b, + bool askey) const { // parse out the base key name std::string::size_type keybegin = str.find_last_of('-');

@@ -138,7 +139,7 @@ tree = c;

} } -BindingTree *OBBindings::buildtree(const StringVect &keylist, int id) +BindingTree *OBBindings::buildtree(const StringVect &keylist, int id) const { if (keylist.empty()) return 0; // nothing in the list.. return 0

@@ -240,8 +241,10 @@ }

} -int OBBindings::find_key(BindingTree *search) { +int OBBindings::find_key(BindingTree *search) const { BindingTree *a, *b; + print_branch(&_keytree, " Searching:"); + print_branch(search, " for..."); a = _keytree.first_child; b = search; while (a && b) {

@@ -249,10 +252,14 @@ if (a->binding != b->binding) {

a = a->next_sibling; } else { if (a->chain == b->chain) { - if (!a->chain) + if (!a->chain) { + printf("Match found with %s\n", a->text.c_str()); return a->id; // found it! (return the actual id, not the search's) - } else - return -2; // the chain status' don't match (conflict!) + } + } else { + printf("Conflict found with %s\n", a->text.c_str()); + return -2; // the chain status' don't match (conflict!) + } b = b->first_child; a = a->first_child; }

@@ -271,6 +278,7 @@ print_branch(tree, " Adding: ");

if (find_key(tree) != -1) { // conflicts with another binding + printf("Conflict\n"); destroytree(tree); return false; }
M src/bindings.hhsrc/bindings.hh

@@ -51,9 +51,9 @@ BindingTree *_curpos; // position in the keytree

BindingTree *_mousetree; // this tree is a list. it has only siblings - int find_key(BindingTree *search); - bool translate(const std::string &str, Binding &b, bool askey); - BindingTree *buildtree(const StringVect &keylist, int id); + int find_key(BindingTree *search) const; + bool translate(const std::string &str, Binding &b, bool askey) const; + BindingTree *buildtree(const StringVect &keylist, int id) const; void OBBindings::assimilate(BindingTree *node); public: