mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-08-08 14:32:39 -04:00
Add 1Password 1PUX and Bitwarden JSON Importers
* Closes #7545 - Support 1Password 1PUX import format based on https://support.1password.com/1pux-format/ * Closes #8367 - Support Bitwarden JSON import format (both unencrypted and encrypted) based on https://bitwarden.com/help/encrypted-export/ * Fixes #9577 - OPVault import when fields have the same name or type * Introduce the import wizard to handle all import tasks (CSV, KDBX1, OPVault, 1PUX, JSON) * Clean up CSV parser code to make it much more efficient and easier to read * Combine all importer tests (except CSV) into one test file
This commit is contained in:
parent
a02bceabd2
commit
e700195f0a
70 changed files with 3562 additions and 1876 deletions
|
@ -19,35 +19,29 @@
|
|||
#ifndef KEEPASSX_DATABASEWIDGET_H
|
||||
#define KEEPASSX_DATABASEWIDGET_H
|
||||
|
||||
#include <QFileSystemWatcher>
|
||||
#include <QListView>
|
||||
#include <QBuffer>
|
||||
#include <QStackedWidget>
|
||||
|
||||
#include "DatabaseOpenDialog.h"
|
||||
#include "config-keepassx.h"
|
||||
#include "core/Database.h"
|
||||
#include "core/Group.h"
|
||||
#include "core/Metadata.h"
|
||||
#include "gui/MessageWidget.h"
|
||||
#include "gui/csvImport/CsvImportWizard.h"
|
||||
#include "gui/entry/EntryModel.h"
|
||||
|
||||
class DatabaseOpenDialog;
|
||||
class DatabaseOpenWidget;
|
||||
class KeePass1OpenWidget;
|
||||
class OpVaultOpenWidget;
|
||||
class DatabaseSettingsDialog;
|
||||
class ReportsDialog;
|
||||
class Database;
|
||||
class FileWatcher;
|
||||
class EditEntryWidget;
|
||||
class EditGroupWidget;
|
||||
class Entry;
|
||||
class EntryView;
|
||||
class EntrySearcher;
|
||||
class Group;
|
||||
class GroupView;
|
||||
class QFile;
|
||||
class QMenu;
|
||||
class QSplitter;
|
||||
class QLabel;
|
||||
class MessageWidget;
|
||||
class EntryPreviewWidget;
|
||||
class TagView;
|
||||
class ElidedLabel;
|
||||
|
@ -67,7 +61,6 @@ public:
|
|||
enum class Mode
|
||||
{
|
||||
None,
|
||||
ImportMode,
|
||||
ViewMode,
|
||||
EditMode,
|
||||
LockedMode
|
||||
|
@ -104,6 +97,10 @@ public:
|
|||
int numberOfSelectedEntries() const;
|
||||
int currentEntryIndex() const;
|
||||
|
||||
QString displayName() const;
|
||||
QString displayFileName() const;
|
||||
QString displayFilePath() const;
|
||||
|
||||
QStringList customEntryAttributes() const;
|
||||
bool isEditWidgetModified() const;
|
||||
void clearAllWidgets();
|
||||
|
@ -219,11 +216,7 @@ public slots:
|
|||
void switchToOpenDatabase();
|
||||
void switchToOpenDatabase(const QString& filePath);
|
||||
void switchToOpenDatabase(const QString& filePath, const QString& password, const QString& keyFile);
|
||||
void switchToCsvImport(const QString& filePath);
|
||||
void performUnlockDatabase(const QString& password, const QString& keyfile = {});
|
||||
void csvImportFinished(bool accepted);
|
||||
void switchToImportKeepass1(const QString& filePath);
|
||||
void switchToImportOpVault(const QString& fileName);
|
||||
void emptyRecycleBin();
|
||||
|
||||
// Search related slots
|
||||
|
@ -288,15 +281,12 @@ private:
|
|||
QPointer<QSplitter> m_previewSplitter;
|
||||
QPointer<QLabel> m_searchingLabel;
|
||||
QPointer<ElidedLabel> m_shareLabel;
|
||||
QPointer<CsvImportWizard> m_csvImportWizard;
|
||||
QPointer<EditEntryWidget> m_editEntryWidget;
|
||||
QPointer<EditGroupWidget> m_editGroupWidget;
|
||||
QPointer<EditEntryWidget> m_historyEditEntryWidget;
|
||||
QPointer<ReportsDialog> m_reportsDialog;
|
||||
QPointer<DatabaseSettingsDialog> m_databaseSettingDialog;
|
||||
QPointer<DatabaseOpenWidget> m_databaseOpenWidget;
|
||||
QPointer<KeePass1OpenWidget> m_keepass1OpenWidget;
|
||||
QPointer<OpVaultOpenWidget> m_opVaultOpenWidget;
|
||||
QPointer<GroupView> m_groupView;
|
||||
QPointer<TagView> m_tagView;
|
||||
QPointer<EntryView> m_entryView;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue