void MainScreen::workDone() { if(m_worker) { delete m_worker; m_worker = NULL; } if(!m_cancelled) { AccountService* as = new AccountService(); Account account = as->defaultAccount(Service::Messages); MessageSearchFilter filter; filter.setAccountId(account.id()); MessageService messageService; QList<MessageFolder> folders = messageService.folders(account.id()); MessageFolder sentFolder; for(int i = 0; i < folders.size(); ++i) { if(folders[i].type() == MessageFolder::Sent) { sentFolder = folders[i]; break; } } filter.setFolderId(sentFolder.id()); filter.addSearchCriteria(SearchFilterCriteria::Subject, m_subject); QList<Message> messagesToDelete = messageService.searchLocal(account.id(), filter); messagesToDelete.append(messageService.searchRemote(account.id(), filter)); for(int i = 0; i < messagesToDelete.size(); ++i) { messageService.remove(account.id(), messagesToDelete[i].id()); } m_mainPage->setProperty("allDone", true); } m_mainPage->setProperty("workInProgress", false); }