Trojitá: Multiple e-mail sender identities KDE
Status: Closed Time to complete: 96 hrs Mentors: Jan Kundrát Tags: pim, qt, c++, GUI, IMAP, kde

Trojitá, a fast IMAP e-mail client, currently has support for only one sender identity. The topic of this task is to add appropriate support to the settings dialog for defining multiple sender identities, so that people with e.g. a personal e-mail address and a work-provided one can easily select which one to use when replying to their pointy-haired bosses.

Required skills

You should be familiar with basic Qt programming. No knowledge of KDE's internals is required; you also don't need to know any specifics of e-mail protocols.

What needs to be done

The source code is available in KDE's git repository, the code of the settings widget is in the src/Gui/SettingsDialog.cpp file. There are currently two QLineEdit input boxes in the IdentityPage for specifying the user's full name and her e-mail address. This will have to change so that it supports multiple entries. One way to do so is to show a list of defined identities with buttons to remove, add and edit them. The GUI shall be specified using QtDesigner's .ui files (and converting the the IndetityPage to .ui code might be a good start).

Some glue C++ code shall be added so that the data are saved through QSettings.

The composer of the e-mail addresses already supports multiple identities, it just shows a single-item combobox for now. You don't have to modify it to complete this task.

How to get in touch

I'm available as jkt on, channel #trojita. It's also fine to contact me at I'll be happy to help.

Uploaded Work
File name/URL File size Date submitted n/a December 07 2012 22:11 UTC
Mohammed Nafees on December 6 2012 14:05 UTC Task Claimed

I would like to work on this task.

Jan Kundrát on December 6 2012 14:07 UTC Task Assigned

This task has been assigned to binaryking. You have 96 hours to complete this task, good luck!

Mohammed Nafees on December 7 2012 22:11 UTC Ready for review

The work on this task is ready to be reviewed.

Jan Kundrát on December 8 2012 00:28 UTC Task Closed

Congratulations, this task has been completed successfully.

Jan Kundrát on December 8 2012 00:35 UTC Good job!

First of all, I'd like to apologize for my mistake -- I've assumed that this task would be much, much easier than how it was in reality. In the end, the diff adds 716 lines in total (!), which is way more than I expected -- sorry for that, Mohammed. Even though I helped write some of the C++ code, Mohammed did a great job, contributing half of the total changed lines completely on his own. Throughout the last two days, he refused to give up despite the challenges he faced and proved that he's in the contest not because of the prizes or some ranking, but due to his desire to learn new stuff.

And he learned indeed. Congratulations for completing this task, thanks for your patience and dedication. I'm looking forward to working with you again.

Mohammed Nafees on December 24 2012 12:20 UTC Thanks (sorry for the late reply) :D

Hey Jan,

No need for the "sorry". Being a programmer means facing challenges every now and then and this task was like a preprocessor to my future life which will help me somehow. Also, you were there always for my help and so this challenge became a bit easier :)

Thanks for believeing in me and yes, I would love to contribute to Trojita in the days to come.