* In bulk mode, compare Series + Writer/Penciller/Inker/Colorist across all selected files (instead of using only the first file)
* When values differ, show “(multiple values)” placeholder for that field
* Add hover tooltip with overwrite warning and a File|Value table (or Value|Count summary when there are >20 files)
* Handle invalid range formats like "1-2-3" or "--" that previously fell through, now returns an error message
* Add explicit check for empty/malformed range parts before attempting to parse
* Add positive number validation for all input types (range, comma-list, single number) to be consistent with single file mode which uses isnumeric()
* Add explicit validation for empty volumes list after parsing
* Shift+click on editor button now opens multi-directory selection dialog
* Multiple directories enable bulk mode with volume number assignment
* Uses Qt's built-in dialog with multi-selection enabled for native look and feel
* Define bulkVolumeCheck QCheckBox in MetaEditor.ui instead of creating it programmatically in KCC_gui.py
* Update tab order to include bulkVolumeCheck after volumeLine
* Add checkbox next to Volume field for enabling bulk volume editing (only in bulk mode)
* Support single number (5), range (1-10), or comma list (1, 3, 5) input formats
* Sort files alphabetically before volume assignment
* Validate that volume count matches file count
* Add rich HTML tooltip explaining the feature
* Enable multi-file selection in Metadata Editor using getOpenFileNames()
* Disable Volume, Number, and Title fields in bulk mode
* Pre-fill Series and author fields from first selected file in bulk mode
* Show status "Editing Y files" in bulk mode
* Add progress display during bulk save ("Processing X/Y: filename")
* Disable buttons during processing
* Skip read-only CBR files with error collection
* Show error summary dialog if any files fail to save
* Keep single file metadata editing the same
* remove duplicated PyMuPDF entry and change packages order for easier comparison with requirements.txt
* update packages versions to be synced to each other (requirements.txt vs install_requires in setuptools.setup()
* add missing pyinstaller package which is required to build exe/app
* clarify minimums
* fix typo
* remove pyinstaller
Remove pyinstaller from the requirements.
---------
Co-authored-by: Alex Xu <alexkurosakimh3@gmail.com>
* set tabulation order for KCC fields
- loop through fields in more organized order including fields which visibility depends on some checkboxes state
* don't change rc
---------
Co-authored-by: Alex Xu <alexkurosakimh3@gmail.com>
* set tabulation order for metadata editor fields
- loop through fields in from top to down order
* don't change rc
---------
Co-authored-by: Alex Xu <alexkurosakimh3@gmail.com>