def openMenu(self,position): item = self.indexAt(position) if item.row()<0: return try: player = str(item.data().toString()) except AttributeError: player = str(item.data()) if player: menu = QtGui.QMenu() isfav = db.isPlayerFavourite(player) if isfav: favouriteAction = QtGui.QAction(QtGui.QIcon(standardIcon),QtGui.QApplication.translate("PlayerList","Unset Favourite"), self) else: favouriteAction = QtGui.QAction(QtGui.QIcon(favouriteIcon),QtGui.QApplication.translate("PlayerList","Set Favourite"), self) menu.addAction(favouriteAction) dealerAction = None if self.engine and self.engine.getDealer() is not None and player != self.model().dealer: dealerAction = QtGui.QAction( QtGui.QIcon(dealerIcon),QtGui.QApplication.translate("PlayerList","Set dealer"), self) menu.addAction(dealerAction) action = menu.exec_(self.mapToGlobal(position)) if action is None: return elif action == favouriteAction: isfav = not isfav db.setPlayerFavourite(player,isfav) icon = standardIcon if isfav: icon = favouriteIcon self.model().addIcon(self.model().itemFromIndex(item),icon) elif self.engine and action == dealerAction: self.setDealer(item, player)
def setDealer(self, item, player): icon = standardIcon if db.isPlayerFavourite(self.model().dealer): icon = favouriteIcon self.model().addIcon(self.model().itemFromPlayer(self.model().dealer), icon) self.model().addIcon(self.model().itemFromIndex(item), dealerIcon) self.model().dealer = player
def addPlayer(self, player, row=None): item = QtGui.QStandardItem(player) item.setEditable(False) item.setDropEnabled(False) font = item.font() font.setPixelSize(24) font.setBold(True) item.setFont(font) icon = standardIcon if self.engine and self.dealer == player: icon = dealerIcon elif db.isPlayerFavourite(player): icon = favouriteIcon self.addIcon(item, icon) if row is not None and row >= 0: self.insertRow(row, item) else: self.appendRow(item)