bool NickNameDialog::populateModelFromMailCapFile(const QString &fileName, QStandardItemModel *model, QString *errorMessage) { if (const int rowCount = model->rowCount()) model->removeRows(0, rowCount); if (fileName.isEmpty()) return true; QFile file(fileName); if (!file.open(QIODevice::ReadOnly|QIODevice::Text)) { *errorMessage = tr("Cannot open '%1': %2"). arg(QDir::toNativeSeparators(fileName), file.errorString()); return false; } // Split into lines and read NickNameEntry entry; const QStringList lines = QString::fromUtf8(file.readAll()).trimmed().split(QLatin1Char('\n')); const int count = lines.size(); for (int i = 0; i < count; i++) { if (entry.parse(lines.at(i))) { model->appendRow(entry.toModelRow()); } else { qWarning("%s: Invalid mail cap entry at line %d: '%s'\n", qPrintable(QDir::toNativeSeparators(fileName)), i + 1, qPrintable(lines.at(i))); } } model->sort(0); return true; }
bool NickNameDialog::populateModelFromMailCapFile(const QString &fileName, QStandardItemModel *model, QString *errorMessage) { if (const int rowCount = model->rowCount()) model->removeRows(0, rowCount); if (fileName.isEmpty()) return true; Utils::FileReader reader; if (!reader.fetch(fileName, QIODevice::Text, errorMessage)) return false; // Split into lines and read NickNameEntry entry; const QStringList lines = QString::fromUtf8(reader.data()).trimmed().split(QLatin1Char('\n')); const int count = lines.size(); for (int i = 0; i < count; i++) { if (entry.parse(lines.at(i))) { model->appendRow(entry.toModelRow()); } else { qWarning("%s: Invalid mail cap entry at line %d: '%s'\n", qPrintable(QDir::toNativeSeparators(fileName)), i + 1, qPrintable(lines.at(i))); } } model->sort(0); return true; }