def onNewHotCommunitiesAvailable(self, squares, texts): print "New suggestions arrived", squares, texts self.mainwin.suggested_squares_list.clear() for square in squares: list_item = SquareOverviewListItem(parent=self.mainwin.suggested_squares_list, square=square) list_item.square = square
def onNewCommunityCreated(self, square): #TODO: We need to update the square list here. print "New square created", square #TODO: We should switch to an MVC widget soon, so we can sort, filter, update, etc easily. list_item = SquareOverviewListItem(parent=self.mainwin.squares_list, square=square) item_index = self.mainwin.squares_list.row(list_item) #Create this square's messages list list_widget = QtGui.QListWidget() #Setup widget properties list_widget.setFrameShape(QtGui.QFrame.NoFrame) list_widget.setFrameShadow(QtGui.QFrame.Plain) list_widget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) list_widget.setAutoScroll(True) list_widget.setAutoScrollMargin(2) list_widget.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) list_widget.setProperty("showDropIndicator", False) list_widget.setDragDropMode(QtGui.QAbstractItemView.NoDragDrop) list_widget.setSelectionMode(QtGui.QAbstractItemView.NoSelection) list_widget.setVerticalScrollMode(QtGui.QAbstractItemView.ScrollPerPixel) list_widget.setHorizontalScrollMode(QtGui.QAbstractItemView.ScrollPerPixel) list_widget.setMovement(QtGui.QListView.Snap) list_widget.setProperty("isWrapping", False) list_widget.setSpacing(2) list_widget.setWordWrap(True) #Scroll to bottom at each new message insertion message_model = list_widget.model() message_model.rowsInserted.connect(list_widget.scrollToBottom) self.mainwin.messages_stack.insertWidget(item_index, list_widget) self.mainwin.messages_stack.setCurrentIndex(item_index) list_item.setSelected(True) self._communities_listwidgets[square.cid]=list_widget self._communities[square.cid] = square #Set member info for this square self._setMemberInfo(square) #TODO: Put this on the widget constructor, and remove it from here and onNewPreviewCommunityCreated square.events.connect(square.events, QtCore.SIGNAL('squareInfoUpdated'), list_item.onInfoUpdated) square.events.connect(square.events, QtCore.SIGNAL('messageReceived'), self.onTextMessageReceived)