mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-10-01 01:26:01 -04:00
Add DB_DIR placeholder for autoopen urls
This commit is contained in:
parent
bcb64a231f
commit
d863496f62
@ -903,6 +903,10 @@ QString Entry::resolvePlaceholderRecursive(const QString& placeholder, int maxDe
|
|||||||
return url();
|
return url();
|
||||||
}
|
}
|
||||||
return resolveMultiplePlaceholdersRecursive(url(), maxDepth - 1);
|
return resolveMultiplePlaceholdersRecursive(url(), maxDepth - 1);
|
||||||
|
case PlaceholderType::DbDir: {
|
||||||
|
QFileInfo fileInfo(database()->filePath());
|
||||||
|
return fileInfo.absoluteDir().absolutePath();
|
||||||
|
}
|
||||||
case PlaceholderType::UrlWithoutScheme:
|
case PlaceholderType::UrlWithoutScheme:
|
||||||
case PlaceholderType::UrlScheme:
|
case PlaceholderType::UrlScheme:
|
||||||
case PlaceholderType::UrlHost:
|
case PlaceholderType::UrlHost:
|
||||||
@ -1237,7 +1241,8 @@ Entry::PlaceholderType Entry::placeholderType(const QString& placeholder) const
|
|||||||
{QStringLiteral("{DT_UTC_DAY}"), PlaceholderType::DateTimeUtcDay},
|
{QStringLiteral("{DT_UTC_DAY}"), PlaceholderType::DateTimeUtcDay},
|
||||||
{QStringLiteral("{DT_UTC_HOUR}"), PlaceholderType::DateTimeUtcHour},
|
{QStringLiteral("{DT_UTC_HOUR}"), PlaceholderType::DateTimeUtcHour},
|
||||||
{QStringLiteral("{DT_UTC_MINUTE}"), PlaceholderType::DateTimeUtcMinute},
|
{QStringLiteral("{DT_UTC_MINUTE}"), PlaceholderType::DateTimeUtcMinute},
|
||||||
{QStringLiteral("{DT_UTC_SECOND}"), PlaceholderType::DateTimeUtcSecond}};
|
{QStringLiteral("{DT_UTC_SECOND}"), PlaceholderType::DateTimeUtcSecond},
|
||||||
|
{QStringLiteral("{DB_DIR}"), PlaceholderType::DbDir}};
|
||||||
|
|
||||||
return placeholders.value(placeholder.toUpper(), PlaceholderType::Unknown);
|
return placeholders.value(placeholder.toUpper(), PlaceholderType::Unknown);
|
||||||
}
|
}
|
||||||
|
@ -205,7 +205,8 @@ public:
|
|||||||
DateTimeUtcDay,
|
DateTimeUtcDay,
|
||||||
DateTimeUtcHour,
|
DateTimeUtcHour,
|
||||||
DateTimeUtcMinute,
|
DateTimeUtcMinute,
|
||||||
DateTimeUtcSecond
|
DateTimeUtcSecond,
|
||||||
|
DbDir
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1973,15 +1973,16 @@ void DatabaseWidget::processAutoOpen()
|
|||||||
}
|
}
|
||||||
QFileInfo filepath;
|
QFileInfo filepath;
|
||||||
QFileInfo keyfile;
|
QFileInfo keyfile;
|
||||||
|
QString databaseUrl = entry->resolveMultiplePlaceholders(entry->url());
|
||||||
|
|
||||||
if (entry->url().startsWith("file://")) {
|
if (databaseUrl.startsWith("file://")) {
|
||||||
QUrl url(entry->url());
|
QUrl url(databaseUrl);
|
||||||
filepath.setFile(url.toLocalFile());
|
filepath.setFile(url.toLocalFile());
|
||||||
} else {
|
} else {
|
||||||
filepath.setFile(entry->url());
|
filepath.setFile(databaseUrl);
|
||||||
if (filepath.isRelative()) {
|
if (filepath.isRelative()) {
|
||||||
QFileInfo currentpath(m_db->filePath());
|
QFileInfo currentpath(m_db->filePath());
|
||||||
filepath.setFile(currentpath.absoluteDir(), entry->url());
|
filepath.setFile(currentpath.absoluteDir(), databaseUrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user