Browse Source

update// address improvement

pull/130/head
Strider 4 years ago
parent
commit
4413d3de62
  1. 5
      .gdb_history
  2. 2
      peda-session-SilentDragonLite.txt
  3. 80
      src/FileSystem/FileSystem.cpp
  4. 5
      src/addressbook.cpp

5
.gdb_history

@ -54,3 +54,8 @@ r
s s
n n
q q
b FileSystem::readContactsOldFormat
r
n
c
q

2
peda-session-SilentDragonLite.txt

@ -1,2 +1,2 @@
break FileEncryption::encrypt break FileSystem::readContactsOldFormat

80
src/FileSystem/FileSystem.cpp

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

5
src/addressbook.cpp

@ -417,12 +417,7 @@ void AddressBook::readFromStorage()
allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile());
// test to see if the contact items in datastore are correctly dumped to json // test to see if the contact items in datastore are correctly dumped to json
for(ContactItem item: allLabels)
{
DataStore::getContactDataStore()->setData(item.getCid(), item);
}
DataStore::getContactDataStore()->dump(); DataStore::getContactDataStore()->dump();
AddressBook::writeToStorage();
} }
void AddressBook::writeToStorage() void AddressBook::writeToStorage()

Loading…
Cancel
Save