-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: HTML export from CLI tool #11590
base: develop
Are you sure you want to change the base?
Feature: HTML export from CLI tool #11590
Conversation
This commit introduces support for exporting a KeePassXC database in HTML format via the CLI tool. The key changes include: - Refactoring HtmlExporter: - Moved HtmlExporter to the format directory and made its API compatible with CsvExporter. - Since the original HtmlExporter had a direct dependency on the gui/Icons functions and indirect dependencies on the gui/DatabaseIcons class, only the non-GUI parts were moved to format/HtmlExporter. - All icon-related functionality was encapsulated in a new child class, gui/HtmlGuiExporter. - The gui/HtmlGuiExporter retains the original functionality of the HtmlExporter class. - The format/HtmlExporter now generates HTML export without icons. Adding icon support to format/HtmlExporter would require moving icon management logic to the core, which could have broader implications. - CLI integration: - Updated cli/Export to use format/HtmlExporter. - GUI Integration: - Updated gui/export/ExportDialog to use gui/HtmlGuiExporter. - Build System Updates: - Updated CMakeLists.txt to build HtmlExporter as part of core_SOURCES and HtmlGuiExporter as part of gui_SOURCES. - Testing: - Updated TestCli to automatically verify the output of the HTML export. Signed-off-by: AdriandMartin <adriandmartin@protonmail.com>
Since icons are actually stored as QByteArray PNG's you should be able to avoid the special GUI exporter. Don't pull the Pixmap just go straight for the data. |
This commit includes the required formatting changes to comply with the project's contribution guidelines: - Variable Naming: - Redefined variables to adhere to the established naming conventions. - Code Formatting: - Applied `make format` to ensure all modified files follow the coding style guide. - Localization Updates: - Ran `release-tool` to make the new strings available for translation. Signed-off-by: AdriandMartin <adriandmartin@protonmail.com>
Hi Jonathan, First of all, thank you for your prompt review. I’ve tried to implement the changes you suggested, removing the dependency of the functions
Given these challenges, I think the best solution might be to maintain two separate classes for handling HTML export in different execution contexts. That said, I’d appreciate your feedback if I’ve missed anything, as I’m not deeply familiar with the project’s source code. Any additional change requests are welcome. Additionally, I've just pushed a commit that should resolve the CI errors. I have to apologize, because I hadn't read the contribution guide before, so I didn't execute |
Ah yes I forgot that non custom icons actually draw from the applications icon cache which doesn't get compiled into the cli. Nevermind with my suggestion than, thank you for trying it though. |
This commit introduces support for exporting a KeePassXC database in HTML format via the CLI tool. The key changes include:
Screenshots
Testing strategy
Type of change