Exemplo n.º 1
0
 def setItemText(self, item, vval):
     if vval == None:
         item.setText(1, str("None"))
     elif vval.type() == typeId.DateTime:
         dateTime = vval.value()
         if dateTime:
             item.setText(1, str(dateTime))
     elif vval.type() in [
             typeId.Int16, typeId.UInt16, typeId.Int32, typeId.UInt32,
             typeId.Int64, typeId.UInt64
     ]:
         item.setText(1, vval.toString() + " - " + vval.toHexString())
     elif vval.type() in [typeId.Char, typeId.String, typeId.CArray]:
         val = vval.toString()
         item.setText(1, QString.fromUtf8(val))
     elif vval.type() == typeId.Node:
         label = QLabel('<a href="' +
                        QString.fromUtf8(vval.value().path()) +
                        '" style="color: blue">' +
                        QString.fromUtf8(vval.value().absolute()) + ' </a>')
         label.connect(label, SIGNAL("linkActivated(QString)"),
                       self.gotolink)
         self.setItemWidget(item, 1, label)
     elif vval.type() == typeId.Path:
         item.setText(1, QString.fromUtf8(vval.value().path))
     else:
         item.setText(1, str(vval.value()))
Exemplo n.º 2
0
    def fillBase(self, node):
        fsobj = node.fsobj()
        fsobjname = ""
        if fsobj != None:
            fsobjname = fsobj.name
        itemName = QTreeWidgetItem(self)
        itemName.setText(0, self.nameText)
        itemName.setText(1, QString.fromUtf8(node.name()))
        if isinstance(node, VLink):
            linkPath = QTreeWidgetItem(self)
            linkPath.setText(0, self.linkPath)
            label = QLabel('<a href="' + QString.fromUtf8(node.linkPath()) +
                           '" style="color: blue">' +
                           QString.fromUtf8(node.linkAbsolute()) + ' </a>')
            label.connect(label, SIGNAL("linkActivated(QString)"),
                          self.gotolink)
            self.setItemWidget(linkPath, 1, label)

        itemName = QTreeWidgetItem(self)
        itemName.setText(0, self.nodeTypeText)

        typestr = ""
        if node.isFile():
            typestr += self.fileText
            if node.hasChildren():
                typestr += self.modAppliedText
        self.fillCompatModule(node)
        if node.hasChildren():
            self.fillChildren(node)

        if node.isDir():
            typestr += self.folderText
            if not node.hasChildren():
                typestr += self.emptyText
        if node.isDeleted():
            typestr += self.deletedText
        itemName.setText(1, typestr)

        itemModule = QTreeWidgetItem(self)
        itemModule.setText(0, self.generateText)
        itemModule.setText(1, str(fsobjname))

        itemSize = QTreeWidgetItem(self)
        itemSize.setText(0, self.sizeText)
        itemSize.setText(1, str(node.size()))

        tags = node.tags()
        if len(tags):
            itemTags = QTreeWidgetItem(self)
            itemTags.setText(0, "tags")
            tags = node.tags()
            for tag in tags:
                itemTag = QTreeWidgetItem(itemTags)
                color = tag.color()
                itemTag.setBackground(
                    0, QBrush(QColor(color.r, color.g, color.b)))
                itemTag.setForeground(0, QBrush(QColor(255, 255, 255)))
                itemTag.setText(0, QString.fromUtf8(tag.name()))
            self.expandItem(itemTags)
Exemplo n.º 3
0
def createLink(img_name, slot, tooltip=""):
    """
        Create a QLabel link connected to a specific slot.

        @param img_name [str] this is the image name in resources
        @paral sloc [func(str)] the slot function
        @return  a QLabel object
    """
    link = QLabel('<a href="#"><img src="%s" /></a>' % img_name)
    #link.setPixmap(QPixmap(img_name))
    link.setCursor(Qt.PointingHandCursor)
    link.setTextInteractionFlags(
            Qt.LinksAccessibleByMouse | Qt.LinksAccessibleByKeyboard)
    link.setToolTip(tooltip)
    link.setStyleSheet('padding-left: 2px; padding-right: 2px')
    link.connect(link, SIGNAL('linkActivated(const QString&)'), slot)
    return link
Exemplo n.º 4
0
    def setItemText(self, item, vval):
        if vval == None:
	    item.setText(1, str("None")) 
        elif vval.type() == typeId.VTime:
            vtime = vval.value()
	    if vtime:
              item.setText(1, str(vtime.get_time()))
        elif vval.type() in [typeId.Int16, typeId.UInt16, typeId.Int32, typeId.UInt32, typeId.Int64, typeId.UInt64]:
            item.setText(1, vval.toString() + " - " + vval.toHexString())
        elif vval.type() in [typeId.Char, typeId.String, typeId.CArray]:
            val = vval.toString()
            item.setText(1, QString.fromUtf8(val))
        elif vval.type() == typeId.Node:
            label = QLabel('<a href="' + QString.fromUtf8(vval.value().path()) + '" style="color: blue">'+ QString.fromUtf8(vval.value().absolute()) + ' </a>')
            label.connect(label, SIGNAL("linkActivated(QString)"), self.gotolink)
            self.setItemWidget(item, 1, label)
        elif vval.type() == typeId.Path:
            item.setText(1, QString.fromUtf8(vval.value().path))
        else:
            item.setText(1, str(vval.value()))