ubuntourist | Still getting "No valid kits found" when starting Ubuntu SDK... | 00:01 |
---|---|---|
=== chriadam|away is now known as chriadam | ||
dpm | good morning | 05:27 |
rigved | good morning | 05:52 |
rigved | i want to take part in the app showdown. i know i am late. but it seems a fun idea! | 06:09 |
rigved | i 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 |
dpm | rigved, let me have a look, I think it should be fine | 06:13 |
dpm | rigved, it should be fine, so go for it: http://opensource.org/licenses/alphabetical :) | 06:13 |
rigved | dpm: awesome! | 06:19 |
dholbach | good morning | 06:50 |
rigved | good morning | 06:53 |
dpm | bzoltan, 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/1207687 | 07:52 |
bzoltan | dpm: no idea... timp should know | 07:52 |
dpm | ok, thanks, will wait for him to come up | 07:55 |
=== dholbach_ is now known as dholbach | ||
JamesTait | Good morning all, happy Friday and happy Tell A Joke Day! :-D | 08:44 |
kalikiana | randomcpp: here maybe | 09:21 |
randomcpp | yeah | 09:21 |
kalikiana | randomcpp: you definitely want many documents. this is a prerequisite for using Query which filters on the document | 09:21 |
kalikiana | so say you have a "name" field you can filter on that | 09:22 |
kalikiana | and put it in a ListView for example as well | 09:22 |
randomcpp | ok so I'm doing the right way :) | 09:22 |
randomcpp | (if you're interested, https://github.com/random-cpp/saucybacon ) | 09:23 |
kalikiana | randomcpp: there is an inofficial method to delete stuff, though it needs a proper api. you can do database.putDoc("", docId) | 09:24 |
kalikiana | if you have a suggestion on a nicer API I'm open to ideas | 09:24 |
randomcpp | ok thank you so much :) | 09:25 |
kalikiana | do you have an screenies? I like the name :-D | 09:25 |
randomcpp | saucybacon? | 09:26 |
kalikiana | yeah | 09:26 |
randomcpp | http://imgur.com/a/0DheR I need to add more screenshot | 09:27 |
kalikiana | neat stuff | 09:28 |
kalikiana | some way to adjust the number of people to update the portions before cooking would be nice - just an idea | 09:29 |
randomcpp | kalikiana, yeah I'm working on that feature :) | 09:30 |
kalikiana | awesome | 09:30 |
kalikiana | it would fix the classic situation of "oops, should've used half as much butter" | 09:30 |
randomcpp | kalikiana, db.putDoc("", id) doesn't really delete the Document, if I pass the db as model, ListView still shows an entry, but empty | 09:31 |
randomcpp | (screenshot on the way, a sec) | 09:31 |
randomcpp | http://i.imgur.com/wvvhVOQ.png | 09:32 |
kalikiana | randomcpp: have you defined a delegate? for example delegate: Label { text: contents.title } | 09:35 |
randomcpp | yes the delegate is ListItem.Multivalue | 09:35 |
randomcpp | it's just like all the contents are erased | 09:36 |
randomcpp | but since the docId is still there, the db tells the ListView to show this empty Document | 09:36 |
om26er | renato, hi | 09:38 |
kalikiana | randomcpp: can you push the code? then I'll just try it locally | 09:38 |
randomcpp | a sec :) | 09:39 |
nik90|Office | randomcpp: 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 |
randomcpp | nik90|Office, that's already on the todo list :p | 09:39 |
nik90|Office | randomcpp: awesome | 09:39 |
randomcpp | you can insert alredy taken photos | 09:39 |
randomcpp | or took a photo on the go | 09:39 |
randomcpp | but I need to define this feature better | 09:40 |
randomcpp | I'd like to have the possibility to add a photo for each step of the preparation | 09:40 |
randomcpp | kalikiana, the code is here https://github.com/random-cpp/saucybacon/ | 09:44 |
randomcpp | here's where I delete a Document https://github.com/random-cpp/saucybacon/blob/master/ui/RecipePage.qml#L64 | 09:45 |
dpm | nice work randomcpp :) | 09:47 |
randomcpp | thanks dpm :) | 09:47 |
randomcpp | I 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|Office | randomcpp: 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|Office | randomcpp: clicking on the thumbnails could reveal a fullscreen view of it. | 09:49 |
randomcpp | nik90|Office, yes I saw his implementation, it's really neat | 09:49 |
=== chriadam is now known as chriadam|away | ||
kalikiana | randomcpp: I added a pancake recipe and I see it after saving | 09:59 |
kalikiana | I'll add another one | 09:59 |
kalikiana | randomcpp: hmm adding a second recipe seems to prefill text from before | 10:00 |
randomcpp | kalikiana, yeah I need to clean the form | 10:00 |
randomcpp | but if you save again a new recipe is saved | 10:00 |
kalikiana | indeed I now have 2 and I can see the instructions | 10:01 |
kalikiana | I still see both after closing and re-opening | 10:01 |
kalikiana | I wonder why you would not see any in the list - it works here | 10:02 |
randomcpp | now try to delete one of those | 10:02 |
randomcpp | open a recipe, then call the toolbar and choose Delete | 10:02 |
kalikiana | yup it's gone | 10:02 |
randomcpp | but there's a white delegate in the listview right? | 10:03 |
kalikiana | oooh | 10:03 |
kalikiana | now I see what you mean | 10:03 |
randomcpp | (don't bother if the single view still shows some infos) | 10:03 |
kalikiana | yes, I got an empty entry. I didn't see the arrow at first | 10:03 |
kalikiana | that is a bug then in u1db-qt | 10:03 |
kalikiana | randomcpp: would you like to file it? | 10:06 |
randomcpp | kalikiana, I should go afk right now, if you want me to report, I'll file it later sorry | 10:07 |
kalikiana | no worries, I'll just file it myself | 10:07 |
randomcpp | ok thanks a lot | 10:07 |
kalikiana | I'll mention the URL so you can keep track of the fix going in | 10:07 |
randomcpp | on lp my nick is random-cpp you can mention me there | 10: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 | ||
Cantide | hmm.. what is the best way to store /save settings in an app and then load them as variables? | 12:15 |
randomcpp | Cantide, if you already use a db for some reason store settings there, or alternatively, since qml support JSON natively | 12:22 |
Cantide | i don't use a db | 12:22 |
randomcpp | your a JSON with settings, then parse it on startup | 12:22 |
Cantide | >.< | 12:22 |
Cantide | how, where? documentation? | 12:22 |
randomcpp | JSON.stringify and JSON.parse are your friends | 12:22 |
Cantide | where will the file be stored? | 12:22 |
randomcpp | third option, try to use gsettings | 12:22 |
Cantide | they can be locally stored, that's fine with me | 12:22 |
randomcpp | where you tell to save your file | 12:23 |
Cantide | randomcpp, is this what i'm looking for? https://qt-project.org/doc/qt-5.0/qtquick/qmlmodule-qtquick-localstorage2-qtquick-localstorage-2.html | 12:36 |
Cantide | perhaps 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 |
kalikiana | Cantide: or use u1db and don't worry about where it's stored :-D | 12:41 |
Cantide | ah.. | 12:41 |
Cantide | i need to read up on that | 12:41 |
Cantide | does it require a user to have an U1 account? | 12:41 |
Cantide | got a link about it? | 12:41 |
kalikiana | no, you can use it locally just fine - sync with U1 is optional | 12:41 |
kalikiana | sec | 12:41 |
Cantide | oh, cool :) | 12:41 |
kalikiana | http://developer.ubuntu.com/api/devel/ubuntu-13.10/qml/u1db-qt5/overview.html | 12:42 |
Cantide | all i need do is store about 10 variables (these are user-specific settings) | 12:42 |
Cantide | so a config file, basically | 12:42 |
* Cantide clicks | 12:42 | |
Cantide | thanks | 12:42 |
kalikiana | btw a settings api is on the roadmap for the ui toolkit but no promise when it will be ready | 12:42 |
Cantide | okay | 12:43 |
Cantide | it sure would be useful in a lot of apps | 12:43 |
om26er | tmoenicke_, hello | 12:43 |
Cantide | looks like u1db is exactly what i need! thanks! | 12:44 |
kalikiana | np | 12:44 |
randomcpp | kalikiana, is there a method to increase the docId automatically? | 12:53 |
tmoenicke_ | om26er: hi | 12:54 |
=== _salem is now known as salem_ | ||
om26er | tmoenicke_, hey! the ubuntu-keyboard package have not yet been pushed to ubuntu archives because didrocks is on vacation. | 12:55 |
om26er | tmoenicke_, 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 Ubuntu | 12:56 |
om26er | tmoenicke_, when do you want ubuntu-keyboard in the phone image btw? | 12:56 |
tmoenicke_ | om26er: asap, actually. bill is back on monday, so lets see | 12:57 |
tmoenicke_ | om26er: i saw some stuff was done last night, thanks a lot | 12:58 |
tmoenicke_ | mterry: ^ | 12:58 |
kalikiana | randomcpp: you can leave out the docid to get one autogenerated | 13:00 |
randomcpp | kalikiana, 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 cicle | 13:08 |
randomcpp | it just works, but I don't know if it's a good method or not | 13:09 |
Cantide | how do i check if a document already exists? | 13:10 |
randomcpp | database.getId(id) | 13:10 |
randomcpp | sorry sorry | 13:10 |
randomcpp | Cantide, var item = database.getDoc(id) | 13:11 |
randomcpp | if (item) | 13:11 |
randomcpp | etc | 13:11 |
Cantide | ah, thanks :) | 13:12 |
kalikiana | randomcpp: what does generatePseudoRandomId() do? maybe we should expose a function to get you a new id | 13:12 |
randomcpp | function getRandomId() { | 13:12 |
randomcpp | var n = Math.random(); | 13:12 |
randomcpp | return n.toString(); | 13:12 |
randomcpp | } | 13:12 |
randomcpp | but I'm looking for some more effective | 13:13 |
randomcpp | that's just a filler | 13:13 |
kalikiana | yeah, the main problem would be that it can clash, it's not a good way to ensure uniqueness | 13:13 |
randomcpp | it's not guaranteed that's unique | 13:13 |
randomcpp | I know that very well | 13:13 |
kalikiana | maybe we need a function database.generate_doc_id() | 13:15 |
kalikiana | even if you could find a better method, that would ensure you get something sane without researching your options | 13:15 |
kalikiana | there's a function for it, it's simply not public | 13:16 |
randomcpp | I remove that recipe.create =true/false by simply using database.putDoc(contents, randomlyGeneratedID) | 13:16 |
kalikiana | you can also use database.putDoc(contents) | 13:16 |
kalikiana | that should also get you a new id | 13:17 |
randomcpp | let me try | 13:17 |
kalikiana | though 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 ids | 13:17 |
randomcpp | yeah just works | 13:17 |
randomcpp | an id looks like: D-2cc48379-d3ac-435f-8919-8632d7ef299e | 13:18 |
kalikiana | yep, that is a GUID algo, it's quite safe to assume it is unique | 13:19 |
kalikiana | if it is useful that could also be generated as a function | 13:20 |
Cantide | can't have an if statement in the mainview? | 13:21 |
randomcpp | Cantide, what do you mean? | 13:22 |
Cantide | randomcpp, Unexpected token `if' | 13:24 |
randomcpp | you can put a if statement in a js function | 13:24 |
Cantide | where should i be declaring variables? before the mainview? | 13:24 |
randomcpp | MainView { PageStack { Page1 { } } function myFunc() { if (1 > 0) return true; }} | 13:25 |
randomcpp | you can put js function inside component | 13:26 |
randomcpp | components* | 13:26 |
randomcpp | or in separated files eg: myhelperfunctions.js | 13:26 |
randomcpp | then load them with: import "/path/to/js/myhelperfunctions.js" as HelperFunctions | 13:27 |
Cantide | hmm | 13:27 |
Cantide | i 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 tabs | 13:28 |
randomcpp | http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-expressions.html | 13:28 |
kalikiana | Cantide: you don't need to manually check the defaults if you store it in "defaults". it does exactly that | 13:28 |
Cantide | hmm.. | 13:29 |
Cantide | but what if it is the first time the app is being run, and there is no database? | 13:29 |
Cantide | umm.. oh, if i create a database now, will it be a physical file that ships with the app? | 13:29 |
kalikiana | use "create: true" and it will automatically create one | 13:29 |
Cantide | and if it's already there, won't it be overwritten, thus losing the users settings? | 13:30 |
kalikiana | it will not, that is what "default" is for | 13:30 |
kalikiana | *defaults | 13:30 |
Cantide | >.< | 13:31 |
Cantide | are there any examples of this? | 13:31 |
Cantide | sorry... i'm having a hard time grasping how it should be used without seeing code | 13:31 |
=== randomcpp is now known as randomcpp|afk | ||
Cantide | i'm looking at this page http://developer.ubuntu.com/api/devel/ubuntu-13.10/qml/u1db-qt5/tutorial.html | 13:31 |
Cantide | but it doesn't cover checking if it's already created | 13:31 |
kalikiana | Cantide: http://developer.ubuntu.com/api/devel/ubuntu-13.10/qml/u1db-qt5/tutorial.html#3-1-1-creating-a-document-at-runtime | 13:32 |
kalikiana | that uses defaults | 13:32 |
xqwzts | Cantide: https://github.com/xqwzts/my-movies/blob/master/mymovies.qml#L51 | 13:32 |
Cantide | thanks, kalikiana, xqwzts :) | 13:33 |
Cantide | oh, it needs to be inside Item { } >.< | 13:34 |
Cantide | *sigh* module "U1db" is not installed | 13:36 |
Cantide | this is endless xD | 13:36 |
Cantide | i will research that on my own though =) | 13:36 |
xqwzts | sudo apt-get install qtdeclarative5-u1db1.0 | 13:37 |
xqwzts | thats what you need for u1db | 13:37 |
Cantide | oh, thanks | 13:37 |
xqwzts | [it would be helpful if it was documented... hint, hint etc] | 13:38 |
Cantide | hehe | 13:38 |
Cantide | that worked, thanks :) | 13:38 |
xqwzts | np | 13:38 |
Cantide | eh, your settings.js is beyond me :D | 13:39 |
xqwzts | uhm | 13:41 |
xqwzts | its just setters and getters really | 13:41 |
xqwzts | question: is there any way to detect basic gestures? | 13:44 |
xqwzts | i'd like to catch a horizontal swipe on my page | 13:44 |
xqwzts | [atm I'm hacking it together with a flickable, but this isn't very... elegant] | 13:49 |
Cantide | how do i define types in the database? "Unable to assign [undefined] to double" | 13:56 |
nik90|Office | randomcpp|afk, Cantide: gsettings is *not* allowed by the security team. | 13:57 |
Cantide | i see | 13:57 |
nik90|Office | Cantide: so your option is to use qmll localstorage or u1db. | 13:57 |
=== dholbach_ is now known as dholbach | ||
Cantide | thanks, nik90|Office - luckily those helping me here guided me towards u1db :) | 13:57 |
nik90|Office | All core apps use qmlstorage. But u1db is cool too! | 13:58 |
Cantide | do you have a link for qmlstorage? | 13:58 |
nik90|Office | its the same link you pasted above yourself | 13:58 |
Cantide | is it easier (requires less code) than u1db? | 13:58 |
Cantide | ah | 13:58 |
Cantide | ahhhhhhh | 13:58 |
Cantide | okay :D | 13:58 |
nik90|Office | I havent tried u1db so cant say | 13:58 |
Cantide | lol | 13:58 |
Cantide | i'm making some wonderful spaghetti with u1db :) | 13:59 |
nik90|Office | hehe | 13:59 |
Cantide | i still wonder how to specify the type in the database though :/ | 14:00 |
Cantide | because i need to store doubles >.< | 14:00 |
nik90|Office | ah | 14:00 |
nik90|Office | xqwzts: I tried cloning your repo and running it yesterday but it complained that AllMovies.qml was missing or something | 14:01 |
nik90|Office | xqwzts: did you add it to your repo? | 14:01 |
xqwzts | oh | 14:01 |
xqwzts | ill take a look | 14:01 |
xqwzts | Cantide: I don't think you specify the type, I assume it's dynamically typed | 14:02 |
xqwzts | actually I assume it just stores a JSON object | 14:02 |
nik90|Office | xqwzts: for qml localstorage, it is based on sqlite database. You need to declare a type. | 14:03 |
Cantide | i wonder why, when i try to assign a double by pulling the value from the db that is complains :< | 14:03 |
Cantide | that it * | 14:03 |
xqwzts | have to afk for a little bit, can take a look when i get back | 14:03 |
nik90|Office | xqwzts: btw the design gradient back tab header has been fixed | 14:03 |
nik90|Office | xqwzts: time to enable those backgradients back again | 14:04 |
nik90|Office | :) | 14:04 |
Cantide | haha, nice :) i actually saw that comment in xqwzts's code and wondered about it :) | 14:04 |
xqwzts | back, that was quick | 14:11 |
xqwzts | nik90|Office: yup jono pointed that out | 14:11 |
xqwzts | but has it been released? | 14:11 |
nik90|Office | xqwzts: yes it landed as an update to saucy yesterday morning | 14:12 |
nik90|Office | pretty sure raring got it as well | 14:12 |
xqwzts | im on raring | 14:12 |
xqwzts | will check in a bit | 14:12 |
kalikiana | Cantide: 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 |
xqwzts | Cantide: I just added this to my defaults and it didn't error out ["testdouble": 2.5] | 14:14 |
Cantide | i have no problem setting it | 14:14 |
Cantide | but when i create something like this: | 14:14 |
xqwzts | Cantide: [undefined] is probably youre problem there | 14:14 |
xqwzts | -e | 14:14 |
Cantide | property double x: get_value_from_db | 14:15 |
Cantide | then it fails | 14:15 |
Cantide | ah, you think i'm failing to get the value from the db at all? | 14:15 |
kalikiana | maybe you are trying to set it too early? | 14:15 |
Cantide | i set the variable after creating the db with defaults.. | 14:16 |
kalikiana | if you try to take a value that is not (yet) there you would get undefined | 14:16 |
kalikiana | Cantide: maybe paste a snippet with your code? | 14:17 |
Cantide | hold on.. | 14:17 |
Cantide | i'm going to pastebin right now :p | 14:17 |
kalikiana | cool | 14:17 |
Cantide | http://pastebin.com/qA0rvYR8 | 14:18 |
Cantide | just trying it with the colours as a test :) might even be useful settings xD | 14:18 |
Cantide | i wonder if the variable names aren't conflicting | 14:19 |
Cantide | hmm | 14:19 |
xqwzts | instead of assigning directly to your property, why not put it on a Component.onCompleted block | 14:20 |
Cantide | ah, i saw that in your code | 14:21 |
Cantide | unfortunately i have to run now... rugby + pizza | 14:21 |
xqwzts | I'm not sure if that matters mind you | 14:22 |
xqwzts | and you can try to debug the getContents by printing out Object.keys(settingsdoc.contents) | 14:22 |
xqwzts | see if it has values in it | 14:22 |
Cantide | oh, thanks | 14:23 |
Cantide | i will be back in a few hours :) | 14:24 |
=== Cantide is now known as CantiAFK | ||
xqwzts | nik90|Office: I pushed the missing allmovies fix.... forgot that git doesn't commit empty dirs | 14:43 |
xqwzts | nik90|Office: have you got any experience with flickables? | 15:09 |
iBelieve | xqwzts, I can try to help you with flickables if you want | 15:54 |
xqwzts | iBelieve: I'm not sure if this is the proper behavior or a bug or just my code missing something | 15:56 |
xqwzts | after flicking, clicking anywhere on the page will return the flickable to its original position | 15:57 |
xqwzts | so it seems something is calling returnToBounds() | 15:57 |
iBelieve | xqwzts, well, that's not what I get, so it might be a bug or something in your code | 15:58 |
xqwzts | which looking at it is the same behavior as the ToolBar [clicking on the page closes the toolbar] | 15:58 |
xqwzts | oh | 15:58 |
xqwzts | well that's good to know | 15:58 |
xqwzts | must be solvable then! | 15:58 |
xqwzts | Are you changing your flickable's position on flick? | 15:58 |
iBelieve | xqwzts, can you post the code for your flickable? | 15:58 |
xqwzts | 1 sec ill push to github | 15:59 |
iBelieve | xqwzts, no, I'm not messing with the position at all. All I do is create the flickable, and it handles the rest | 15:59 |
xqwzts | ah, but I'm trying to recreate a "swipe" action | 16:01 |
xqwzts | by flicking my page out | 16:01 |
xqwzts | and deciding if I've crossed a threshold, at which point I change the content | 16:01 |
xqwzts | iBelieve: https://github.com/xqwzts/my-movies/blob/master/mymovies/MovieDetailsPage.qml#L46 | 16:02 |
xqwzts | that's the relevant code | 16:02 |
iBelieve | xqwzts, sounds something like what the calculator app does to create a new calculation. I'll take a look at your code | 16:02 |
xqwzts | thanks, that'd be helpful | 16:03 |
xqwzts | i'll take a look at the calculator code to see what's happening there | 16:03 |
xqwzts | hmm | 16:07 |
xqwzts | in the calc app they call positionViewAtBeginning() after ending the drag themselves | 16:07 |
iBelieve | xqwzts, 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 |
xqwzts | go to Collection -> Inception | 16:09 |
xqwzts | flick the text sideways | 16:09 |
xqwzts | [uhm it should have created inception in the default data of the db] | 16:10 |
xqwzts | if you flick about halfway, it should continue the flick for you and the text will slide out of view | 16:10 |
xqwzts | the problem is now if you just click anywhere on the page, it slides back by itself | 16:11 |
iBelieve | xqwzts, what I get is when I release, it slides back | 16:11 |
iBelieve | xqwzts, what exactly are you trying to get? I think there might be an easier way | 16:11 |
xqwzts | ah you need to flick and release in a quick motion | 16:11 |
xqwzts | i might change it to onmove instead of onflick to make it easier | 16:11 |
xqwzts | think of it like flicking in angry birds, you're throwing the page out the side :) | 16:12 |
xqwzts | actually i think ill definitely do that, have a small threshold for onflick and a large one for onmove, that way they both work | 16:13 |
iBelieve | xqwzts, I was able to reproduce your problem | 16:23 |
xqwzts | iBelieve: great news! I'm not hallucinating it :P | 16:24 |
xqwzts | is it possible to right our own c++ helpers? i keep getting "failed to add to project" | 16:41 |
xqwzts | write* | 16:41 |
iBelieve | xqwzts, 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 view | 16:42 |
iBelieve | xqwzts, but I have no idea what the solution might be | 16:42 |
xqwzts | yup iBelieve: something is calling returnToBounds() | 16:42 |
xqwzts | iBelieve: thanks for taking the time to look into it | 16:42 |
iBelieve | xqwzts, you might be able to try tinkering with leftMargin instead of contentX, but I don't know | 16:43 |
xqwzts | good idea, i'll give that a shot | 16:43 |
randomcpp|afk | kalikiana, can I ask you a question about u1db.index and query? | 17:17 |
mihir | Hi all :) | 17:59 |
=== randomcpp|afk is now known as randomcpp | ||
randomcpp | hi mihir | 17:59 |
xqwzts | uhm | 18:33 |
xqwzts | is querying working on u1db? | 18:36 |
randomcpp | xqwzts, the samples works, but I can't get them working with my db | 18:42 |
randomcpp | >.< | 18:42 |
xqwzts | I didn't see examples for the queries? | 18:42 |
randomcpp | I was pinging kalikiana for this reason | 18:42 |
randomcpp | you have to install a package | 18:43 |
randomcpp | libu1db-qt5-examples | 18:43 |
xqwzts | ah | 18:44 |
xqwzts | thanks! | 18:44 |
randomcpp | np | 18:44 |
randomcpp | then look in /usr/share/u1db-qt or something like that | 18:44 |
randomcpp | if you get them working ping me if I'm online | 18:45 |
iBelieve | nik90, ping | 18:50 |
nik90 | iBelieve: pong | 18:51 |
iBelieve | nik90, 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 |
nik90 | iBelieve: yeah sure | 18:53 |
nik90 | iBelieve: master branch? | 18:53 |
iBelieve | nik90, No, adaptive-layouts | 18:53 |
iBelieve | nik90, thanks! | 18:54 |
nik90 | iBelieve: do you know how to clone a subbranch? | 18:55 |
nik90 | I cloned your main branch by git clone main-branch-link | 18:55 |
nik90 | but for the sub-subbranch it doesnt show its link | 18:55 |
nik90 | in which case I will have to manully download the zip to try it out | 18:55 |
iBelieve | nik90, Try git fetch then git checkout adaptive-layouts | 18:56 |
iBelieve | nik90, do that from the existing clone | 18:56 |
nik90 | nope, it sayds no such file known to git | 18:56 |
nik90 | nvr mind I will download the zip | 18:57 |
randomcpp | git checkout master/adaptive-layouts | 18:57 |
randomcpp | IIRC | 18:57 |
randomcpp | nik90, ^ | 18:57 |
nik90 | randomcpp: doesnt work because I havent uploaded my ssh keys to github. So I am cloning via https link | 18:58 |
randomcpp | ok.. | 18:58 |
nik90 | but github doesnt provide https link of the sub-branch. weird | 18:58 |
nik90 | no worries | 18:58 |
iBelieve | nik90, I don't remember how to do it, I've done it before, with a clone made using https too | 18:59 |
randomcpp | I didin't know that, I always used ssh | 18:59 |
iBelieve | nik90, now I want to find out :) | 18:59 |
randomcpp | maybe a clone with --mirror | 18:59 |
iBelieve | randomcpp, I've always used https since that's the default | 18:59 |
randomcpp | should download other branches too | 18:59 |
randomcpp | I use ssh so I don't have to type my password every time | 19:00 |
nik90 | yeah 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 |
nik90 | I guess that's changing now :) | 19:01 |
nik90 | iBelieve: its coming along nicely. Few bugs that I noticed | 19:05 |
nik90 | iBelieve: 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/1 | 19:06 |
nik90 | woops didnt mean that bug 1 | 19:06 |
nik90 | lol | 19:06 |
randomcpp | guys see you tomorrow :) | 19:06 |
nik90 | iBelieve: also when I press New in the homepage, it shows the create new category dialog instead of new task page. | 19:07 |
nik90 | randomcpp: see you :) | 19:07 |
randomcpp | bye :) | 19:07 |
nik90 | bye | 19:07 |
iBelieve | nik90, 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 category | 19:07 |
iBelieve | nik90, 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 |
nik90 | iBelieve: 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 |
iBelieve | nik90, I could swap them so the upcoming tasks becomes the sidebar and the categories list becomes the main view | 19:10 |
iBelieve | nik90, or I could get rid of the sidebar background and make them both the same witdth | 19:10 |
nik90 | iBelieve: 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 |
iBelieve | nik90, it isn't that important, but I had the extra space and it didn't make sense to give the tasks list the full width | 19:12 |
nik90 | okay | 19:13 |
nik90 | let me grab a screenshot 1 min | 19:13 |
nik90 | iBelieve: http://imgur.com/MQPNZwT | 19:15 |
nik90 | iBelieve: this was what I thought of looking at your initial tablet view. | 19:16 |
nik90 | by separating categories and lists into 2 columns (of same width) would still give a wrong idea and may look weird | 19:16 |
iBelieve | nik90, 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 width | 19:19 |
iBelieve | nik90, well, I could put upcoming tasks in a filter on the left, like the screenshot has. That might be nice. | 19:20 |
nik90 | let 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 |
nik90 | as well* | 19:24 |
mefrio | this kind of things should be in the UI toolkit itself :P https://github.com/Mefrio/Memories/issues/1 | 19:25 |
nik90 | mefrio: +1 | 19:26 |
mefrio | nik90, and the SDK should do that too :D https://github.com/Mefrio/Memories/issues/4 | 19:27 |
iBelieve | nik90, 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 | ||
mefrio | nik90, do you know where the UI toolkit code is hosted? | 19:35 |
nik90 | mefrio: https://launchpad.net/ubuntu-ui-toolkit | 19:35 |
mefrio | nik90, thank you! :) | 19:36 |
nik90 | np | 19:36 |
mefrio | nik90, do you mean that I should just set the automaticOrientation property to true here: https://github.com/Mefrio/Memories/issues/5? | 20:28 |
nik90 | mefrio: checking now 1 sec | 20:29 |
nik90 | mefrio: no | 20:29 |
nik90 | mefrio: the automaticOrientation property tells you if the device is in portrait or landscape mode alone | 20:30 |
nik90 | mefrio: if you look through the SDK API, they have dynamic layouting where you can define rules to morph your interface for different screen sizes | 20:30 |
nik90 | that's what you need to do | 20:30 |
mefrio | nik90, so you mean I should use Layout element, right? | 20:31 |
nik90 | mefrio: yes | 20:32 |
Cantide | how do you detect the screen size? based on the width / height of the elements? | 20:32 |
mefrio | Cantide, by getting height and width properties from your MainView element | 20:32 |
nik90 | Cantide: what mefrio said | 20:33 |
mefrio | nik90, doesn't is work so just by using units.gu(x)? | 20:33 |
Cantide | cool, thanks for the tip :) | 20:33 |
nik90 | mefrio: 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 cleverly | 20:34 |
nik90 | mefrio: 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 happens | 20:35 |
nik90 | the units.gu(60) is just a guess. You will have to play with the numbers to find out the sweet spot | 20:35 |
mefrio | nik90, 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! :D | 20:36 |
nik90 | mefrio: 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 |
nik90 | thats what i was discussing with iBelieve sometime back | 20:37 |
mefrio | ok let me see tasks app so :) | 20:37 |
nik90 | its in a separate sub-branch called adaptive-layouts | 20:38 |
mefrio | ok thanks | 20:39 |
mefrio | nik90, I can't see any graphical usage of that Layout thing...what should I do to notice that? | 20:42 |
nik90 | mefrio: try reducing the width of the app similar to a phone, and you will see the change | 20:43 |
nik90 | mefrio: in the tablet interface you will see a sidebar showing the categories which is hidden in the phone interface. | 20:44 |
nik90 | there are some more small tweaks like that within the app | 20:44 |
mefrio | nik90, well no sidebar is displayed here | 20:45 |
mefrio | maybe it's still not implemented | 20:46 |
nik90 | no I just tested it | 20:46 |
nik90 | did you grab the correct branch? | 20:46 |
mefrio | nik90, yes | 20:46 |
mefrio | https://github.com/iBeliever/tasks-app/tree/adaptive-layout | 20:47 |
mefrio | the one here ^ | 20:47 |
nik90 | so when you first opened the app, what did you see? | 20:47 |
mefrio | an empty task list | 20:47 |
mefrio | with a TextField at the bottom | 20:48 |
nik90 | mefrio: let me grab a screenshot. 1 sec | 20:48 |
nik90 | mefrio: http://imgur.com/Ei7Bqf3 | 20:48 |
nik90 | https://github.com/iBeliever/tasks-app/archive/adaptive-layout.zip | 20:49 |
mefrio | let me run your zip | 20:49 |
mefrio | nik90, oh now I see! :) | 20:50 |
mefrio | maybe I cloned it wrong | 20:50 |
mefrio | I am not good with GitHub | 20:51 |
mefrio | thanks anyway :D | 20:51 |
mefrio | now it looks very interesting! I will certainly implement something like that | 20:51 |
nik90 | mefrio: yeah I am struggling with github as well. | 20:52 |
nik90 | that's why I love launchpad. :) | 20:52 |
mefrio | Launchpad is so much easier :D | 20:52 |
nik90 | mefrio: but you get the idea | 20:52 |
mefrio | nik90, yes now I have an idea of what I have to do! :D | 20:52 |
nik90 | dynamic layout will set your app apart from others. | 20:52 |
nik90 | mefrio: I have a couple more ideas. Will create bug reports for them today | 20:52 |
mefrio | nik90, report everything you want! I have to make it rocks! :D | 20:53 |
=== salem_ is now known as _salem |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!