Exemplo n.º 1
0
    def msg_details(self, emission, signal, source, item):
        number = item[0].peer.get_text()
        text = item[0].text
        timestamp = item[0].timestamp.local_repr()

        detail_layout = ElementaryLayout(self.window.window, self.edje_file,
                                         "message_details")
        edje_obj = detail_layout.elm_obj.edje_get()
        edje_obj.part_text_set('name-text', unicode(number).encode('utf8'))
        edje_obj.part_text_set('name-info', unicode(timestamp).encode('utf8'))
        detail_layout.elm_obj.show()

        textbox = Entry(self.window.window.elm_obj)
        textbox.entry_set(unicode(text.value).replace('&', '&'))

        textbox.size_hint_weight_set(1.0, 1.0)
        textbox.scale_set(1.5)
        textbox.editable_set(False)
        textbox.line_wrap_set(True)
        textbox.show()

        sc = Scroller(self.window.window.elm_obj)
        sc.content_set(textbox)

        detail_layout.elm_obj.content_set('message', sc)
        sc.show()

        self.window.main_layout.elm_obj.hide()
        self.window.bg.elm_obj.content_set("content-swallow",
                                           detail_layout.elm_obj)

        ##add callback for delete button
        edje_obj.signal_callback_add("delete_message", "*", self.delete_msg,
                                     item[0], detail_layout)

        ##add callback for messaging buttons
        edje_obj.signal_callback_add("*", "messaging", self.adv_msg, item,
                                     detail_layout)

        ##add callbacks for back button
        edje_obj.signal_callback_add("close_details", "*",
                                     detail_layout.delete)
        edje_obj.signal_callback_add("close_details", "*",
                                     self.window.restore_orig)

        if item[0].direction == 'in' and item[0].status == 'unread':
            item[0].read()
            self.item_list._redraw_view()