HiDPI support

Giuseppe Bilotta giuseppe.bilotta at gmail.com
Tue Oct 14 01:32:33 PDT 2014


Hello all,

I'm not actually a diver (not even recreational), but I happen to have
a HiDPI screen and I decided to see how Subsurface fared in such a
context.

I expected stuff to mostly work, since it relied on Qt, and this is
indeed the case, with some notable exceptions. I'm working on fixing
them, and if you are interested in it you can follow my work over at
http://github.com/Oblomov/subsurface, dpi branch. I'm not formally
asking for a merge yet,, but if you feel it _is_ ready (although not
complete), I'm not going to object.

I've fixed the most obvious shortcomings already (hard-coded widths
for a number of icons and table columns), but there are a few things
that require a significantly more invasive approach:

* the toolbar between the main tabview and the profile view has a
fixed size of 24px, which is smallish on my screen, but would make the
toolbar unusable on even higher DPIs; changing the icon size is not an
issue in itself, _but_ the icons should be scalable; A mass-conversion
of the PNGs to SVGs would be appropriate;

* the UI is largely designed through .ui files, which means hard-coded
sizes all around; there's no trivial way that I know of to obviate
this issue, so a conversion to a different approach would be needed;
we have essentially two options::

a) convert everything to C++ and ork with that;
b) keep a more dynamic-ish approach and switch from .ui files to QML files.

Both are possible, both are a lot of work, and both do not solve the
issue of "not having an UI designer". The C++ approach has the
advantage of being the most lightweight and (runtime) fast, the QML
approach has the advantage of being more flexible and more
approachable to non-programmers.

Thoughts, opinions, comments welcome.

-- 
Giuseppe "Oblomov" Bilotta


More information about the subsurface mailing list