Improve coding style, reduce warnings

This commit is contained in:
Martchus 2018-12-08 19:55:41 +01:00
parent 08bb7954a6
commit 507aefae3f
4 changed files with 17 additions and 13 deletions

View File

@ -80,7 +80,6 @@ int main(int argc, char *argv[])
cli.run();
}
} else if (qtConfigArgs.areQtGuiArgsPresent()) {
// run Qt gui if no arguments, --qt-gui or --qt-quick-gui specified, a file might be specified
#if defined(PASSWORD_MANAGER_GUI_QTWIDGETS) || defined(PASSWORD_MANAGER_GUI_QTQUICK)
const auto file(fileArg.isPresent() ? QString::fromLocal8Bit(fileArg.firstValue()) : QString());
#endif
@ -109,7 +108,7 @@ int main(int argc, char *argv[])
#endif
}
}
#else
#else // PASSWORD_MANAGER_FORCE_GUI
#ifdef PASSWORD_MANAGER_GUI_QTQUICK
returnCode = QtGui::runQuickGui(argc, argv, qtConfigArgs, QString());
#else

View File

@ -100,7 +100,7 @@ QList<Entry *> EntryModel::takeEntries(int row, int count, const QModelIndex &pa
}
beginRemoveRows(parent, row, lastIndex);
for (int index = lastIndex; index >= row; --index) {
Entry *const child = children[index];
Entry *const child = children[static_cast<size_t>(index)];
child->setParent(nullptr);
res << child;
}
@ -243,13 +243,14 @@ QVariant EntryModel::data(const QModelIndex &index, int role) const
ss.exceptions(std::stringstream::failbit | std::stringstream::badbit);
try {
entry->make(ss);
// FIXME: make conversion to QByteArray more efficient
const auto str(ss.str());
return QByteArray(str.data(), str.size());
} catch (...) {
IoUtilities::catchIoFailure();
return false;
}
} break;
}
case DefaultExpandedRole:
return entry->type() == EntryType::Node && static_cast<const NodeEntry *>(entry)->isExpandedByDefault();
default:;

View File

@ -84,6 +84,14 @@ void FieldModel::setAccountEntry(AccountEntry *entry)
endResetModel();
}
inline QVariant FieldModel::passwordValue(const QModelIndex &index, int role) const
{
return (m_passwordVisibility == PasswordVisibility::Always || role == Qt::EditRole
|| (*m_fields)[static_cast<size_t>(index.row())].type() != FieldType::Password)
? QString::fromStdString((*m_fields)[static_cast<size_t>(index.row())].value())
: QString((*m_fields)[static_cast<size_t>(index.row())].value().size(), QChar(0x2022));
}
QVariant FieldModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid() || !m_fields || index.row() < 0) {
@ -98,10 +106,7 @@ QVariant FieldModel::data(const QModelIndex &index, int role) const
case 0:
return QString::fromStdString((*m_fields)[static_cast<size_t>(index.row())].name());
case 1:
return (m_passwordVisibility == PasswordVisibility::Always || role == Qt::EditRole
|| (*m_fields)[static_cast<size_t>(index.row())].type() != FieldType::Password)
? QString::fromStdString((*m_fields)[static_cast<size_t>(index.row())].value())
: QString((*m_fields)[static_cast<size_t>(index.row())].value().size(), QChar(0x2022));
return passwordValue(index, role);
default:;
}
break;
@ -110,10 +115,7 @@ QVariant FieldModel::data(const QModelIndex &index, int role) const
case Key:
return QString::fromStdString((*m_fields)[static_cast<size_t>(index.row())].name());
case Value:
return (m_passwordVisibility == PasswordVisibility::Always || role == Qt::EditRole
|| (*m_fields)[static_cast<size_t>(index.row())].type() != FieldType::Password)
? QString::fromStdString((*m_fields)[static_cast<size_t>(index.row())].value())
: QString((*m_fields)[static_cast<size_t>(index.row())].value().size(), QChar(0x2022));
return passwordValue(index, role);
case AlwaysActualValue:
return QString::fromStdString((*m_fields)[static_cast<size_t>(index.row())].value());
case IsPassword:

View File

@ -81,6 +81,8 @@ public Q_SLOTS:
void reset();
private:
QVariant passwordValue(const QModelIndex &index, int role) const;
Io::AccountEntry *m_accountEntry;
std::vector<Io::Field> *m_fields;
PasswordVisibility m_passwordVisibility;
@ -139,7 +141,7 @@ inline void FieldModel::setPasswordVisibility(PasswordVisibility passwordVisibil
{
m_passwordVisibility = passwordVisibility;
if (m_fields) {
emit dataChanged(index(0, 1), index(m_fields->size() - 1, 1), QVector<int>({Qt::DisplayRole, Qt::EditRole}));
emit dataChanged(index(0, 1), index(m_fields->size() - 1, 1), QVector<int>({ Qt::DisplayRole, Qt::EditRole }));
}
}
} // namespace QtGui