<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<br>
<br>
<div class="moz-cite-prefix">Le 04/01/2016 20:22, RISHABH GUPTA a
écrit :<br>
</div>
<blockquote
cite="mid:CAB9YDnV8Jc0iffR_x45u==Bxqskp8SZMGv9sza26wjRyniFHkw@mail.gmail.com"
type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Jan 4, 2016 at 12:35 AM,
Bruno Coudoin <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:bruno.coudoin@gcompris.net" target="_blank">bruno.coudoin@gcompris.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span class=""> <br>
<br>
<div>Le 03/01/2016 19:34, Aruna S a écrit :<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hey Rishabh!<br>
<br>
</div>
The search feature is much needed, so it'll be
great to have you work on this.<br>
<div>
<div>
<div>
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote"
style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<blockquote type="cite">
<div>
<div>
<div dir="ltr">
<div>The only thing I have
figured out is to use a
hash table since it
provides a faster lookup
.I would need little
guidance and input from
all of you to complete
it. </div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
<div>A simple and quick way to implement
a hash lookup in Javascript would be
to create a searchable JSON object
where the keys and values in the JSON
object pertain to each activity. <br>
The key would have to be unique for
each activity(the name of the
activity? Or a hash of the activity
code or some other way), and the value
of the key has to be a way to bring
the activity to the forefront. <br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</span> Hi, I am not convince we need to maintain a hash
for faster lookup. I made the following test using grep:<br>
<br>
time grep -i mouse src/activities/*/ActivityInfo.qml<br>
0,00s user 0,00s system 0% cpu 0,003 total<br>
<br>
So it take 3ms to get the list of all activities
containing the word mouse in upper or lower case. No big
deal. We may have a worse result in javascript but doing
so in C++ would get us to close results.<span class=""><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
Not sure if this solution is the best
one, but a brute force way to present
games that match a search query might
be to create an invisible section(like
the favourites, maths, strategy
section etc) to present the matches
from a search query, and add this
section name to the ActivityInfo.qml.
The section can be made visible/active
only when a "Search" is in progress
and is presenting results.<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</span> I like the concept. Just going further on it I
propose something along these lines:<br>
<br>
- there is a search icon in the section list (top rigth
in horizontal mode).<br>
- when clicked the section icons are replaced by a
search entry box (and a virtual keyboard appears if
needed)<br>
</div>
</blockquote>
<div><br>
</div>
<div><br>
<br>
In my opinion instead of having the search icon on the top
right we can place it on the bottom next to configuration
icon . <br>
</div>
<div>- On clicking it the icon would expand into a search
entry box .<br>
</div>
</div>
</div>
</div>
</blockquote>
This is a good idea but I prefer to have it in the section bar. The
section bar is the logical place to filter activities, it is done
for this.<br>
<blockquote
cite="mid:CAB9YDnV8Jc0iffR_x45u==Bxqskp8SZMGv9sza26wjRyniFHkw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
<br>
</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> - the search is
done incrementally, uppon each letter entry a 'grep' is
performed and the list of matching activity is shown<br>
</div>
</blockquote>
<div><br>
</div>
<div><br>
if for every letter a matching activity is to be shown
then we cannot use hash table.<br>
</div>
</div>
</div>
</div>
</blockquote>
Another reason not to have one.<br>
<blockquote
cite="mid:CAB9YDnV8Jc0iffR_x45u==Bxqskp8SZMGv9sza26wjRyniFHkw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div>-We can store activities by their name in a QList ,this
would allow to display all the activities matching every
letter the user types.<br>
</div>
</div>
</div>
</div>
</blockquote>
This is what we do at the moment in ActivityInfoTree.cpp to manage
tags. The new filtering is just an added feature to the current
system, nothing more. <br>
<blockquote
cite="mid:CAB9YDnV8Jc0iffR_x45u==Bxqskp8SZMGv9sza26wjRyniFHkw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> - when we get back
from an activity we are again in thesame search if we
started the activity from here<br>
- a 'stop search' icon allows to get back to the normal
mode<span class=""><font color="#888888"><br>
</font></span></div>
<div><span class=""></span><br>
</div>
</blockquote>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span class=""><font
color="#888888"> Bruno.<br>
</font></span></div>
<br>
</blockquote>
<div><br>
Also how should I debug qml files ?like setting
breakpoints ,stepping etc .? is there any way to do that?<br>
</div>
</div>
</div>
</div>
</blockquote>
I used it once when I started Qt Quick and saw the debugger working
in javascript files but last time I tried it was not working. I just
do it old school by putting debug traces with console.log().<br>
<blockquote
cite="mid:CAB9YDnV8Jc0iffR_x45u==Bxqskp8SZMGv9sza26wjRyniFHkw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>thank you all for your inputs :)<br>
</div>
</div>
</div>
</div>
</blockquote>
Your welcome.<br>
<br>
Bruno.<br>
</body>
</html>