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/