/srv/irclogs.ubuntu.com/2013/08/16/#ubuntu-app-devel.txt

ubuntouristStill getting "No valid kits found" when starting Ubuntu SDK...00:01
=== chriadam|away is now known as chriadam
dpmgood morning05:27
rigvedgood morning05:52
rigvedi want to take part in the app showdown. i know i am late. but it seems a fun idea!06:09
rigvedi was reading the details of the contest. is the AGPL allowed for code submitted to the contest? it's not directly listed here: http://opensource.org/licenses though.06:10
dpmrigved, let me have a look, I think it should be fine06:13
dpmrigved, it should be fine, so go for it: http://opensource.org/licenses/alphabetical :)06:13
rigveddpm: awesome!06:19
dholbachgood morning06:50
rigvedgood morning06:53
dpmbzoltan, do you have an idea what could be causing bug 1207687?07:52
ubot2`Launchpad bug 1207687 in Ubuntu Calculator App "First swipe up (and down) doesn't work" [High,Triaged] https://launchpad.net/bugs/120768707:52
bzoltandpm: no idea... timp should know07:52
dpmok, thanks, will wait for him to come up07:55
=== dholbach_ is now known as dholbach
JamesTaitGood morning all, happy Friday and happy Tell A Joke Day! :-D08:44
kalikianarandomcpp: here maybe09:21
randomcppyeah09:21
kalikianarandomcpp: you definitely want many documents. this is a prerequisite for using Query which filters on the document09:21
kalikianaso say you have a "name" field you can filter on that09:22
kalikianaand put it in a ListView for example as well09:22
randomcppok so I'm doing the right way :)09:22
randomcpp(if you're interested, https://github.com/random-cpp/saucybacon )09:23
kalikianarandomcpp: there is an inofficial method to delete stuff, though it needs a proper api. you can do database.putDoc("", docId)09:24
kalikianaif you have a suggestion on a nicer API I'm open to ideas09:24
randomcppok thank you so much :)09:25
kalikianado you have an screenies? I like the name :-D09:25
randomcppsaucybacon?09:26
kalikianayeah09:26
randomcpphttp://imgur.com/a/0DheR I need to add more screenshot09:27
kalikiananeat stuff09:28
kalikianasome way to adjust the number of people to update the portions before cooking would be nice  - just an idea09:29
randomcppkalikiana, yeah I'm working on that feature :)09:30
kalikianaawesome09:30
kalikianait would fix the classic situation of "oops, should've used half as much butter"09:30
randomcppkalikiana, db.putDoc("", id) doesn't really delete the Document, if I pass the db as model, ListView still shows an entry, but empty09:31
randomcpp(screenshot on the way, a sec)09:31
randomcpphttp://i.imgur.com/wvvhVOQ.png09:32
kalikianarandomcpp: have you defined a delegate? for example delegate: Label { text: contents.title }09:35
randomcppyes the delegate is ListItem.Multivalue09:35
randomcppit's just like all the contents are erased09:36
randomcppbut since the docId is still there, the db tells the ListView to show this empty Document09:36
om26errenato, hi09:38
kalikianarandomcpp: can you push the code? then I'll just try it locally09:38
randomcppa sec :)09:39
nik90|Officerandomcpp: oh just got an idea! Perhaps a screenshot of the food. That would make it more encouraging for a user to prepare a specific dish :)09:39
randomcppnik90|Office, that's already on the todo list :p09:39
nik90|Officerandomcpp: awesome09:39
randomcppyou can insert alredy taken photos09:39
randomcppor took a photo on the go09:39
randomcppbut I need to define this feature better09:40
randomcppI'd like to have the possibility to add a photo for each step of the preparation09:40
randomcppkalikiana, the code is here https://github.com/random-cpp/saucybacon/09:44
randomcpphere's where I delete a Document https://github.com/random-cpp/saucybacon/blob/master/ui/RecipePage.qml#L6409:45
dpmnice work randomcpp :)09:47
randomcppthanks dpm :)09:47
randomcppI should start to separate the js from the qml code, to make things more modular..09:48
=== gusch is now known as gusch|lunch
nik90|Officerandomcpp: nice idea. To account for the limited space of the phone, I would suggest using picture thumbnails similar to the memories app being made by mefrio.09:49
nik90|Officerandomcpp: clicking on the thumbnails could reveal a fullscreen view of it.09:49
randomcppnik90|Office, yes I saw his implementation, it's really neat09:49
=== chriadam is now known as chriadam|away
kalikianarandomcpp: I added a pancake recipe and I see it after saving09:59
kalikianaI'll add another one09:59
kalikianarandomcpp: hmm adding a second recipe seems to prefill text from before10:00
randomcppkalikiana, yeah I need to clean the form10:00
randomcppbut if you save again a new recipe is saved10:00
kalikianaindeed I now have 2 and I can see the instructions10:01
kalikianaI still see both after closing and re-opening10:01
kalikianaI wonder why you would not see any in the list - it works here10:02
randomcppnow try to delete one of those10:02
randomcppopen a recipe, then call the toolbar and choose Delete10:02
kalikianayup it's gone10:02
randomcppbut there's a white delegate in the listview right?10:03
kalikianaoooh10:03
kalikiananow I see what you mean10:03
randomcpp(don't bother if the single view still shows some infos)10:03
kalikianayes, I got an empty entry. I didn't see the arrow at first10:03
kalikianathat is a bug then in u1db-qt10:03
kalikianarandomcpp: would you like to file it?10:06
randomcppkalikiana, I should go afk right now, if you want me to report, I'll file it later sorry10:07
kalikianano worries, I'll just file it myself10:07
randomcppok thanks a lot10:07
kalikianaI'll mention the URL so you can keep track of the fix going in10:07
randomcppon lp my nick is random-cpp you can mention me there10:08
=== randomcpp is now known as randomcpp|afk
=== MacSlow is now known as MacSlow|lunch
=== gry is now known as Gryllida
=== MacSlow|lunch is now known as MacSlow
=== dholbach_ is now known as dholbach
Cantidehmm.. what is the best way to store /save settings in an app and then load them as variables?12:15
randomcppCantide, if you already use a db for some reason store settings there, or alternatively, since qml support JSON natively12:22
Cantidei don't use a db12:22
randomcppyour a JSON with settings, then parse it on startup12:22
Cantide>.<12:22
Cantidehow, where? documentation?12:22
randomcppJSON.stringify and JSON.parse are your friends12:22
Cantidewhere will the file be stored?12:22
randomcppthird option, try to use gsettings12:22
Cantidethey can be locally stored, that's fine with me12:22
randomcppwhere you tell to save your file12:23
Cantiderandomcpp, is this what i'm looking for? https://qt-project.org/doc/qt-5.0/qtquick/qmlmodule-qtquick-localstorage2-qtquick-localstorage-2.html12:36
Cantideperhaps it would be easier for me to just create an xml file, read from that and write to it when settings are changed >.<12:37
kalikianaCantide: or use u1db and don't worry about where it's stored :-D12:41
Cantideah..12:41
Cantidei need to read up on that12:41
Cantidedoes it require a user to have an U1 account?12:41
Cantidegot a link about it?12:41
kalikianano, you can use it locally just fine - sync with U1 is optional12:41
kalikianasec12:41
Cantideoh, cool :)12:41
kalikianahttp://developer.ubuntu.com/api/devel/ubuntu-13.10/qml/u1db-qt5/overview.html12:42
Cantideall i need do is store about 10 variables (these are user-specific settings)12:42
Cantideso a config file, basically12:42
* Cantide clicks12:42
Cantidethanks12:42
kalikianabtw a settings api is on the roadmap for the ui toolkit but no promise when it will be ready12:42
Cantideokay12:43
Cantideit sure would be useful in a lot of apps12:43
om26ertmoenicke_, hello12:43
Cantidelooks like u1db is exactly what i need! thanks!12:44
kalikiananp12:44
randomcppkalikiana, is there a method to increase the docId automatically?12:53
tmoenicke_om26er: hi12:54
=== _salem is now known as salem_
om26ertmoenicke_, hey! the ubuntu-keyboard package have not yet been pushed to ubuntu archives because didrocks is on vacation.12:55
om26ertmoenicke_, he'll return on monday, all "paper work" have been done. It seems only didrocks is the person that is able to release packages into Ubuntu12:56
om26ertmoenicke_, when do you want ubuntu-keyboard in the phone image btw?12:56
tmoenicke_om26er: asap, actually. bill is back on monday, so lets see12:57
tmoenicke_om26er: i saw some stuff was done last night, thanks a lot12:58
tmoenicke_mterry: ^12:58
kalikianarandomcpp: you can leave out the docid to get one autogenerated13:00
randomcppkalikiana, I have a default Document { id: recipe; create: false; default: somedefaultJSON }, each time I want to create a new entry in the db I just do: recipe.docId = generatePseudoRandomId(); recipe.contents = someContents; recipe.create = true; now that this entry is created I switch off recipe.create = false, then I generate a new id by doing: recipe.docId = generatePseudoRandomId() and repeat the cicle13:08
randomcppit just works, but I don't know if it's a good method or not13:09
Cantidehow do i check if a document already exists?13:10
randomcppdatabase.getId(id)13:10
randomcppsorry sorry13:10
randomcppCantide, var item = database.getDoc(id)13:11
randomcppif (item)13:11
randomcppetc13:11
Cantideah, thanks :)13:12
kalikianarandomcpp: what does generatePseudoRandomId() do? maybe we should expose a function to get you a new id13:12
randomcpp    function getRandomId() {13:12
randomcpp        var n = Math.random();13:12
randomcpp        return n.toString();13:12
randomcpp    }13:12
randomcppbut I'm looking for some more effective13:13
randomcppthat's just a filler13:13
kalikianayeah, the main problem would be that it can clash, it's not a good way to ensure uniqueness13:13
randomcppit's not guaranteed that's unique13:13
randomcppI know that very well13:13
kalikianamaybe we need a function database.generate_doc_id()13:15
kalikianaeven if you could find a better method, that would ensure you get something sane without researching your options13:15
kalikianathere's a function for it, it's simply not public13:16
randomcppI remove that recipe.create =true/false by simply using database.putDoc(contents, randomlyGeneratedID)13:16
kalikianayou can also use database.putDoc(contents)13:16
kalikianathat should also get you a new id13:17
randomcpplet me try13:17
kalikianathough it only works if you use the function - if you declare it in qml it's hard to tell if you wanted a new id or not so it doesn't allow new ids13:17
randomcppyeah just works13:17
randomcppan id looks like: D-2cc48379-d3ac-435f-8919-8632d7ef299e13:18
kalikianayep, that is a GUID algo, it's quite safe to assume it is unique13:19
kalikianaif it is useful that could also be generated as a function13:20
Cantidecan't have an if statement in the mainview?13:21
randomcppCantide, what do you mean?13:22
Cantiderandomcpp, Unexpected token `if'13:24
randomcppyou can put a if statement in a js function13:24
Cantidewhere should i be declaring variables? before the mainview?13:24
randomcppMainView { PageStack { Page1 { } } function myFunc() { if (1 > 0) return true; }}13:25
randomcppyou can put js function inside component13:26
randomcppcomponents*13:26
randomcppor in separated files eg: myhelperfunctions.js13:26
randomcppthen load them with: import "/path/to/js/myhelperfunctions.js" as HelperFunctions13:27
Cantidehmm13:27
Cantidei wanted to check if there was a database, if not, create one and fill it with defaults, load them into variables and then have them available to all my tabs13:28
randomcpphttp://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-expressions.html13:28
kalikianaCantide: you don't need to manually check the defaults if you store it in "defaults". it does exactly that13:28
Cantidehmm..13:29
Cantidebut what if it is the first time the app is being run, and there is no database?13:29
Cantideumm.. oh, if i create a database now, will it be a physical file that ships with the app?13:29
kalikianause "create: true" and it will automatically create one13:29
Cantideand if it's already there, won't it be overwritten, thus losing the users settings?13:30
kalikianait will not, that is what "default" is for13:30
kalikiana*defaults13:30
Cantide>.<13:31
Cantideare there any examples of this?13:31
Cantidesorry... i'm having a hard time grasping how it should be used without seeing code13:31
=== randomcpp is now known as randomcpp|afk
Cantidei'm looking at this page http://developer.ubuntu.com/api/devel/ubuntu-13.10/qml/u1db-qt5/tutorial.html13:31
Cantidebut it doesn't cover checking if it's already created13:31
kalikianaCantide: http://developer.ubuntu.com/api/devel/ubuntu-13.10/qml/u1db-qt5/tutorial.html#3-1-1-creating-a-document-at-runtime13:32
kalikianathat uses defaults13:32
xqwztsCantide: https://github.com/xqwzts/my-movies/blob/master/mymovies.qml#L5113:32
Cantidethanks, kalikiana, xqwzts :)13:33
Cantideoh, it needs to be inside Item { } >.<13:34
Cantide*sigh* module "U1db" is not installed13:36
Cantidethis is endless xD13:36
Cantidei will research that on my own though =)13:36
xqwztssudo apt-get install qtdeclarative5-u1db1.013:37
xqwztsthats what you need for u1db13:37
Cantideoh, thanks13:37
xqwzts[it would be helpful if it was documented... hint, hint etc]13:38
Cantidehehe13:38
Cantidethat worked, thanks :)13:38
xqwztsnp13:38
Cantideeh, your settings.js is beyond me :D13:39
xqwztsuhm13:41
xqwztsits just setters and getters really13:41
xqwztsquestion: is there any way to detect basic gestures?13:44
xqwztsi'd like to catch a horizontal swipe on my page13:44
xqwzts[atm I'm hacking it together with a flickable, but this isn't very... elegant]13:49
Cantidehow do i define types in the database? "Unable to assign [undefined] to double"13:56
nik90|Officerandomcpp|afk, Cantide: gsettings is *not* allowed by the security team.13:57
Cantidei see13:57
nik90|OfficeCantide: so your option is to use qmll localstorage or u1db.13:57
=== dholbach_ is now known as dholbach
Cantidethanks, nik90|Office - luckily those helping me here guided me towards u1db :)13:57
nik90|OfficeAll core apps use qmlstorage. But u1db is cool too!13:58
Cantidedo you have a link for qmlstorage?13:58
nik90|Officeits  the same link you pasted above yourself13:58
Cantideis it easier (requires less code) than u1db?13:58
Cantideah13:58
Cantideahhhhhhh13:58
Cantideokay :D13:58
nik90|OfficeI havent tried u1db so cant say13:58
Cantidelol13:58
Cantidei'm making some wonderful spaghetti with u1db :)13:59
nik90|Officehehe13:59
Cantidei still wonder how to specify the type in the database though :/14:00
Cantidebecause i need to store doubles >.<14:00
nik90|Officeah14:00
nik90|Officexqwzts: I tried cloning your repo and running it yesterday but it complained that AllMovies.qml was missing or something14:01
nik90|Officexqwzts: did you add it to your repo?14:01
xqwztsoh14:01
xqwztsill take a look14:01
xqwztsCantide: I don't think you specify the type, I assume it's dynamically typed14:02
xqwztsactually I assume it just stores a JSON object14:02
nik90|Officexqwzts: for qml localstorage, it is based on sqlite database. You need to declare a type.14:03
Cantidei wonder why, when i try to assign a double by pulling the value from the db that is complains :<14:03
Cantidethat it *14:03
xqwztshave to afk for a little bit, can take a look when i get back14:03
nik90|Officexqwzts: btw the design gradient back tab header has been fixed14:03
nik90|Officexqwzts: time to enable those backgradients back again14:04
nik90|Office:)14:04
Cantidehaha, nice :) i actually saw that comment in xqwzts's code and wondered about it :)14:04
xqwztsback, that was quick14:11
xqwztsnik90|Office: yup jono pointed that out14:11
xqwztsbut has it been released?14:11
nik90|Officexqwzts: yes it landed as an update to saucy yesterday morning14:12
nik90|Officepretty sure raring got it as well14:12
xqwztsim on raring14:12
xqwztswill check in a bit14:12
kalikianaCantide: what's the error message you get with the double?14:13
Cantide<Cantide> how do i define types in the database? "Unable to assign [undefined] to double"14:14
xqwztsCantide: I just added this to my defaults and it didn't error out ["testdouble": 2.5]14:14
Cantidei have no problem setting it14:14
Cantidebut when i create something like this:14:14
xqwztsCantide: [undefined] is probably youre problem there14:14
xqwzts-e14:14
Cantideproperty double x: get_value_from_db14:15
Cantidethen it fails14:15
Cantideah, you think i'm failing to get the value from the db at all?14:15
kalikianamaybe you are trying to set it too early?14:15
Cantidei set the variable after creating the db with defaults..14:16
kalikianaif you try to take a value that is not (yet) there you would get undefined14:16
kalikianaCantide: maybe paste a snippet with your code?14:17
Cantidehold on..14:17
Cantidei'm going to pastebin right now :p14:17
kalikianacool14:17
Cantidehttp://pastebin.com/qA0rvYR814:18
Cantidejust trying it with the colours as a test :) might even be useful settings xD14:18
Cantidei wonder if the variable names aren't conflicting14:19
Cantidehmm14:19
xqwztsinstead of assigning directly to your property, why not put it on a Component.onCompleted block14:20
Cantideah, i saw that in your code14:21
Cantideunfortunately i have to run now... rugby + pizza14:21
xqwztsI'm not sure if that matters mind you14:22
xqwztsand you can try to debug the getContents by printing out Object.keys(settingsdoc.contents)14:22
xqwztssee if it has values in it14:22
Cantideoh, thanks14:23
Cantidei will be back in a few hours :)14:24
=== Cantide is now known as CantiAFK
xqwztsnik90|Office: I pushed the missing allmovies fix.... forgot that git doesn't commit empty dirs14:43
xqwztsnik90|Office: have you got any experience with flickables?15:09
iBelievexqwzts, I can try to help you with flickables if you want15:54
xqwztsiBelieve: I'm not sure if this is the proper behavior or a bug or just my code missing something15:56
xqwztsafter flicking, clicking anywhere on the page will return the flickable to its original position15:57
xqwztsso it seems something is calling returnToBounds()15:57
iBelievexqwzts, well, that's not what I get, so it might be a bug or something in your code15:58
xqwztswhich looking at it is the same behavior as the ToolBar [clicking on the page closes the toolbar]15:58
xqwztsoh15:58
xqwztswell that's good to know15:58
xqwztsmust be solvable then!15:58
xqwztsAre you changing your flickable's position on flick?15:58
iBelievexqwzts, can you post the code for your flickable?15:58
xqwzts1 sec ill push to github15:59
iBelievexqwzts, no, I'm not messing with the position at all. All I do is create the flickable, and it handles the rest15:59
xqwztsah, but I'm trying to recreate a "swipe" action16:01
xqwztsby flicking my page out16:01
xqwztsand deciding if I've crossed a threshold, at which point I change the content16:01
xqwztsiBelieve: https://github.com/xqwzts/my-movies/blob/master/mymovies/MovieDetailsPage.qml#L4616:02
xqwztsthat's the relevant code16:02
iBelievexqwzts, sounds something like what the calculator app does to create a new calculation. I'll take a look at your code16:02
xqwztsthanks, that'd be helpful16:03
xqwztsi'll take a look at the calculator code to see what's happening there16:03
xqwztshmm16:07
xqwztsin the calc app they call positionViewAtBeginning() after ending the drag themselves16:07
iBelievexqwzts, I just branched your code to see what you're trying to do and what actually happens. How do I test the problem?16:09
xqwztsgo to Collection -> Inception16:09
xqwztsflick the text sideways16:09
xqwzts[uhm it should have created inception in the default data of the db]16:10
xqwztsif you flick about halfway, it should continue the flick for you and the text will slide out of view16:10
xqwztsthe problem is now if you just click anywhere on the page, it slides back by itself16:11
iBelievexqwzts, what I get is when I release, it slides back16:11
iBelievexqwzts, what exactly are you trying to get? I think there might be an easier way16:11
xqwztsah you need to flick and release in a quick motion16:11
xqwztsi might change it to onmove instead of onflick to make it easier16:11
xqwztsthink of it like flicking in angry birds, you're throwing the page out the side :)16:12
xqwztsactually i think ill definitely do that, have a small threshold for onflick and a large one for onmove, that way they both work16:13
iBelievexqwzts, I was able to reproduce your problem16:23
xqwztsiBelieve: great news! I'm not hallucinating it :P16:24
xqwztsis it possible to right our own c++ helpers? i keep getting "failed to add to project"16:41
xqwztswrite*16:41
iBelievexqwzts, I think the problem is that contentX isn't supposed to be changed to a value outside of the Flickable's view, so it keeps moving the content back into view16:42
iBelievexqwzts, but I have no idea what the solution might be16:42
xqwztsyup iBelieve: something is calling returnToBounds()16:42
xqwztsiBelieve: thanks for taking the time to look into it16:42
iBelievexqwzts, you might be able to try tinkering with leftMargin instead of contentX, but I don't know16:43
xqwztsgood idea, i'll give that a shot16:43
randomcpp|afkkalikiana, can I ask you a question about u1db.index and query?17:17
mihirHi all :)17:59
=== randomcpp|afk is now known as randomcpp
randomcpphi mihir17:59
xqwztsuhm18:33
xqwztsis querying working on u1db?18:36
randomcppxqwzts, the samples works, but I can't get them working with my db18:42
randomcpp>.<18:42
xqwztsI didn't see examples for the queries?18:42
randomcppI was pinging kalikiana for this reason18:42
randomcppyou have to install a package18:43
randomcpplibu1db-qt5-examples18:43
xqwztsah18:44
xqwztsthanks!18:44
randomcppnp18:44
randomcppthen look in /usr/share/u1db-qt or something like that18:44
randomcppif you get them working ping me if I'm online18:45
iBelievenik90, ping18:50
nik90iBelieve: pong18:51
iBelievenik90, I've been working on the convergent layout and also a new design for viewing categorized. If you have time, could you take a look at it and see what you think?18:52
nik90iBelieve: yeah sure18:53
nik90iBelieve: master branch?18:53
iBelievenik90, No, adaptive-layouts18:53
iBelievenik90, thanks!18:54
nik90iBelieve: do you know how to clone a subbranch?18:55
nik90I cloned your main branch by git clone main-branch-link18:55
nik90but for the sub-subbranch it doesnt show its link18:55
nik90in which case I will have to manully download the zip to try it out18:55
iBelievenik90, Try git fetch then git checkout adaptive-layouts18:56
iBelievenik90, do that from the existing clone18:56
nik90nope, it sayds no such file known to git18:56
nik90nvr mind I will download the zip18:57
randomcppgit checkout master/adaptive-layouts18:57
randomcppIIRC18:57
randomcppnik90, ^18:57
nik90randomcpp: doesnt work because I havent uploaded my ssh keys to github. So I am cloning via https link18:58
randomcppok..18:58
nik90but github doesnt provide https link of the sub-branch. weird18:58
nik90no worries18:58
iBelievenik90, I don't remember how to do it, I've done it before, with a clone made using https too18:59
randomcppI didin't know that, I always used ssh18:59
iBelievenik90, now I want to find out :)18:59
randomcppmaybe a clone with --mirror18:59
iBelieverandomcpp, I've always used https since that's the default18:59
randomcppshould download other branches too18:59
randomcppI use ssh so I don't have to type my password every time19:00
nik90yeah I used it to do it before. But after reinstalling ubuntu, I havent yet uploaded my keys since i hardly use github these days.19:01
nik90I guess that's changing now :)19:01
nik90iBelieve: its coming along nicely. Few bugs that I noticed19:05
nik90iBelieve: bug #1: In the homepage where it shows categories (in sidebar) and its corresponding tasks in the side. When I click on a category it should stay in the same page and display the tasks of that category. Instead now it is taking me into a pagestack for that category.19:06
ubot2`Launchpad bug 1 in Ubuntu Malaysia LoCo Team "Microsoft has a majority market share" [Critical,In progress] https://launchpad.net/bugs/119:06
nik90woops didnt mean that bug 119:06
nik90lol19:06
randomcppguys see you tomorrow :)19:06
nik90iBelieve: also when I press New in the homepage, it shows the create new category dialog instead of new task page.19:07
nik90randomcpp: see you :)19:07
randomcppbye :)19:07
nik90bye19:07
iBelievenik90, that's because the home page is supposed to be an overview of all categories and upcoming tasks, so the new button creates a new category19:07
iBelievenik90, as for the clicking on category and going to new page stack, I did that because the home page is supposed to an overview, and clicking a category would take the user to a view that would focus solely on the current category/project at hand.19:09
nik90iBelieve: ah. That's slightly confusing since in the tablet view, when you have categories  in the sidebar, it looks more like a filter where when you press a category, the task list view updates to show tasks in that category.19:09
iBelievenik90, I could swap them so the upcoming tasks becomes the sidebar and the categories list becomes the main view19:10
iBelievenik90, or I could get rid of the sidebar background and make them both the same witdth19:10
nik90iBelieve: the question is if the homepage is supposed to be an overview, why is it important to show the user the available categories?19:11
iBelievenik90, it isn't that important, but I had the extra space and it didn't make sense to give the tasks list the full width19:12
nik90okay19:13
nik90let me grab a screenshot 1 min19:13
nik90iBelieve: http://imgur.com/MQPNZwT19:15
nik90iBelieve: this was what I thought of looking at your initial tablet view.19:16
nik90by separating categories and lists into 2 columns (of same width) would still give a wrong idea and may look weird19:16
iBelievenik90, hmm, that's a nice looking view, but it leaves out a place for upcoming tasks, and also would require the task view page to be full width19:19
iBelievenik90, well, I could put upcoming tasks in a filter on the left, like the screenshot has. That might be nice.19:20
nik90let me think a bit. Your designs has advantage has well such as the individual category page where you can click different tasks in the sidebar to view them.19:24
nik90as well*19:24
mefriothis kind of things should be in the UI toolkit itself :P https://github.com/Mefrio/Memories/issues/119:25
nik90mefrio: +119:26
mefrionik90, and the SDK should do that too :D https://github.com/Mefrio/Memories/issues/419:27
iBelievenik90, thanks for the feedback! I need to go now, if you want to leave any more comments, you can either add them to the Adaptive Layouts bug or wait until I'm on again later today.19:27
=== CantiAFK is now known as Cantide
mefrionik90, do you know where the UI toolkit code is hosted?19:35
nik90mefrio: https://launchpad.net/ubuntu-ui-toolkit19:35
mefrionik90, thank you! :)19:36
nik90np19:36
mefrionik90, do you mean that I should just set the automaticOrientation property to true here: https://github.com/Mefrio/Memories/issues/5?20:28
nik90mefrio: checking now 1 sec20:29
nik90mefrio: no20:29
nik90mefrio: the automaticOrientation property tells you if the device is in portrait or landscape mode alone20:30
nik90mefrio: if you look through the SDK API, they have dynamic layouting where you can define rules to morph your interface for different screen sizes20:30
nik90that's what you need to do20:30
mefrionik90, so you mean I should use Layout element, right?20:31
nik90mefrio: yes20:32
Cantidehow do you detect the screen size? based on the width / height of the elements?20:32
mefrioCantide, by getting height and width properties from your MainView element20:32
nik90Cantide: what mefrio said20:33
mefrionik90, doesn't is work so just by using units.gu(x)?20:33
Cantidecool, thanks for the tip :)20:33
nik90mefrio: yes. But there you are setting a static size. By using layouts, you can define rules to tell your UI to use the space available cleverly20:34
nik90mefrio: so if your width increases more than say units.gu(60), you can assume a tablet interface. Then you can make another qml element visible when that happens20:35
nik90the units.gu(60) is just a guess. You will have to play with the numbers to find out the sweet spot20:35
mefrionik90, oh now I understand. I am already using something like that for the photo Grid and using dynamic Layouts would allow me to do the same with other widgets too according to the screen size :) thank you! :D20:36
nik90mefrio: yup. The ubuntu tasks app is doing this since few hours ago. In case you have any doubts, that would be a good source to look at.20:37
nik90thats what i was discussing with iBelieve sometime back20:37
mefriook let me see tasks app so :)20:37
nik90its in a separate sub-branch called adaptive-layouts20:38
mefriook thanks20:39
mefrionik90, I can't see any graphical usage of that Layout thing...what should I do to notice that?20:42
nik90mefrio: try reducing the width of the app similar to a phone, and you will see the change20:43
nik90mefrio: in the tablet interface you will see a sidebar showing the categories which is hidden in the phone interface.20:44
nik90there are some more small tweaks like that within the app20:44
mefrionik90, well no sidebar is displayed here20:45
mefriomaybe it's still not implemented20:46
nik90no I just tested it20:46
nik90did you grab the correct branch?20:46
mefrionik90, yes20:46
mefriohttps://github.com/iBeliever/tasks-app/tree/adaptive-layout20:47
mefriothe one here ^20:47
nik90so when you first opened the app, what did you see?20:47
mefrioan empty task list20:47
mefriowith a TextField at the bottom20:48
nik90mefrio: let me grab a screenshot. 1 sec20:48
nik90mefrio: http://imgur.com/Ei7Bqf320:48
nik90https://github.com/iBeliever/tasks-app/archive/adaptive-layout.zip20:49
mefriolet me run your zip20:49
mefrionik90, oh now I see! :)20:50
mefriomaybe I cloned it wrong20:50
mefrioI am not good with GitHub20:51
mefriothanks anyway :D20:51
mefrionow it looks very interesting! I will certainly implement something like that20:51
nik90mefrio: yeah I am struggling with github as well.20:52
nik90that's why I love launchpad. :)20:52
mefrioLaunchpad is so much easier :D20:52
nik90mefrio: but you get the idea20:52
mefrionik90, yes now I have an idea of what I have to do! :D20:52
nik90dynamic layout will set your app apart from others.20:52
nik90mefrio: I have a couple more ideas. Will create bug reports for them today20:52
mefrionik90, report everything you want! I have to make it rocks! :D20:53
=== salem_ is now known as _salem

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