Add a project directory field to AuthProfile, persist it via Storage, and automatically create the directory (defaulting to ~/AdaptixProjects/<Project> when not set).
Extend the connect dialog (DialogConnect) with a project directory input, automatic path suggestion based on project name, and an inline button to pick the directory via a folder chooser.
Update all relevant file/script save/open flows (AxScript, agents, listeners, downloads, screenshots, credentials, targets, file browser, and script BridgeApp prompts) to use AuthProfile::GetProjectDir() as their initial directory.
The layout of the connect dialog has been restructured: the fields and buttons are grouped into a separate widget on the left, the project list has been moved to the right column, and their heights are aligned for a cleaner and more predictable UI.
- Add WidgetRegistry for automatic widget registration via REGISTER_DOCK_WIDGET macro
- Implement per-widget notification enable/disable in Settings dialog
- Store widget notification preferences in JSON format in database
- Use C++ RTTI for class name detection (no Q_OBJECT required in widgets)
- Cache class name in AbstractDock::getClassName() for performance
- Sort widget checkboxes alphabetically with proper spacing in UI
- Lazy initialization of DialogSettings to avoid static init order issues
- Tab blinks when content changes while inactive
- Notification clears when user scrolls to see new content
- Auto-detection for QTableWidget, QTableView, QTreeWidget, QTreeView, QTextEdit, QPlainTextEdit
- Support for manual enable/disable via setAutoNotifyEnabled()
- RAII guard (AutoNotifyGuard) for bulk data loading
Introduced TitleBarStyle utility to set window title bar color scheme according to the selected theme (light or dark). Updated KDDockWidgets TitleBar to support QSS-based styling and improved QSS for all themes to style title bars and tabs. Applied title bar style changes in MainAdaptix and DialogSettings to ensure consistency when themes are changed.