32 return AutoFill::tr(
"Database (plaintext)");
40 query.prepare(
QSL(
"SELECT id, username, password, data FROM autofill "
41 "WHERE server=? ORDER BY last_used DESC"));
42 query.addBindValue(host);
45 QVector<PasswordEntry> list;
47 while (query.next()) {
49 data.
id = query.value(0);
51 data.
username = query.value(1).toString();
52 data.
password = query.value(2).toString();
53 data.
data = query.value(3).toByteArray();
63 QVector<PasswordEntry> list;
66 query.prepare(
QSL(
"SELECT id, server, username, password, data FROM autofill"));
69 while (query.next()) {
71 data.
id = query.value(0);
72 data.
host = query.value(1).toString();
73 data.
username = query.value(2).toString();
74 data.
password = query.value(3).toString();
75 data.
data = query.value(4).toByteArray();
86 if (entry.
data.isEmpty()) {
89 query.prepare(
QSL(
"SELECT username FROM autofill WHERE server=?"));
90 query.addBindValue(entry.
host);
99 query.prepare(
QSL(
"INSERT INTO autofill (server, data, username, password, last_used) "
100 "VALUES (?,?,?,?,strftime('%s', 'now'))"));
101 query.bindValue(0, entry.
host);
102 query.bindValue(1, entry.
data);
113 if (entry.
data.isEmpty()) {
114 query.prepare(
QSL(
"UPDATE autofill SET username=?, password=? WHERE server=?"));
117 query.bindValue(2, entry.
host);
120 query.prepare(
QSL(
"UPDATE autofill SET data=?, username=?, password=? WHERE id=?"));
121 query.addBindValue(entry.
data);
124 query.addBindValue(entry.
id);
133 query.prepare(
QSL(
"UPDATE autofill SET last_used=strftime('%s', 'now') WHERE id=?"));
134 query.addBindValue(entry.
id);
141 query.prepare(
QSL(
"DELETE FROM autofill WHERE id=?"));
142 query.addBindValue(entry.
id);
149 query.exec(
QSL(
"DELETE FROM autofill"));
QVector< PasswordEntry > getAllEntries() override
QString name() const override
QVector< PasswordEntry > getEntries(const QUrl &url) override
bool updateEntry(const PasswordEntry &entry) override
void removeAll() override
void removeEntry(const PasswordEntry &entry) override
void addEntry(const PasswordEntry &entry) override
void updateLastUsed(PasswordEntry &entry) override
DatabasePasswordBackend()
static QString createHost(const QUrl &url)
static SqlDatabase * instance()