Exemplo n.º 1
0
    def _createCompleterModel(self, completionPrefix):
        """
        Creates a QStandardModel that holds the suggestion from the completion
        models for the QCompleter

        :param completionPrefix:
        """
        # build the completion model
        cc_model = QStandardItemModel()
        cptSuggestion = 0
        displayedTexts = []
        self.__tooltips.clear()
        for model in self._models:
            for s in model.suggestions:
                # skip redundant completion
                if s.display != completionPrefix and \
                        not s.display in displayedTexts:
                    displayedTexts.append(s.display)
                    items = []
                    item = QStandardItem()
                    items.append(item)
                    item.setData(s.display, Qt.DisplayRole)
                    if s.description is not None:
                        self.__tooltips[s.display] = s.description
                    if s.decoration is not None:
                        item.setData(QIcon(s.decoration), Qt.DecorationRole)
                    cc_model.appendRow(items)
                    cptSuggestion += 1
            # do we need to use more completion model?
            if cptSuggestion >= self.minSuggestions:
                break  # enough suggestions
        return cc_model, cptSuggestion
Exemplo n.º 2
0
    def addLinkMan(self,linkMan,status):
        '''添加联系人'''
        itemLinkMan=QStandardItem()
        itemLinkMan.setData(linkMan,QtCore.Qt.DisplayRole)
        itemLinkManStatus=QStandardItem()
        itemLinkManStatus.setData(status,QtCore.Qt.DisplayRole)

        self.itemFriend.appendRow([itemLinkMan,itemLinkManStatus])
Exemplo n.º 3
0
def get_song_item(song):
    item = QStandardItem()
    item.setData(song.track_info['title'], ModelToItemStrat.TRACK_TITLE)
    item.setData(song.track_info['artist'], ModelToItemStrat.ARTIST)
    item.setData(song.track_info['album'], ModelToItemStrat.ALBUM)
    item.setData(song, ModelToItemStrat.FILTER)
    item.setData(song, ModelToItemStrat.PLAY)
    item.setText(song.track_info['title'])
    return item
    def _on_level_selected_changed(self, index):
        level_name = self.mClassList.itemData(index)
        level = self.levels_dict[level_name]
        model = QStandardItemModel()
        for verb in level.verbs_list:
            item = QStandardItem(verb.base_verbal)
            item.setData(verb.base_verbal)
            model.appendRow(item)

        self.mVerbsList.setModel(model)
Exemplo n.º 5
0
def get_album_item(album):
    if not album:
        return get_album_sorts
    item = QStandardItem()
    item.setData(album.title, ModelToItemStrat.ALBUM)
    item.setData(album.songs[0].track_info['date'], ModelToItemStrat.DATE)
    item.setData(album.artist.name, ModelToItemStrat.ARTIST)
    item.setData(album, ModelToItemStrat.FILTER)
    item.setData(album, ModelToItemStrat.PLAY)
    item.setText(album.title)
    item.setSizeHint(QSize(128,148))
    album.item = item
    return item
Exemplo n.º 6
0
    def _search_results_to_array(self,search_results):
        array = []
        
        for res in search_results:
            # mainlog.debug("_search_results_to_array {}".format(res.creation_date))

            i = QStandardItem(res.preorder_part_label)
            row = [i,
                   QStandardItem(res.accounting_part_label),
                   QStandardItem(res.customer_order_name),
                   QStandardItem(res.fullname)]

            if 'order_part_id' in res.__dict__:
                # It's an order part

                i.setData( res.order_part_id, Qt.UserRole)
                i.setData( 'order_part', Qt.UserRole+1)
                row.append( QStandardItem(res.description))
            else:
                # It's an order

                i.setData( res.order_id, Qt.UserRole)
                i.setData( 'order', Qt.UserRole+1)
                row.append( QStandardItem())

            array.append(row)

        return array
Exemplo n.º 7
0
def get_album_item(album):
    item = QStandardItem()
    item.setData(album.title, ModelToItemStrat.ALBUM)
    item.setData(album.artist.name, ModelToItemStrat.ARTIST)
    item.setData(album, ModelToItemStrat.FILTER)
    item.setData(album, ModelToItemStrat.PLAY)
    item.setText(album.title)
    item.setSizeHint(QSize(128,148))
    return item
Exemplo n.º 8
0
def get_artist_item(artist):
    if not artist:
        return get_artist_sorts
    item = QStandardItem()
    item.setData(artist.name, ModelToItemStrat.ARTIST)
    item.setData(artist, ModelToItemStrat.FILTER)
    item.setData(artist, ModelToItemStrat.PLAY)
    item.setText(artist.name)
    artist.item = item
    return item
Exemplo n.º 9
0
    def setData(self,data):
        """ data = [ (role, role.description, role active or not (True or False, not None)) ]
        """
        m = QStandardItemModel(len(data),2)

        row = 0
        for d in data:
            item = QStandardItem()
            item.setData(d[2],Qt.EditRole)
            m.setItem(row,0,item)

            item = QStandardItem()
            item.setData(d[0],Qt.UserRole)
            item.setData(d[1],Qt.DisplayRole)
            m.setItem(row,1,item)

            row += 1

        self.setModel(m)
        self.resizeColumnsToContents()
Exemplo n.º 10
0
class client(QMainWindow):   
    def __init__(self,parent= None):
#        QMainWindow.__init__(self)
        super(client, self).__init__(parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.userModel = QStandardItemModel()
        self.itemHeadFriend=QStandardItem()
        self.itemHeadFriend.setData("linkMan",QtCore.Qt.DisplayRole)
        self.itemHeadStatis=QStandardItem()
        self.itemHeadStatis.setData("status",QtCore.Qt.DisplayRole)
        self.userModel.setHorizontalHeaderItem(0,self.itemHeadFriend)
        self.userModel.setHorizontalHeaderItem(1,self.itemHeadStatis)

                
        self.itemFriend=QStandardItem()
        self.itemFriend.setData("friend",QtCore.Qt.DisplayRole)
        self.userModel.insertRow(0,self.itemFriend)
        self.ui.linkManTreeView.setModel(self.userModel)

        self.connecting=None
        QtCore.QObject.connect(self.ui.linkManTreeView, QtCore.SIGNAL("clicked(QModelIndex)"), self,QtCore.SLOT("createMessageFrame(QModelIndex)"))
        self.messageFrame={}



    def addLinkMan(self,linkMan,status):
        '''添加联系人'''
        itemLinkMan=QStandardItem()
        itemLinkMan.setData(linkMan,QtCore.Qt.DisplayRole)
        itemLinkManStatus=QStandardItem()
        itemLinkManStatus.setData(status,QtCore.Qt.DisplayRole)

        self.itemFriend.appendRow([itemLinkMan,itemLinkManStatus])

    def createTempMessageFrame(self,user,friend):
        uiDebug(self.messageFrame)
        if self.messageFrame.has_key(friend):
            self.messageFrame[friend].show()
        else:    
            try:        
                frame = messageWin(self,user,friend)
                frame.setWindowTitle(friend)
                self.messageFrame[friend]=frame
                frame.show()
                #pylint: disable=W0702 
            except:
                pass
        
        uiDebug("mainPanelUi createMessageFrame()")
        
    
    def createMessageFrame(self,QModelIndex):
        '''创建对话窗口'''
        friend= self.userModel.data(QModelIndex)

        if self.userModel.indexFromItem(self.itemFriend) == QModelIndex:
            return
        
        if friend == "":
            return
        
        if friend == "inline":
            return
        
        uiDebug(self.messageFrame)
        if self.messageFrame.has_key(friend):
            self.messageFrame[friend].show()
        else:    
            try:        
                frame = messageWin(self,self.user,friend)
                frame.setWindowTitle(friend)
                self.messageFrame[friend]=frame
                frame.show()
                #pylint: disable=W0702 
            except:
                pass
        
        uiDebug("mainPanelUi createMessageFrame()")
Exemplo n.º 11
0
def get_artist_item(artist):
    item = QStandardItem()
    item.setData(artist, ModelToItemStrat.FILTER)
    item.setData(artist, ModelToItemStrat.PLAY)
    item.setText(artist.name)
    return item