Skip to content
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

Bundle icons using the Qt resource system to enable reproducible builds #4411

Merged
merged 1 commit into from
Mar 14, 2020

Conversation

phoerious
Copy link
Member

Type of change

  • ✅ Bug fix (non-breaking change which fixes an issue)
  • ✅ Refactor (significant modification to existing code)

Description and Context

Bundles icons and other assets using the Qt resource system. Since icons are now compiled into the binary, no more path deduction shenanigans have to be done in order to find them. For the sake of loading PDFs, I left the previous loading logic in place, but greatly simplified it so that no more build paths are hard-coded into the binary allowing for reproducible builds (fixes #2582).

I wanted to bundle translations as well, but couldn't find a quick and easy way to add the *.qm files as resources, which are compiled on-the-fly, and adding the raw *.ts files is useless.

Checklist:

  • ✅ I have read the CONTRIBUTING document. [REQUIRED]
  • ✅ My code follows the code style of this project. [REQUIRED]
  • ✅ All new and existing tests passed. [REQUIRED]
  • ✅ I have compiled and verified my code with -DWITH_ASAN=ON. [REQUIRED]

@phoerious phoerious added this to the v2.6.0 milestone Mar 9, 2020
@phoerious phoerious requested a review from a team March 9, 2020 00:34
@phoerious phoerious force-pushed the feature/icons-as-resources branch from 4166ef3 to 46d61c0 Compare March 9, 2020 00:37
@phoerious phoerious changed the title Bundle icons using the Qt resource system, fixes #2582 Bundle icons using the Qt resource system to enable reproducible builds Mar 9, 2020
@phoerious phoerious force-pushed the feature/icons-as-resources branch 3 times, most recently from 1061753 to d93eb28 Compare March 9, 2020 01:01
@droidmonkey
Copy link
Member

🥂 FANTASTIC

@droidmonkey
Copy link
Member

droidmonkey commented Mar 9, 2020

Can we rename FilePath to Resources (or similar)?

@phoerious
Copy link
Member Author

Sure.

@phoerious phoerious force-pushed the feature/icons-as-resources branch from d93eb28 to aff51c9 Compare March 9, 2020 09:47
@phoerious
Copy link
Member Author

Done.

@phoerious
Copy link
Member Author

Umpf. Lots of conflicts. Great.

@phoerious phoerious force-pushed the feature/icons-as-resources branch from aff51c9 to 33bd40f Compare March 11, 2020 10:12
Simplify resource loading logic and enable reproducible builds.
Fixes #2582
@phoerious phoerious force-pushed the feature/icons-as-resources branch from 33bd40f to 038c964 Compare March 11, 2020 10:16
@phoerious
Copy link
Member Author

Rebased, conflicts solved, ready for review.

@droidmonkey
Copy link
Member

Sorry I'll review this tonight

@droidmonkey droidmonkey merged commit b045160 into develop Mar 14, 2020
@droidmonkey droidmonkey deleted the feature/icons-as-resources branch March 14, 2020 14:13
droidmonkey added a commit that referenced this pull request Jul 7, 2020
Added

- Custom Light and Dark themes [#4110, #4769, #4791, #4796, #4892, #4915]
- Compact mode to use classic Group and Entry line height [#4910]
- View menu to quickly switch themes, compact mode, and toggle UI elements [#4910]
- Search for groups and scope search to matched groups [#4705]
- Save Database Backup feature [#4550]
- Sort entries by "natural order" and move lines up/down [#4357]
- Option to launch KeePassXC on system startup/login [#4675]
- Caps Lock warning on password input fields [#3646]
- Add "Size" column to entry view [#4588]
- Browser-like tab experience using Ctrl+[Num] (Alt+[Num] on Linux) [#4063, #4305]
- Password Generator: Define additional characters to choose from [#3876]
- Reports: Database password health check (offline) [#3993]
- Reports: HIBP online service to check for breached passwords [#4438]
- Auto-Type: DateTime placeholders [#4409]
- Browser: Show group name in results sent to browser extension [#4111]
- Browser: Ability to define a custom browser location (macOS and Linux only) [#4148]
- Browser: Ability to change root group UUID and inline edit connection ID [#4315, #4591]
- CLI: `db-info` command [#4231]
- CLI: Use wl-clipboard if xclip is not available (Linux) [#4323]
- CLI: Incorporate xclip into snap builds [#4697]
- SSH Agent: Key file path env substitution, SSH_AUTH_SOCK override, and connection test [#3769, #3801, #4545]
- SSH Agent: Context menu actions to add/remove keys [#4290]

Changed

- Complete replacement of default database icons [#4699]
- Complete replacement of application icons [#4066, #4161, #4203, #4411]
- Complete rewrite of documentation and manpages using Asciidoctor [#4937]
- Complete refactor of config files; separate between local and roaming [#4665]
- Complete refactor of browser integration and proxy code [#4680]
- Complete refactor of hardware key integration (YubiKey and OnlyKey) [#4584, #4843]
- Significantly improve performance when saving and opening databases [#4309, #4833]
- Remove read-only detection for database files [#4508]
- Overhaul of password fields and password generator [#4367]
- Replace instances of "Master Key" with "Database Credentials" [#4929]
- Change settings checkboxes to positive phrasing for consistency [#4715]
- Improve UX of using entry actions (focus fix) [#3893]
- Set expiration time to Now when enabling entry expiration [#4406]
- Always show "New Entry" in context menu [#4617]
- Issue warning before adding large attachments [#4651]
- Improve importing OPVault [#4630]
- Improve AutoOpen capability [#3901, #4752]
- Check for updates every 7 days even while still running [#4752]
- Improve Windows installer UI/UX [#4675]
- Improve config file handling of portable distribution [#4131, #4752]
- macOS: Hide dock icon when application is hidden to tray [#4782]
- Browser: Use unlock dialog to improve UX of opening a locked database [#3698]
- Browser: Improve database and entry settings experience [#4392, #4591]
- Browser: Improve confirm access dialog [#2143, #4660]
- KeeShare: Improve monitoring file changes of shares [#4720]
- CLI: Rename `create` command to `db-create` [#4231]
- CLI: Cleanup `db-create` options (`--set-key-file` and `--set-password`) [#4313]
- CLI: Use stderr for help text and password prompts [#4086, #4623]
- FdoSecrets: Display existing secret service process [#4128]

Fixed

- Fix changing focus around the main window using tab key [#4641]
- Fix search field clearing while still using the application [#4368]
- Improve search help widget displaying on macOS and Linux [#4236]
- Return keyboard focus after editing an entry [#4287]
- Reset database path after failed "Save As" [#4526]
- Use SHA256 Digest for Windows code signing [#4129]
- Improve handling of ccache when building [#4104, #4335]
- macOS: Properly re-hide application window after browser integration and Auto-Type usage [#4909]
- Auto-Type: Fix crash when performing on new entry [#4132]
- Browser: Send legacy HTTP settings to recycle bin [#4589]
- Browser: Fix merging browser keys [#4685]
- CLI: Fix encoding when exporting database [#3921]
- SSH Agent: Improve reliability and underlying code [#3833, #4256, #4549, #4595]
- FdoSecrets: Fix crash when editing settings before service is enabled [#4332]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use reproducible builds
2 participants