[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] [lmi-commits] master 9bed27ea 1/2: Revert "Remove unnecessary
From: |
Vadim Zeitlin |
Subject: |
Re: [lmi] [lmi-commits] master 9bed27ea 1/2: Revert "Remove unnecessary variable from IllustrationView::OnCreate()" |
Date: |
Thu, 16 Jun 2022 02:46:00 +0200 |
On Wed, 15 Jun 2022 21:27:50 +0000 Greg Chicares <gchicares@sbcglobal.net>
wrote:
GC> We hope to do our first 64-bit production release this month, and
GC> there are only eight days until our normal code-freeze date,
Oh, so I'm too late with wx upgrade patch I guess?
GC> It didn't seem to matter how the unwanted question was answered:
GC> the dialog closed abruptly for all three answers. With msw
GC> (though perhaps not with GTK), the file can be saved, and later
GC> reopened, but if it's reopened, no view is created, and thus
GC> there's no open document whose input the user can edit to fix.
GC> Of course, if they remember the error message, they can re-reopen
GC> it and fix it then, but they might not be that ingenious. IOW,
GC> the problem isn't only that a stray question is asked, but that
GC> the view isn't created. That makes sense to us, but to an end user
GC> it may not.
Sorry, I was confused here and thought that we did _not_ want to create
any window in this case because I misunderstood the comment before
IllustrationView::OnCreate() and thought that "a zombie view" referred to a
blank view such as is shown currently, i.e. with the latest lmi master, if
the parameters are incorrect.
I realize now (but please correct me if I'm wrong) that this is not what
this comment originally meant, but I hadn't understood at all that we
wanted to show this blank window before, sorry.
GC> When you have time, could you add a case like that to the GUI test?
Sure, but what exactly should the test check for? Just that a window is
created even in case of invalid parameters entry?
GC> > There is a simple fix for this: we should ignore the view's modified
GC> > status when destroying it unconditionally, and I'll make this change in
wx,
GC> > but I'd understand if you didn't want to re-revert this again...
GC>
GC> With an automated GUI test for this, we could reconsider later
GC> after testing the behavior with that wx change. But the
GC> behavior after this reversion is that a view is created, and
GC> as explained above I think that's the least astonishing thing
GC> we can do.
I thought that failing to create a window with an error message and
_without_ asking any questions about saving anything would be the best
behaviour. But thinking more about this, I realize that this would mean
losing all the entry in the parameters dialog, so this is probably not
great neither.
In fact, ideal, from a purely UI point of view, IMO, would be to avoid
accepting the dialog with invalid data in it. However if we have to accept
it even in this case, then I think the view should show something
indicating that it's invalid -- maybe even the error message itself? -- as
showing just a blank window doesn't seem very user-friendly.
What do you think?
VZ
pgpNsVHNYZgdS.pgp
Description: PGP signature