mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-11-27 01:56:32 -05:00
Add sharing of groups between databases
* Add source folder keeshare for sharing with corresponding define WITH_XC_KEESHARE * Move common crypto parts to src/crypto/ssh * Extended OpenSSHKey * Move filewatching to own file (currently in two related classes DelayedFileWatcher and BulkFileWatcher) * Small improvements for style and code in several classes * Sharing is secured using RSA-Keys which are generated on demand * Publisher signs the container using their private key * Client can verify the signed container and choose to decline an import, import only once or trust the publisher and automatically import all data of this source henceforth * Integration of settings into Group-Settings, Database-Settings and Application-Settings * Introduced dependency QuaZip as dependency to allow combined export of key container and the (custom format) certificate
This commit is contained in:
parent
c1e9f45df9
commit
eca9c658f4
106 changed files with 5828 additions and 503 deletions
|
|
@ -27,6 +27,9 @@
|
|||
#include "core/FilePath.h"
|
||||
#include "entry/EntryAttachmentsModel.h"
|
||||
#include "gui/Clipboard.h"
|
||||
#ifdef WITH_XC_KEESHARE
|
||||
#include "keeshare/KeeShare.h"
|
||||
#endif
|
||||
|
||||
namespace
|
||||
{
|
||||
|
|
@ -102,7 +105,9 @@ void DetailsWidget::setGroup(Group* selectedGroup)
|
|||
updateGroupHeaderLine();
|
||||
updateGroupGeneralTab();
|
||||
updateGroupNotesTab();
|
||||
|
||||
#ifdef WITH_XC_KEESHARE
|
||||
updateGroupSharingTab();
|
||||
#endif
|
||||
setVisible(!config()->get("GUI/HideDetailsView").toBool());
|
||||
|
||||
m_ui->stackedWidget->setCurrentWidget(m_ui->pageGroup);
|
||||
|
|
@ -267,6 +272,17 @@ void DetailsWidget::updateGroupNotesTab()
|
|||
m_ui->groupNotesEdit->setText(notes);
|
||||
}
|
||||
|
||||
#ifdef WITH_XC_KEESHARE
|
||||
void DetailsWidget::updateGroupSharingTab()
|
||||
{
|
||||
Q_ASSERT(m_currentGroup);
|
||||
setTabEnabled(m_ui->groupTabWidget, m_ui->groupShareTab, KeeShare::isShared(m_currentGroup));
|
||||
auto reference = KeeShare::referenceOf(m_currentGroup);
|
||||
m_ui->groupShareTypeLabel->setText(KeeShare::referenceTypeLabel(reference));
|
||||
m_ui->groupSharePathLabel->setText(reference.path);
|
||||
}
|
||||
#endif
|
||||
|
||||
void DetailsWidget::updateTotpLabel()
|
||||
{
|
||||
if (!m_locked && m_currentEntry && m_currentEntry->hasTotp()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue