Beispiel #1
0
    def __init__(self, parent=None):
        QWidget.__init__(self, parent=parent)

        self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.results = ()
        self.current_result = -1
        self.max_result = -1
        self.mouse_hover_result = -1
        self.setMouseTracking(True)
        self.setFocusPolicy(Qt.NoFocus)
        self.text_option = to = QTextOption()
        to.setWrapMode(to.NoWrap)
        self.divider = QStaticText('\xa0→ \xa0')
        self.divider.setTextFormat(Qt.PlainText)
Beispiel #2
0
 def __call__(self, results):
     if results:
         self.current_result = 0
         prefixes = [QStaticText('<b>%s</b>' % os.path.basename(x)) for x in results]
         [(p.setTextFormat(Qt.RichText), p.setTextOption(self.text_option)) for p in prefixes]
         self.maxwidth = max([x.size().width() for x in prefixes])
         self.results = tuple((prefix, self.make_text(text, positions), text)
             for prefix, (text, positions) in izip(prefixes, results.iteritems()))
     else:
         self.results = ()
         self.current_result = -1
     self.max_result = min(10, len(self.results) - 1)
     self.mouse_hover_result = -1
     self.update()
Beispiel #3
0
 def make_text(self, text, positions):
     text = QStaticText(make_highlighted_text(self.EMPH, text, positions))
     text.setTextOption(self.text_option)
     text.setTextFormat(Qt.RichText)
     return text