diff options
author | Jonathan White <support@dmapps.us> | 2020-05-29 17:00:07 +0300 |
---|---|---|
committer | Jonathan White <support@dmapps.us> | 2020-05-29 17:00:32 +0300 |
commit | 90d537281333ddd0f6384ca832ab6ed3d3b7b158 (patch) | |
tree | 50eb5b9cda8b883ec2a3851995967e063ae481a0 /utils | |
parent | 229a756d84cf4fd45ea3fdbcf93246e11f808d8d (diff) |
Replace database icons with SVG's
Original source of icons is the icon8 library (http://icons8.com/c/flat-color-icons) and Paomedia (https://github.com/paomedia/small-n-flat). All icons used are licensed MIT or CC0; annotated in COPYING.
* Closes #4071
* Increase default size of database icons to 24px and entry preview panel to 48px
* Add shell script to assemble the database icons
* Use QIcon to seamlessly support High DPI displays and pixmap caching
* Add badge support for KeeShare groups and expired entries.
* Guard against use of QPixmap::fromImage without a GUI
* Add SVG minify and improve `make icons`
Co-authored-by: Wolfram Rösler <wolfram@roesler-ac.de>
Diffstat (limited to 'utils')
-rw-r--r-- | utils/makeappicons.sh (renamed from utils/makeicons.sh) | 0 | ||||
-rw-r--r-- | utils/makedbicons.sh | 123 |
2 files changed, 123 insertions, 0 deletions
diff --git a/utils/makeicons.sh b/utils/makeappicons.sh index feb2d25fe..feb2d25fe 100644 --- a/utils/makeicons.sh +++ b/utils/makeappicons.sh diff --git a/utils/makedbicons.sh b/utils/makedbicons.sh new file mode 100644 index 000000000..2e49b9110 --- /dev/null +++ b/utils/makedbicons.sh @@ -0,0 +1,123 @@ +#!/bin/bash +# Assemble database icons from the icons8 collection +# by Wolfram Rösler 2020-04-30 + +NC='\033[0m' +RED='\033[0;31m' +YELLOW='\033[0;33m' + +# Check parameters +if [[ $# != 1 ]];then + echo "Usage: $0 ICONS8" + echo "ICONS8 is the directory containing the Icons8 flat-color-icons repository" + echo "(git clone https://github.com/icons8/flat-color-icons)". + exit +fi + +# Check source directory +SRCDIR="$1" +if [ ! -d "$SRCDIR" ];then + echo -e "${RED}icons8 directory doesn't exist: ${SRCDIR}${NC}" + exit 1 +fi + +# Check destination directory +DSTDIR=share/icons/database +if [ ! -d "$DSTDIR" ];then + echo -e "${RED}Please invoke this script from the KeePassXC source root directory.${NC}" + exit 1 +fi + +# Copy one icon from the icons8 collection. +# +# Usage: copy I8NAME Cnn +# I8NAME is the file name (without extender and without +# the "icon8-" prefix) in the icons8 directory. +# Cnn is C plus the number of the database icon. +# +# Example: copy key C00 +copy() { + # The source file is: + SRC="${SRCDIR}/svg/${1}.svg" + if [ ! -f "$SRC" ];then + echo -e "${RED}Cannot find source icon for ${2} (${SRC})${NC}" + return + fi + + # Copy the source file to the destination, keeping + # the source file's extension + DST="$DSTDIR/${2}.svg" + cp $SRC $DST + echo "Copied icon for ${1} to ${DST}" +} + +# Now do the actual work +#copy key C00_Password # Derivative work from key +copy globe C01_Package_Network +copy high_priority C02_MessageBox_Warning +copy data_protection C03_Server # No exact match +copy survey C04_Klipper +copy businessman C05_Edu_Languages +copy services C06_KCMDF +#copy notepad C07_Kate # Provided by paomedia/small-n-flat +copy external C08_Socket +copy business_contact C09_Identity +copy address_book C10_Kontact +copy old_time_camera C11_Camera +copy entering_heaven_alive C12_IRKickFlash # No exact match +#copy keys-holder C13_KGPG_Key3 # Derivative work from key +copy crystal_oscillator C14_Laptop_Power +copy video_projector C15_Scanner +copy bookmark C16_Mozilla_Firebird +#copy cd C17_CDROM_Unmount # Provided by paomedia/small-n-flat +#copy monitor C18_Display # Provided by paomedia/small-n-flat +#copy feedback C19_Mail_Generic # Derivative work from feedback +copy settings C20_Misc +copy inspection C21_KOrganizer +copy file C22_ASCII +copy template C23_Icons +copy flash_on C24_Connect_Established +copy safe C25_Folder_Mail # No exact match +#copy save C26_FileSave # Provided by paomedia/small-n-flat +#copy cloud-storage C27_NFS_Unmount # Provided by paomedia/small-n-flat +copy film_reel C28_QuickTime +#copy C29_KGPG_Term # Derivative work from command_line and key +#copy command_line C30_Konsole # Derivative work from command_line +copy print C31_FilePrint +copy org_unit C32_FSView +copy cloth C33_Run +copy support C34_Configure +#copy vpn C35_KRFB # Derivative work from paomedia/small-n-flat +#copy archive-folder C36_Ark # Derivative work from folder +#copy percentage C37_KPercentage # Original work +#copy windows-client C38_Samba_Unmount # Derivative work from paomedia/small-n-flat +copy clock C39_History +copy search C40_Mail_Find +copy landscape C41_VectorGfx +copy electronics C42_KCMMemory +copy empty_trash C43_EditTrash +#copy C44_KNotes # Provided by paomedia/small-n-flat +#copy C45_Cancel # Original work +#copy C46_Help # Original work +copy package C47_KPackage +copy folder C48_Folder +copy opened_folder C49_Folder_Blue_Open +copy data_encryption C50_Folder_Tar +#copy unlock C51_Decrypted # Provided by paomedia/small-n-flat +#copy lock C52_Encrypted # Provided by paomedia/small-n-flat +#copy C53_Apply # Original work +#copy pencil C54_Signature # Provided by paomedia/small-n-flat +copy image_file C55_Thumbnail +copy contacts C56_KAddressBook +copy data_sheet C57_View_Text +copy podium_with_speaker C58_KPGP # No exact match +#copy hammer C59_Package_Development # Provided by paomedia/small-n-flat +copy home C60_KFM_Home +#copy C61_Services # Original work +copy linux C62_Tux +copy android_os C63_Feather +#copy C64_Apple # Derivative work created from simple-icons apple.svg +copy wikipedia C65_W +#copy currency_exchange C66_Money # Provided by paomedia/small-n-flat +copy diploma_1 C67_Certificate +copy smartphone_tablet C68_Blackberry |