Allow to copy in Qt Quick GUI
This commit is contained in:
parent
68c3133498
commit
fa8e6a76db
|
@ -172,6 +172,14 @@ Kirigami.ScrollablePage {
|
|||
fieldsListView.model.index(index, 0),
|
||||
model.isPassword ? 0 : 1, 0x0100 + 1)
|
||||
}
|
||||
Controls.MenuItem {
|
||||
icon.name: "edit-copy"
|
||||
text: qsTr("Copy password")
|
||||
onClicked: showPassiveNotification(
|
||||
nativeInterface.copyToClipboard(
|
||||
model.actualValue) ? qsTr("Copied") : qsTr(
|
||||
"Unable to access clipboard"))
|
||||
}
|
||||
Controls.MenuItem {
|
||||
icon.name: "edit-delete"
|
||||
text: qsTr("Delete field")
|
||||
|
|
|
@ -8,8 +8,12 @@
|
|||
#include <c++utilities/io/catchiofailure.h>
|
||||
#include <c++utilities/io/path.h>
|
||||
|
||||
#ifndef QT_NO_CLIPBOARD
|
||||
#include <QClipboard>
|
||||
#endif
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
#include <QGuiApplication>
|
||||
#include <QIcon>
|
||||
#include <QSettings>
|
||||
#include <QStringBuilder>
|
||||
|
@ -191,6 +195,20 @@ QStringList Controller::pasteEntries(const QModelIndex &destinationParent, int r
|
|||
return successfullyMovedEntries;
|
||||
}
|
||||
|
||||
bool Controller::copyToClipboard(const QString &text) const
|
||||
{
|
||||
#ifndef QT_NO_CLIPBOARD
|
||||
auto *clipboard(QGuiApplication::clipboard());
|
||||
if (!clipboard) {
|
||||
return false;
|
||||
}
|
||||
clipboard->setText(text);
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
void Controller::resetFileStatus()
|
||||
{
|
||||
setFileOpen(false);
|
||||
|
|
|
@ -50,6 +50,7 @@ public:
|
|||
QString currentAccountName() const;
|
||||
Q_INVOKABLE void cutEntry(const QModelIndex &entryIndex);
|
||||
Q_INVOKABLE QStringList pasteEntries(const QModelIndex &destinationParent, int row = -1);
|
||||
Q_INVOKABLE bool copyToClipboard(const QString &text) const;
|
||||
bool canPaste() const;
|
||||
const QStringList &recentFiles() const;
|
||||
|
||||
|
|
Loading…
Reference in New Issue