Hey everyone. Hope you all had a great christmas 🙂 It has been a while since my last post, and here is another status report of my project. After around 2 month’s work on KHangMan I finally completed the task towards the end of December 2014.
During the last month KHangMan has gone through a few more changes. The Settings page needed some work. The UI was messed up to begin with. So I added a Settings button to the home page, clicking on which will open a Settings Dialog instead of a new Window as it previously was. There were 2 sliders in Settings – one to control the time duration for the hint display, and the other to control the time duration to guess a given word during the gameplay. Since the hint button toggles the hint text from visible to invisible, the first slider was not needed. There was also a language selection button, letting you to change the display language of the app. It was moved from the Settings dialog to the statusbar displayed at the bottom. After that I added the Ok/Cancel buttons to the Settings dialog, and as the names suggest, “Ok” saves the current state of the settings and loads a new word and starts the game, whereas “Cancel” will restore the last saved settings, and resume with the game from where the user had left it.
Another important feature that was missing from the UI was displaying the wrong guesses. At the top we have 10 blanks displayed, that are filled with corresponding 10 wrong guesses for a given word. When a wrong alphabet button is pressed, it fills up the next available blank. After 10 blanks are filled, the next word is loaded and a new game starts.
The KHangMan was initially a KXmlGuiWindow, but the new UI did not need a few things like the menubars and such, for which it was changed to a QMainWindow.The Messages.sh script was initially placed in src/desktop/ , but since those 3 folders (desktop, harmattan, plasma-active) were about to go, it was moved from there to simply src/ , and it was modified to translate the qml files also. After all these changes the code needed some heavy cleanup, because a lot of functionalities already implemented in the QML code were also defined in the cpp code. Some of the other cleanup tasks were removing commented out statements, removing unnecessary variables, optimizing the code by removing some unncecessary statements, and so on.
With all these above changes implemented, the UI of KHangMan seems to be in a stable state, although there is always scope for further improvement 🙂 The branch I was working on (qmlui) was soon merged with master. Now with SoK being over, I am spending my time on some minor hacking on kde-edu apps. Currently I and Inge Wallin are working on step, a physics emulator in KDE.
It was a great experience working on this project. Jeremy is an excellent mentor and he had been a great source of help and guidance throughout the time. I am looking forward to remaining an active KDE developer in the long run, and Season of KDE was a good start to the journey 🙂