Skip to content

Commit 0378725

Browse files
committed
Add error message from opening database
1 parent 695b550 commit 0378725

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

src/gui/remote/DatabaseSettingsWidgetRemote.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,12 @@ void DatabaseSettingsWidgetRemote::testDownload()
178178
params->downloadCommand = m_ui->downloadCommand->text();
179179
params->downloadInput = m_ui->inputForDownload->toPlainText();
180180

181-
QScopedPointer<RemoteHandler> remoteHandler(new RemoteHandler(this));
182181
if (params->downloadCommand.isEmpty()) {
183182
m_ui->messageWidget->showMessage(tr("Download command cannot be empty."), MessageWidget::Warning);
184183
return;
185184
}
186185

186+
QScopedPointer<RemoteHandler> remoteHandler(new RemoteHandler(this));
187187
RemoteHandler::RemoteResult result = remoteHandler->download(params);
188188
if (!result.success) {
189189
m_ui->messageWidget->showMessage(tr("Download failed with error: %1").arg(result.errorMessage),
@@ -197,19 +197,20 @@ void DatabaseSettingsWidgetRemote::testDownload()
197197
return;
198198
}
199199

200-
if (!hasValidPublicHeaders(result.filePath)) {
201-
m_ui->messageWidget->showMessage(tr("Download finished, but file failed KeePass header check. File is not a "
202-
"KeePass file or it's an unsupported version"),
203-
MessageWidget::Error);
200+
QString error;
201+
if (!hasValidPublicHeader(result.filePath, &error)) {
202+
m_ui->messageWidget->showMessage(
203+
tr("Downloaded file is not a KeePass file or it's an unsupported version: %1").arg(error),
204+
MessageWidget::Error);
204205
return;
205206
}
206207

207208
m_ui->messageWidget->showMessage(tr("Download successful."), MessageWidget::Positive);
208209
}
209210

210-
bool DatabaseSettingsWidgetRemote::hasValidPublicHeaders(QString& filePath) {
211+
bool DatabaseSettingsWidgetRemote::hasValidPublicHeader(QString& filePath, QString *error)
212+
{
211213
// Read public headers
212-
QString error;
213214
QScopedPointer<Database> db(new Database());
214-
return db->open(filePath, nullptr, &error);
215-
}
215+
return db->open(filePath, nullptr, error);
216+
}

src/gui/remote/DatabaseSettingsWidgetRemote.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private slots:
5656
QListWidgetItem* findItemByName(const QString& name);
5757
void clearFields();
5858

59-
bool hasValidPublicHeaders(QString& filePath);
59+
bool hasValidPublicHeader(QString& filePath, QString *error);
6060

6161
QScopedPointer<RemoteSettings> m_remoteSettings;
6262
const QScopedPointer<Ui::DatabaseSettingsWidgetRemote> m_ui;

0 commit comments

Comments
 (0)