https://issues.apache.org/ooo/show_bug.cgi?id=121960
--- Comment #14 from Andre <[email protected]> --- Thanks for the explanation. Some details where new to me. I agree with you that using the UNO way to handle and dispatch commands is the best way to go. But while the UNO command concept is not too bad, its implementation is lacking in some areas. The biggest problem is that today most commands are dispatched as slot calls. I always thought that the framework would internally convert them into commands and then handle them like any other command dispatch. This is done to some degree (a slot <id> is converted into a "slot:<id>" command) but apparently a detail like the disabling of commands is not applied. I made an experiment with dispatching a disabled command and still got an XDispatch object. Your explanation confirms my belief that I should have gotten an empty Reference. But my experiment was not very thorough, I should repeat it. Then there is the matter of finding the right handler for a slot/command. Sfx with its shells allows more fine control than UNO with its chain of dispatchers. And there are toolbars and toolboxes. Toolbars apply what I called magic before: check for each item if it is disabled. A toolbox, the base class of the toolbar, does not do this. Disabling commands looks like feature that was well meant but poorly implemented. The solution to the problem of disabled commands is dictated by pragmatism. The Symphony implementation obviously is not very good. But there is not enough time to refactor every panel. Because I forgot to change the owner of this issue to me I saw your last comment a bit late and have created a "solution" similar to the svt::ToolboxController. I have to check if I can switch to that without spending too much time on it. And due to time constraints I can at the moment only convert the text property panel. I am not happy with this, but bringing all panels into a state that we are all happy with would take weeks or months. -- You are receiving this mail because: You are on the CC list for the bug.
