QtCreator with Kirigami for Subsurface

2018-05-28 Thread jani
Hi 

My name is Jan Iversen, I am working on the Subsurface project to make 
subsurface-mobile have more of the 
Features currently only available in our desktop version. This of course means 
using more kirigami and QtQuick.2

I would like to use Qt Creator to do big parts of the kirigami qml design, 
instead of “guessing” the result, but it doesn’t work.

Currently when I open a qml document, the plugin line:
import org.kde.kirigami 2.2 as Kirigami
Is accepted with no errors

But all Kirigami specific lines like e.g.
Kirigami.ScrollablePage {
Have the error “Unknown component (M00)

I work on a Mac (primarily doing iOS work), and have generated the plugin and 
moved org/kde/kirigami to the Qt qml directory,
As well as copied the dylib files to Qt Creator App Frameworks and 
plugins/designer

When I start Qt Creator I can see in “About plugins” that it has not found a 
designer plugin.

I have also tried to start Qt Creator from the command line with -load 
kirigamiplugin, but I get an error message saying it does not exist.

Can you please advice, how I can design the kirigami/qml files using QtCreator.

A big thank for your efforts with kirigami and another thanks for a hopefully 
positive answer.
rgds
Jan I.

Ps. I am not subscribed to your ML, so please CC me on responses.





Re: QtCreator with Kirigami for Subsurface

2018-06-03 Thread jani



> El 28 may 2018, a las 11:03, Marco Martin  escribió:
> 
> On Mon, May 28, 2018 at 10:52 AM Marco Martin  wrote:
> 
> Hi,
> unfortunately Qtcreator tends to be really picky with any 3rd party qml
> module...
> i think you need to have the file plugins.qmltypes somewhere where
> qtcreator understands it (i don't know if is possible for plugins that are
> shipped internally in the project like subsurface does)
> perhaps yoy could try to build and install kirigami with its own cmake as a
> plugin.. and install it right into the qt release that qtcreator is using,
> that should fix at least autocompletion, not sure wether is enough to make
> it available in the designer

Hi 

Thanks for your answer. I actually did exactly as you suggest. Ran make, make 
and make install in
Kirigami directory. The installs to /usr/local/lib/qml/org/kde/kirigami.2 and I 
copied it into the Qt install set.

Your idea with plugin.qmltypes could be the answer, that was not part of 
/usr/local/lib/qml/org/kde/kirigami.2
I will experiment a bit and see what I come up with.

rgds
Jan I.
> 
> --
> Marco Martin
> On Mon, May 28, 2018 at 10:42 AM  wrote:
> 
>> Hi
> 
>> My name is Jan Iversen, I am working on the Subsurface project to make
> subsurface-mobile have more of the
>> Features currently only available in our desktop version. This of course
> means using more kirigami and QtQuick.2
> 
>> I would like to use Qt Creator to do big parts of the kirigami qml
> design, instead of “guessing” the result, but it doesn’t work.
> 
>> Currently when I open a qml document, the plugin line:
> 
>> import org.kde.kirigami 2.2 as Kirigami
> 
>> Is accepted with no errors
> 
>> But all Kirigami specific lines like e.g.
> 
>> Kirigami.ScrollablePage {
> 
>> Have the error “Unknown component (M00)
> 
>> I work on a Mac (primarily doing iOS work), and have generated the plugin
> and moved org/kde/kirigami to the Qt qml directory,
>> As well as copied the dylib files to Qt Creator App Frameworks and
> plugins/designer
> 
>> When I start Qt Creator I can see in “About plugins” that it has not
> found a designer plugin.
> 
>> I have also tried to start Qt Creator from the command line with -load
> kirigamiplugin, but I get an error message saying it does not exist.
> 
>> Can you please advice, how I can design the kirigami/qml files using
> QtCreator.
> 
>> A big thank for your efforts with kirigami and another thanks for a
> hopefully positive answer.
>> rgds
>> Jan I.
> 
>> Ps. I am not subscribed to your ML, so please CC me on responses.



Plasma running on S60 device

2009-06-04 Thread Jani Hautakangas
Hi,
 one day I was wondering whether Plasma would run on S60 device.
I decided to give it a try and after some hacks to kdelibs and 
kdebase-workspace:

http://www.youtube.com/watch?v=9ni_6qTwj-Y

Br,
 Jani

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: Plasma running on S60 device

2009-06-05 Thread Jani Hautakangas
Current version was  made with  shortcuts and hacks to get Plasma running
and proper installation package does not yet exist. Thus, I wouldn't like to
share current code yet. However would like to start "KDE on S60" -project.

In addition to KDE running on S60 I would like to see KDE evolving to support 
touchable UI. Trend seems to be that there will be lots of S60 devices with a 
proper 
capacitive touchscreens. By porting KDE to S60 we have a good opportunity to
start making KDE touchable and even add features something similar to Microsoft 
Surface.

 What should I do to get this project started? Who should I contact? It would
really nice if someone could walk me through to get this project up. I guess
that S60 port will have webpage of its own http://s60.kde.org like other ports
have their own. Eventually this project will be KDE for Symbian but since
Symbian Foundation is not yet properly running lets keep it KDE on S60. Finally 
when
we have KDE or parts of it up and running we can start pushing this upstream. 
I'm sure that
not every component is feasible for S60/Symbian but at least Plasma looks very 
promising.
 There is no guarantee that that this will ever fly but at least we can try.

Few crucial things are missing from S60/Symbian (and I'm sure there are still 
more)

- CMake doesn't support Symbian. We must use QMake for now.

- Qt for S60 doesn't support QtDBus. There are few alternatives for 
this:
- Implement QtDBus for S60 (native or use LIW/AIW behind the 
scenes)
- Use S60 LIW/AIW directly
- Use upcoming Qt Service Framework if it is feasible
- Beg QtSoftware to port QtDBus for S60


My employer Tieto http://www.tieto.com is willing to contribute/sponsor this 
project.
Tieto is among the leading Symbian R&D service providers for OEMs globally with 
up
to 1300 persons in Mobile Devices R&D globally.

Br,
 Jani




> On Thursday 04 June 2009, 07:42 Kevin Ottens wrote:
> > Excellent, good job!
> 
> Indeed!
> 
> > Anything which could go in upstream KDE? If that can help improve the
> > platform I'm all for it.
> 
> Even if we can't push this upstream, it would be really nice if you could 
> share 
> the patches.
> 
> Another question: it was kde from trunk (4.3) or 4.2 ?
> 
> Cheers,
> 
> --
> Artur Duque de Souza
> OpenBossa Research Labs
> INdT - Instituto Nokia de Tecnologia
> --
> Blog: http://labs.morpheuz.eng.br/blog/
> GPG: 0xDBEEAAC3 @ wwwkeys.pgp.net
> --
> 

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: KMS backlight ABI proposition

2017-02-22 Thread Jani Nikula
On Mon, 20 Feb 2017, Hans de Goede  wrote:
> On 17-02-17 13:58, Martin Peres wrote:
> So 1 and 2 are closely related the problem is that if we expose a
> fixed number of steps we need to convert in both directions, and if
> userspace tries to increment by doing read, add 1, write and we expose
> 1-100 but the hardware has only 4 levels then the read will keep
> returning the same value. Note I've fixed bugs like this already so
> this is a real problem. As already mentioned in the thread this can be
> fixed by caching the last written value on both sides and invalidating
> both caches on a new write to one side.

I don't think userspace should be doing read-modify-write like this,
*unless* the value read is guaranteed to be the same as the last value
written.

Contrast with the sysfs brightness class interface. RMW should only ever
have been done on the "brightness" attribute alone, never using read on
"actual_brightness" attribute and write on "brightness".

>> The display brightness MUST be a monotonically increasing function of
>> the brightness property.
>
> What does "monotonically increasing" actually mean ? I would prefer
> to clearly define that we are talking about perceived brightness here,
> for 2 reasons:

https://en.wikipedia.org/wiki/Monotonic_function

Increase in the property means the same or higher "perceived
brightness".

> 1) This is what the user actually wants
> 2) Some of the x86 firmware interfaces only give us perceived brightness
> and no way to get back to any other unit of measire.
>
>> Brightness property value 1 MUST mean the minimum supported visible
>> brightness.
>>
>> Brightness property value 100 MUST mean the maximum supported
>> brightness.
>>
>> Brightness property value 0 SHOULD mean backlight off or equivalent for
>> non-backlight brightness adjustment, typically completely
>> black. Brightness property value 0 MUST NOT switch the display or pipe
>> off [1].
>>
>> If the hardware is not capable of supporting zero brightness, and the
>> driver knows this, value 0 MUST be equal to value 1.
>
> Ok.
>
>> If the driver does not know whether the hardware is capable of
>> supporting zero brightness, the driver SHOULD err on the side of 0 not
>> being off rather than 1 meaning off. In this case, value 0 is likely
>> different from value 1, and the minimum brightness can only be reached
>> via property value 0 [2].
>
> I agree, but this needs rewording (I had to read it 3 times).
>
>> If the brightness gets changed outside of the property interface,
>> reading the property value MAY be out of sync with the actual brightness
>> [3].
>
> This is for when the panel is off ? Otherwise it seems like a bad idea
> to me.

It means we don't want to go dig through the sysfs class interface to
figure out what was written there, and do lossy conversions back to the
property (if there's scaling involved).


BR,
Jani.


-- 
Jani Nikula, Intel Open Source Technology Center


Re: KMS backlight ABI proposition

2017-02-22 Thread Jani Nikula
On Mon, 20 Feb 2017, Daniel Thompson  wrote:
>>> === 1) Backlight device interoperability ===
>>>
>>> Since we need to keep backward compatibility of the backlight, we have
>>> to keep the current backlight drivers.
>>>
>>> Here are possible options:
>>>
>>>  - Exclusive access: Unregister a backlight device when the drm
>>> brightness property is requested/used;
>>>  - Unidirectional access: When writing to the backlight property, update
>>> the backlight device;
>>>  - Bi-directional access: Propagate back changes from the backlight
>>> device to the property's value.
>>>
>>> Being bi-directional would be of course the best, but this requires that
>>> both drivers have the same number of steps, otherwise, we may write a
>>> value to the property, but get another one when reading it right after,
>>> due to the non-bijective nature of the transformation.
>
> I don't accept that bi-directional transfer requires the step range to 
> be the same. Isn't all that is required is acceptance that both sides 
> maintain a copy of the current value in their own number range and that 
> if X is written to then Y may change value (i.e. when mapping between 
> 0..100 and 0..10 then if 0..100 is at 11 and 0..10 gets 1 written then 
> 0..100 is allowed to change to 10).
>
> I'd note also that the mechanisms inside backlight to support 
> sysfs_notify would mean *implementing* bi-directional comms isn't too 
> bloated even if the two sides used different number ranges.

I question the need and usefulness of bi-directional access, and I
question it being "the best". The end goal is to use the connector
property exclusively, and deprecate the sysfs API. If you choose to use
the connector property, you should steer clear from the sysfs. That's
part of the deal here.

The sysfs will still work as ever, it won't break or regress or go away
anytime soon, but the ABI and contract for the connector property will
be, "if you touch the sysfs while using the connector property, you
might get unexpected results reading back the property".

There *are* going to be subtle bugs with the simultaneous operation, and
I know I don't want to be in the receiving end of those bugs.

Raise your hands, who wants to deal with them? Who thinks it's worth it?

>>> The current ABI proposal has mostly been proposed by Jani Nikula, as a
>>> result of his experience and our discussions.
>>>
>>> It takes the following approach:
>>>
>>>  - Fixed number of steps (I think we should change it to expose the same
>>> number of steps)
>
> Fixing a large number of steps over an inflexible (lets say 8 level)
> backlight device creates a new problem. User actions to
> increase/decrease the backlight don't work unless the userspace knows
> the hardware step size...

Many of the ACPI backlight interfaces have a limited number of steps,
such as 8 or 16.

However, at least for i915 native backlight, we might *theoretically*
have, say, 5000 steps. But we might have no clue how many user
perceivable distinct steps there are.

> The 0..100 proposal below will encourage the userspace to implement 
> hotkeys that jump by 9 (because 0 is reserved with a special meaning). 
> and thus there will be deadspots where the hot key has no effect.

One brainstormed idea was to provide a way to increase/decrease the
brightness by a user perceivable margin or N%, whichever is the bigger
change. I don't think we explored that in depth, or how feasible that is
with the properties. It might not solve everything, but it could solve
one class of problems with expanding a limited hardware range to 0..100.

>>>  - Uni-directional: KMS -> backlight
>
> See above.
>
>
>>>  - Do not deal yet with 3) and 4): I have ideas, but I have been
>>> procrastinating long-enough to send this email and we already have much
>>> to discuss!
>
> Do any of those ideas involve adding *new* API to provide information to 
> userspace to help it correct the curves (e.g. somewhat like ALSA)?
>
> It's not that I object to such an approach but I consider it pointless 
> to present fixed range brightness levels if the userspace were to end up 
> responsible for curve correction.

One of the ideas we've discussed is having a property to adjust the
curve in kernel. If the driver knows parameters of the backlight, it
could populate the curve with the information it has, but it would allow
the userspace to adjust or replace it. The idea is that the userspace
could then treat the brightness property as linear wrt perceived
brightness. ("Perceived brightness" is kind of vague t

Re: KMS backlight ABI proposition

2017-02-22 Thread Jani Nikula
ote, we should really remember that all brightness is not
backlight either.)

>> === ABI proposal ===
>> 
>> The brightness property MUST have values 0...100 inclusive.
>> 
>> The display brightness MUST be a monotonically increasing function of
>> the brightness property.
>> 
>> Brightness property value 1 MUST mean the minimum supported visible
>> brightness.
>> 
>> Brightness property value 100 MUST mean the maximum supported
>> brightness.
>> 
>> Brightness property value 0 SHOULD mean backlight off or equivalent for
>> non-backlight brightness adjustment, typically completely
>> black. Brightness property value 0 MUST NOT switch the display or pipe
>> off [1].
>
> Why special case 0? Couldn't we simply add a second property for the
> power? We could for example have a boolean "backlight" property that
> userspace can turn "On" or "Off" and a "brightness" property which
> controls the backlight brightness.

Very few of the backlight class implementations support the bl_power
attribute to switch off the backlight. Even if they can be switched off
using 0 brightness. Unless we're looking at changing all backlight
drivers, the property implementation can only try to use value 0 for
backlight off. But we don't know if it's off or minimum or what. Also
see below.

>> If the hardware is not capable of supporting zero brightness, and the
>> driver knows this, value 0 MUST be equal to value 1.
>> 
>> If the driver does not know whether the hardware is capable of
>> supporting zero brightness, the driver SHOULD err on the side of 0 not
>> being off rather than 1 meaning off. In this case, value 0 is likely
>> different from value 1, and the minimum brightness can only be reached
>> via property value 0 [2].
>
> Yeah, this definition is really complicated. I've been reading it three
> times and I'm not sure I fully understand it. =)
>
> For my understanding, with those e-paper displays, what would be the
> difference between brightness 0 and backlight off? Would backlight off
> actually turn off the display? So that no "ink" would even be visible?
> For panels we typically have enabled and disabled states, where the
> disabled state, among other things, also turns off the backlight. So
> for panels we do have one more level of abstraction. For e-paper-able
> displays we could simply have a full range of brightness values, with
> 0 meaning e-paper mode and panel off meaning, well, panel off.
>
> Alternatively, e-paper mode could be the same as backlight off, since
> obviously there is no backlight anymore, in which case there wouldn't be
> a need to differentiate the special case for 0.

The main goal was to allow for cases where you can't switch off the
backlight, or you don't know whether the lowest value is pitch black. As
I wrote in [1], we can change the meaning of 0, but we need to take into
account it really might mean "off" for some, and "minimum visible" for
others.

The old sysfs ABI handled this by deferring it all to drivers, and we
know the result... this really is an unholy mess.

BR,
Jani.

-- 
Jani Nikula, Intel Open Source Technology Center


Re: KMS backlight ABI proposition

2017-02-23 Thread Jani Nikula
On Wed, 22 Feb 2017, Hans de Goede  wrote:
> My first thought was that your proposal is reasonable, but on second
> thought I foresee trouble here with e.g. the backlight level save / restore
> code in systemd still using the sysfs interface, while the desktop
> environment has moved on to the property, I believe we really need to
> do some sort of bi-directional syncing here ...

FWIW I think systemd should have no business changing the backlight. The
save/restore should belong in the desktop environments... But I think we
could dodge this one by having the initial sysfs value synced back to
the property on initialization, but not otherwise. The systemd stuff,
IIRC, happens before/after X.

>> We can bikeshed the meaning of 0 or -1, I don't mind. The point is, we
>> need to define what the drivers should aim for, with the potentially
>> limited information they have available, to provide as smooth and
>> unified an experience as possible.
>>
>> One benefit of -1 is that we might get away with adding that as a
>> special case later on, if we define 0 properly. And if the drivers know
>> they don't support off, they could have range 0..100 instead.
>
> I really believe that we need to define the ABI as 0 meaning minimal
> brightness which keeps the screen readable (which for the epaper
> example would be no brightness, but normally would be some minimal
> level).

We can define anything, but it doesn't mean it makes sense for the
drivers or that the drivers can implement it. By your above definition,
the right thing for the driver to do in the epaper case is to switch off
the backlight at 0, because switching it off completely can save more
power than just setting duty cycle to 0. That's the whole point for
epaper. And this contradicts with what you say below about backlight
on/off being orthogonal.

> Yes we do not get this right in some cases, but let at least define
> it properly in the ABI. Add a fat disclaimer for all I care that
> in some cases the driver is unable to guarantee this, but lets
> clearly define what 0 means and then try to get as much drivers
> to adhere to that as possible.
>
> As for -1 meaning turning stuff off, I'm against that, on/off
> vs brightness setting really are 2 almost orthogonal controls,
> in many cases in hardware they are truely orthogona, with both
> an enable pin as well as a pwm input for the brightness level,
> and driving the enable low will get the pwm input to effectively
> be ignored.

I think the crux with the on/off/minimum etc. is to have an ABI that
works sensibly also for drivers/hardware that is not able to switch
backlight off, or doesn't know whether the minimum is off or not. And we
need to have recommendations for drivers on what to do in the imperfect
reality.

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Technology Center