-
Notifications
You must be signed in to change notification settings - Fork 55
fix: Signals during the process of adding dock animations #1308
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
Conversation
Signals during the process of adding dock animations Log: Signals during the process of adding dock animations pms: BUG-314923
Reviewer's GuideAdds runtime notification of dock position during hide/show animations by wiring QML transform/size changes to a new C++ notifyDockPositionChanged API, which applies transform offsets to compute and emit updated frontend geometry. Sequence diagram for dock position change notification during animationsequenceDiagram
participant QML_Dock as QML Dock
participant DockTransform as dockTransform
participant Panel as Panel
participant DockPanel as DockPanel (C++)
participant Frontend as Frontend
Note over QML_Dock: Animation running
DockTransform->QML_Dock: xChanged/yChanged signal
QML_Dock->Panel: notifyDockPositionChanged(offsetX, offsetY)
Panel->DockPanel: notifyDockPositionChanged(offsetX, offsetY)
DockPanel->Frontend: frontendWindowRectChanged(newRect)
Class diagram for updated DockPanel methodsclassDiagram
class DockPanel {
+QRect geometry()
+QRect frontendWindowRect()
+QRect frontendWindowRect(int transformOffsetX, int transformOffsetY)
+void notifyDockPositionChanged(int offsetX, int offsetY)
+signal frontendWindowRectChanged(QRect)
}
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
deepin pr auto review我来分析这段代码的改进建议:
QRect DockPanel::frontendWindowRect(int transformOffsetX = 0, int transformOffsetY = 0)
readonly property bool isXcb: Qt.platform.pluginName === "xcb"
// 计算最终位置后
xPos = qBound(0, xPos, screenGeometry.width() - geometry.width());
yPos = qBound(0, yPos, screenGeometry.height() - geometry.height());
这些改进可以提升代码的可维护性、安全性和性能。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 18202781743, pengfeixx The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/forcemerge |
|
This pr force merged! (status: blocked) |
Signals during the process of adding dock animations
Log: Signals during the process of adding dock animations
pms: BUG-314923
Summary by Sourcery
Emit dynamic position updates during dock show/hide animations by wiring QML change signals to the C++ backend and adjusting the frontend window rectangle with transform offsets.
Bug Fixes:
Enhancements: