Ignore:
Timestamp:
05/08/13 19:59:16 (12 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Moved the size hint computation for the 'MenuPage'.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/document/quickmenu.py

    r11491 r11494  
    150150        proxyModel = self.view().model() 
    151151        return proxyModel.mapToSource(ToolTree.rootIndex(self)) 
     152 
     153    def sizeHint(self): 
     154        view = self.view() 
     155        hint = view.sizeHint() 
     156        model = view.model() 
     157 
     158        # This will not work for nested items (tree). 
     159        count = model.rowCount(view.rootIndex()) 
     160 
     161        width = view.sizeHintForColumn(0) 
     162 
     163        if count: 
     164            height = view.sizeHintForRow(0) 
     165            height = height * count 
     166        else: 
     167            height = hint.height() 
     168        return QSize(max(width, hint.width()), max(height, hint.height())) 
    152169 
    153170 
     
    310327        widget_hints = [default_size] 
    311328        for i in range(self.count()): 
    312             w = self.widget(i) 
    313             if isinstance(w, ToolTree): 
    314                 hint = self.__sizeHintForTreeView(w.view()) 
    315             else: 
    316                 hint = w.sizeHint() 
     329            hint = self.widget(i).sizeHint() 
    317330            widget_hints.append(hint) 
     331 
    318332        width = max([s.width() for s in widget_hints]) 
    319333        # Take the median for the height 
Note: See TracChangeset for help on using the changeset viewer.