Repository navigation
Directory Tree
Hyacinthe-primus edited this page Nov 9, 2026
·
9 revisions
This is the current repository layout after the application and dialog package splits. Generated build output, caches, runtime databases, and local-only notes are omitted from the tree and summarized below it.
File Converter Pro/
│
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ └── FUNDING.yml
│
├── Checksum/
│ └── checksums.txt
│
├── Output/ # Generated release artifacts
│
├── packaging/
│ ├── build/ # PyInstaller intermediates (generated)
│ ├── dist/FCP/ # Onedir application build (generated)
│ ├── build.ps1 # Build the main application
│ ├── build_all.ps1 # Build app + installer
│ ├── build_installer.ps1 # Build the Inno Setup installer
│ ├── build_quick_check.ps1 # Build the Quick Check utility
│ ├── build.spec # PyInstaller spec for the main app
│ ├── quick_check.spec # PyInstaller spec for Quick Check
│ ├── setup.iss # Inno Setup installer script
│ ├── manifest.xml # Windows application manifest
│ ├── version_info.txt # Windows version resource
│ └── installer_banner.png # Installer banner
│
├── previews/ # 16 screenshots/GIFs used by the README and Wiki
│
├── security_patches/
│ ├── patch1.md
│ └── patch2.md
│
├── src/
│ ├── main.py # Entry point — splash, single instance, CLI, drag & drop
│ ├── config.py # Encrypted configuration manager
│ ├── translations.py # i18n engine (FR/EN built-in + .lang/.json files)
│ ├── conversion_worker.py # Background QThread conversion worker
│ ├── database.py # SQLite abstraction layer
│ ├── widgets.py # Shared custom Qt widgets
│ ├── special_events_manager.py # Date-aware special events
│ ├── system_notifier.py # Windows notifications and update check
│ ├── quick_check.py # Build-verification utility (Tkinter)
│ ├── daemon.py # Background daemon — watcher/scheduler tasks
│ ├── qss_helpers.py # Shared QSS utilities
│ ├── external_binaries.py # External tool discovery (ffmpeg, Ghostscript…)
│ ├── theme_manager.py # Built-in and .fctheme theme handling
│ │
│ ├── app/
│ │ ├── __init__.py # FadingMainWindow, FileConverterApp
│ │ ├── ui.py # AppUIMixin — UI construction
│ │ ├── logic.py # AppLogicMixin — business logic
│ │ └── mixins/
│ │ ├── __init__.py
│ │ ├── archive_engines.py
│ │ ├── batch.py
│ │ ├── compression.py
│ │ ├── epub_optimizer.py
│ │ ├── file_management.py
│ │ ├── image_optimizer.py
│ │ ├── image_to_pdf.py
│ │ ├── media_optimizer.py
│ │ ├── office_optimizer.py
│ │ ├── optimization.py
│ │ ├── panels.py
│ │ ├── pdf_operations.py
│ │ ├── pdf_optimizer.py
│ │ ├── pdf_to_word.py
│ │ ├── project_management.py
│ │ ├── theme_language.py
│ │ ├── web_optimizer.py
│ │ └── word_to_pdf.py
│ │
│ ├── achievements/
│ │ ├── __init__.py
│ │ ├── achievements_system.py # Achievement definitions and unlock logic
│ │ ├── achievements_manager.py # Persistence and state management
│ │ ├── achievements_ui.py # Achievements panel
│ │ ├── achievements_popup.py # Animated unlock pop-up
│ │ ├── rank_popup.py # Rank-up celebration dialog
│ │ └── theme.py # Theme-aware achievement styling helpers
│ │
│ ├── context_menu/
│ │ ├── __init__.py
│ │ ├── conversion_helpers.py # Shared Quick Convert/merge helpers
│ │ ├── formats.py # Format and action maps
│ │ └── window.py # Quick Convert popup / Windows shell integration
│ │
│ ├── converter/
│ │ ├── __init__.py
│ │ ├── advanced_db.py # SQLite DB for conversion statistics
│ │ ├── artifact_validators.py # Output validation for PDF/DOCX/image artifacts
│ │ ├── converters.py # AdvancedConverterEngine — format pipelines
│ │ ├── helpers.py # Shared conversion helpers
│ │ ├── html_inline.py # HTML inline-style processing
│ │ ├── registry.py # Conversion registry and dispatch table
│ │ └── mixins/
│ │ ├── __init__.py
│ │ ├── document_converters.py
│ │ ├── epub_renderers.py
│ │ ├── html_renderers.py
│ │ ├── image_converters.py
│ │ ├── media_converters.py
│ │ ├── office_com.py
│ │ ├── pdf_renderers.py
│ │ ├── pptx_native.py
│ │ └── rtf_native.py
│ │
│ ├── dialogs/
│ │ ├── __init__.py
│ │ ├── advanced_conversions.py # Advanced Conversions dialog
│ │ ├── batch_convert_dialog.py
│ │ ├── batch_rename_dialog.py
│ │ ├── compression_dialog.py
│ │ ├── conversion_options_dialog.py
│ │ ├── dashboard.py # Statistics dashboard
│ │ ├── dashboard_theme.py # Dashboard theme integration
│ │ ├── donate.py # Donation dialog
│ │ ├── history.py # Conversion history
│ │ ├── merge_order_dialog.py
│ │ ├── password_dialog.py
│ │ ├── pdf_protection_dialog.py
│ │ ├── pdf_to_word_dialog.py
│ │ ├── preview_dialog.py
│ │ ├── settings_dialog.py
│ │ ├── splash_screen.py
│ │ ├── split_dialog.py
│ │ ├── terms_dialog.py
│ │ └── word_to_pdf_dialog.py
│ │
│ ├── tasks/
│ │ ├── __init__.py
│ │ ├── ocr_helpers.py # Headless OCR/searchable-PDF helpers
│ │ ├── watcher.py # Watch-folder monitoring and merge debounce
│ │ └── scheduler.py # Cron/interval/date scheduled tasks
│ │
│ ├── templates/
│ │ ├── __init__.py
│ │ ├── create_template_dialog.py
│ │ ├── frequent_configs.py # Frequent-config tracking → auto templates
│ │ ├── semantic_keys.py # Language-independent template/type keys
│ │ ├── template_editor_dialog.py
│ │ ├── template_manager.py
│ │ └── templates.py # Template manager UI
│ │
│ ├── utils/
│ │ ├── __init__.py # SRC_DIR, resource_path(), get_icon_path()
│ │ ├── conversion_pipeline.py # Staged conversion execution
│ │ ├── image_formats.py # Content-based image detection, HEIC/AVIF
│ │ ├── odf_preview.py # Native ODT/ODS/ODP preview parsing
│ │ ├── pdf_artifacts.py # PDF/DOCX artifact validation helpers
│ │ ├── pdf_text.py # Shared PDF text helpers
│ │ ├── subprocess_console.py # Hide console windows for external tools
│ │ ├── tesseract_console.py # Register tesseract.exe with the suppressor
│ │ └── translation_mixin.py
│ │
│ ├── automation/
│ │ └── example_automation.toml # Watch-folder and scheduled-task examples
│ │
│ ├── config/
│ │ └── external_binaries.conf # Optional external-tool path overrides
│ │
│ ├── styles/
│ │ ├── themes/
│ │ │ ├── buttons.qss
│ │ │ ├── history_calendar.qss
│ │ │ ├── history_date.qss
│ │ │ ├── window_card.qss
│ │ │ ├── dark/ # 16 QSS/CSS files for the dark theme
│ │ │ └── light/ # Matching 16 QSS/CSS files for the light theme
│ │ └── custom_themes/ # Imported .fctheme folders (runtime-created)
│ │
│ ├── languages/
│ │ ├── blank.lang
│ │ ├── en-revisited.lang
│ │ ├── en.json
│ │ ├── fr.json
│ │ ├── it.lang
│ │ ├── legacy_aliases.json
│ │ ├── ru.lang
│ │ ├── tr.lang
│ │ └── zh.lang
│ │
│ ├── legal/
│ │ ├── privacy_policy_{en,fr,it,ru,tr,zh}.html
│ │ └── terms_conditions_{en,fr,it,ru,tr,zh}.html
│ │
│ ├── LICENSE/
│ │ ├── LICENSE.txt
│ │ └── LICENSE_FR.txt
│ │
│ └── Assets/
│ ├── *.png, *.svg, *.ico # 74 achievement, event, and app images
│ ├── icons/ # 25 file-format and action icons
│ ├── SFX/ # 25 achievement/notification sounds
│ └── fonts/ # Shared application fonts
│
├── tests/ # 79 test modules + conftest.py (80 Python files)
│
├── Wiki/ # Local documentation (gitignored)
│
├── .gitattributes
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── ROADMAP.md
├── SECURITY.md
├── pyproject.toml
├── releases.md
├── requirements.txt
├── requirements-dev.txt
└── social-preview.png
These files are created locally under src/ in a development run and are intentionally excluded from version control:
| File | Purpose |
|---|---|
src/file_converter_config.dat |
Encrypted application settings |
src/file_converter_key.key |
Configuration encryption key |
src/file_converter_stats.db (+ -shm, -wal) |
Conversion statistics database |
src/file_converter_advanced.db |
Advanced conversion statistics |
src/achievements.db |
Achievement and rank progression |
src/special_events.db |
Special-event state |
In the frozen onedir build, configuration and key files live beside
FCP.exe; statistics, advanced, achievement, and special-event databases resolve under_internal/. Imported themes live under_internal/styles/custom_themes/.
File Converter Pro ·
Releases ·
Issues ·
Contributing ·
License
© 2026 Prime Enterprises – Free, offline, open-source file conversion for Windows
Getting Started
Users
Developers
Project