mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-10-15 23:10:59 -04: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
|
@ -24,6 +24,7 @@
|
|||
#include "core/Group.h"
|
||||
#include "gui/EditWidget.h"
|
||||
|
||||
class CustomData;
|
||||
class EditWidgetIcons;
|
||||
class EditWidgetProperties;
|
||||
|
||||
|
@ -33,6 +34,19 @@ namespace Ui
|
|||
class EditWidget;
|
||||
}
|
||||
|
||||
class IEditGroupPage
|
||||
{
|
||||
public:
|
||||
virtual ~IEditGroupPage()
|
||||
{
|
||||
}
|
||||
virtual QString name() = 0;
|
||||
virtual QIcon icon() = 0;
|
||||
virtual QWidget* createWidget() = 0;
|
||||
virtual void set(QWidget* widget, Group* tempoaryGroup) = 0;
|
||||
virtual void assign(QWidget* widget) = 0;
|
||||
};
|
||||
|
||||
class EditGroupWidget : public EditWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -44,6 +58,8 @@ public:
|
|||
void loadGroup(Group* group, bool create, Database* database);
|
||||
void clear();
|
||||
|
||||
void addEditPage(IEditGroupPage* page);
|
||||
|
||||
signals:
|
||||
void editFinished(bool accepted);
|
||||
void messageEditEntry(QString, MessageWidget::MessageType);
|
||||
|
@ -60,12 +76,17 @@ private:
|
|||
Group::TriState triStateFromIndex(int index);
|
||||
|
||||
const QScopedPointer<Ui::EditGroupWidgetMain> m_mainUi;
|
||||
|
||||
QPointer<QWidget> m_editGroupWidgetMain;
|
||||
QPointer<EditWidgetIcons> m_editGroupWidgetIcons;
|
||||
QPointer<EditWidgetProperties> m_editWidgetProperties;
|
||||
|
||||
QPointer<Group> m_group;
|
||||
QScopedPointer<Group> m_temporaryGroup;
|
||||
QPointer<Database> m_database;
|
||||
QPointer<Group> m_group;
|
||||
|
||||
class ExtraPage;
|
||||
QList<ExtraPage> m_extraPages;
|
||||
|
||||
Q_DISABLE_COPY(EditGroupWidget)
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue