/srv/irclogs.ubuntu.com/2016/02/18/#ubuntu-app-devel.txt

=== chihchun_afk is now known as chihchun
=== john-mca` is now known as john-mcaleely
JamesTaitGood morning all!  Happy Thursday, and happy Battery Day! 😃09:58
=== _salem is now known as salem_
=== salem_ is now known as _salem
=== _salem is now known as salem_
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
kivibzoltan, zbenjamin So its been like a year, you gonna merge my patch into qtcreator?14:06
kivilp:~akiva/qtcreator-plugin-autopilot/added-copyright-license-header14:06
ahayzentimp, Hey, i've reported bug 1547038 (about the tabbar issues) when building the mini-app it only started happening after i had made a the sidebar a Page with the PageHeader as well i think14:22
ubot5bug 1547038 in ubuntu-ui-toolkit (Ubuntu) "Tabs with PageHeader, a sidebar with PageHeader and multirotation makes the old tab header appear" [Undecided,New] https://launchpad.net/bugs/154703814:22
ahayzentimp, i'll see if i can get it any further, but any pointers to even a workaround would be useful, as it would be nice not to have the issue in the MWC demos14:22
ahayzentimp, also note i haven't been able to reproduce on the desktop when using the latest UITK trunk branch14:26
=== BOHverkill is now known as BOHverkill___
timpahayzen: ideally, don't use PageStack and Tabs any more. But that probably is a too big change to make now.14:54
timpahayzen: thanks for reporting the bug14:54
ahayzentimp, what should we use?14:54
timpahayzen: AdaptivePageLayout14:55
timpahayzen: why is the sidebar a Page?14:55
ahayzentoo many bugs ;-)14:55
ahayzenthat gave me the header: thing14:55
ahayzentimp, or should i just be able to use an Item {} with a PageHeader on its own ? somehow14:55
timpyes, you can do that14:55
ahayzeni'll try doing that14:56
timpthe Page simply puts the header on top of the other children. So you could have an Item where you add the PageHeader last, or set PageHeader.z14:56
ahayzentimp, also i've managed to style the bg of the PageHeader with StyleHints {backgroundColor: mainView.headerColor} ... can i also theme the leadingaction popover thing ?14:57
ahayzentimp, and that'll do the automatic slide in/out stuff as well?14:57
ahayzen(as you scroll the flickable)14:57
ahayzeni guess you link the PageHeader.flickable ?14:57
timpahayzen: yes, if you set PageHeader.flickable it will slide in and out14:57
timpahayzen: we don't have the overflow panel or its delegates exposed via the style now15:00
mhall119bzoltan: hey, for GSoC could somebody on your team mentor a student working with design team to fix UITK components?15:00
ahayzentimp, ah, shouldn't it match the style of the header background? though15:00
timpahayzen: the header takes its default colors from the palette, and so does the overflow. So if you provide a custom palette for your app, all the colors should be updated.15:01
timpahayzen: the new palette stuff is quite recent. I'm not sure if we have a tutorial for that15:02
timpzsombi: ^ do we have a tutorial for how to provide a custom palette for an app?15:02
zsombitimp: we have something in the theming tutorial15:02
zsombitimp: which, lik eeverything else in d-u-c is burried in the void15:02
timpzsombi: maybe it is time for a new blog post about the palette :)15:03
timpzsombi: I plan to work on a new header blogpost next week15:03
ahayzentimp, hmm we have just set the theme15:04
zsombitimp: well, sure... I was about to have one, but first we'd need something in theming, which would choose the palette valueset based on some state of the component15:04
ahayzenstyling is something we need to redo :-)15:05
zsombiahayzen: styling?15:05
ahayzencolours/themes :-)15:05
zsombiahayzen: waiting for clarification/suggestions :)15:06
ahayzensome are fixed some are referencing at QtObject with values lol15:06
ahayzenwe were waiting for the sdk to have proper things :-)15:06
zsombilike?15:06
zsombiahayzen: could you be less criptic please :)15:06
tedgpopey: I got alecu stuck on Don't Crash. ;-)15:06
popeyhaha15:06
ahayzenzsombi, well just colouring things like buttons, header bars etc currently is done very badly in the music-app15:07
ahayzensomething like StyleHints {} and the Theming stuff looks good though15:07
zsombiahayzen: I see... we're trying to land a pretty big change on that front :)15:07
ahayzenwe just haven't updated it yet15:07
ahayzenas we were waiting for your stuff to land :-)15:08
ahayzentimp, i think removing that Page thing, has fixed the issue!15:08
zsombiahayzen: ok, so you know then about the biiiiig palette update, right?15:08
ahayzeni remember hearing about something15:08
timpahayzen: great. Can you comment that you have the workaround on the bug report, I'll make it Medium importance then.15:08
zsombiahayzen: ok, so let me spoil some stuff ;)15:09
* ahayzen has been playing about with http://doc.qt.io/qt-5/qtquickcontrolsstyles-index.html as well recently 15:09
ahayzenbut that is for a different project15:09
ahayzentimp, awesome thanks, so it seems the second Page confuses things somehow :-) thanks for your advice15:09
zsombiahayzen: so, palette will have now all together 5 valuesets15:09
zsombiahayzen: in addition, the palette layering is much more granular than it used to be15:10
ahayzenwoooo \o/15:10
ahayzenzsombi, when is it planned for?15:10
ahayzenUITK1.4 or something? ;-)15:10
timp(drumroll....)15:11
timpok, if zsombi doesn't answer ;) in UITK 1.3 OTA1015:12
zsombiahayzen: like background and base text has sublayers, secondary and tertiary ones, then we have raised, which is in between foreground and overlay, negative, positive notion, activity, etc15:12
ahayzenhehe15:12
ahayzenzsombi, sounds awesome :-)15:12
zsombiahayzen: timp: I was trying to type... you restless minds... :D15:13
ahayzentimp, one other thing i'm having issues with the PageHeader is, when i hit my search action it doesn't focus the TextField even though i have things like forceActiveFocus()15:13
zsombiahayzen: then the Palette has normal, selected, inactive, selectedInactive and highlighted value sets15:13
ahayzenzsombi, i look forward to it :-)15:13
zsombiahayzen: this is one step... we need to add a way for a styled item to get the appropriate palette value for a given state, i.e. normal, selected, inactive, highlighted15:14
timpahayzen: hmm, that issue sounds vaguely familiar.  But I haven't worked on focus..15:15
timpkalikiana: ^ do you know if we have a bug for that? (TextField in PageHeader does not focus even with forceActiveFocus())15:15
ahayzentimp, ok :-) if it tap the TextField, then press back and the action again, *then* it works15:15
ahayzentimp, where should the forceActiveFocus() be? i tried putting it in the onVisible and onStateChanged15:16
timpahayzen: I don't know, that's why I asked kalikiana if he knows more :)15:25
ahayzen:-)15:25
kalikianatimp: ahayzen I'm trying to find the bug report... I hit a problem with that as far as a year back and I know it was tracked...15:45
ahayzenkalikiana, for the PageHeader ?15:46
ahayzenit works with the old style headers15:46
kalikianatimp: ahayzen this was it https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/137823115:46
ubot5Launchpad bug 1378231 in ubuntu-ui-toolkit (Ubuntu Vivid) "Wrong focus appearance of TextField as head.contents" [Undecided,New]15:46
ahayzenthat is head.contents, that one works :-) (and is what we were using before)15:47
ahayzenbut i translated to using the PageHeader and now it doesn't work :-/15:48
kalikianaahayzen: so you're doing basically the same, new property?15:53
ahayzenkalikiana, it is basically exactly the same code just bound to Page.header instead of Page.head :-)15:54
ahayzenkalikiana, http://bazaar.launchpad.net/~ahayzen/music-app/convergence-tabs-with-sidebar-01/view/head:/app/components/HeadState/SearchHeadState.qml is our head state15:55
kalikianaahayzen: what if you do .focus = true instead? have you tried that?15:57
ahayzenkalikiana, i'll try it :-)15:57
ahayzenkalikiana, and should it do it on the onVisible ? or the onStateChanged ?15:57
ahayzentimp, does the PageHeader have the ability to lock? or should i just unset the flickable ?15:58
kalikianaahayzen: from how I read the code it'd be the same thing15:58
ahayzenyeah :-) that's what i thought15:59
ahayzeni was initially thinking something magical was happing before :-)15:59
kalikianaI'm wondering if some internal visible changes could be happening - considering the bug in the old API was never a bug in the Header, but in TextField, this one on the other hand is a bug in the PageHeader16:00
kalikiana(or that's my opinion so far anyway)16:01
timpahayzen: yes, unset the flickable16:01
ahayzentimp, thanks :-)16:01
ahayzenkalikiana, ok so i can see the onVisible doesn't happen, and if i do it in the onStateChanged that fires, but nothing happens when it is set to true16:02
kalikianaso the focus however you do it wouldn't happen in the first place16:03
ahayzenkalikiana, i'm doing it on the onStateChanged as well16:04
ahayzenkalikiana, i can see the focus changing to true, but the keyboard is not raised16:04
kalikianaahayzen: but the state changes in response to focus? how can that happen if visible doesn't trigger a signal?16:04
ahayzenkalikiana, no the state of the page, from 'default' to 'search' to then run the PageHeadState16:05
kalikianaah, right, visible only affects default16:06
kalikianaHmmm16:07
timpahayzen: the PageHeadStates are not very flexible. With the PageHeader, you could accomplish it by having different instances of PageHeader, like this http://bazaar.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/staging/view/head:/examples/ubuntu-ui-toolkit-gallery/PageHeaders.qml16:07
timpdunno if that would help with the focus issue16:08
ahayzentimp, that's what we have :-)16:08
timpoh, okay :)16:08
ahayzentimp, we have a default page head state, search head state, multiselect etc16:08
ahayzenjust when the search head state is 'selected' it runs the focus=true and forceActiveFocus() ... but the textfield doesn't actually focus and cause the keyboard to be raised :-/16:09
timpahayzen: is http://bazaar.launchpad.net/~ahayzen/music-app/convergence-tabs-with-sidebar-01/view/head:/app/components/HeadState/SearchHeadState.qml old or what you have now?16:09
ahayzentimp, latest i have in that branch16:09
timpahayzen: ah, in http://bazaar.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/staging/view/head:/examples/ubuntu-ui-toolkit-gallery/PageHeaders.qml I don't use a state at all, I just replace the PageHeader. Of course you could do that with a state too.16:10
ahayzentimp, eg they are used here http://bazaar.launchpad.net/~ahayzen/music-app/convergence-tabs-with-sidebar-01/view/head:/app/ui/Albums.qml#L3516:10
=== charles_ is now known as charles
=== rickspencer3_ is now known as rickspencer3
bzoltanmhall119: I am sure that it can be arranged, yes17:57
mhall119thanks bzoltan18:58
bzoltanmhall119:  other... about the API control and docs. We have kicked off a project to finally sort out all the issues related to frameworks and APIs. We have a weekly call where we focus on technical issues and progress. One inmportant part of the story is how the API docs get published for the various frameworks and API provides. Do you want to join or delegate somebody to that work?19:00
mhall119bzoltan: I will do the work needed on the developer.u.c side, what time are those calls?19:01
bzoltanmhall119: 9am for you on Wednesday19:02
mhall119ok, do you need me every week, or just as the need arises?19:02
bzoltanmhall119: the idea so far is that eac API provider module (UITK, Oxide, Scopes, etc) will produce a [module]-[version].api file what will describe the API. Whenever an API is changing the version number of that API will be automatically bumped. API versions are not package or framework versions.. they are simple incremental labels of the API. Once an image (phone or desktop iso) is created these .api files will be collected and if any of the APIs19:06
bzoltanchnaged then a new framework will be registered. All these fully automatic. Once a framework is created the doc packages of the APIs un that framework will be collected and they should be published on the d.u.c under the freshly created framework category19:06
bzoltanmhall119:  does it make sense?19:06
mhall119I think so, so the .api file would correspond to a change in import version in QML?19:16
mhall119Ubuntu.Components 1.3, 1.4, etc?19:16
mhall119and the frameworks would still be 15.04.4, 15.04.4, etc19:17
mhall119bzoltan: will there be any indication of what framework the existing overlay PPA is working on?19:18
mhall119I assume we'll have a frozen stable framework label, and a moving target development framework label19:19
mhall119or are we dropping the moving development frameworks and only creating stable ones?19:19
bzoltanmhall119:  In case of QML APIs the .api file will correspond to a change in import _AND_ even on a lower level change.19:19
bzoltanmhall119: So if we add an extra property to a component and keep the 1.3 import version then the uitk-X.api will be bumped... even if the import version stays the same19:20
bzoltanmhall119:  and yes, the Overay PPA will have a framework version too what will be the same as the last OTA's fw version as long an API provider does not pump its own API version and so forces the framework to bump too19:22
bzoltanmhall119:  So in practice... imagine that we have released the OTA67 with the 15.04.44 framework (these versions should be and will be somehow in sync) ... we open the OTA68 development in the Overlay PPA with the same 15.04.44 framework... because the APIs are still the same. But when a new  UITK  version land in the Overlay PPA what implements a brand new component then the 15.04.45 fw will be created  and that fw will collect the development19:24
bzoltanchanges.19:24
mhall119bzoltan: how can you keep the same import version when you add a new property?19:26
mhall119what if an app uses that new property on a phone with the original version of the component?19:26
bzoltanmhall119: the same way how we keep it and how Qt keeps it. The import versions are not API versions neither framework versions.19:27
mhall119bzoltan: ok, one problem with leaving the framework version unchanged after an OTA is that the website will import new API docs every day, but apply them to a supposedly frozen framework version19:27
bzoltanmhall119:  that will be not possible... new property -> new uitk.api version -> new fw19:28
mhall119bzoltan: so how does it work then, if my app calls Component.foo on a phone without that property19:28
bzoltanmhall119:  well, that automatic importing is something what we need t work out to make it smart19:28
bzoltanmhall119:  It is up to what fw the app is binded to19:28
mhall119bzoltan: ok, so a new property will force the creation of a new framework, even if Ubuntu.Components stays on 1.319:29
mhall119bzoltan: it sounds like maybe I should disable the automatic nightly imports of API docs, and go back to a manual trigger?19:30
mhall119or make a dedicated "development" series that gets the nightly import, and then manually clone that when an OTA and framework are released19:31
=== salem_ is now known as _salem
bzoltanmhall119:  yes a new property will trigger a new framework20:07
bzoltanmhall119:  yes, the development focus could be pulled in as often as we want and the released OTAs should have their own categories20:08
mhall119bzoltan: ok, I'll switch gears to that then20:15
bzoltanmhall119:  super, but let's chat sometimes on that Wednesday call, so we all understand each others plans :)20:16
mhall119ok20:17

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!