Another week over, and its time for another update on my GSoC. This one would be short, as most of the work was done on the user interface, which though is still far from perfect is close to resembling the mockup. Qt Stylesheets and layouts were the stumbling blocks this week, and it took me some time to understand and implement. At present, I have a working implementation of the First mockup, which will show the details regarding the installation, and the Second mockup, which shows the details regarding progress of installation. I still have pending issues regarding coding style, and some UI related issues, which my mentor has pointed out. I will sort out these issues in the coming week. I will also work on getting the user interface to match the mockup. Towards the fag end of the week, I will discuss the integration of the front end and the backend with my mentor
This is my fifth status for GSoC 2012. I spend much of the week trying to implement a ‘Fake Backend’, so that I can concentrate on building the user interface, and not much on integration with the backend. It will also help in testing later. I have implemented the Fake Backend, and am showing the possible outcome of installation in dialogs at present. I will work on the actual backend some time later. I also used the YMP parser to extract the useful information from the YMP file, and have been able to build a UI around it. I will now move onto building a concrete backend, and connecting the backend with the UI.
The new 1-Click installer is shaping up well. This week, I worked on performing the actual installation of packages retrieved from the YMP file. This took me some time to accomplish, owing to complexity of libzypp. As of now, I can install packages using libzypp. In case of dependencies, if they are resolvable, they are selected for installation. I have implemented the installation in the Package class, and have written a unit test case to test its functionality. I have already been able to add repositories, and pool its packages, but importing of GPG keys was remaining, and this has now been completed. I implemented the required callbacks, and have retrieved the keyring for the repositories, which will be added. I am deferring the task of user interaction with regard to importing the keys for a later stage. Besides these tasks, I have also started unit testing, and have written test cases for adding a repository, importing of GPG keys, and installation of packages. The backend as of now has a good shape and can be used. The next task lies in creating the user interface which will use the backend, to perform the actual installation. I also need to discuss with my mentor in connecting the UI and the backend. Another important task will be the privelege level at various stages of the installation. I will be discussing this with my mentor in the coming days. Lastly, I need to handle libzypp exceptions, and this will be done shortly