Skip to content

PolylinePlot - reworking cancel logic - #343

Open
mathesoncalum wants to merge 1 commit into
musescore:mainfrom
mathesoncalum:polyline_cancel_tweak
Open

mathesoncalum wants to merge 1 commit into
musescore:mainfrom
mathesoncalum:polyline_cancel_tweak

Conversation

@mathesoncalum

Copy link
Copy Markdown
Contributor

The idea here is that PolylinePlot should know nothing about actions etc. If a cancel action is called somewhere in the app, we should instead actively call a cancelEdit method on the polyline. In MuseScore Studio this looks like this, the solution for Audacity will look a bit different since the polylines are QML-based (this is a breaking change for Audacity since init no longer exists).


Cursor 2.5 & Claude Opus 5.5 (used for autocomplete and reviewing).

Build configuration

audacity: audacity/audacity/master
audacity platforms: linux_x64
musescore: musescore/MuseScore/main
musescore platforms: linux_x64

@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: musescore/muse_framework/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: cd9b0a21-00f5-4a98-81f5-baf7af9322fa
📥 Commits

Reviewing files that changed from the base of the PR and between 92394d8 and 5c731c3.

📒 Files selected for processing (2)
  • framework/uicomponents/qml/Muse/UiComponents/polylineplot.cpp
  • framework/uicomponents/qml/Muse/UiComponents/polylineplot.h

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

PolylinePlot no longer inherits Asyncable, Actionable, or Contextable, and it no longer registers an action://cancel handler. The class now exposes the invokable cancelEdit() method, which clears hover state and resets the gesture. The dragCancelled signal and init() method were removed. cancelEdit() does not emit dragCancelled.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to 5c731

The change moves cancel handling from an action registration to an explicit cancelEdit() method. The repository has no in-tree consumers, so no concrete merge risk is evident. The author already notes that Audacity must migrate.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the motivation and proposed change, and it includes the AI-assistance disclosure and build configuration. However, it omits the required Resolves issue reference and most of t… Add a GitHub issue number or link after “Resolves:”. Complete each required checklist item accurately, including the CLA, title, commit messages, coding rules, build and testing, prior attempts, and unnecessary changes. Complete the unit-te…
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 2 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: reworking PolylinePlot cancellation logic.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains the motivation and proposed change, and it includes the AI-assistance disclosure and build configuration. However, it omits the required Resolves issue reference and most of the template checklist.

Resolution

Add a GitHub issue number or link after “Resolves:”. Complete each required checklist item accurately, including the CLA, title, commit messages, coding rules, build and testing, prior attempts, and unnecessary changes. Complete the unit-test item if applicable. The AI-assistance item and tool list are already present.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants