On Monday, May 26, 2014 16:55:42 Teo Mrnjavac wrote: > > Now, the most important difference to the approach I've seen in Qt, is > > that > > this is a QML binding in our case instead of a scaling factor which you > > inject in the rendering engine. This means, we can change those not only > > on > > runtime, but have different settings for different parts of an > > application. > > Think of an application with 2 windows, one on your old school monitor, > > the > > other on your retina screen. We could adjust those depending on which > > screen you're running, even inside the same application. > > > > > > > > The official docs for this can be found here: > > http://developer.ubuntu.com/api/devel/ubuntu-12.04/qml/ui-toolkit/resoluti > > on -independence.html
Note that they actually got this wrong: They're not using a binding but an invokable, meaning that gridUnit changes aren't propagated automatically, but need to be triggered for re-evaluation. This looks like an API problem to me, so it's not easily fixable for them (without changing the API). We've introduced gridUnits in Plasma as well, and are using them throughout. The difference with Ubuntu's implementations are: - They're notifiable properties in Plasma. so you'd write units.gridUnit * 2, not units.gridUnit(2), that's the fix for the above problem. - gridUnit depends on the fontsize-as-rendered in Plasma, not an arbitrary scaling factor (Michael isn't clear on where they get this factor from) Bottom line is that the Ubuntu gridUnits stuff can very easily be ported (both ways), but Plasma's mechanism is at a higher level. Cheers, -- sebas http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9 _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel