Skip to content

Commit

Permalink
all fields are protected
Browse files Browse the repository at this point in the history
  • Loading branch information
TheZ3ro authored and droidmonkey committed Aug 29, 2018
1 parent 58acaa4 commit 2992e10
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 37 deletions.
34 changes: 10 additions & 24 deletions src/gui/Clipboard.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/*
* Copyright (C) 2017 KeePassXC Team <[email protected]>
* Copyright (C) 2012 Felix Geyer <[email protected]>
*
* This program is free software: you can redistribute it and/or modify
Expand Down Expand Up @@ -43,7 +44,7 @@ Clipboard::Clipboard(QObject* parent)
connect(qApp, SIGNAL(aboutToQuit()), SLOT(clearCopiedText()));
}

void Clipboard::setText(const QString& text, bool secret)
void Clipboard::setText(const QString& text)
{
QClipboard* clipboard = QApplication::clipboard();

Expand All @@ -53,24 +54,14 @@ void Clipboard::setText(const QString& text, bool secret)
mime->setData("application/x-nspasteboard-concealed-type", text.toUtf8());
clipboard->setMimeData(mime, QClipboard::Clipboard);
#else
if (secret) {
const QString secretStr = "secret";
QByteArray secretBa = secretStr.toUtf8();
mime->setText(text);
mime->setData("x-kde-passwordManagerHint", secretBa);
clipboard->setMimeData(mime, QClipboard::Clipboard);

if (clipboard->supportsSelection()) {
QMimeData* mimeSelection = new QMimeData();
mimeSelection->setText(text);
mimeSelection->setData("x-kde-passwordManagerHint", secretBa);
clipboard->setMimeData(mimeSelection, QClipboard::Selection);
}
} else {
clipboard->setText(text, QClipboard::Clipboard);
if (clipboard->supportsSelection()) {
clipboard->setText(text, QClipboard::Selection);
}
const QString secretStr = "secret";
QByteArray secretBa = secretStr.toUtf8();
mime->setText(text);
mime->setData("x-kde-passwordManagerHint", secretBa);
clipboard->setMimeData(mime, QClipboard::Clipboard);

if (clipboard->supportsSelection()) {
clipboard->setMimeData(mime, QClipboard::Selection);
}
#endif

Expand All @@ -83,11 +74,6 @@ void Clipboard::setText(const QString& text, bool secret)
}
}

void Clipboard::setSecretText(const QString& text)
{
setText(text, true);
}

void Clipboard::clearCopiedText()
{
if (m_timer->isActive()) {
Expand Down
4 changes: 2 additions & 2 deletions src/gui/Clipboard.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/*
* Copyright (C) 2017 KeePassXC Team <[email protected]>
* Copyright (C) 2012 Felix Geyer <[email protected]>
*
* This program is free software: you can redistribute it and/or modify
Expand Down Expand Up @@ -31,8 +32,7 @@ class Clipboard : public QObject
Q_OBJECT

public:
void setText(const QString& text, bool secret = false);
void setSecretText(const QString& text);
void setText(const QString& text);

static Clipboard* instance();

Expand Down
12 changes: 2 additions & 10 deletions src/gui/DatabaseWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,7 @@ void DatabaseWidget::copyPassword()
return;
}

setClipboardSecretTextAndMinimize(currentEntry->resolveMultiplePlaceholders(currentEntry->password()));
setClipboardTextAndMinimize(currentEntry->resolveMultiplePlaceholders(currentEntry->password()));
}

void DatabaseWidget::copyURL()
Expand Down Expand Up @@ -592,14 +592,6 @@ void DatabaseWidget::setClipboardTextAndMinimize(const QString& text)
}
}

void DatabaseWidget::setClipboardSecretTextAndMinimize(const QString& text)
{
clipboard()->setSecretText(text);
if (config()->get("MinimizeOnCopy").toBool()) {
window()->showMinimized();
}
}

void DatabaseWidget::performAutoType()
{
Entry* currentEntry = m_entryView->currentEntry();
Expand Down Expand Up @@ -939,7 +931,7 @@ void DatabaseWidget::entryActivationSignalReceived(Entry* entry, EntryModel::Mod
setClipboardTextAndMinimize(entry->resolveMultiplePlaceholders(entry->username()));
break;
case EntryModel::Password:
setClipboardSecretTextAndMinimize(entry->resolveMultiplePlaceholders(entry->password()));
setClipboardTextAndMinimize(entry->resolveMultiplePlaceholders(entry->password()));
break;
case EntryModel::Url:
if (!entry->url().isEmpty()) {
Expand Down
1 change: 0 additions & 1 deletion src/gui/DatabaseWidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,6 @@ private slots:

private:
void setClipboardTextAndMinimize(const QString& text);
void setClipboardSecretTextAndMinimize(const QString& text);
void setIconFromParent();
void replaceDatabase(Database* db);

Expand Down

0 comments on commit 2992e10

Please sign in to comment.