remove the filter by default that clobber all options except account,

*by* *default* without any ways to unclobbered options since the rest of the
code is *NOT* working. *donkey*.
This commit is contained in:
Vincent Hanquez 2005-04-27 19:03:28 +00:00
parent c75e610914
commit db89a48bf3
1 changed files with 13 additions and 22 deletions

View File

@ -41,46 +41,40 @@ class Advanced_window:
def on_advanced_close_button_clicked(self, widget): def on_advanced_close_button_clicked(self, widget):
self.window.destroy() self.window.destroy()
def find_iter(self, parent_iter, name): def find_iter(self, model, parent_iter, name):
if not parent_iter: if not parent_iter:
iter = self.model.get_iter_root() iter = model.get_iter_root()
else: else:
iter = self.model.iter_children(parent_iter) iter = model.iter_children(parent_iter)
while iter: while iter:
if self.model.get_value(iter, 0) == name: if model.get_value(iter, 0) == name:
break break
iter = self.model.iter_next(iter) iter = model.iter_next(iter)
return iter return iter
def fill(self, data, name, parents, val): def fill(self, model, name, parents, val):
iter = None iter = None
if parents: if parents:
for p in parents: for p in parents:
iter2 = self.find_iter(iter, p) iter2 = self.find_iter(model, iter, p)
if iter2: if iter2:
iter = iter2 iter = iter2
if not val: if not val:
self.model.append(iter, [name, '', '']) model.append(iter, [name, '', ''])
return return
self.model.append(iter, [name, val[OPT_VAL], val[OPT_TYPE][0]]) model.append(iter, [name, val[OPT_VAL], val[OPT_TYPE][0]])
def visible_func(self, model, iter, str): def visible_func(self, model, iter, str):
if str is None or str == '': if str is None or str == '':
return True #show all return True
name = model.get_value(iter, 0) name = model.get_value(iter, 0)
if name.find(str) != -1: #was found if name.find(str) != -1:
#print 'show', name
return True return True
return False return False
def on_advanced_entry_changed(self, widget): def on_advanced_entry_changed(self, widget):
#print 'refilter starts'
#FIXME: maybe some gobject timeout is better
text = widget.get_text() text = widget.get_text()
self.filterstr = text
#print self.filterstr
self.modelfilter.refilter() #FIXME: does not work!
def __init__(self, plugin): def __init__(self, plugin):
self.plugin = plugin self.plugin = plugin
@ -113,12 +107,9 @@ class Advanced_window:
renderer_text, text = 2) renderer_text, text = 2)
# add data to model # add data to model
gajim.config.foreach(self.fill, None) gajim.config.foreach(self.fill, self.model)
self.modelfilter = self.model.filter_new() treeview.set_model(self.model)
self.filterstr = 'account'
self.modelfilter.set_visible_func(self.visible_func, self.filterstr)
treeview.set_model(self.modelfilter)
self.plugin.windows['advanced_config'] = self self.plugin.windows['advanced_config'] = self
self.window.show_all() self.window.show_all()