app: make debugging preference finer-grained than a boolean.
Replacing the boolean property "generate-backtrace" by an enum "debug-policy". This property allows one to choose whether to debug WARNING, CRITICAL and FATAL (crashes), or CRITICAL and FATAL only, or only FATAL, or finally nothing. By default, a stable release will debug CRITICAL and crashes, and unstable builds will start debugging at WARNINGs. The reason for the settings is that if you stumble upon a reccurring bug in your workflow (and this bug is not major enough for data corruption, and "you can live with it"), you still have to wait for a new release. At some point, you may want to disable getting a debug dialog, at least temporarily. Oppositely, even when using a stable build, you may want to obtain debug info for lesser issues, even WARNINGs, if you wish to help the GIMP project. It can be argued though whether the value GIMP_DEBUG_POLICY_NEVER is really useful. There is nothing to gain from refusing debugging info when the software crashed anyway. But I could still imagine that someone is not interested in helping at all. It's sad but not like we are going to force people to report. Let's just allow disabling the whole debugging system.
Showing with 127 additions and 46 deletions