-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Shlomi/main panel improvements #1239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shlomi/main panel improvements #1239
Conversation
- Introduced a search bar for searching transcripts with keyboard shortcuts (Ctrl+F). - Implemented search logic for both table segments and text display. - Added buttons for navigating search results and clearing the search. - Updated UI to reflect search status and results. - Integrated search functionality with existing view modes.
…n, and search functionality to Transcription Viewer - Add Loop Segment toggle for enabling/disabling segment looping - Add Follow Audio toggle for automatic scrolling to current audio position - Add Scroll to Current button with Ctrl+G shortcut - Add comprehensive search functionality with Ctrl+F shortcut - Add search navigation (next/previous) and highlighting - Add search results counter and clear functionality - Add search bar visibility toggle and keyboard shortcuts - Update audio player to support loop ranges and prevent recursive looping - Add segment highlighting and scrolling functionality - Update shortcuts and remove unused scroll to current text shortcut
- Implement tests for Loop Segment toggle and Follow Audio toggle functionalities. - Verify Scroll to Current button behavior and search bar creation/visibility. - Test basic search functionality, navigation buttons, and keyboard shortcuts. - Ensure search works in different view modes and handles performance limits. - Validate search clear and hide functionalities to maintain UI integrity.
- Replace print statements with logging.debug for better log management. - Enhance debugging information for loop range checks in the audio player.
- Introduced a combo box for selecting playback speed with presets and custom input. - Added increment buttons for fine-tuning speed adjustments. - Implemented logic to save and load playback speed settings. - Enhanced UI layout to accommodate new speed controls. - Added tests to verify speed control functionality and persistence of settings.
- Moved Loop Segment and Follow Audio toggle buttons into a dedicated loop controls section for improved UI organization. - Created a new method to encapsulate loop controls widget creation, enhancing code readability and maintainability. - Updated layout to position loop controls between the text display and audio player.
- Removed speed control from AudioPlayer and integrated it into the Transcription Viewer for a more cohesive user experience. - Added a combo box and increment buttons in the Transcription Viewer for adjusting playback speed. - Implemented logic to initialize and update playback speed settings based on user input. - Enhanced UI layout to accommodate new speed controls in the Transcription Viewer.
- Connected audio player playback state changes to show/hide loop controls. - Implemented methods to toggle loop controls visibility based on playback state. - Added a keyboard shortcut (Ctrl+L) for quick access to loop controls visibility.
- Introduced a new toggle button for showing/hiding loop controls in the toolbar. - Updated methods to manage the button state based on loop controls visibility. - Enhanced user experience by providing a clear indication of loop controls status with tooltips and checkable state.
… functionality - Replaced the current segment label with a scrollable frame for better handling of long text segments. - Added a new "Find" button to toggle the visibility of the search bar, improving user accessibility. - Updated search input placeholder text for clarity and adjusted related methods to sync button states. - Enhanced layout and styling for better user experience in the Transcription Viewer.
…tion Viewer - Added functionality to restore playback controls and find widget visibility from settings on initialization. - Implemented methods to save the visibility state of playback controls and find widget to settings upon user interaction. - Enhanced user experience by ensuring UI state persists across sessions.
…state in Transcription Viewer - Implemented tests to verify the functionality of playback controls toggle button and find button. - Added tests for speed controls, ensuring proper adjustment of playback speed. - Verified the current segment display functionality and its visibility based on segment selection. - Included a test for UI state persistence to ensure settings are saved and restored correctly. - Enhanced overall test coverage for the Transcription Viewer functionality.
- Added detailed descriptions of the Advanced Transcription Viewer, including search, playback controls, and speed adjustment. - Introduced new sections highlighting the Smart Interface, Professional Controls, and the overall user experience improvements. - Included a dedicated section for the Transcription Viewer Interface, outlining key features such as smart search, playback controls, keyboard shortcuts, and state persistence.
- Introduced a new markdown file detailing the features of the Transcription Viewer, including the top toolbar, search functionality, playback controls, and audio player. - Included sections on user experience features, keyboard shortcuts, tips for efficient navigation, and troubleshooting common issues. - Enhanced overall documentation to improve user understanding and accessibility of the Transcription Viewer functionalities.
…consistency - Added Play icon for playback controls toggle button to enhance visual clarity. - Increased search input width for better usability and adjusted related button heights for consistency. - Updated clear search button size to accommodate translations and ensure consistent height across buttons. - Enhanced search results label formatting to display match count in a consistent manner. - Removed unnecessary search status label updates to streamline UI interactions.
- Removed automatic show/hide functionality for playback controls based on audio state changes. - Updated related method documentation to reflect manual control via the toolbar button, preventing accidental toggling of controls. - Enhanced user experience by allowing users to manage playback controls visibility directly.
- Introduced a new keyboard shortcut (Ctrl+P) for toggling playback controls visibility. - Updated tooltip texts for the playback controls toggle button to reflect the new shortcut. - Enhanced user experience by providing clear access to playback controls through the toolbar.
- Updated current segment display to handle long text more effectively with increased height and reduced margins. - Changed header label styling for a more compact appearance. - Enhanced scroll area height to utilize more space for content. - Updated documentation to reflect the new keyboard shortcut (Ctrl+P) for toggling playback controls.
… layout and responsiveness - Updated the layout of the current segment display to use a grid layout, allowing for better organization of header and text elements. - Removed fixed height constraints to enable dynamic sizing based on content, enhancing usability for long text segments. - Adjusted margins and spacing for a more compact appearance, improving overall visual consistency. - Introduced a new method to resize the current segment frame based on text content, ensuring optimal display without unnecessary height limitations.
…eature updates - Updated playback controls shortcut to `Ctrl+P` for better accessibility. - Improved search bar usability with a wider input field and clearer match status display. - Enhanced current segment display with dynamic sizing and a more compact layout. - Standardized button sizes across the interface for visual consistency. - Added detailed sections on search functionality enhancements and layout optimizations.
…ion Viewer - Added functionality to save the visibility state of playback controls to settings when toggled. - Ensured that the playback controls visibility state is correctly restored from settings on initialization. - Improved user experience by maintaining consistent UI state across sessions.
- Added tests to verify the persistence of UI state for playback controls and search bar visibility. - Implemented checks for consistent button sizing across search and speed control buttons. - Improved current segment display tests, including styling, scrolling behavior, and dynamic resizing. - Verified integration with settings for new features and ensured accurate display of search results. - Enhanced overall test coverage for user interface elements and their interactions.
- Renamed helper function to assert_approximately_equal for better clarity in comparisons. - Updated test cases to reflect the removal of speed controls from the Audio Player, focusing on basic playback functionality. - Simplified tests for playback rate changes and ensured they validate the media player's response. - Enhanced layout verification to confirm a single row structure in the Audio Player. - Added tests for new features such as range looping and media status handling, ensuring comprehensive coverage of the Audio Player's functionality.
…Ctrl+P shortcut, hide controls in TEXT mode, geometry saving, and UI cleanup
Will make the default window bigger to have space for all buttons
Removed width constraints on the scroll to current button to make it more flexible for different size labels
- Simplified the transcription viewer layout by replacing the grid layout with a vertical box layout for improved appearance. - Removed the header label from the current segment display for a cleaner UI, fixing the maximum visible lines to 3 for consistency. - Updated related tests to reflect the changes in the layout and styling of the transcription viewer.
Refactor audio segment handling and scrolling logic. - Will always start playing next segment when it is selected - Will ensure that "Scroll to Current" button works even if no segment is selected or when user has scrolled currently selected segment out of view
…ocally, lets skip ones that still fail on CI.
Added 'name' and 'notes' fields to the transcription table in schema.sql. Updated TranscriptionDAO to handle these new fields, including methods for updating transcription names and notes. Adjusted TranscriptionService to expose these new update methods. Modified TranscriptionTasksTableWidget to include UI elements for renaming transcriptions and adding/editing notes.
…ks table Added functionality to toggle column visibility and reset column order in the TranscriptionTasksTableWidget. Introduced new settings for column order and widths in settings.py. Enhanced context menu to include options for resetting column order and toggling visibility of columns.
Updated the context menu in TranscriptionTasksTableWidget to streamline column visibility toggles and added a reset column order option. Removed redundant code for column visibility management from the context menu, enhancing clarity and maintainability.
Updated the TranscriptionTasksTableWidget to support dynamic column resizing and reordering. Added functionality to save and load column widths and order from settings. Enhanced the context menu to include a transcribe action for failed or canceled tasks, improving user experience and task management.
Reorganized column visibility and order management in the TranscriptionTasksTableWidget. Enhanced the loading and saving of column visibility, widths, and order from settings. Updated context menu actions for better user experience, including a restart transcription option for failed or canceled tasks. Added debug statements for improved traceability during column operations.
- Resolved conflicts in transcription viewer widgets - Resolved conflicts in documentation - Resolved conflicts in test files - Kept upstream changes for internationalization and Windows compatibility
…onService - Introduced comprehensive unit tests for TranscriptionDAO, covering insertion, updates, and error handling for name and notes fields. - Added tests for the Transcription entity to validate creation, assignment, and equality, including edge cases for name and notes. - Implemented tests for TranscriptionService to ensure proper interaction with the DAO, including exception propagation and handling of string UUIDs. - Enhanced existing tests for transcription tasks table widget to verify new column definitions for name and notes, and their visibility and order management.
…iptions - Added checks in delete and update methods to raise exceptions if no rows are affected, ensuring better error handling when attempting to modify non-existent transcriptions.
- Updated FileTranscriberQueueWorker to differentiate between failed and canceled tasks based on error messages. - Modified TranscriptionDAO to include name and notes fields in database operations, with appropriate handling for missing values. - Improved WhisperFileTranscriber to recognize termination signals as cancellations, providing clearer error reporting. - Refactored tests in main_window_test to mock queue worker interactions and validate task statuses more effectively.
|
@shlomi-dr I have finally got to checking this. There are a lot of useful features. Do you have time to check the following issues?
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1239 +/- ##
==========================================
- Coverage 78.51% 78.01% -0.50%
==========================================
Files 87 87
Lines 6809 7105 +296
==========================================
+ Hits 5346 5543 +197
- Misses 1463 1562 +99
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Hey @shlomi-dr thanks again for the initiative in moving these improvements forward. |
Co-authored-by: Raivis Dejus <[email protected]>
|
Hi @raivisdejus, Apologies, I have been swamped with work and family and didn't even see the message above 😅. Thank you so much for pushing this through! |
Handles the points in #1238 and #1237