Add script to generate theme icon files

This commit is contained in:
Veronica Berglyd Olsen
2025-01-07 17:57:02 +01:00
parent fafd088751
commit 486b6a19d2
2 changed files with 177 additions and 0 deletions
+48
View File
@@ -35,6 +35,8 @@ import zipfile
from pathlib import Path
from utils.material_icons import processMaterialIcons
CURR_DIR = Path(__file__).parent
SETUP_DIR = CURR_DIR / "setup"
SIGN_KEY = "D6A9F6B8F227CF7C6F6D1EE84DBBE4B734B0BD08"
@@ -323,6 +325,44 @@ def buildSampleZip(args: argparse.Namespace | None = None) -> None:
return
##
# Import Translations (import-i18n)
##
def buildIconTheme(args: argparse.Namespace) -> None:
"""Build an icon theme."""
print("")
print("Build Icon Theme")
print("================")
print("")
workDir = Path(args.sources).absolute()
if not workDir.is_dir():
print(f"Source directory not found: {workDir}")
sys.exit(1)
iconsDir = CURR_DIR / "novelwriter" / "assets" / "icons"
style = args.style
if style == "material":
processMaterialIcons(
workDir, iconsDir / "material_outline_normal.icons", "outlined", False, 400
)
processMaterialIcons(
workDir, iconsDir / "material_filled_normal.icons", "outlined", True, 400
)
processMaterialIcons(
workDir, iconsDir / "material_outline_bold.icons", "outlined", False, 700
)
processMaterialIcons(
workDir, iconsDir / "material_filled_bold.icons", "outlined", True, 700
)
print("")
return
##
# Import Translations (import-i18n)
##
@@ -1414,6 +1454,14 @@ if __name__ == "__main__":
# Additional Builds
# =================
# Build Icons
cmdIcons = parsers.add_parser(
"icons", help="Build icon theme files from source."
)
cmdIcons.add_argument("sources", help="Working directory for sources.")
cmdIcons.add_argument("style", help="What icon style to build.")
cmdIcons.set_defaults(func=buildIconTheme)
# Import Translations
cmdImportTS = parsers.add_parser(
"qtlimport", help="Import updated i18n files from a Crowdin zip file."