Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


Am 20.09.2016 um 11:56 schrieb Stephan Bergmann:

On 09/20/2016 08:30 AM, Samuel Mehrbrodt wrote:


Am 19.09.2016 um 17:29 schrieb Stephan Bergmann:


On 09/19/2016 05:17 PM, Samuel Mehrbrodt wrote:


It turned out we need to implement both. The first option was fine when
only closing the window - but we also want to be able to close the
visible frames with "File->Exit" while keeping the process running.


Do we?  I think there is probably a difference in what we can imply as
user-expected behavior between closing the last window (via "Window -
Close Window" or whatever desktop-environment--specific trigger) and
terminating LO (via "File - Exit LibreOffice").



Well, with my patches, there will be a difference. Closing the window
will leave the process running, and chosing File->Exit will kill the
process.

What I did change in my second patch is the behavior of File->Exit when
using the TerminationVetoException.
Before it prevented closing the windows *and* terminating the process -
after my patch it only prevents termination.



But throwing a TerminationVetoException isn't something that the user
will be aware of.  Today, when doing "File - Exit LibreOffice", the user
is made aware that terminating LO does not work (because of external
connections and TerminationVetoExceptions) by the fact that its windows
will not close (whether or not that is a good way of communicating this
to the user).  In the future, the user would no longer be made aware
(while I think they should be, in whatever form).

I understand your point. On the other hand, the name TerminationVetoException suggests that it 
prevents termination - nothing more.
If people still want to prevent closing windows they can always use CloseVetoException.

As an external application developer, I just want to make sure that nobody can exit the soffice 
process, but I want users to still be able to use the "normal" LibreOffice installation as they are 
used to.
For the user it would be a bug that they cannot close the last window. He doesn't know that there 
is some other application that demands a running office instance.

But even with my patch, you can still have the behavior that you describe (the user should notice 
that the process keeps running). You just need to also throw the CloseVetoException:

Maybe this table explains it a bit:

Wanted behavior
        Before my patch
        After my patch

I want to forbid closing windows
        CloseVetoException
        CloseVetoException

I want to forbid terminating the Office (but allow closing windows)
        ?? -> Nothing here
        TerminationVetoException

I want to forbid terminating the Office and closing windows
        TerminationVetoException
        TerminationVetoException + CloseVetoException


I can't see any real downside of this, except that maybe some people need to make some changes in 
their application if they want the same behavior as before.
Anyway, if you have any other suggestion how to achieve this, I'm open for it.

Thanks
Samuel

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.