update// address improvement

This commit is contained in:
Strider
2020-05-28 20:45:30 +02:00
parent 5e9c7fa5ee
commit 4413d3de62
4 changed files with 56 additions and 40 deletions

View File

@@ -83,7 +83,7 @@ void FileSystem::writeContactsOldFormat(QString file, QList<ContactItem> contact
c.push_back(item.getAvatar());
_contacts.push_back(c);
}
out << QString("v1") << _contacts;
out << QString("v2") << _contacts;
_file.close();
}
@@ -96,52 +96,68 @@ QList<ContactItem> FileSystem::readContactsOldFormat(QString file)
contacts.clear();
_file.open(QIODevice::ReadOnly);
QDataStream in(&_file); // read the data serialized from the file
QString version;
in >> version;
qDebug() << "Read " << version << " Hush contacts from disk...";
qDebug() << "Detected old addressbook format";
if(in.status() == QDataStream::ReadCorruptData)
{
qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted";
QFile::rename(file, file + QString(".corrupted"));
QMessageBox::critical(
nullptr,
QObject::tr("Error reading contacts!"),
QObject::tr("Your hush contacts from disk maybe corrupted"),
QMessageBox::Ok
);
qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted";
QFile::rename(file, file + QString(".corrupted"));
QMessageBox::critical(
nullptr,
QObject::tr("Error reading contacts!"),
QObject::tr("Your hush contacts from disk maybe corrupted"),
QMessageBox::Ok
);
}
else
else
{
qDebug() << "Read " << version << " Hush contacts from disk...";
QList<QList<QString>> stuff;
in >> stuff;
for (int i=0; i < stuff.size(); i++)
QString version;
in >> version;
if(version == "v1")
{
qDebug() << stuff[i].size();
ContactItem contact;
if(stuff[i].size() == 2)
qDebug() << "Detected old addressbook format";
// Convert old addressbook format v1 to v2
QList<QPair<QString,QString>> stuff;
in >> stuff;
qDebug() << "Stuff: " << stuff;
for (int i=0; i < stuff.size(); i++)
{
contact = ContactItem(stuff[i][0],stuff[i][1]);
}
else if(stuff[i].size() == 4)
{
contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]);
}
else
{
contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]);
ContactItem contact = ContactItem(stuff[i].first, stuff[i].second);
contacts.push_back(contact);
qDebug() << "contact=" << contact.toQTString();
}
}
else
{
qDebug() << "Read " << version << " Hush contacts from disk...";
QList<QList<QString>> stuff;
in >> stuff;
qDebug() << "Dataarray size: " << stuff.size();
if(stuff.size() == 0)
return contacts;
for (int i= 0; i < stuff.size(); i++)
{
qDebug() << stuff[i].size();
ContactItem contact;
if(stuff[i].size() == 4)
{
contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]);
}
else
{
contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]);
}
qDebug() << contact.toQTString();
contacts.push_back(contact);
}
contacts.push_back(contact);
}
qDebug() << "Hush contacts readed from disk...";
}
_file.close();
}
else