Example #1
0
    def on_search_find_button_clicked(self, widget):
        pattern = self.view['search_entry'].get_text()
        phonebook = get_phonebook(self.parent_ctrl.model.get_sconn())

        def find_contact_cb(contacts):
            if not contacts:
                dialogs.open_message_dialog(
                    _('No contact found'),
                    _('No contact with the name %s found') % pattern)
                return

            treeview = self.parent_ctrl.view['contacts_treeview']
            model = treeview.get_model()
            # get the path
            path = [
                str(i) for i, row in enumerate(model) if row[3] in contacts
            ]
            # unselect
            sel = treeview.get_selection()
            sel.unselect_all()
            for elem in path:
                # and set the new selection
                sel.select_path(elem)

        phonebook.find_contact(pattern).addCallback(find_contact_cb)
Example #2
0
def shutdown_core(signal=None, frame=None, delay=2):
    from vmc.common.config import config
    config.close()  # free VMCConfig singleton

    from vmc.common.phonebook import get_phonebook
    phonebook = get_phonebook(None)
    try:
        phonebook.close()  # free Phonebook singleton
    except AttributeError:
        pass

    from vmc.common.messages import get_messages_obj
    messages = get_messages_obj(None)
    try:
        messages.close()  # free Messages singleton
    except AttributeError:
        pass

    from vmc.common.persistent import net_manager
    try:
        net_manager.close()
    except AttributeError:
        pass

    log.msg(_('Shutting down...'))
    reactor.callLater(delay, reactor.stop)
def shutdown_core(signal=None, frame=None, delay=2):
    from vmc.common.config import config
    config.close() # free VMCConfig singleton
    
    from vmc.common.phonebook import get_phonebook
    phonebook = get_phonebook(None)
    try:
        phonebook.close() # free Phonebook singleton
    except AttributeError:
        pass
    
    from vmc.common.messages import get_messages_obj
    messages = get_messages_obj(None)
    try:
        messages.close() # free Messages singleton
    except AttributeError:
        pass
    
    from vmc.common.persistent import net_manager
    try:
        net_manager.close()
    except AttributeError:
        pass
    
    log.msg(_('Shutting down...'))
    reactor.callLater(delay, reactor.stop)
    def on_sync_contact_ok_button_clicked(self, widget):
        SIM_PC = self.view['check_SIM_PC'].get_active()
        PC_SIM = self.view['check_PC_SIM'].get_active()
        
        phonebook = get_phonebook(self.parent_ctrl.model.get_sconn())
        d = phonebook.sync(SIM_PC, PC_SIM)
        
        def process_contacts(contacts):
            treeview = self.parent_ctrl.view['contacts_treeview']
            model = treeview.get_model()
            model.add_contacts(contacts)
            self._hide_me()

        d.addCallback(process_contacts)
Example #5
0
    def on_sync_contact_ok_button_clicked(self, widget):
        SIM_PC = self.view['check_SIM_PC'].get_active()
        PC_SIM = self.view['check_PC_SIM'].get_active()

        phonebook = get_phonebook(self.parent_ctrl.model.get_sconn())
        d = phonebook.sync(SIM_PC, PC_SIM)

        def process_contacts(contacts):
            treeview = self.parent_ctrl.view['contacts_treeview']
            model = treeview.get_model()
            model.add_contacts(contacts)
            self._hide_me()

        d.addCallback(process_contacts)
 def on_add_contact_ok_button_clicked(self, widget):
     if not self.name_entry.isvalid() or not self.number_entry.isvalid():
         return
     
     name = self.name_entry.get_text()
     number = self.number_entry.get_text()
     group = self.group_entry.get_text() or 'default'
     
     phonebook = get_phonebook(self.parent_ctrl.model.get_sconn())
     contact = Contact(name, number, group=group)
     
     def add_callback(contact):
         # add it to the treeview model
         model = self.parent_ctrl.view['contacts_treeview'].get_model()
         model.add_contact(contact)
         self._hide_me()
     
     d = phonebook.add_contact(contact, sim=False)
     d.addCallback(add_callback)
 def on_add_contact_ok_button_clicked(self, widget):
     if not self.name_entry.isvalid() or not self.number_entry.isvalid():
         return
     
     name = self.name_entry.get_text()
     number = self.number_entry.get_text()
     save_in_sim = self.view['mobile_radio_button'].get_active()
     
     phonebook = get_phonebook(self.parent_ctrl.model.get_sconn())
     contact = Contact(name, number)
     
     def add_callback(contact):
         # add it to the treeview model
         model = self.parent_ctrl.view['contacts_treeview'].get_model()
         model.add_contact(contact)
         self._hide_me()
     
     d = phonebook.add_contact(contact, sim=save_in_sim)
     d.addCallback(add_callback)
Example #8
0
    def on_add_contact_ok_button_clicked(self, widget):
        if not self.name_entry.isvalid() or not self.number_entry.isvalid():
            return

        name = self.name_entry.get_text()
        number = self.number_entry.get_text()
        group = self.group_entry.get_text() or 'default'

        phonebook = get_phonebook(self.parent_ctrl.model.get_sconn())
        contact = Contact(name, number, group=group)

        def add_callback(contact):
            # add it to the treeview model
            model = self.parent_ctrl.view['contacts_treeview'].get_model()
            model.add_contact(contact)
            self._hide_me()

        d = phonebook.add_contact(contact, sim=False)
        d.addCallback(add_callback)
Example #9
0
    def on_add_contact_ok_button_clicked(self, widget):
        if not self.name_entry.isvalid() or not self.number_entry.isvalid():
            return

        name = self.name_entry.get_text()
        number = self.number_entry.get_text()
        save_in_sim = self.view['mobile_radio_button'].get_active()

        phonebook = get_phonebook(self.parent_ctrl.model.get_sconn())
        contact = Contact(name, number)

        def add_callback(contact):
            # add it to the treeview model
            model = self.parent_ctrl.view['contacts_treeview'].get_model()
            model.add_contact(contact)
            self._hide_me()

        d = phonebook.add_contact(contact, sim=save_in_sim)
        d.addCallback(add_callback)
Example #10
0
    def _add_sim_message(self, message, contacts=None):
        entry = [MOBILE_IMG, message.get_text()]
        if contacts or contacts == []:
            # this is only used at startup received as the return value
            # of sconn.get_all_contacts(), an unmodified fresh copy of all
            # the contacts, we use it instead of doing a lookup for each
            # contact
            match = [
                contact.name for contact in contacts
                if message.get_number() == contact.get_number()
            ]
            if match:
                entry.append(match[0])
            else:
                entry.append(message.get_number())

            entry.append(message.datetime)
            entry.append(message)
            self.append(entry)

        else:  # no contacts received
            phonebook = get_phonebook(self.sconn)

            def lookup_number_cb(clist):
                """
                Add the contact to the model
                
                If the SMS's number exists in the phonebook, display the
                contact's name instead of the number
                """
                if clist:
                    entry.append(clist[0].name)
                else:
                    entry.append(message.get_number())

                entry.append(message.datetime)
                entry.append(message)
                self.append(entry)

            d = phonebook.find_contact(number=message.get_number())
            d.addCallback(lookup_number_cb)
Example #11
0
 def _add_sim_message(self, message, contacts=None):
     entry = [MOBILE_IMG, message.get_text()]
     if contacts or contacts == []:
         # this is only used at startup received as the return value
         # of sconn.get_all_contacts(), an unmodified fresh copy of all
         # the contacts, we use it instead of doing a lookup for each
         # contact
         match = [contact.name for contact in contacts
                         if message.get_number() == contact.get_number()]
         if match:
             entry.append(match[0])
         else:
             entry.append(message.get_number())
         
         entry.append(message.datetime)
         entry.append(message)
         self.append(entry)
     
     else: # no contacts received
         phonebook = get_phonebook(self.sconn)
         def lookup_number_cb(clist):
             """
             Add the contact to the model
             
             If the SMS's number exists in the phonebook, display the
             contact's name instead of the number
             """
             if clist:
                 entry.append(clist[0].name)
             else:
                 entry.append(message.get_number())
             
             entry.append(message.datetime)
             entry.append(message)
             self.append(entry)
         
         d = phonebook.find_contact(number=message.get_number())
         d.addCallback(lookup_number_cb)
 def on_search_find_button_clicked(self, widget):
     pattern = self.view['search_entry'].get_text()
     phonebook = get_phonebook(self.parent_ctrl.model.get_sconn())
     
     def find_contact_cb(contacts):
         if not contacts:
             dialogs.open_message_dialog(_('No contact found'),
                         _('No contact with the name %s found') % pattern)
             return
         
         treeview = self.parent_ctrl.view['contacts_treeview']
         model = treeview.get_model()
         # get the path
         path = [str(i) for i, row in enumerate(model)
                     if row[3] in contacts]
         # unselect
         sel = treeview.get_selection()
         sel.unselect_all()
         for elem in path:
             # and set the new selection
             sel.select_path(elem)
     
     phonebook.find_contact(pattern).addCallback(find_contact_cb)
Example #13
0
 def post_configure_device(ignored):
     d = self.device.postinit()
     d.addCallback(lambda _: self.sconn.delete_all_sms())
     d.addCallback(lambda _: self.sconn.delete_all_contacts())
     self.phonebook = get_phonebook(self.sconn)
     return d
 def _fill_treeview(self):
     _model = self.view['treeview1'].get_model()
     sconn = self.parent_ctrl.parent_ctrl.model.get_sconn()
     phonebook = get_phonebook(sconn)
     d = phonebook.get_contacts()
     d.addCallback(lambda contacts: _model.add_contacts(contacts))
Example #15
0
 def _fill_treeview(self):
     _model = self.view['treeview1'].get_model()
     sconn = self.parent_ctrl.parent_ctrl.model.get_sconn()
     phonebook = get_phonebook(sconn)
     d = phonebook.get_contacts()
     d.addCallback(lambda contacts: _model.add_contacts(contacts))
 def post_configure_device(ignored):
     d = self.device.initialize()
     d.addCallback(lambda _: self.sconn.delete_all_sms())
     d.addCallback(lambda _: self.sconn.delete_all_contacts())
     self.phonebook = get_phonebook(self.sconn)
     return d