This commit is contained in:
Ivan Chavez 2026-03-09 18:59:34 +01:00 committed by GitHub
commit 86edf867ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 1 deletions

View file

@ -7369,6 +7369,10 @@ Do you want to overwrite it?</source>
<source>Toggle Password (%1)</source>
<translation>Conmutar contraseña (%1)</translation>
</message>
<message>
<source>Copy Password</source>
<translation>Copiar contraseña</translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation>Generar contraseña (%1)</translation>
@ -10668,4 +10672,4 @@ Ejemplo: JBSWY3DPEHPK3PXP</translation>
<translation>Desconocido</translation>
</message>
</context>
</TS>
</TS>

View file

@ -20,6 +20,7 @@
#include "ui_PasswordWidget.h"
#include "core/Config.h"
#include "gui/Clipboard.h"
#include "core/PasswordHealth.h"
#include "gui/Font.h"
#include "gui/Icons.h"
@ -83,6 +84,13 @@ PasswordWidget::PasswordWidget(QWidget* parent)
m_ui->passwordEdit->addAction(m_passwordGeneratorAction, QLineEdit::TrailingPosition);
m_passwordGeneratorAction->setVisible(false);
m_copyToClipboardAction = new QAction(
icons()->icon("edit-copy"),
tr("Copy Password"),
this);
m_ui->passwordEdit->addAction(m_copyToClipboardAction, QLineEdit::TrailingPosition);
connect(m_copyToClipboardAction, &QAction::triggered, this, &PasswordWidget::copyPasswordToClipboard);
m_capslockAction =
new QAction(icons()->icon("dialog-warning", true, StateColorPalette().color(StateColorPalette::Error)),
tr("Warning: Caps Lock enabled!"),
@ -185,6 +193,11 @@ bool PasswordWidget::isPasswordVisible() const
return m_ui->passwordEdit->echoMode() == QLineEdit::Normal;
}
void PasswordWidget::copyPasswordToClipboard()
{
clipboard()->setText(m_ui->passwordEdit->text());
}
void PasswordWidget::popupPasswordGenerator()
{
auto generator = PasswordGeneratorWidget::popupGenerator(this);

View file

@ -63,6 +63,7 @@ private slots:
void popupPasswordGenerator();
void updateRepeatStatus();
void updatePasswordStrength(const QString& password);
void copyPasswordToClipboard();
private:
void checkCapslockState();
@ -74,6 +75,7 @@ private:
QPointer<QAction> m_correctAction;
QPointer<QAction> m_toggleVisibleAction;
QPointer<QAction> m_passwordGeneratorAction;
QPointer<QAction> m_copyToClipboardAction;
QPointer<QAction> m_capslockAction;
QPointer<PasswordWidget> m_repeatPasswordWidget;
QPointer<PasswordWidget> m_parentPasswordWidget;