Added a cancel button to the "checking for updates..." dialog.
…ge the strings file.
Sparkle now gies visual indication that it's checking for updates when hte update's user initiated. ie: it pops up a status controller saying "checking for updates..." What was SUUserInitiatedUpdateDriver is now SUUIBasedUpdateDriver; SUUserInitiatedUpdateDriver now is a subclass of that, along with SUScheduledUpdateDriver. This is a happy little refactoring that let me remove some redundant code.
…SUBasicUpdateDriver so that all drivers could take advantage of this check.
… displaying the update alert. This fixes bug 228471.
…is potentially a problem when something's saved as an NSString when we expect an NSNumber. This'll handle both cases.
…actoring. Please read: - Broke out SUUpdater functionality into update drivers. There's a basic one from which everything else inherits, then a user-initiated one, an automatic one, and a scheduled one. It's super-clean-and-shiny. - Destroyed the abomination that was SUStatusChecker. In its place is SUProbingUpdateDriver, which is like 10 lines long. - Made automatic installation less stupid. It used to install, THEN offer to relaunch. That's dumb, beacuse if the user says no, the app is running from the trash. Now it offers to install and relaunch or to install on quit. - Renamed like every method and symbol. I hope you didn't branch anything. - Reorganized the project hierarchy to be much clearer and easier to navigate. - Reworked the error system to no use NSError instead of exceptions; extra technical information is now logged to the console so that we can find problems. - A bunch of other small bugfixes in things I noticed along the way but no longer remember. - Probably a ton of other stuff. Read over the code and see what I've done. Then PLEASE test this with your app internally and let me know how it goes. This revision is hereby NOT YET DECLARED SAFE FOR PUBLIC RELEASE. But because I'm still using SVN, this is how things have to be.