Reshuffle the gui class structure a bit more.
[matthijs/upstream/mobilegtd.git] / src / gui / project_details / project_view.py
index 6a8f2f701d0d77a5916a4e66977ab3c8ae771b00..801b067dcbb3b796db3d59466fe75e0a7e3de993 100644 (file)
@@ -4,7 +4,7 @@ import thread
 from model.model import *
 from config.config import gtd_directory,Configuration
 from config.defaultconfig import default_actions_menu
-from gui.gui import EditableListView
+from gui.gui import SearchableListView
 from infos_widget import InfosWidget
 from info_widget import InfoWidget
 from context_widget import ContextWidget
@@ -21,7 +21,7 @@ import key_codes
 
 from gui import *
 
-ACTION_LIST_KEYS_AND_MENU = Configuration(os.path.join(gtd_directory,"actions.cfg"))
+ACTION_LIST_KEYS_AND_MENU = Configuration(os.path.join(gtd_directory,"actions.cfg"), default_actions_menu)
 
 
 def ask_for_action(project_name,proposition=None):
@@ -59,18 +59,20 @@ def ask_for_info(proposition):
     return appuifw.query(u'Enter info','text',u'%s'%(proposition))
 
 
-class ProjectView(EditableListView):
+class ProjectView(SearchableListView):
     def __init__(self,project):
         self.project = project
         self.project.observers.append(self)
-        super(ProjectView, self).__init__(self.project.name, [lambda:self.project.actions.with_property(lambda a:a.status==action.active)])
-        self.set_keybindings(ACTION_LIST_KEYS_AND_MENU)
+        super(ProjectView, self).__init__()
+        self.set_menu(ACTION_LIST_KEYS_AND_MENU)
+        self.set_title(self.project.name)
+        self.set_filters([lambda:self.project.actions.with_property(lambda a:a.status==action.active)])
 
     def exit(self):
         self.project.observers.remove(self)
 #        self.project.status = project.active
 #        self.project.status.update(self.project)
-        EditableListView.exit(self)
+        super(ProjectView, self).exit()
 #        self.project.dirty = True
 #        self.project.write()
 #        self.projects.update_status(self.project)