This keeps getting trickier. I wrote a patch that checks if ~/.enigma exists before the user prefs are loaded and sets a boolean flag. Then, when it is time to check for a possible version 1.00 migration in updateMac1_00, we can test the flag. If the UserPath and UserImagePath options are empty and there was no ~/.enigma when we checked earlier, then we can move ~/.enigma to the Library subfolder without having to pop up the dioalog to ask about it. If those options are empty and there was a ~/.enigma directory when we started, then we ask about moving.
The reason we have to check for ~/.enigma early is because the routine that loads the user preferences creates a default ~/.enigma if it does not exist. And we have to load the preferences before the call to updateMac1_00 because in order to open the dialog asking what to do we have to have already initialized a number of things that require at least the default preferences to have been set. Here's the big problem that is still left. In the case of a brand new installation, the default peferences are placed in a newly created ~/.enigma directory, then the migration sets the user pref path to ~/Library/Application\ Support/Enigma, then ~/.enigma/* is moved there, then the application exits. That exit() is necessary because the preferences have been moved out from under the program. But the effect is that the first time you start up Enigma it immediately and silently exits. If you start it again, it is fine, as the migration has happened. But that exit after the first time you run it is confusing and wrong. I've got some more ideas to play around with and I'll submit a patch if I come up with something that works. -- sidney _______________________________________________ Enigma-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/enigma-devel
