diff --git a/share/translations/keepassxc_en.ts b/share/translations/keepassxc_en.ts
index f974db170..8cf846a48 100644
--- a/share/translations/keepassxc_en.ts
+++ b/share/translations/keepassxc_en.ts
@@ -6432,6 +6432,10 @@ Expect some bugs and minor issues, this version is meant for testing purposes.
+
+ Clear Clipboard
+
+
ManageDatabase
diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp
index 6af03b3a2..bb5830343 100644
--- a/src/gui/MainWindow.cpp
+++ b/src/gui/MainWindow.cpp
@@ -690,6 +690,7 @@ MainWindow::MainWindow()
m_clearClipboardButton = new QPushButton(statusBar());
m_clearClipboardButton->setText(tr("Clear Clipboard"));
+ m_clearClipboardButton->setObjectName("clearClipboardButton");
m_clearClipboardButton->setVisible(false);
statusBar()->addPermanentWidget(m_clearClipboardButton);
diff --git a/tests/gui/TestGui.cpp b/tests/gui/TestGui.cpp
index 96c8b0703..6174f8b62 100644
--- a/tests/gui/TestGui.cpp
+++ b/tests/gui/TestGui.cpp
@@ -2494,6 +2494,26 @@ void TestGui::addCannedEntries()
QTest::mouseClick(editEntryWidgetButtonBox->button(QDialogButtonBox::Ok), Qt::LeftButton);
}
+void TestGui::testClearClipboard()
+{
+ addCannedEntries();
+
+ EntryView* entryView = m_dbWidget->findChild("entryView");
+ QVERIFY(entryView->isVisible());
+
+ QClipboard* clipboard = QApplication::clipboard();
+
+ clickIndex(entryView->model()->index(1, 1), entryView, Qt::LeftButton);
+ QTRY_VERIFY(entryView->hasFocus());
+ QTest::keyClick(entryView, Qt::Key_C, Qt::ControlModifier);
+ QTRY_COMPARE(clipboard->text(), entryView->currentEntry()->password());
+
+ QPushButton *clearClipboardButton = m_mainWindow->findChild("clearClipboardButton");
+ QTRY_VERIFY(clearClipboardButton->isVisible());
+ clearClipboardButton->click();
+ QCOMPARE(clipboard->text(), QString());
+}
+
void TestGui::checkDatabase(const QString& filePath, const QString& expectedDbName)
{
auto key = QSharedPointer::create();
diff --git a/tests/gui/TestGui.h b/tests/gui/TestGui.h
index 514f7ce95..f052bfa56 100644
--- a/tests/gui/TestGui.h
+++ b/tests/gui/TestGui.h
@@ -71,6 +71,7 @@ private slots:
void testTrayRestoreHide();
void testShortcutConfig();
void testMenuActionStates();
+ void testClearClipboard();
private:
void addCannedEntries();