/* * Copyright (c) 2011, Mika Laitio. , Tom Swindell * * This program is licensed under the terms and conditions of the * Apache License, version 2.0. The full text of the Apache License is at * http://www.apache.org/licenses/LICENSE-2.0 * */ #include "VCardDirectoryImporter.h" #include #include #include #include #include #include #include #include QTM_USE_NAMESPACE VCardDirectoryImporter::VCardDirectoryImporter(QObject *parent) : QObject(parent) { } VCardDirectoryImporter::~VCardDirectoryImporter() { } int VCardDirectoryImporter::importVCardsDirectoryContacts(const QString &path) { QDir directory(path); QVersitReader reader; QVersitContactImporter importer; QList documents; int ret_val; ret_val = -1; if (directory.exists() == true) { qDebug() << "Importing v-card contacts from directory " << path; foreach(QString fileName, directory.entryList((QStringList() << "*.vcf"), QDir::Files)) { QFile file(directory.filePath(fileName)); file.open(QFile::ReadOnly); reader.setDevice(&file); reader.startReading(); reader.waitForFinished(); documents.append(reader.results()); qDebug() << "Read " << reader.results().count() << " contacts: " << file.fileName(); } importer.importDocuments(documents); qDebug() << "Total count of contacts read: " << importer.contacts().count(); contactList.append(importer.contacts()); ret_val = 0; } else { qWarning() << "Error, V-Card contact directory" << directory.path() << "not found."; } return ret_val; } int VCardDirectoryImporter::saveContacts() { int ret_val = 0; SeasideSyncModel *syncModel; syncModel = SeasideSyncModel::instance(); //syncModel->addContacts(contactList, contactList.count()); foreach (const QContact& cnt, contactList) { syncModel->updatePerson(&cnt); } return ret_val; }