Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | [sidebar] Dispatch interception is broken | ||||||
---|---|---|---|---|---|---|---|
Product: | General | Reporter: | Ariel Constenla-Haile <arielch> | ||||
Component: | code | Assignee: | AOO issues mailing list <issues> | ||||
Status: | CONFIRMED --- | QA Contact: | |||||
Severity: | Normal | ||||||
Priority: | P3 | CC: | awf.aoo, issues, orw | ||||
Version: | 4.0.0-dev | ||||||
Target Milestone: | --- | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Issue Type: | DEFECT | Latest Confirmation in: | --- | ||||
Developer Difficulty: | --- | ||||||
Issue Depends on: | |||||||
Issue Blocks: | 122257, 122364 | ||||||
Attachments: |
|
Description
Ariel Constenla-Haile
2013-04-09 22:58:55 UTC
This is probably another example of the sidebar panels not using the standard toolbar controllers. But it is also caused by a gap of functionality between slots and commands: Most sidebar panels use the usual SFX2 slot mechanism to make (asynchronous) function calls, like most of the rest of AOO. For some reason the dispatch interception of UNO commands has not been ported to slots. There are three ways to fix this 1 Modify all relevant panels to explicitly support dispatch interception. Maybe this could be handled by extending the sidebar ControllerItem. 2 Convert the sidebar controls to use toolbar controllers instead of spelling everything out explicitly. 3 Integrate dispatch interception into slot handling. I think that 3 would be the best and most elegant solution but would likely introduce subtle regressions that would be hard to find. We should do 2 anyway when time premits (after the 4.0 release). Option 1 would basically be a waste of time but seems to be the only practical way to fix at least the text property panel for a 4.0 release. I just looked at the Dispatch_Interception description that was referenced in comment 1. It is even more bizarre than I thought it was. Explicit modeling of the dispatch/interceptor chain. Incompatible concept of chaining/interception when compared to slot handling. And yet one is mapped to to the other when a slot of command is executed/dispatched to give the illusion that both concepts are equivalent. Anyway, option 1 will certainly not work for slot calls. Option 2 seems to be the best way to go. But not for 4.0. Does anyone have a better idea? Please see comment 19 in bug 121960 (https://issues.apache.org/ooo/show_bug.cgi?id=121960#c19) for the reason why I remove this issue from the list of blockers of bug 121420. |