home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-01-26 | 10.7 KB | 199 lines | [TEXT/MMCC] |
- /*
-
- Changes in 1.0 ╤ 95\01\26 ╤ final release:
- ╤Search buttons weren╒t being updated when user did a Paste.
-
-
- Changes in 1.0b6 ╤ 95\01\15:
- ╤I was messing around with passing NULL in some parms of GetDialogItem.
- This worked fine on my IIci with 7.1, but I had a report from MetaTheory
- who was running EvenBetterBusError that I was writing to NIL. Thanks to
- that EBBE, I found the problem was me passing NULL to GDI. Fixed that.
- Also found a few others.
- ╤Added a pref to save the position of the window.
- ╤Fixed something in TE32K where the top of the results text would be
- scrolled off the bottom of the window while lines of text were being
- added during a search.
- ╤Fixed handling of the results scrollbar thumb so the correct value is
- calculated as a long instead of a short.
- ╤Added extra call to smallEvent to catch aborts earlier.
- ╤Forgot to SetPort the about box.
- ╤Fixed bug in findAppInDesktops where an entry was found in the Desktop
- database, but the file no longer existed on the volume, so it skips that
- volume and searches the next.
- ╤Added code to send the appropriate goto╨line Apple¿ Event to the text
- editor so the double╨clicked line will be brought into view. So far the
- only goto╨line «╒s implemented are for 68k and PPC MW C/C++ and Pascal
- and BBEdit (the only editors I could find around here that support
- goto╨line «╒s).
-
-
- Changes in 1.0b5 ╤ 94\12\30:
- ╤If the openDoc « can╒t be sent to an application for some reason, I now
- ask the user if they want to use their TEXT Editor to view the file.
- ╤Added Hex Search button.
- ╤Added 1st Occurance Only option.
- ╤Amalgamated all search options into a single Options popup menu in the
- main window to declunkify the interface.
- ╤Changed flags pref into a different format that╒s more easily updated in
- future versions (a long instead of a bunch of Booleans). Also, old Pref╒s
- files won╒t lose the user╒s settings when it╒s updated to a new version.
- And it╒s smaller.
- ╤Added test for files not being able to be opened and ask user if they want
- to skip the file and continue or not.
- ╤Added a beep when the search has completed.
- ╤Added pref for keeping the last Search Dir chosen from the popup menu or
- if the user selects Add Current Search Dir. Search Dir╒s chosen by any
- other means won╒t be remembered. I prefer doing it this way rather than
- saving yet another alias.
- ╤Changed the way I keep track of found files. Used to just keep the parID
- and name. Now I just keep the parID, index, and vRefNum which takes less
- memory and so I can╔
- ╤Now show the full pathname, type, and creator of clicked╨on files in the
- results list. Also changed the font of the file name item to Geneva
- because Monaco was too long for deep folders. This is only an Str255, but
- it seems to be long enough even for deep folders on CW/4.
- ╤Added secret option for power users to skip or include searching the
- resource header, data reserved for system, and application data portions
- of resource files. I was finding some sort of left over garbage in the
- rez fork of an alias file (in the reserved system data area), so I
- decided to skip searching the entire area. But what if some app stores
- data in the application data area, such as passwords and stuff? This is
- why I made it a secret option. This file will be the only place it will
- be mentioned. So only people who read this file will know about it, or
- people who happen to hold down the Option key while clicking in the
- Search Options popup. (Hint; that's how you turn the option on and
- off.:) It╒s default state is on, rez header+ skipped.
- ╤Changed the way the main window works. Added a little triangle PICT item
- that toggles the search result items. I did this for a couple reasons:
- ╫Faster window updating if File Safari is kept hanging around while
- using other app╒s. Just hide the result items when not in use.
- ╫Thinking about adding boxes for the clicked╨on file╒s Type, Creator,
- and the offset of the match in the file. These extra items would make
- more clutter, which would make reason #1 more attractive.
- ╫I╒ve never used AppendDITL before, so it was good practice. :)
- ╤Added a total files searched item.
- ╤Replaced all calls to CallUserItemProc with the actual function calls
- they contain. (New habits are hard to break.;)
- ╤Fixed some things in the search code. Tested it with a file of buffSize
- length. It now finds only one match if the search string is right at the
- end of the buffer. I was also doing the same long calculation twice, so
- I replaced that with a local var (but CodeWarrior was probably optimizing
- that on its own).
- ╤Instead of adding the Type, Creator, and offset boxes, I added a popup
- that shows this into for each match. Just click and hold on a match for
- your system╒s double╨click time and the popup will appear.
- ╤Got CW5 in the mail! Only had to make one change!
- ╤Made full use of CW5╒s new PPC optimization. Too bad I can╒t tell the
- difference. :/ (Somebody give me an 8100 or I╒ll puke all over my code.)
- ╤Started using temp memory for the search buffers if enough is available.
- ╤Changed searchInFile╒s inner loop to be more efficient.
- ╤Made my own Munger function to handle both normal and case╨ignored
- searches, using a lookup table for case╨ignored conversion. It╒s 67%
- faster than Munger normally and 54% faster than my use of Munger when
- ignoring case. A full case╨sensitive search of File Safari╒s project
- folder took an average of 4.1 seconds with Munger and an average of 2.8
- seconds with myMunger. Now I don╒t need two buffers for case╨ignored
- searches because I don╒t have to copy an upper╨case version of the buffer.
- ╤Added Ignore Diacriticals option in Search Options popup menu. Be careful
- when using the Hex Search button as the Ignore Case and Ignore
- Diacriticals options *still* apply to your resulting hex string. E.g.:
- Search String "0x61" ('a') will turn into "0x41" ('A') if Ignore Case is
- turned on.
- ╤When a search is started, disabled Hex Search button and changed Search
- button to Stop so it╒s more obvious that the search can be stopped.
- Clicking the Stop button, hitting Return, Enter, Escape, or Command╨.
- all stop the search. Also disabled my menus and handled mouseDown╒s in
- menubar and drag region.
- ╤I was comparing File Safari╒s search results to that of Search Files when
- I noticed FS found more matches than SF with the same options turned on.
- So I thought it╒d be nice to have a Save Results function so I could
- compare FS╒s to SF╒s. This is now an item in the File menu. BTW, FS╒s
- and SF╒s search times are almost identical in my tests. FS took 1 second
- longer to search one of my hard drives with Ignore Case and TEXT Files
- Only turned on.
- ╤Found Search Files╒ problem; it doesn╒t find a match if the search string
- is butted up against the end of the file. File Safari does this correctly.
- Nyah. :) It also searches folders in a more intelligent manner.
-
-
- Changes in 1.0b4 ╤ 94\12\28:
- ╤Fixed bug where Resource Editor menu item string would contain
- garbage until a rez editor was chosen.
- ╤Fixed bug that would set the Resource Editor string to empty
- if the user chose Choose resource editor╔ and clicked Cancel.
- ╤Added a default TEXT File Editor that can be used to view all
- TEXT files when double╨clicked. It╒s chosen like the Resource
- Editor and has a menu item to turn on/off using it.
- ╤Improved pref loading scheme so new prefs will be created if
- they aren╒t found, and old prefs that aren╒t the current size
- will be deleted and re╨created.
- ╤Changed all menu item strings to title case.
- ╤The window is now dragable. Ooops. :)
- ╤If the current Search Dir is one from the popup, and the user
- deletes that item from the popup, the Add Current Search Dir
- menu item is re╨enabled.
- ╤If the Option key is held while double╨clicking on a match in
- the results, the user╒s TEXT editor will be used to open the
- file, no matter what type the file is or which fork the match
- was found in. This is a power user feature, and is especially
- useful for people who have Really Cool App╒s like MuffEdit that
- can open *any* file╒s data fork and also snoop in the rez fork.
- ╤Got rid of desk scrap purging if the scrap was not TEXT data.
- Stopped bad practice of doing ZeroScrap and TEToScrap when
- switching to the background.
-
-
- Changes in 1.0b3 ╤ 94\12\21:
- ╤Added drag & drop of folders and disks to set the Search Dir.
- ╤Added openDoc and quitApp «╒s.
- ╤Changed the name of the main window to File Safari.
- ╤Fixed more Balloon Help.
- ╤Fixed some incompatibilities with Norton Directory Assistance.
- Hopefully this will fix the problems with SuperBoomerang too.
- I don╒t know why these companies can╒t write stuff that doesn╒t
- interfere with standard Apple routines. If you╒re gonna change
- the current dir, then tell the goddamn hook that you did so!
- I also found that, if a button has been added to a CustomGetFile
- box, and you SetDialogDefaultItem on it while the standard Open
- button is disabled, NDA doesn╒t know about it, but instead sends
- an itemHit message of 0x1000 + the char number. Bad, bad, bad
- programming style not to call the standard ModalDialog filter
- when you mess with dialog events.
- ╤It was reported that no matches are found on a PPC, even though
- it╒s searching through the correct files. I have no idea why
- this wouldn╒t work, unless Munger doesn╒t work correctly on PPC╒s.
- I changed the FSRead/Munger buffer pointer to a handle just to
- see if that has anything to do with it, which I really doubt.
- ╤Added version number to About box.
- ╤Improved finding a double╨clicked file╒s creator, launching it,
- bringing it to the front, and sending the openDoc «.
- ╤Implemented the resource editor stuff.
- ╤Correctly enabled Add Current Search Dir popup menu item and
- Search button when a folder/volume is drag & dropped onto File
- Safari in the Finder.
-
-
- Changes in 1.0b2 ╤ 94\12\16:
- ╤Added current file pathname to main window while searching.
- ╤Added Matches item in dialog.
- ╤Fixed some Balloon Help.
- ╤Added check for System 7.
- ╤Added check for B&W and put up the B&W version of the About PICT.
- ╤Added call to smallEvent at the end of the searchInFile loop so
- we don╒t have to wait as long to abort.
- ╤Added SystemTask to smallEvent so some other stuff could process.
- ╤After a search has completed, select the Search String text.
- ╤Set the cursor to arrow when suspend/resume event is received.
- ╤When clicking on an item in the result list, the file name is
- shown.
- ╤Progress information is shown while finding a double╨clicked╨on
- file╒s creator and process or app, and sending the AEOpenDoc.
- ╤Fixed it so when the result list is clicked past the end of the
- last line, it selects the last line.
-
-
- 1.0b1 ╤ 94\12\15?:
- ╤Initial beta release.
-
- */