Today I reached Thoughtworks at 11.30 AM(IST). Shantanu, Sudhendu and Golpalk were already there at office. Calligra active team started work by implementing the zoom. And it was working properly according to our expectation. We couldn’t test it on tablet. But resizing the window was enough for us to test zooming. We had pushed our changes to active-calligratouch-shantanu branch. Initially we had a confusion on where to add the QML changes whether to libs or somewhere else. Thanks to Arjen Hiemstra and IngeInge Wallin who helped us in deciding to move to qtquick. We had moved our text document code to qtquick folder in calligra. After the changes were made, the build went fine. But there were issues with QML which needs to be fixed. We took our group photo, which is uploaded here. Overall, it was good experience for us to share ideas and try to work with core team. Personally I thank every one who had helped me or shared information which is required for Calligra Active. We also had dinner together. For dinner we missed Gopalk and Mani. After the sprint TODO’s have increased
That’s brief update I have.





Today I reached Thoughtworks office at 11.10 AM(IST). I saw a tall guy walking around the security area of Thoughtworks. Yes, it’s our Gopalkrishna Bhat(gopalK). We had met and talked to each other over IRC. We waited for Shantanu to arrive. While we were having conversation, Shantanu gives a call and said will be in office within 5 mins. And we all got into the office. Yesterday evening Shantanu and me were discussing about the future of Calligra Active. Hence today we decided to discuss with our team at Essen( Linux hotel). Today Boudewijn Rempt gave a presentation which was followed up by Friedrich’s presentation on Kasten framework. After that Calligra Active team came up with discussion about future of Calligra Active. The discussion went so interesting. And came up with good approach. Why couldn’t we have a QML for calligra? So that a user can write his own QML and use Calligra’s active, stage, sheets etc. Shantanu and me were discussing that we can scale down calligra to even run with Sailfish!!! To be honest we loved the idea
Special thanks to Inge Wallin, Arjen Hiemstra and Friedrich for participating in the discussion and sharing the idea of Calligra’s QML. After the discussion shantanu started the idea of pairing and working. Shantanu, Me and Mani started working on this idea. And by the end of the day we got a premature text document getting displayed. We were able to edit it. Till now things are fine. Tomorrow we have a plan to focus on the zoom of canvas in text document. That should consume more time. Overall working will be done in a separate branch in calligra( not in the master). I had taken few snaps uploaded here. That’s it for the day.
Here is a small update. We made changes in how Calligra can be used with QML. Right below is the screenshot before editing.

And below is the screenshot after editing.

These screenshots are the output of plain QML Item to show text document. And we got editing as bonus( or side effect
).
Calligra sprint 2013 started today. The venue was Thoughtworks office Bangalore. I reached Thoughtworks around 10.45 AM. Shantanu had already booked a room at Thoughtworks for the sprint. There were 5 new faces for me in sprint. 4 were from DA-IICT College and Mani. We talked to each other for a while. Shantanu showed demo of calligra active. Fixed couple of bugs in active( more detail about them will follow in the next blog post). There was a major issue in sheets(when calligra active loads sheets) which we couldn’t resolve. Around 7.30 PM(IST), team in Europe arrived at Linux hotel. The first session was Krita BoF. And we did with help of google hangout. It was nice to see most of them. By 9 PM we had to move out of Thoughtworks. That was the time limit given to us. I had uploaded snaps of today here.
I had spent good time by squashing some of the bugs which remained in plasma-mediacenter(PMC). The PMC developers are planning for their first release 1.0 in March. Most of the bugs reported have been squashed down. Some of the major fixes squashed by me were:
1) The scroll bar will move automatically to the song which is being played.
2) The “Play All” in the songs section of music will now start playing songs which gets added to the playlist.
3) PMC will now remember some of its old settings. Like fullscreen, volume level, random play in the playlist.
Some highlights of fixes done by other team members:
1) Basic support for SLC.
2) Support to browse disk which is not mounted when pmc is launched.
3) Hiding mouse pointed when video is played.
4) Seeking the video/songs using arrow keys.
5) Improvement in animation.
There are many more. For more you may have a look here. So time to conclude my post. Time to have fun and hack
Till last week or 2 I was surfing through calligra code base. Shantanu asked me share my love for Plasma-mediacenter and hence it bubbled up with this post. I wanted this post as a Christmas gift to PMC(Plasma-mediacenter) users. But then due to my laziness and some foo factors it delayed.
PMC has support for playlist. Lets see how I added the search option for playlist. I wrote a model to filter the search in the playlist, named FilterPlaylistModel. FilterPlaylistModel inherits the QSortFilterProxyModel. And the key method of FilterPlaylistModel is filterAcceptRow. filterAcceptRow method will help us to filter out the rows which didn’t matched with string in the search box. Playlist.qml uses playlistModel which is already in use. I wanted to add my FilterPlaylistModel to Playlist.qml. This was accomplished by adding a Q_PROPERTY in FilterPlaylistModel. Created a sourcePlaylistModel of type QObject. Added the read, write and notify options. I registered the FilterPlaylistModel in mainwindow.cpp. Now here is the tricky part, which took me some time to understand. Updated the model of Playlist.qml to:
model: MediaCenterComponents.FilterPlaylistModel {
sourcePlaylistModel : playlistModel
filterString: filterText.text
}
This will allow ListView to use model playlistModel and for playlist filtering FilterPlaylistModel. And then set the text. Thanks, to shantanu for clearing my queries on time
So PMC users have their cake ready. Test it and shoot bugs. We are here to fix it. Below is the screenshot.
