Closed
Bug 1231332
Opened 9 years ago
Closed 9 years ago
Implement auto-completion for the repository field in the wizard
Categories
(Testing :: mozregression, defect)
Testing
mozregression
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: parkouss, Assigned: parkouss, Mentored)
Details
(Whiteboard: [good first bug][lang=python])
Attachments
(1 file)
On the first page of the wizard, there is a Repository text fields. It is meant to specify a branch name, e.g: mozilla-central, inbound, aurora...
It would be great to offer an autocompletion for this field. It is possible since we now have the branches modules, particularly:
https://github.com/mozilla/mozregression/blob/master/mozregression/branches.py#L85
So from the GUI side, we can call these functions, and get the branch name list to get our auto-completion list.
In details, here is what is needed:
1. Add a *include_aliases* parameter in the get_branches methods (https://github.com/mozilla/mozregression/blob/master/mozregression/branches.py#L24). This should default to False, but when called with True the list returned should include branch aliases too. That is, we will have 'm-c', 'central' in the returned list.
2. Add a QCompleter object (http://doc.qt.io/qt-4.8/qcompleter.html) to the Repository line edit. this line edit is created in the __init__ method of the IntroPage (https://github.com/mozilla/mozregression/blob/master/gui/mozregui/wizard.py#L48). so this should look like 'self.ui.repository.setCompleter(completer)' inside this __init__ method. To fill the Completer, attach to it a QStringListModel (http://doc.qt.io/qt-4.8/qstringlistmodel.html) - and that list model should include the result of our branches.get_branches(include_aliases=True) return call.
So, this should be it! Completion should be available after that. :)
:gopianis, if you are interested to work on this bug, please say so! I will assign you the bug.
Comment 1•9 years ago
|
||
Yeah, I'll have a go at it :)
Assignee | ||
Comment 2•9 years ago
|
||
Cool! Ask if you are stuck. For the GUI dev setup, please look at https://github.com/mozilla/mozregression/blob/master/gui/README.rst.
Assignee: nobody → gopianis
Status: NEW → ASSIGNED
Comment 3•9 years ago
|
||
I've just an issue in running pip install -r requirements-gui-dev.
I get the following error:
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/cx-Freeze/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-NY7om1-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/cx-Freeze
Storing debug log for failure in /home/sumeet/.pip/pip.log
the full error message can be found here: http://pastebin.com/cDnbrC89
Comment 4•9 years ago
|
||
I have also had a google around and tried multiple solutions but they do not fix it.
I'm running Linux Mint 17 Cinamon (2.2.16) 64-bit
Assignee | ||
Comment 5•9 years ago
|
||
(In reply to Sumeet (:gopianis) from comment #4)
> I have also had a google around and tried multiple solutions but they do not
> fix it.
> I'm running Linux Mint 17 Cinamon (2.2.16) 64-bit
Hm, seems to me like you need to install python-dev package or similar (needed to build python c extensions) on your system. Then run the command again, it should work.
Comment 6•9 years ago
|
||
I've already got both python-dev and python2.7-dev installed but that does not help.
I removed them and re-installed them again but this doesn't help.
Comment 7•9 years ago
|
||
I installed cx-freeze and it works now.
Comment 8•9 years ago
|
||
I've done the first part of the bug, I've also added the missed case in get_branches
I've created 2 new test cases in test_branches.py
While I was testing, there were a few other things other scripts that were breaking the checks which I have not touched. I went and fixed them.
https://github.com/GopianiS/mozregression/commit/b2adcb2dfd55485de0c93fbd31e378023eb08207
Assignee | ||
Comment 9•9 years ago
|
||
Oh cool - maybe a new version of flake8 is available and some style issues needed to be fixed. Thanks. :)
Great to see that first step done!
So, now that we got this new function, you should be able to use it from the wizard module to fill a QCompleter and attach it to the QLineEdit to activate auto completion. You should use all branches and aliases to be possible completion, so using get_branches(include_aliases=True) seems like the needed call.
Comment 10•9 years ago
|
||
I've completed the gui side:
https://github.com/GopianiS/mozregression/commit/7a86d834f697f6ba5d0056be03d37954a2081863
I also did some refactoring which I commited later
https://github.com/GopianiS/mozregression/commit/42048324ef49430c819ed640f0f27f672b0a1b49
Assignee | ||
Comment 11•9 years ago
|
||
Great, looks like you've done everything!
So, the next final steps are:
1. create a github Pull request for your changes
2. create an attachment on this bugzilla bug pointing at your pull request to ask for a review (just choose me as the reviewer).
This is explained in http://ateam-bootcamp.readthedocs.org/en/latest/guide/development_process.html#git-and-github.
Comment 13•9 years ago
|
||
Sorry, I was working on it yesterday and cannot get that last test to pass.
Flags: needinfo?(gopianis)
Assignee | ||
Comment 14•9 years ago
|
||
(In reply to Sumeet (:gopianis) from comment #13)
> Sorry, I was working on it yesterday and cannot get that last test to pass.
Ok, glad you're still working on it! Tell me if you want me to help. :)
Assignee | ||
Comment 15•9 years ago
|
||
So :gopianis do not have the time currently to work on this - I will finish the work, highly based on his initial work.
Thanks :gopianis for the initial work!
Assignee: gopianis → j.parkouss
Assignee | ||
Comment 16•9 years ago
|
||
After giving some tests, including the aliases do not seems good to me. E.g, I prefer to only display mozilla-central, but not m-c or central.
The possible completions are shown when the focus is set on the empty field, and updated with what the user type at the keyboard.
:wlach, I tested it, it seems to work fine. The code is pretty straightforward.
Attachment #8714259 -
Flags: review?(wlachance)
Assignee | ||
Comment 17•9 years ago
|
||
Comment on attachment 8714259 [details] [review]
auto complete for the repository field
Ok, I'm going to r+ myself here since wlach is not around - this is a simple patch anyway.
Attachment #8714259 -
Flags: review?(wlachance) → review+
Assignee | ||
Comment 18•9 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•