@Jehan I gave it a bit of thought and decided to implement pixel density selector as following:
If template and image pixel density and density unit are the same, then template is just applied.
Otherwise if template size unit is pixel then dialog assumes that you're working on display images (e.g. wallpapers) and just sets appropriate pixel width/height while keeping current image pixel density intact.
Otherwise, if template size unit is not pixel then dialog assumes that you want to scale canvas for transferring image contents to real-world media. In this case:
- Special controls is shown to help user decide which resolution he/she want to pick.
- As soon as user picks the density, dialog scales the template pixel size by a factor to match desired pixel density and to keep physical size as close as possible to the size of the template. However for some resolutions it's not possible to exactly match physical dimensions between calculated image size and desired template physical size.
Don't mind the commit message. It is indeed not final, I just want to push the changes for your review because I need help with label and button texts. I'll fix that as soon as we decide about label and radio button text wording (and I need some time to describe changes in more or less proper English :) ).