47c1e6040a
feat: Implement State pattern for camera logic
...
Refactor camera control logic in `MainController` to use the State design pattern.
- Create a new `core/camera/states.py` module with state classes (`NoCamerasState`, `DetectingState`, `ReadyToStreamState`, `StreamingState`).
- `MainController` now acts as a context, delegating actions to the current state object.
- This replaces complex conditional logic with a robust, scalable, and maintainable state machine, making it easier to manage camera behavior and add new states in the future.
2025-10-14 09:03:19 +02:00
c8d9029df7
refactor: Implement Singleton pattern for DatabaseManager
...
Refactor the database handling to use a Singleton pattern for `DatabaseManager`.
- A single, module-level instance `db_manager` is created in `core/database.py` to ensure one database connection is used throughout the application.
- `MediaRepository` and `MainController` are updated to use this shared instance instead of creating their own.
- This simplifies dependency injection and prevents potential issues with multiple database connections.
- Also, update `review.md` to reflect the progress.
2025-10-14 08:55:45 +02:00
0bc6c01e7e
refactor: enhance camera rotation functionality and integrate with live view
2025-10-13 20:54:04 +02:00
2c1233f304
refactor: initialize QTimer with parent and ensure proper thread cleanup on stop
2025-10-13 19:36:09 +02:00
c6345c569d
refactor: update camera control signals and improve live view handling
2025-10-13 05:14:27 +02:00
73b51c696e
Merge branch 'feature/camera-worker' into feature/camera-manager
2025-10-12 19:31:28 +02:00
511e668cb3
feat: add isConnected method to CameraWorker and is_connected method to CameraController
2025-10-12 19:29:23 +02:00
46734208e7
refactor. new qobjct thread approuch insted qthread
2025-10-12 18:51:37 +02:00
bbdc2af605
refactor: change CameraController to inherit from QObject and manage threading in CameraManager
2025-10-12 13:41:13 +02:00
2a5f570e5e
feat: implement CameraDetectionWorker for asynchronous camera detection
2025-10-12 13:08:40 +02:00
d63d616675
working on camera-manager
2025-10-12 10:31:40 +02:00
86b9cc70a6
fix: correct variable name in abilities extraction loop
2025-10-12 10:28:22 +02:00
cc37d7054c
refactor: new mock gphoto
2025-10-09 21:35:50 +02:00
c815762f72
refactor: enhance mock camera classes and update camera detection logic
2025-10-09 18:47:17 +02:00
ca25b06f99
refactor: implement CameraManager class with methods for detecting GPhoto and OpenCV cameras
2025-10-01 18:26:41 +02:00
dea17b8b26
refactor: update detect method in camera classes to return dictionaries instead of lists
2025-10-01 18:26:02 +02:00
324ab2e016
refactor: update camera classes to improve initialization and connection handling
2025-09-30 21:50:30 +02:00
196eff7fd8
refacot: change name from CameraManager to CameraController. Add set_camera nad cleanup code.
2025-09-30 18:58:56 +02:00
e2c8352c44
fix: correct config attribute from 'config' to 'widget' in set_config method
2025-09-30 18:56:47 +02:00
1ff5091250
refactor: update set_config methods to specify return type as None
...
feat: implement CvCamera class for OpenCV camera handling
2025-09-27 12:26:43 +02:00
373e01310e
refactor: update GPhotoCamera configuration methods for consistency
2025-09-21 22:01:46 +02:00
abc07fd08d
refactor: replace CameraWidget with dictionary-based config handling in GPhotoCamera
2025-09-21 21:43:44 +02:00
35576986c9
refactor gphoto_camera
2025-09-21 20:51:37 +02:00
19e2c7977c
feat: read gphoto config
2025-09-21 18:46:38 +02:00
508930ae39
feat: implement camera management with GPhotoCamera and CameraManager classes
2025-09-21 08:38:26 +02:00
ab266c2767
connect thumbnail selection signal to main controller; enhance thumbnail handling with media ID
2025-09-07 20:32:56 +02:00
cfea46c653
refactor media and database handling to replace 'filename' with 'media_path' for consistency
2025-09-07 20:00:05 +02:00
9d60843ec5
refactor database and media handling to use icon paths instead of flags
2025-09-07 13:21:29 +02:00
63e6386239
add update color and check icon on startup
2025-09-07 07:03:47 +02:00
1d627080ce
add database manager and media manager
2025-09-07 06:07:16 +02:00