Updated: 4 January 2025
- Support for multiple copy sets (source-destination pairs)
- Selective file synchronization - choose specific files to sync within each copy set
- Real-time, bidirectional synchronization for each copy set
- Modern dark theme UI with improved visibility and contrast
- Initial full copy when folders are first selected for each copy set
- Robust "full rebuild" feature ensuring complete synchronization at specified intervals
- Real-time monitoring and handling of file changes (create, modify, delete, rename) for each copy set
- Customizable global synchronization interval
- Add and remove copy sets dynamically
- Detailed status messages for better tracking of synchronization process
- Download the standalone executable for your platform from the assets below.
- Run the executable to start the File Copier application.
- Launch the File Copier application.
- Click "Add New Copy Set" to create a new source-destination pair.
- For each copy set:
- Click "SELECT" next to "Source:" to choose the source folder.
- Click "SELECT" next to "Destination:" to choose the destination folder.
- Select specific files you want to sync from the source folder.
- Click "Start Sync" to begin synchronization.
- Monitor the synchronization status and countdown timer for all copy sets in the status area.
- Add or remove copy sets as needed using the "Add New Copy Set" and "Remove" buttons.
If you want to run the application from source or contribute to the project:
-
Clone the repository:
git clone https://github.com/adibzailan/file-copier.git
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python ui_main.py
-
To package the application:
python build_executable.py
The packaged executable will be in the 'dist' folder.
-
To run the unit tests:
pytest ui/components/tests
Feedback and contributions are always welcome to help improve the project! Please open an issue or submit a pull request on GitHub. Enjoy using File Copier!
- Fixed live sync toggle functionality to properly enable/disable file watching
- Improved file copier management with per-copy-set instances
- Fixed synchronization issues when manually starting/stopping sync
- Enhanced error handling and status messages for better feedback
- Added proper cleanup of file watchers and copiers
- Improved thread safety in file operations
- Fixed various bugs related to sync state management
- Added selective file synchronization feature
- Implemented new dark theme UI for better visibility
- Improved file selection interface with checkboxes
- Enhanced sync control with Start/Stop functionality
- Added validation for source and destination folders
- Improved error handling and user feedback
- Fixed various bugs related to file synchronization
- Updated documentation and usage instructions
- Simplified version display in UI
- Implemented unit tests for all UI components using pytest
- Added conftest.py to set up QApplication for GUI testing
- Fixed IntervalSettingsWidget to properly handle invalid interval values
- Improved test coverage and ensured all components pass their respective unit tests
- Enhanced project structure for better test organization
- Updated UI design to align with Studio Merpati brand guidelines
- Removed redundant "File Copier" text from the main window
- Updated footer to display version and build information
- Changed color scheme to use soft teal (#4ECDC4) for buttons and UI elements
- Improved overall visual consistency and user experience
- Fixed issues with timer countdown not starting properly
- Implemented cooldown mechanism to prevent excessive synchronization
- Improved overall stability and performance