def __on_chat_send(self, entry, event_keyval, event_keymod): if (event_keyval == gtk.keysyms.Return): buffer = entry.get_buffer() start, end = buffer.get_bounds() msg = buffer.get_text(start, end) entry.clear() entry.grab_focus() if (msg == ''): return False color = self.button_color.get_color() hex8 = "%.2x%.2x%.2x" % ((color.red/0x101), (color.green/0x101), (color.blue/0x101)) style = papyon.TextFormat.NO_EFFECT if self.button_bold.get_active(): style |= papyon.TextFormat.BOLD if self.button_italic.get_active(): style |= papyon.TextFormat.ITALIC if self.button_underline.get_active(): style |= papyon.TextFormat.UNDERLINE if self.button_strikethrough.get_active(): style |= papyon.TextFormat.STRIKETHROUGH font_name = self.button_font.get_font_name() font_family = pango.FontDescription(font_name).get_family() format = papyon.TextFormat(font=font_family, color=hex8, style=style) strv = StringView() strv.append_text(msg) self._amsn_conversation.send_message(strv, format) elif event_keyval == gtk.keysyms.Escape: self._parent.destroy()
def __on_chat_send(self, entry, event_keyval, event_keymod): if (event_keyval == gtk.keysyms.Return): buffer = entry.get_buffer() start, end = buffer.get_bounds() msg = buffer.get_text(start, end) entry.clear() entry.grab_focus() if (msg == ''): return False color = self.button_color.get_color() hex8 = "%.2x%.2x%.2x" % ((color.red / 0x101), (color.green / 0x101), (color.blue / 0x101)) style = papyon.TextFormat.NO_EFFECT if self.button_bold.get_active(): style |= papyon.TextFormat.BOLD if self.button_italic.get_active(): style |= papyon.TextFormat.ITALIC if self.button_underline.get_active(): style |= papyon.TextFormat.UNDERLINE if self.button_strikethrough.get_active(): style |= papyon.TextFormat.STRIKETHROUGH font_name = self.button_font.get_font_name() font_family = pango.FontDescription(font_name).get_family() format = papyon.TextFormat(font=font_family, color=hex8, style=style) strv = StringView() strv.append_text(msg) self._amsn_conversation.send_message(strv, format) elif event_keyval == gtk.keysyms.Escape: self._parent.destroy()
def group_updated(self, group): if (group.uid == 0): group.uid = '0' if group.uid not in self.groups: return gitem = self.__search_by_id(group.uid) self._model.item(self._model.indexFromItem(gitem).row(), 3).setData(QtCore.QVariant(group), QtCore.Qt.DisplayRole) gname = StringView() gname = group.name self._model.item((self._model.indexFromItem(gitem)).row(), 0).setText('<b>'+QtCore.QString.fromUtf8(gname.to_HTML_string())+'</b>') try: cuids = self.contacts[group.uid] except: cuids = [] self.contacts[group.uid] = group.contact_ids.copy() for cid in group.contact_ids: if cid not in cuids: gitem = self.__search_by_id(group.uid) gitem.appendRow([QtGui.QStandardItem(cid), QtGui.QStandardItem(cid), QtGui.QStandardItem("contact"), QtGui.QStandardItem()]) # Remove unused contacts for cid in cuids: if cid not in self.contacts[group.uid]: citems = self.__search_by_id(cid) for citem in citems: self._model.removeRow((self._model.indexFromItem(citem)).row())
def __switchFromInput(self, source, isNew): """ When in the editing state of nickname and psm, change back to the uneditable label state. """ if (isNew): if source is self.btnNickname.get_child(): newText = source.get_text() strv = StringView() strv.append_text(newText) self._myview.nick = str(strv) elif source is self.btnPsm.get_child(): newText = source.get_text() strv = StringView() strv.append_text(newText) self._myview.psm = str(strv) else: if source is self.btnNickname.get_child(): # User discards input newText = self.nicklabel.get_text() # Old nickname elif source is self.btnPsm.get_child(): newText = self.psmlabel.get_text() parentWidget = source.get_parent() currWidget = parentWidget.get_child() currWidget.disconnect( self.focusOutId) # Else we trigger focus-out-event; segfault. parentWidget.remove(currWidget) entry = gtk.Label() entry.set_markup(newText) parentWidget.add(entry) entry.show() parentWidget.set_relief(gtk.RELIEF_NONE) # remove cool elevated effect
def __sendMsg(self, msg): bb = elementary.Bubble(self.parent) bb.label_set("TODO: MYSELF") bb.info_set("TODO: TIMESTAMP") #TODO: bb.icon_set() bb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) bb.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) ab = elementary.AnchorBlock(self.parent) ab.text_set(msg) bb.content_set(ab) ab.show() self.outbx.pack_end(bb) bb.show() strv = StringView() strv.append_text(msg) self._amsn_conversation.send_message(strv)
def __switchFromInput(self, source, isNew): """ When in the editing state of nickname and psm, change back to the uneditable label state. """ if(isNew): if source is self.btnNickname.get_child(): newText = source.get_text() strv = StringView() strv.appendText(newText) self._myview.nick = strv elif source is self.btnPsm.get_child(): newText = source.get_text() strv = StringView() strv.appendText(newText) self._myview.psm = strv else: if source is self.btnNickname.get_child(): # User discards input newText = self.nicklabel.get_text() # Old nickname elif source is self.btnPsm.get_child(): newText = self.psmlabel.get_text() parentWidget = source.get_parent() currWidget = parentWidget.get_child() currWidget.disconnect(self.focusOutId) # Else we trigger focus-out-event; segfault. parentWidget.remove(currWidget) entry = gtk.Label() entry.set_markup(newText) parentWidget.add(entry) entry.show() parentWidget.set_relief(gtk.RELIEF_NONE) # remove cool elevated effect
def group_added(self, group): pi = self._model.invisibleRootItem() # Adding Group Item groupItem = QtGui.QStandardItem() gname = StringView() gname = group.name self._model.item( groupItem.row(), 0).setText('<b>' + QtCore.QString.fromUtf8(gname.toHtmlString()) + '</b>') self._model.item(groupItem.row(), 1).setText(QtCore.QString.fromUtf8(str(group.uid))) pi.appendRow(groupItem) for contact in group.contacts: contactItem = QtGui.QStandardItem() cname = StringView() cname = contact.name self._model.item(contactItem.row(), 0).setText( QtCore.QString.fromUtf8(cname.toHtmlString())) self._model.item(contactItem.row(), 1).setText( QtCore.QString.fromUtf8(str(contact.uid))) groupItem.appendRow(contactItem) self._contactDict[contact.uid] = contact
def group_added(self, group): pi = self._model.invisibleRootItem() # Adding Group Item groupItem = QStandardItem() gname = StringView() gname = group.name self._model.item(groupItem.row(), 0).setText('<b>'+QString.fromUtf8(gname.toHtmlString())+'</b>') self._model.item(groupItem.row(), 1).setText(QString.fromUtf8(str(group.uid))) pi.appendRow(groupItem) for contact in group.contacts: contactItem = QStandardItem() cname = StringView() cname = contact.name self._model.item(contactItem.row(), 0).setText(QString.fromUtf8(cname.toHtmlString())) self._model.item(contactItem.row(), 1).setText(QString.fromUtf8(str(contact.uid))) groupItem.appendRow(contactItem) self._contactDict[contact.uid] = contact
def group_updated(self, group): if (group.uid == 0): group.uid = '0' if group.uid not in self.groups: return gitem = self.__search_by_id(group.uid) self._model.item(self._model.indexFromItem(gitem).row(), 3).setData(QtCore.QVariant(group), QtCore.Qt.DisplayRole) gname = StringView() gname = group.name self._model.item( (self._model.indexFromItem(gitem)).row(), 0).setText('<b>' + QtCore.QString.fromUtf8(gname.to_HTML_string()) + '</b>') try: cuids = self.contacts[group.uid] except: cuids = [] self.contacts[group.uid] = group.contact_ids.copy() for cid in group.contact_ids: if cid not in cuids: gitem = self.__search_by_id(group.uid) gitem.appendRow([ QtGui.QStandardItem(cid), QtGui.QStandardItem(cid), QtGui.QStandardItem("contact"), QtGui.QStandardItem() ]) # Remove unused contacts for cid in cuids: if cid not in self.contacts[group.uid]: citems = self.__search_by_id(cid) for citem in citems: self._model.removeRow( (self._model.indexFromItem(citem)).row())
def __sendMessage(self): # TODO: Switch to this when implemented """ msg = self.ui.inputWidget.toHtml() self.ui.inputWidget.clear() strv = StringView() strv.appendElementsFromHtml(msg) """ msg = QString.fromUtf8(self.ui.inputWidget.toPlainText()) self.ui.inputWidget.clear() color = self.color hex8 = "%.2x%.2x%.2x" % ((color.red()), (color.green()), (color.blue())) style = papyon.TextFormat.NO_EFFECT info = QFontInfo(self.font) if info.bold(): style |= papyon.TextFormat.BOLD if info.italic(): style |= papyon.TextFormat.ITALIC if self.font.underline(): style |= papyon.TextFormat.UNDERLINE if self.font.strikeOut(): style |= papyon.TextFormat.STRIKETHROUGH font_family = str(info.family()) format = papyon.TextFormat(font=font_family, color=hex8, style=style) strv = StringView() strv.append_text(str(msg)) ## as we send our msg to the conversation: self._amsn_conversation.send_message(strv, format)
def __sendMessage(self): # TODO: Switch to this when implemented """ msg = self.ui.inputWidget.toHtml() self.ui.inputWidget.clear() strv = StringView() strv.appendElementsFromHtml(msg) """ msg = QtCore.QString.fromUtf8(self.ui.inputWidget.toPlainText()) self.ui.inputWidget.clear() color = self.color hex8 = "%.2x%.2x%.2x" % ((color.red()), (color.green()), (color.blue())) style = papyon.TextFormat.NO_EFFECT info = QtGui.QFontInfo(self.font) if info.bold(): style |= papyon.TextFormat.BOLD if info.italic(): style |= papyon.TextFormat.ITALIC if self.font.underline(): style |= papyon.TextFormat.UNDERLINE if self.font.strikeOut(): style |= papyon.TextFormat.STRIKETHROUGH font_family = str(info.family()) format = papyon.TextFormat(font=font_family, color=hex8, style=style) strv = StringView() strv.append_text(str(msg)) ## as we send our msg to the conversation: self._amsn_conversation.send_message(strv, format)
def contact_updated(self, contact): citems = self.__search_by_id(contact.uid) if citems is None: return dp = Image(self._parent._theme_manager, contact.dp) dp = dp.to_size(28, 28) #icon = Image(self._parent._theme_manager, contact.icon) for citem in citems: gitem = citem.parent() if gitem is None: continue gitem.child(self._model.indexFromItem(citem).row(), 0).setData(QtCore.QVariant(dp), QtCore.Qt.DecorationRole) #gitem.child(self._model.indexFromItem(citem).row(), 0).setData(QVariant(icon), Qt.DecorationRole) gitem.child(self._model.indexFromItem(citem).row(), 3).setData(QtCore.QVariant(contact), QtCore.Qt.DisplayRole) cname = StringView() cname = contact.name.to_HTML_string() gitem.child(self._model.indexFromItem(citem).row(), 0).setText(QtCore.QString.fromUtf8(cname))
def __psmChange(self): sv = StringView() sv.append_text(str(self.ui.statusMessage.toPlainText())) self._myview.psm = str(sv)
def __nickChange(self): sv = StringView() sv.append_text(str(self.ui.nickName.toPlainText())) self._myview.nick = str(sv)
def send_message(self, uid, msg): if uid == self._uid: stmess = StringView() stmess.append_text('\n'.join(msg).decode('utf-8')) self._conversation.send_message(stmess) return True