ClinicianFOCUS / FreeScribe

A medical scribe capable of creating SOAP notes running Whisper and Kobold based on conversation with a patient
GNU General Public License v3.0
0 stars 0 forks source link

Enhance UI with CustomTextBox and improve build process #26

Closed ItsSimko closed 3 days ago

ItsSimko commented 4 days ago

Summary by Sourcery

Enhance the UI by integrating a new CustomTextBox widget, improving text handling and user interaction. Refactor the settings window for better organization and add tooltips for improved user guidance. Update the build process to include a no-console option and modify the CI workflow to handle alpha releases.

New Features:

Enhancements:

Build:

CI:

sourcery-ai[bot] commented 4 days ago

Reviewer's Guide by Sourcery

The pull request enhances the UI by introducing a CustomTextBox widget with built-in copy functionality, improves the settings window layout with a two-column design, adds tooltips and placeholders, and updates the build process and CI workflow. The changes focus on better user experience through improved text handling, clearer UI organization, and more intuitive controls.

No diagrams generated as the changes look simple and do not need a visual representation.

File-Level Changes

Change Details Files
Introduced a new CustomTextBox widget with integrated copy functionality
  • Created a custom text box class that inherits from tk.Frame
  • Added a built-in copy button in the bottom-right corner
  • Implemented text state management for normal/disabled states
  • Added clipboard handling with error management
src/FreeScribe.client/UI/Widgets/CustomTextBox.py
Reorganized settings window into a two-column layout with categorized sections
  • Split settings into LLM, Whisper, and Advanced categories
  • Implemented two-column layout for better space utilization
  • Added dynamic model selection with custom model input option
  • Improved settings organization with logical grouping
src/FreeScribe.client/UI/SettingsWindowUI.py
src/FreeScribe.client/UI/SettingsWindow.py
Enhanced UI with tooltips and placeholder text
  • Added tooltips to main UI buttons explaining their functions
  • Implemented placeholder text for text input areas
  • Added color-coding for placeholder text (grey) vs active text (black)
  • Updated button labels to be more descriptive
src/FreeScribe.client/client.py
Updated build and CI process
  • Added no-console option to PyInstaller build
  • Implemented alpha release detection in CI workflow
  • Added prerelease flag setting based on alpha tag detection
  • Updated release body template
.github/workflows/release.yml
Improved Docker integration and status handling
  • Added better Docker status bar management
  • Implemented enable/disable functionality for Docker UI elements
  • Added Docker status tooltips
  • Improved Docker client initialization error handling
src/FreeScribe.client/UI/MainWindowUI.py
src/FreeScribe.client/ContainerManager.py

Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
sweep-ai[bot] commented 4 days ago

Hey @ItsSimko, here is an example of how you can ask me to improve this pull request:

@sweep Add unit tests for the `CustomTextBox` widget in `src/FreeScribe.client/UI/Widgets/CustomTextBox.py`. Tests should cover:
- Text insertion and retrieval
- Copy functionality
- State management (disabled/enabled)
- Placeholder text behavior

:book: For more information on how to use Sweep, please read our documentation.

ItsSimko commented 4 days ago

@sourcery-ai review

ItsSimko commented 3 days ago

@sourcery-ai review