Ignore:
Timestamp:
07/27/10 10:20:23 (9 years ago)
Author:
beliar
Message:

Patch by Beliar.

  • Dropping items menu action now only shows when right-clicking on an item in the players inventory
  • Actions that are supposed to happen when a key is pressed now work again.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/game/scripts/gui/containergui_base.py

    r596 r600  
    9393        pass     
    9494     
     95 
     96    def createMenuItems(self, item, actions): 
     97        """Creates context menu items for all classes based on ContainerGUI""" 
     98        menu_actions = [] 
     99        for action_name in actions: 
     100            display_name = action_name 
     101            if action_name in ACTIONS: 
     102                param_dict = {} 
     103                param_dict["controller"] = self.controller 
     104                param_dict["commands"] = {} 
     105                if action_name == "Look": 
     106                    param_dict["examine_name"] = item.name 
     107                    param_dict["examine_desc"] = actions[action_name].\ 
     108                                                                pop("text") 
     109                if action_name == "Read": 
     110                    param_dict["text_name"] = item.name 
     111                    param_dict["text"] = "" 
     112                if action_name == "Use": 
     113                    param_dict["item"] = item 
     114                    display_name = actions[action_name].pop("text") 
     115                param_dict.update(actions[action_name]) 
     116                menu_actions.append([action_name,  
     117                                     display_name,  
     118                                     self.executeMenuItem,  
     119                                     ACTIONS[action_name]\ 
     120                                                (**param_dict)])         
     121        return menu_actions 
     122 
    95123    def showContextMenu(self, event, widget): 
    96124        """Decide whether to drag or drop the image. 
     
    105133                if not actions: 
    106134                    return 
    107                 menu_actions = [] 
    108135                x_pos, y_pos = widget.getAbsolutePos() 
    109136                x_pos += event.getX() 
    110137                y_pos += event.getY() 
    111                 for action_name in actions: 
    112                     display_name = action_name 
    113                     if action_name in ACTIONS: 
    114                         param_dict = {}  
    115                         param_dict["controller"] = self.controller 
    116                         param_dict["commands"] = {} 
    117                         if action_name == "Look": 
    118                             param_dict["examine_name"] = item.name 
    119                             param_dict["examine_desc"] = actions[action_name].pop("text") 
    120                         if action_name == "Read": 
    121                             param_dict["text_name"] = item.name 
    122                             param_dict["text"] = "" 
    123                         if action_name == "Use": 
    124                             param_dict["item"] = item 
    125                             display_name = actions[action_name].pop("text") 
    126                         param_dict.update(actions[action_name]) 
    127                         menu_actions.append([action_name, display_name,  
    128                                             self.executeMenuItem, 
    129                                             ACTIONS[action_name](**param_dict)]) 
    130                 param_dict = {}  
    131                 param_dict["controller"] = self.controller 
    132                 param_dict["commands"] = {} 
    133                 param_dict["item"] = item 
    134                 param_dict["container_gui"] = self 
    135                 menu_actions.append(["Drop", "Drop", 
    136                                             self.executeMenuItem, 
    137                                             ACTIONS["Drop"](**param_dict)]) 
     138                menu_actions = self.createMenuItems(item, actions) 
     139                self.controller.view.hud.hideContextMenu() 
    138140                self.controller.view.hud.showContextMenu(menu_actions, 
    139141                                                 (x_pos,  
Note: See TracChangeset for help on using the changeset viewer.