Pull Request Overview
- Opened on July 7, 2026
- Status Stale Open
- Commit count 8 with first commit July 7, 2026
Total Delta
Open Days
Test Delta
How long has this pull request spent in each phase of its lifecycle?
| Fraction of total time | Business days | Phase |
|---|---|---|
| N/A | -0.0 days | Issue creation to work beginning |
|
|
0.0 days | Authoring 2 commits before pull request opened for review |
|
|
0.0 days | Awaiting first review |
|
|
53.5 days | Revising work with 6 commits in response to 1 review that left 10 comments |
Total time for pull request still awaiting merge (longer than repo's target): 53.5 business days
Rounding and orange-red playhead
This pull request introduces a series of UI refinements to improve the visual consistency and polish of the application, focusing on rounded corners, highlight styling, and a unified playhead color. The changes affect both C++ and QML code, ensuring that various UI elements—such as timeline clips, toolbars, and dialog frames—have a more modern and cohesive appearance.
UI Styling Enhancements:
- Timeline clips in
Clip.qmlnow feature rounded corners on their left and right sides when adjacent to blank clips, with all internal elements (waveforms, labels, overlays) adjusting their margins and rendering to respect these corners. [[1]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dR52-R68) [[2]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dR136-R139) [[3]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL302-R323) [[4]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL317-R338) [[5]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dR361-R370) [[6]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL358-R383) [[7]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL422-R447) [[8]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL451-R476) [[9]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL485-R510) [[10]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dR868-R879) - Highlighted widgets and tool buttons now consistently use a border radius and padding, with stylesheet-based highlight colors applied for a bolder, more modern look across toolbars and dialogs. [[1]](diffhunk://#diff-c72b037f3ac7abbd3d0ee519b6f456013a9bbf5a59df16308939320c04970447R6734-R6737) [[2]](diffhunk://#diff-c72b037f3ac7abbd3d0ee519b6f456013a9bbf5a59df16308939320c04970447R6759-R6772) [[3]](diffhunk://#diff-449acf764318b0ca96972daf8d28a28af79ad2c3381044851f2953792fcd8eefR98-R117) [[4]](diffhunk://#diff-9fbf25a69a1e049a230d12531ddd8cb1d97b6b159ff58f1e50bbe13639110e7aL293-L304)
Playhead Color Unification:
- The playhead (timeline cursor) color is now defined in one place (
QmlApplication::playheadColor, a bold red) and used consistently in the timeline, keyframes, and scrub bar, replacing palette-based colors for a more distinctive and unified appearance. [[1]](diffhunk://#diff-2f2b1b9b158555359e177b7ec1533afdffad97c574c062b505b6a421ff6a6df6R38) [[2]](diffhunk://#diff-2f2b1b9b158555359e177b7ec1533afdffad97c574c062b505b6a421ff6a6df6R52) [[3]](diffhunk://#diff-55a614f4012582e64c38322e003f6f4a7168cdc141206afedee11f85e6b6d3c3L692-R692) [[4]](diffhunk://#diff-99a89fbae8851c4a4dc714ca7c3c279d0acac788d90b93dacc2b4758af00f446L487-R487) [[5]](diffhunk://#diff-ef187bb312074b533967fb65959e7f6c517b166068034e13b8e61f6b1c55ccb8R23) [[6]](diffhunk://#diff-ef187bb312074b533967fb65959e7f6c517b166068034e13b8e61f6b1c55ccb8L79-R80) [[7]](diffhunk://#diff-ab2d6f0bea89acc884b6c4b01a5d0653f1f64a0a7e2e460335ea07401afe424dR21) [[8]](diffhunk://#diff-ab2d6f0bea89acc884b6c4b01a5d0653f1f64a0a7e2e460335ea07401afe424dL205-R206) [[9]](diffhunk://#diff-ab2d6f0bea89acc884b6c4b01a5d0653f1f64a0a7e2e460335ea07401afe424dL214-R220)
Waveform Rendering Improvements:
- The waveform outline is now drawn only along the peaks (not the bottom edge), preventing dark lines from conflicting with the rounded corners of clips and improving visual clarity. [[1]](diffhunk://#diff-ef187bb312074b533967fb65959e7f6c517b166068034e13b8e61f6b1c55ccb8R184-R185) [[2]](diffhunk://#diff-ef187bb312074b533967fb65959e7f6c517b166068034e13b8e61f6b1c55ccb8R197-R206)
Other Visual Tweaks:
- Filter view highlights and text in QML now have rounded corners and padding for better aesthetics and readability. [[1]](diffhunk://#diff-d5dfcab619de90f75b912ce6de40cc25b72d8fefc0697f732f91ff5616817b51R115) [[2]](diffhunk://#diff-d5dfcab619de90f75b912ce6de40cc25b72d8fefc0697f732f91ff5616817b51R136-R137)
- The copyright notice in
statuslabelwidget.cpphas been updated.
These changes collectively modernize the application's look and feel, enhance consistency, and address subtle UI details for a more polished user experience.
This pull request introduces a series of UI refinements to improve the visual consistency and polish of the application, focusing on rounded corners, highlight styling, and a unified playhead color. The changes affect both C++ and QML code, ensuring that various UI elements—such as timeline clips, toolbars, and dialog frames—have a more modern and cohesive appearance.
UI Styling Enhancements:
- Timeline clips in
Clip.qmlnow feature rounded corners on their left and right sides when adjacent to blank clips, with all internal elements (waveforms, labels, overlays) adjusting their margins and rendering to respect these corners. [[1]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dR52-R68) [[2]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dR136-R139) [[3]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL302-R323) [[4]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL317-R338) [[5]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dR361-R370) [[6]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL358-R383) [[7]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL422-R447) [[8]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL451-R476) [[9]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dL485-R510) [[10]](diffhunk://#diff-1c84701ecfe2a13a9c7af21b29962221ed5d98615dfa7246dbeaf7e09ad61a2dR868-R879) - Highlighted widgets and tool buttons now consistently use a border radius and padding, with stylesheet-based highlight colors applied for a bolder, more modern look across toolbars and dialogs. [[1]](diffhunk://#diff-c72b037f3ac7abbd3d0ee519b6f456013a9bbf5a59df16308939320c04970447R6734-R6737) [[2]](diffhunk://#diff-c72b037f3ac7abbd3d0ee519b6f456013a9bbf5a59df16308939320c04970447R6759-R6772) [[3]](diffhunk://#diff-449acf764318b0ca96972daf8d28a28af79ad2c3381044851f2953792fcd8eefR98-R117) [[4]](diffhunk://#diff-9fbf25a69a1e049a230d12531ddd8cb1d97b6b159ff58f1e50bbe13639110e7aL293-L304)
Playhead Color Unification:
- The playhead (timeline cursor) color is now defined in one place (
QmlApplication::playheadColor, a bold red) and used consistently in the timeline, keyframes, and scrub bar, replacing palette-based colors for a more distinctive and unified appearance. [[1]](diffhunk://#diff-2f2b1b9b158555359e177b7ec1533afdffad97c574c062b505b6a421ff6a6df6R38) [[2]](diffhunk://#diff-2f2b1b9b158555359e177b7ec1533afdffad97c574c062b505b6a421ff6a6df6R52) [[3]](diffhunk://#diff-55a614f4012582e64c38322e003f6f4a7168cdc141206afedee11f85e6b6d3c3L692-R692) [[4]](diffhunk://#diff-99a89fbae8851c4a4dc714ca7c3c279d0acac788d90b93dacc2b4758af00f446L487-R487) [[5]](diffhunk://#diff-ef187bb312074b533967fb65959e7f6c517b166068034e13b8e61f6b1c55ccb8R23) [[6]](diffhunk://#diff-ef187bb312074b533967fb65959e7f6c517b166068034e13b8e61f6b1c55ccb8L79-R80) [[7]](diffhunk://#diff-ab2d6f0bea89acc884b6c4b01a5d0653f1f64a0a7e2e460335ea07401afe424dR21) [[8]](diffhunk://#diff-ab2d6f0bea89acc884b6c4b01a5d0653f1f64a0a7e2e460335ea07401afe424dL205-R206) [[9]](diffhunk://#diff-ab2d6f0bea89acc884b6c4b01a5d0653f1f64a0a7e2e460335ea07401afe424dL214-R220)
Waveform Rendering Improvements:
- The waveform outline is now drawn only along the peaks (not the bottom edge), preventing dark lines from conflicting with the rounded corners of clips and improving visual clarity. [[1]](diffhunk://#diff-ef187bb312074b533967fb65959e7f6c517b166068034e13b8e61f6b1c55ccb8R184-R185) [[2]](diffhunk://#diff-ef187bb312074b533967fb65959e7f6c517b166068034e13b8e61f6b1c55ccb8R197-R206)
Other Visual Tweaks:
- Filter view highlights and text in QML now have rounded corners and padding for better aesthetics and readability. [[1]](diffhunk://#diff-d5dfcab619de90f75b912ce6de40cc25b72d8fefc0697f732f91ff5616817b51R115) [[2]](diffhunk://#diff-d5dfcab619de90f75b912ce6de40cc25b72d8fefc0697f732f91ff5616817b51R136-R137)
- The copyright notice in
statuslabelwidget.cpphas been updated.
These changes collectively modernize the application's look and feel, enhance consistency, and address subtle UI details for a more polished user experience.
## Pull request overview
This PR refines Shotcut’s UI styling to improve visual consistency across Qt widgets and QML views, including rounded corners, highlight styling, and a single shared playhead color used in both QML and C++ rendering.
**Changes:**
- Centralize the playhead/cursor color via `QmlApplication::playheadColor` and use it in the scrub bar, timeline, and keyframes.
- Add rounded-corner handling to timeline clips (including margin/layout adjustments for thumbnails, labels, and waveforms) and tweak filter view highlight styling.
- Adjust waveform drawing to avoid stroking the bottom closing edge to better match rounded clip corners.
### Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
| ---- | ----------- |
| src/widgets/statuslabelwidget.cpp | Applies highlight-style visuals to the status label widget. |
| src/widgets/newprojectfolder.cpp | Updates “New Project” frames/labels highlight styling via stylesheets. |
| src/util.cpp | Enhances highlight styling helper with padding and rounded corners. |
| src/scrubbar.cpp | Uses the unified playhead color when painting the scrub bar playhead. |
| src/qmltypes/timelineitems.cpp | Uses unified playhead color; refines waveform stroke to outline peaks only. |
| src/qmltypes/qmlapplication.h | Introduces `playheadColor` Q_PROPERTY and accessor for consistent playhead color. |
| src/qml/views/timeline/timeline.qml | Switches timeline cursor color to the unified playhead color. |
| src/qml/views/timeline/Clip.qml | Adds conditional rounded corners and adjusts internal layout to respect them. |
| src/qml/views/keyframes/keyframes.qml | Switches keyframes cursor color to the unified playhead color. |
| src/qml/views/filter/filterview.qml | Adds rounding and padding to filter highlight elements. |
| src/mainwindow.cpp | Adds consistent rounded/checked styling to layout switcher tool buttons. |
Resolved Comment Threads
## Pull request overview
This PR refines Shotcut’s UI styling to improve visual consistency across Qt widgets and QML views, including rounded corners, highlight styling, and a single shared playhead color used in both QML and C++ rendering.
**Changes:**
- Centralize the playhead/cursor color via `QmlApplication::playheadColor` and use it in the scrub bar, timeline, and keyframes.
- Add rounded-corner handling to timeline clips (including margin/layout adjustments for thumbnails, labels, and waveforms) and tweak filter view highlight styling.
- Adjust waveform drawing to avoid stroking the bottom closing edge to better match rounded clip corners.
### Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
| ---- | ----------- |
| src/widgets/statuslabelwidget.cpp | Applies highlight-style visuals to the status label widget. |
| src/widgets/newprojectfolder.cpp | Updates “New Project” frames/labels highlight styling via stylesheets. |
| src/util.cpp | Enhances highlight styling helper with padding and rounded corners. |
| src/scrubbar.cpp | Uses the unified playhead color when painting the scrub bar playhead. |
| src/qmltypes/timelineitems.cpp | Uses unified playhead color; refines waveform stroke to outline peaks only. |
| src/qmltypes/qmlapplication.h | Introduces `playheadColor` Q_PROPERTY and accessor for consistent playhead color. |
| src/qml/views/timeline/timeline.qml | Switches timeline cursor color to the unified playhead color. |
| src/qml/views/timeline/Clip.qml | Adds conditional rounded corners and adjusts internal layout to respect them. |
| src/qml/views/keyframes/keyframes.qml | Switches keyframes cursor color to the unified playhead color. |
| src/qml/views/filter/filterview.qml | Adds rounding and padding to filter highlight elements. |
| src/mainwindow.cpp | Adds consistent rounded/checked styling to layout switcher tool buttons. |