Navigation Menu

Skip to content

Commit

Permalink
Merge pull request #7 from giucam/perf
Browse files Browse the repository at this point in the history
[vault] Be slightly more efficient and call less times the same functions
  • Loading branch information
Denis Zalevskiy committed Aug 1, 2014
2 parents ee1eace + 43abcf8 commit f4ba2a8
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
1 change: 1 addition & 0 deletions include/vault/vault.hpp
Expand Up @@ -61,6 +61,7 @@ class Vault

QList<Snapshot> snapshots() const;
Snapshot snapshot(const QByteArray &tag) const;
QString notes(const QString &snapshotName);

bool exists() const;
bool isInvalid();
Expand Down
10 changes: 3 additions & 7 deletions qml/Vault/vault.cpp
Expand Up @@ -68,8 +68,9 @@ class Worker : public QObject

QStringList snapshots() const
{
auto snapshots = m_vault->snapshots();
QStringList snaps;
for (const vault::Snapshot &ss: m_vault->snapshots()) {
for (const vault::Snapshot &ss: snapshots) {
snaps << ss.name();
}
return snaps;
Expand Down Expand Up @@ -285,12 +286,7 @@ void Vault::exportImportExecute()

QString Vault::notes(const QString &snapshot) const
{
for (const vault::Snapshot &ss: m_worker->m_vault->snapshots()) {
if (ss.name() == snapshot) {
return ss.tag().notes();
}
}
return QString();
return m_worker->m_vault->notes(">" + snapshot);
}

void Vault::registerUnit(const QJSValue &unit, bool global)
Expand Down
15 changes: 12 additions & 3 deletions src/vault.cpp
Expand Up @@ -150,7 +150,8 @@ void Vault::execute(const QVariantMap &options)
}
vault.restore(vault.snapshot(options.value("tag").toByteArray()), options.value("home").toString(), units);
} else if (action == "list-snapshots") {
for (const Snapshot &s: vault.snapshots()) {
auto snapshots = vault.snapshots();
for (const Snapshot &s: snapshots) {
qDebug() << s.tag().name();
}
} else if (action == "register") {
Expand Down Expand Up @@ -453,8 +454,9 @@ Vault::Result Vault::restore(const Snapshot &snapshot, const QString &home, cons

QList<Snapshot> Vault::snapshots() const
{
auto tags = m_vcs.tags();
QList<Snapshot> list;
for (const Gittin::Tag &tag: m_vcs.tags()) {
for (const Gittin::Tag &tag: tags) {
if (!tag.name().isEmpty() && tag.name().startsWith('>')) {
list << Snapshot(tag);
}
Expand All @@ -464,7 +466,8 @@ QList<Snapshot> Vault::snapshots() const

Snapshot Vault::snapshot(const QByteArray &tagName) const
{
for (const Gittin::Tag &tag: m_vcs.tags()) {
auto tags = m_vcs.tags();
for (const Gittin::Tag &tag: tags) {
if (tag.name() == tagName) {
return Snapshot(tag);
}
Expand All @@ -473,6 +476,12 @@ Snapshot Vault::snapshot(const QByteArray &tagName) const
return Snapshot(m_vcs.tags().first());
}

QString Vault::notes(const QString &snapshot)
{
Gittin::Tag tag(&m_vcs, snapshot);
return tag.notes();
}

bool Vault::exists() const
{
return os::path::isDir(m_path);
Expand Down

0 comments on commit f4ba2a8

Please sign in to comment.