Wednesday, 8 July 2015

GSoC 2015 Week #5, 6 with Amarok

The midterm evaluations are over and here is another report on the progress of the Amarok port so far.

Here are some of the major changes to the code-base that I have made in the last two weeks:

    * I removed setCodecForCStrings for setting UTF-8 encoding in QString. In Qt5 QString automatically calls the fromUtf8 function instead of fromAscii function and as Mark pointed out we won't need to call setCodecForCStrings to set the UTF-8 encoding anymore.
    * I have removed the calls to KDialog::makeStandardCaption as the application name is automatically added to the titlebar in desktop platforms.
    * I have added ViewPrivate class to the ContextView class and other functions, signals to restore its functionality to when it derived from Plasma::View. The new functions in question are few and just as a reminder,I had changed the inheritance structure to derive it from QGraphicsView in a previous commit.
    * CodeCompletionModelControllerInterface3 is now contained in CodeCompletionModelControllerInterface and so the inheritance structure of the AmarokScriptCodeCompletionModel class has been changed to reflect this. More details can be seen here.
    * KIO::upUrl is used to up the directory now instead of KUrl::upUrl.
    * Also KTextEditor::SmartInterface is no longer present in KF5 and KTextEditor::Editor::instance() is used instead of KTextEditor::EditorChooser::editor().
    * I have ported the code dependent on threadweaver and added defaultBegin, defaultEnd functions to the classes that inherit from ThreadWeaver::Job apart from making it inherit from QObject too. I repeated other changes made in previous week's commit(with ID:914b8cc) for the rest of the code-base.
    * The calls to Weaver::instance() has been changed to Queue::instance() to access the global application's queue.
    * The pure virtual function ThreadWeaver::Job::run() prototype has changed and hence new formal parameters have been added in the derived classes' re-implementations.
Apart from all this, I was wondering why is Amarok named so? What's the relation between a media player and a mythical beast/wolf god from the Inuit mythology? I am sure this question must have crossed the minds of many others too.
Cheers !!!