That was the quick solution; the other option is to create yet another flag to indicate time has just been set, and check for that.For the effects, you can add code tags to not mess up layout, as it uses a monospace font. Later tonight I'll have a look at it.
1) is in progress.A "break" was missing so the alarm played only once, instead of repeating until user switches it off.It does trigger when setting the alarm time directly in the code. I haven't tried doing it by setting it in the clock, as it should be done. At the moment in the 5-minute wait of the snooze, see if it goes again.
In "time-setting", if you have the "hours" selected/flashing, and if you longPress the "minute" button, it advances the "hour" by one, but it doesn't happen the other way around. So, if "minutes" are flashing, and if you longpress hour button, it doesn't do anything wrong. Only when "hour" is selected. minute longpress somehow affects it.
I did find another issue with the alarm button while setting time/alarm: a long press would switch on/off the alarm which is not appropriate at that time. Long press and short press are same behaviour now while setting alarm/clock.
When you were in time setting mode, you could still enable/disable alarms with the long press (and see the nice animation). That just doesn't make sense.
Let me know when all is fine, then can clean up those #ifdefs that I added.