Re: Re: CvsAlert changes

Jens Miltner <[email protected]>
Newsgroups gmane.comp.version-control.cvs.gui.devel
Message-ID <[email protected]>
Am 13.12.2003 um 01:40 schrieb Jerzy Kaczorowski:

> Jens, Kalle,
>
> After I little thinking about the default button problem it occured to 
> me
> that I was approaching it from the wrond angle. I treated it as a 
> state when
> in fact it is a "behavioural" parameter. That prompts the following 
> changes:
>
> 1. Remove the m_defaultButton from the CvsAlert members list and its 
> access
> interface.
>
> It doesn't belong there and it only causes troubles!
>
> 2. Change the ShowAlert singnature like this:
> virtual kCvsAlertButtonType ShowAlert(const kCvsAlertButtonType
> defaultButton = kCvsAlertOKButton);
>
> That change clearly indicates that default button is a behaviour and 
> not the
> data and defines the desired and expected in most cases default button 
> and
> stil keeps things simple to use.
>
> In general I also have to agree that it's better to have the OK button 
> set
> as default regardles of the message type - hence kCvsAlertOKButton is 
> used
> here.

Sounds perfect.

>
> But I insist that the moving to trash should be an exception from that 
> rule.
> It's a very destructive and possibly irreversible (depending on the 
> settings
> of Recycke Bin etc.) operation and we can't hold the user responsible 
> for
> mistakes because the risk is too high. The erase operation is not 
> intended
> to be a rutine task anyway, so it will not really break the workflow 
> and
> it's probably even better to annoy the user at this point to stop a bad
> habbit from developing ;)

Hmmh, I still see the "Move to trash" as a reversible operation (at 
least on the Mac) and it's not different than switching to Finder (the 
Mac "Explorer") and moving the file to trash from there (as a matter of 
fact, the original implementation of move to trash actually just sent a 
message to the Finder to have it move the files to the trash).
And I don't see why it's not intended to be a routine task - it's very 
convenient and avoids having to switch to an other app, go hunting for 
the file, etc.
But we can still have different default buttons on each platform based 
on whether move to trash is easily reversible or not.

>
> I will be also moving the AskYesNo code to the AppGlue (with the
> Mac-specific code of course). After we are done with the Alert changes 
> I
> will implement the storage of last few console lines by the cvsgui 
> protocol
> (and the special CVSNT formatting as well) so that code will not be
> neccesary - we will have the message text right in the alert window 
> where it
> belongs. It's really against all guidelines to tell the user to search
> somewhere else for error messages ;)

Yes, that's really a good idea - we should provide this as the 
secondary message text then.
[NB: On the Mac, I still think it's a good idea to bring forward the 
log window as well, as there might be more information in there 
(command history, etc.) and once the alert is up, due to it's modal 
state, the user won't be able to reach it. Probably not an issue for 
WinCvs where the log pane is usually visible, but in MacCvs it's a 
window by it's own, so it might be hidden beneath a bunch of other 
windows. And on Mac OS X, it even gets worse since windows from various 
applications are interleaved, so some other apps windows might be on 
top of the MacCvs log window when MacCvs comes to the front...]

BTW: Did you take a look at the PromptMessage function? I've 
implemented this for the Mac using CvsAlert and I think we could remove 
all platform conditional stuff in there and use CvsAlert for all 
platforms...
(The PromptEditMessage probably has to remain as it is, since it 
requires an additional edit field. I don't think we should extend 
CvsAlert to also provide an edit field - that's just too special to put 
into the CvsAlert API)...

</jum>


[Non-text portions of this message have been removed]


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/NhFolB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
[email protected]

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.