Somehow, some way, the summer has flown by and it is time for the Summer of Code to come to an end. As sad as that is to think about, I thought I would give an overview as to what has become of my project: the new task editor for Getting Things GNOME!
From the onset of the internship, the intent was to upgrade the task editor from pyGtk to Gtk3. For the first month or so of the project, this posed problems, mostly with having to deal with the fact that Gtk2 and Gtk3 cannot run in the same process. So, it came down to a decision of using dbus and running the editor as a separate program.
How does this all work? What happens is there is a new object that controls the task editors, and keeps a list of all opened editors. When a user wants to open a task, Getting Things GNOME contacts the controller with the id of the task. The controller then looks to see if that task is already open; if it is, it presents the already opened window, otherwise it opens a new editor. The editor then can contact the controller when it needs to save, and the controller sends a dictionary of all the task data over to Getting Things GNOME to save.
But what about rich text editing? Unfortunately the task of rewriting the entire editor from scratch proved to be a very big project and I didn’t get to spend a lot of time on rich text editing. However, there is partially working rich text editing, such as being able to bold/italicize/underline a selection of text. As I continue to work on the project, this should be up and running pretty soon.
So now that the internship is closed, I can say this has been an absolutely amazing experience and a big thanks to Getting Things GNOME for allowing me to work on a wonderful project, and a thank you to my mentor, Luca, for everything you helped me with as the summer rolled along. But, just because the internship is over doesn’t mean the work is over, and I can’t wait to continue to work on Getting Things GNOME and improving the new editor.