Wednesday 25 September 2013

My Projects (2011-2015): Adios Gsoc 2013 ! :-) : A brief journey

My Projects (2011-2015): Adios Gsoc 2013 ! :-) : A brief journey: I worked on porting plasmoids to plasma1 and then to plasma 2 this summer under the guidance of  +Marco Martin  (KDE). During the initial ...

Adios Gsoc 2013 ! :-) : A brief journey

I worked on porting plasmoids to plasma1 and then to plasma 2 this summer under the guidance of +Marco Martin (KDE).
During the initial weeks I worked on trashcan (plasma 1) .
It was a pretty easy one to port so it was done in a few weeks .
After porting trashcan , I successfully ported window list in plasma 1 .Porting it was fine once you are clear with the concepts of data engines and QML of course !
 So , by nearly two weeks before the mid evaluation my expected mid evaluation work was almost done . 
Then came Akademy 2013 , that I would have attended , had I got my passport ready on time .But no worries I will surely attend Akademy 2014 :) . 
During the duration of Akademy 2013 I started porting digital clock , did a few hacks and it was working out .
But it ofcourse needed improvement :p
I spent most of my final evaluation time porting digital clock (plasma 1) .It is almost done , though it needs to use KCalendarSystem and  KHolidays is not yet implemented due to shortage of time .Otherwise , it is fine .
Then comes porting of plasma 2 and well building plasma-shell successfully is one of the most crucial task ! .
I was able to do that fortunately , so I first of all ported window list in plasma 2 and also added cascade and unclutter actions in data engines .After a bit of fixing layout problems in QML 2.0 it looks fine now . 
I made a simpler calendar component that works fine with digital clock I ported in plasma 2 . 
I had to make another calendar component as akonadi is not yet ported under kf5 .
But , the basic component still has the "working" functionalities for the calendar .
Then finally comes trashcan :p , though it was a simple one , kio trash was not yet ported at that time so it took some time .Thanks to +Marco Martin for contributing to kio trash as my exams were going on at that time (Yes !I  hate exams :p )
 Finally I fixed the layout of trashcan in plasma 2 and it is fine now . 
Last but most important of all , I also improved the documentation of KDE :)
http://techbase.kde.org/Development/Tutorials/Plasma#QML_2.0
http://techbase.kde.org/Projects/Plasma/Plasmoids

Saturday 14 September 2013

Plasma 2 plasmoids this summer



      
  Window list plasmoid 










The main thing to be taken care of in this plasmoid is "data engine" .


I used tasksSouce in window list .And also to highlight the selected menu item I 





used PlasmaCore.FrameSvgItem .The text displaying the menu items become italics in case that window is minimised .

Further I have made it a PopUpApplet .

It shows the list of active windows on full view and collapses to icon on desktop panel .So,I managed to do it . 

I made new service for these actions since they require an empty source . Ofcourse ,these actions can be done by a source(by using the Ids on connectSources() also but then there is always a case when there is no window that is active at the moment) .

Therefore , empty source is required.Further , I added cascade and unclutter actions in tasks data engine by using asynch call to kwin interface using QDBusInterface .

 Also , the active window is enclosed withing PlasmaComponents.Highlight just like Actions and Desktop titles while highlight is shown by FrameSvg .






                               
     Digital Clock   




I made a basic component independent of akonadi,kdepimlibs and kdepim-runtime for now as kdepim-runtime is not yet ported to kf5 .It works fine with all the functionalities using a plugin calendar used for this purpose . 




The screenshot is self explanatory .

The bottom row toolbar shows current week and day by default with the calendar icon pointing to the current month.
 The upper toolbar helps to go to next month , previous month , next year , previous year and shows a context menu on clicking the month .
The current day is shown by a blue border .
On entering mouse event is shown by light grey color and on clicked mouse event is shown by black border .




TrashCan



This was pretty simple after I tried out calendar and window list .
But the kio trash was not yet ported fully so with the help of +Marco Martin it is working now .
It displays query dialog too just like the plasma1 plasmoid I made and the original trashcan . :)

That was a summary of my final evaluation work , and yes a digital clock in plasma 1 is too ported as in my previous blog .
I hope you will try it out !
Cheers !