Changeset 6204:69ca981296b8 in orange


Ignore:
Timestamp:
08/14/09 15:13:50 (5 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
49d04d975c61001474c4fd7097ed6e068f58a932
Message:
  • using background for widget icons
Location:
orange/OrangeCanvas
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeCanvas/orngCanvas.pyw

    r6083 r6204  
    2424                
    2525        self.defaultPic = os.path.join(self.picsDir, "Unknown.png") 
     26        self.defaultBackground = os.path.join(self.picsDir, "frame.png") 
    2627        canvasPicsDir  = os.path.join(self.canvasDir, "icons") 
    2728        self.file_new  = os.path.join(canvasPicsDir, "doc.png") 
     
    644645         
    645646        iconNames = self.getFullWidgetIconName(widgetInfo) 
     647        iconBackgrounds = self.getFullIconBackgroundName(widgetInfo) 
    646648        icon = QIcon() 
    647         for name in iconNames: 
    648             icon.addPixmap(QPixmap(name)) 
     649        if len(iconNames) == 1: 
     650            iconSize = QPixmap(iconNames[0]).width() 
     651            iconBackgrounds = [name for name in iconBackgrounds if QPixmap(name).width() == iconSize] 
     652        for name, back in zip(iconNames, iconBackgrounds): 
     653            image = QPixmap(back).toImage() 
     654            painter = QPainter(image) 
     655            painter.drawPixmap(0, 0, QPixmap(name)) 
     656            painter.end() 
     657            icon.addPixmap(QPixmap.fromImage(image)) 
    649658        self.iconNameToIcon[widgetInfo.icon] = icon 
    650659        return icon 
     
    655664        names = [] 
    656665        name, ext = os.path.splitext(iconName) 
    657         for num in [16, 32, 42, 60]: 
     666        for num in [16, 32, 40, 48, 60]: 
    658667            names.append("%s_%d%s" % (name, num, ext)) 
    659668             
    660669        widgetDir = str(self.widgetRegistry[widgetInfo.category].directory)  #os.path.split(self.getFileName())[0] 
     670        print widgetDir 
    661671        fullPaths = [] 
    662         for paths in [(self.picsDir,), (self.widgetDir,), tuple(), (widgetDir,), (widgetDir, "icons")]: 
     672        for paths in [(self.widgetDir, widgetInfo.category), (self.widgetDir,), (self.picsDir,), tuple(), (widgetDir,), (widgetDir, "icons")]: 
    663673            for name in names + [iconName]: 
    664674                fname = os.path.join(*paths + (name,)) 
     
    670680                return fullPaths     
    671681        return [self.defaultPic] 
    672  
    673  
     682     
     683    def getFullIconBackgroundName(self, widgetInfo): 
     684        widgetDir = str(self.widgetRegistry[widgetInfo.category].directory) 
     685        fullPaths = [] 
     686        for paths in [(widgetDir, "icons"), (self.widgetDir, widgetInfo.category, "icons"), (self.widgetDir, "icons"), (self.picsDir,), tuple(), (widgetDir,), (widgetDir, "icons")]: 
     687            for name in ["background_%d.png" % num for num in [16, 32, 40, 48, 60]]: 
     688                fname = os.path.join(*paths + (name,)) 
     689#                print fname 
     690                if os.path.exists(fname): 
     691                    fullPaths.append(fname) 
     692            if fullPaths != []: 
     693                return fullPaths     
     694        return [self.defaultBackground] 
     695     
    674696class MyStatusBar(QStatusBar): 
    675697    def __init__(self, parent): 
  • orange/OrangeCanvas/orngDlgs.py

    r5992 r6204  
    684684                layout.addWidget(mainBox, y, x, Qt.AlignTop | Qt.AlignLeft) 
    685685                label = QLabel(wtab) 
    686                 label.setPixmap(QPixmap(canvasDlg.getFullWidgetIconName(widgetInfo))) 
     686                label.setPixmap(canvasDlg.getWidgetIcon(widgetInfo).pixmap(40)) 
    687687                hlayout.addWidget(label) 
    688688 
Note: See TracChangeset for help on using the changeset viewer.